2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  **學校loge</b></p><p>  畢 業 設 計(論 文)</p><p>  題目 動態LED點陣顯示屏設計與制作 </p><p>  系部 ********** 專業 ************ </p><p>  姓名 ****

2、 學號 ********* </p><p>  指導教師: ****老師 </p><p>  2013 年 6 月7日</p><p><b>  目錄 </b></p><p>  第1章:引言………………………………………………………………

3、……(2)</p><p>  第2章:方案論證………………………………………………………………(3)</p><p>  2.1:方案選擇…………………………………………………………………(3)</p><p>  2.2:單片機最小系統設計……………………………………………………(4)</p><p>  2.3:按鍵及接口設計……………

4、……………………………………………(6)</p><p>  2.4:顯示及接口設計…………………………………………………………(6)</p><p>  2.5:驅動電路的設計…………………………………………………………(7)</p><p>  第3章:8×8點陣顯示器控制系統的硬件設計………………………………(8)</p><p&

5、gt;  3.1:硬件系統的總體設計……………………………………………………(8)</p><p>  3.2:單片機AT89C51的分析…………………………………………………(9)</p><p>  3.3:具體電路及功能分析……………………………………………………(10)</p><p>  3.4:8×8點陣顯示電路原理圖…………………………………

6、……………(11)</p><p>  第4章:8×8點陣控制系統的軟件設計………………………………………(12)</p><p>  4.1:軟件總體設計及功能的描述……………………………………………(12)</p><p>  4.2:單片機系統資源分配……………………………………………………(13)</p><p>  4.3

7、:軟件主程序和顯示程序流程圖……………………………………… (14) 注:(單片機源程序見附錄1)</p><p>  第5章:樣品的制作與調試……………………………………………………(15)</p><p>  5.1:原材料的選擇與采購……………………………………………………(15)</p><p>  5

8、.2:印刷電路板的設計與制作………………………………………………(15)</p><p>  5.3:單片機的測試……………………………………………………………(16)</p><p>  5.4:硬件及軟件的調試………………………………………………………(16)</p><p>  5.5:整機的測試與調試………………………………………………………(17)<

9、/p><p>  第6章:使用說明書……………………………………………………………(18)</p><p>  第7章:致謝……………………………………………………………………(19)</p><p>  參考文獻…………………………………………………………………………(20)</p><p>  附錄1:源程序……………………………………………

10、…………………… (21)</p><p><b>  第1章:引言</b></p><p>  LED點陣顯示屏是集微電子技術、計算機技術、信息處理技術于一體的大型顯示屏系統。它以其色彩鮮艷,動態范圍廣,亮度高,壽命長,工作穩定可靠等優點而成為眾多顯示媒體以及戶外作業顯示的理想選擇。LED顯示又可以分為單色顯示和雙色顯示,可以按照需要的大小、形狀和顏色進行組合,并用

11、單片機控制實現各種文字或圖形的變化,達到宣傳和提示的目的。據不完全統計,1991年,全國LED顯示屏的產值還不到億元人民幣,而在1993年,僅藍通公司一家企業的顯示屏產值即達1億多人民幣。同時也可廣泛應用到軍事、車站、賓館、體育、新聞、金融、證券、廣告以及交通運輸等許多行業。目前大多數的LED點陣顯示系統自帶字庫。其顯示和動態效果(主要是顯示內容的滾動)的實現主要依靠硬件掃描驅動,該方法雖然比較方便,但顯示只能按照預先的設計進行。而實際

12、上經常會遇到一些特殊要求的動態顯示,比如電梯運行中指示箭頭的上下移動、某些智能儀表幅值的條形顯示、廣告中廠家的商標顯示等。這時一般的顯示系統就很難達到要求。另外,由于受到存儲器本身的局限,其特殊字符往往難以顯示,同時顯示內容也不能隨意更改。因此就提出了一種利用PC機和單片機控制的LED顯</p><p><b>  第2章:方案論證</b></p><p><b

13、>  2.1 方案選擇</b></p><p>  2.1.1 需要實現的功能</p><p>  顯示預先想要顯示的內容,在本設計中要求顯示“畢業設計”四個文字,顯示方式分三種:①逐字顯示,②向上滾動顯示,③向左滾動顯示。</p><p>  2.1.2 設計思路</p><p>  根據需要實現的功能,初步確定設計方案如

14、下:</p><p>  通過單片機編程依次顯示漢字“志存高遠”。</p><p>  P0口作為I∕O口,作為字符數據輸出口。</p><p>  P2口作為I∕O口,作為字符顯示掃描輸出口。</p><p>  P1.0、P1.1和P1.2口分別接K1、K2和K3,作為控制信號的輸入。</p><p>  通過改變

15、電阻的大小來改變顯示字符的亮度。</p><p>  2.1.3 單片機AT89C51的選擇</p><p>  本方案最大的特點在于核心控制芯片的選擇,采用AT89C51單片機,利用AT89C51的掉電工作方式,構成高可靠、低功耗系統方法。AT89C51的采用有很多方面的優勢。應用AT89C51作為控制核心的設計大多在性能上要求很高。原因在于,在一些應用場合,單片機并不是每時每刻都在工作

16、,而是多數時間處于守候狀態 。為使單片機系統工作更省電、更可靠,我們可以使單片機在不工作時處于掉電工作方式,其工作狀態被凍結,如AT89C51處于掉電工作方式時耗電僅十幾微安。此外,AT89C51設有穩態邏輯,可以在低到零頻率的條件下靜態邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數器,串口和中斷系統仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為

17、止。</p><p>  2.2 單片機最小系統設計</p><p>  2.2.1 各部分具體電路</p><p>  1、單片機的時鐘電路</p><p>  AT89C51單片機內部的振蕩電路是一個高增益反向放大器,引線XTAL1和XTAL2分別是放大器的輸入端和輸出端。單片機內部雖然有振蕩電路,但要形成時鐘,外部還需附加電路。AT89

18、C51的時鐘產生方式有兩種:內部時鐘電方式和外部時鐘方式。由于外部時鐘方式用于多片單片機組成的系統中,所以此處選用內部時鐘方式。內部時鐘方式:利用其內部的振蕩電路在XTAL1和XTAL2引線上外接定時元件,內部振蕩電路產生自激振蕩。最常用的是在 XTAL1和XTAL2之間接晶體振蕩器與電路構成穩定的自激振蕩器,如圖2-1電路所示為單片機最常用的時鐘振蕩電路的接法,其中晶振可選用振蕩頻率為12MHz的石英晶體,電容器一般選擇30PF左右。

19、</p><p>  圖2-1使用片內振蕩電路的時鐘電路</p><p>  2 、單片機的復位電路</p><p>  本設計中AT89C51是采用上電自動復位和按鍵復位兩種方式。最簡單的復位電路如圖2-2所示。上電瞬間,RC電路充電,RST引線端出現正脈沖,只要RST端保持10ms以上的高電平,就能使單片機有效地復位。其中R1選擇1KΩ的電阻,電容器一般選擇22

20、μF。</p><p>  2.3 按鍵及接口設計</p><p>  2.3.1 獨立式按鍵接口設計</p><p>  本設計按鍵較少,采用獨立式按鍵簡單而方便。獨立式按鍵就是各鍵相互獨立,每個按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態不會影響其它輸入線上的工作狀態。因此,通過檢測輸入線的電平狀態很容易判斷哪個按鍵被按下了。</p><p

21、>  設計采用的是中斷方式的獨立式按鍵工作電路,按鍵直接與AT89C51的I/O口線相接,通過讀I/O口,判定各I/O口線的電平狀態,即可識別出按下的鍵。</p><p>  獨立式按鍵電路中,一般采用上拉電阻,這是為了保證在按鍵斷開時,各I/O口線有確定的高電平。</p><p>  2.4 顯示器及接口設計</p><p>  2.4.1 8×

22、8點陣LED顯示器的組成原理及控制方式</p><p>  本次設計中采用8×8點陣LED顯示器,簡稱LED點陣板或LED矩陣板。它是以發光二極管為像素,按照行與列的順序排列起來,用集成工藝制成的顯示器件。有單色和雙色之分,這種顯示器有共陽極接法和共陰極接法兩種,設計中用到的是共陽極的顯示器。共陽極接法的原理圖如圖2-4所示,圖中畫出了8×8點陣的二極管。每一行發光二極管的陽極接在一起,有一個

23、引出端r,每一列發光二極管的陰極接在一起,有一個引出端c。當給發光二極管陽極引出端r1加高電平,陰極引出端c1加低電平時,左上角的二極管被點亮因此,對于行和列的電平進行掃描控制時,可以達到顯示不同漢字的目的。例如“畢業設計”的顯示可以按照從左到右,先下后上的順序寫出編碼。然后寫入單片機的數據存儲單元中。</p><p>  “畢業設計”4個字的編碼表如下:</p><p>  TAB:

24、DB 0EFH,83H,0ABH,83H,0ABH,83H,0EEH,0E0H ;電</p><p>  DB 0FFH,0C7H,0EFH,83H,0EFH,0EFH,0CFH,0EFH ;子 </p><p>  DB 0B1H,0B5H,04H,0BFH,0B1H,0B5H,9BH,0A4H :設</p><p>

25、;  DB 0BBH,0BBH,1BH,0A0H,0BBH,0BBH,9BH,0BBH :計</p><p>  DB 00H,00H,00H,00H</p><p>  2.4.2 8×8點陣LED顯示器與單片機的接口</p><p>  8×8點陣LED的引腳圖如圖2-5所示,當采用單片機進行控制時,連接點陣顯示器的共陽

26、極r端需經驅動三極管9012與單片機的P2口相連,而共陰極c端需經限流電阻與單片機的P0口相連。在編程控制時,將8×8點陣LED顯示分成行和列兩部分,字符數據從P0口輸出,掃描控制字從P2口輸出,每一列由一個字節的數據組成,數據可一次送入,然后掃描一行,顯示一個字需要掃描8次。</p><p>  圖2-5 8×8點陣LED引腳的排列圖</p><p>  2.5 驅動

27、電路的設計</p><p>  顯示器驅動是一個非常重要的問題,如果驅動能力差,顯示器亮度就低;而驅動器長期在超負荷下運行則很容易損壞。</p><p>  如果是靜態顯示,則LED驅動器的選擇較為簡單,只要驅動器的驅動能力與顯示器工作電流相匹配即可。而且只須考慮段的驅動,因為,共陽極接+5V,而共陰極接地,所以位的驅動無須考慮。</p><p>  動態顯示則不然

28、,由于一位數據的顯示是由段和位選信號共同配合完成的,因此,必須同時考慮段和位的驅動能力,而且段的驅動能力決定位的驅動能力。</p><p>  理論分析表明,同樣的驅動器,當其驅動靜態顯示器時,其亮度為驅動動態顯示器的n倍,n近似為顯示位數。所以要使動態顯示器達到靜態顯示器的亮度,必須將驅動器能力提高n倍。</p><p>  本設計中,因為采用了8×8點陣LED顯示器,用AT8

29、9C51單片機進行控制,因此它很適宜于按掃描方式動態顯示多個字符數據,所以我們只選用了8個PNP型三極管作為驅動顯示器的電路。因AT89C51單片機的I∕O口有20mA的吸入電流,正因為這一特點,使的本設計中的驅動電路部分大大簡化,不用附加專門的驅動電路即可正常工作。</p><p>  第3章 8×8點陣顯示器控制系統硬件設計</p><p>  3.1 硬件系統的總體設計&l

30、t;/p><p>  本設計采用AT89C51 作控制器,顯用9012三極管驅動,示器用8*8共陽LED,點陣,改變電阻(270歐)的大小可改變顯示字符的亮度。PO作為字符數據輸出口,P2為字符顯示掃描輸出口。12MHz晶振,第31腳(EA)接電源,p1.0-P1.2口分別接開關k1、k2、k3。 根據設計要求與設計方案,硬件電路的設計框圖如圖3-1所示。硬件電路結構由8個部分組成:時鐘電路、復位電路、按鍵接口電路、

31、電源電路、點陣顯示陽極驅動電路、點陣顯示陰極驅動電路和8×8點陣顯示電路。</p><p>  圖3-1 8×8點陣顯示器組成原理框圖</p><p>  3.2 單片機AT89C51的分析</p><p>  由于AT89C51片內有8K的Flash程序存儲器,并且I∕O口可直接驅動點陣顯示器,所以由它組成小系統硬件非常簡單。</p>

32、;<p>  3.2.1 AT89C51單片機芯片的性能及功能</p><p>  圖3-2 AT89C51 引腳圖</p><p><b>  1 性能說明</b></p><p>  ·與MCS-51 兼容</p><p>  ·8K字節可編程閃爍存儲器壽命:1000寫/擦循環數

33、據保留時間:10年·全靜態工作:0Hz-24Hz·三級程序存儲器鎖定·256*8位內部RAM·32可編程I/O線·兩個16位定時器/計數器</p><p>  ·一個數據指針DPTR·8個中斷源·可編程全雙工串行通道·低功耗的閑置和掉電模式·片內振蕩器和時鐘電路</p><p&

34、gt;<b>  2 管腳說明</b></p><p>  ●VCC:供電電壓。 GND:接地。 ●P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須

35、被拉高。  ●P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。  ●P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其

36、管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲</p><p>  ●P3口也可作為AT89C51的一些特殊功能口,如下所示:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3

37、.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數據存儲器寫選通)P3.7 /RD(外部數據存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p>  ●RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p>

38、  ●ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引

39、腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。</p><p>  ●/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。</p><p>  ●/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加

40、密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  ●XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。</p><p>  3.3 具體電路及功能分析</p><p>  1 按鍵接口控制電路</

41、p><p>  本設計采用輕觸開關K1、K2和K3分別控制字符的顯示方式,K1:控制字符逐字顯示,K2:控制字符向上顯示,K3:控制字符向左顯示。</p><p><b>  2 顯示電路</b></p><p>  本設計采用雙色8×8點陣模塊顯示,但是在設計中我們只用單色顯示,我們通過改變限流電阻的阻值的大小來改變顯示字符的亮度。&l

42、t;/p><p><b>  3 電源電路</b></p><p>  電源電路采用普通的三端集成穩壓電源。為整個系統提供+5V的電壓。</p><p>  3.4 8×8點陣顯示器原理圖</p><p>  圖3-3 8×8點陣顯示器電氣原理圖</p><p>  第4章 8&#

43、215;8點陣控制系統的軟件設計</p><p>  4.1 軟件總體設計及功能描述</p><p>  4.1.1 系統主要程序的設計</p><p>  本設計系統采用了結構化、模塊化,并且利用鍵掃描程序代替程序中的1ms延時程序,既為了按鍵的快速響應,又可以提高動態顯示的掃描頻率,從而減少了文字顯示時的閃爍現象。</p><p><

44、;b>  1 主程序</b></p><p>  主程序在剛上電時對系統進行初始化,然后讀一次鍵開關狀態,由鍵標志位(00H、01H、02H)決定顯示方式。主程序流程圖如4-1所示。</p><p><b>  2 初始化程序</b></p><p>  在系統初始化時,對四個端口進行復位,將顯示用的字符數據從ROM表中裝入內

45、存單元50H~6FH中?!爱厴I設計”中的每個文字占有8個地址單元。</p><p><b>  3 顯示程序</b></p><p>  顯示程序是由顯示主程序和顯示子程序組成。顯示主程序負責每次顯示時的顯示地址首址(在B寄存器中)、每個字的顯示時間(由30H中的數據決定)和下一個顯示地址的間隔(31H中的數據決定)的處理。顯示子程序則負責對指定8個地址單元的數據進行

46、輸出顯示,顯示一個完整文字的時間約為8ms。在顯示子程序中,1ms延時程序是用調用鍵掃描子程序的方法實現的。圖4-2為逐字顯示及向上滾動顯示方式的顯示控制程序流程圖。</p><p>  4.2 單片機系統資源的分配</p><p>  表4-1 單片機系統資源分配</p><p>  4.3 主程序和顯示程序流程圖</p><p>  圖4

47、-1 主程序流程圖</p><p>  圖4-2 逐字顯示及向上滾動顯示時的流程圖</p><p>  第5章 樣品的制作與調試</p><p>  5.1 原材料的選擇與采購</p><p>  本次設計在原材料的選擇與采購上做到了設計最優化,即用最小的開支,獲得性價比較高的元器件和材料。</p><p>  設計中

48、,印刷電路板采用單面板,給人看起來沒有太復雜的感覺。選元器件時,盡量選擇能使電路簡化的器件。例如,為了不增大電路板的體積及減小功耗,本設計采用ATMEL公司的AT89C51單片機,可編程I∕O口多,工作電壓范圍寬,利用AT89C51掉電工作方式,還可以構成高可靠、低功耗系統方法。</p><p>  5.2 印刷電路板的設計與制作</p><p>  在電路原理圖圖的設計中,由于連線很密,

49、又加上自己畫圖不是很熟練,因此在布線的時候出現了很多的無法在底層板面布線的情況,為了使整個電路板看起來既美觀又不出現短路的現象,我在底層板和頂層板之間多加上了幾個焊盤,利用跳線將其連接起來,在設計跳線的時候我盡可能的把所有的跳線都壓在點陣的下面,這樣看起來就好象沒有使用跳線,達到了使電路板美觀的目的。同時也使整個電路板看起來很緊湊。</p><p>  電路圖做好以后,就是制板了。這里,我們用的是多功能版,下面就

50、是在多功能板上安裝和焊接元件了。安裝和焊接其實是并行的,即邊安裝邊焊接。在這個過程中,各類元件一定要按順序進行,即按由低到高的順序。例如,先安裝較低的電阻和跳線等器件并焊好,最后安裝較高的元件,這樣會使所制的板更完善。</p><p>  5.3 單片機的測試</p><p>  判斷單片機芯片及時鐘系統是否正常工作有一個簡單的辦法,就是用萬用表測量單片機晶振引腳(18、19腳)的對地電壓

51、,以正常工作的單片機用數字萬用表測量為例:18腳對地約2.24V,19腳對地約2.09V。對于懷疑是復位電路故障而不能正常工作的單片機也可以采用模擬復位的方法來判斷,單片機正常工作時第9腳對地電壓為零,可以用導線短時間和+5V連接一下,模擬一下上電復位,如果單片機能正常工作了,說明這個復位電路有問題。</p><p>  5.4 硬件及軟件的調試</p><p>  5.4.1 硬件調試&

52、lt;/p><p>  硬件調試是利用開發系統、基本測試儀器,通過執行開發系統有關命令或運行適當的測試程序來檢查用戶系統硬件中是否存在故障。其具體操作步驟如下:第一步是目測,在印好電路板之后,先檢查印制線是否有斷線、是否有毛刺、是否與其它線或焊盤粘連、焊盤是否有脫落、過孔是否有未金屬化現象。而在目測的過程中,我們發現有一條印制線斷開,因此我們用焊錫使這條斷線連在一起。第二步是用萬用表測量。在目測完之后,利用萬用表來測

53、量連線和接點,檢查它們的通斷狀態是否和設計一樣。再檢查各種電源線和地線是否有短路現象,在檢查的過程中,發現不管是連線還是接點都符合設計規定,電源和地線也沒有短路現象。第三步是加電檢查。給印制板加電時,我們檢查到的器件的電源端符合要求的電壓值+5V,同時接地端的電壓為0。第四步是聯機檢查。利用系統和單片機開發系統用仿真電纜連接起來,發現聯機檢查完后以上是連接都正確、暢通、可靠。</p><p>  5.4.2 軟件

54、調試</p><p>  軟件調試是通過對用戶所編程序的匯編、連接、執行來發現程序中存在的語法錯誤與邏輯錯誤并加以排除的過程。其具體的操作步驟是:第一步是在具有匯編軟件的主機上和用戶系統連接起來,進行調試準備。第二步是單步運行。第三步是系統連調,即進行軟件和硬件聯合調試。經調試,軟件運行良好。</p><p>  5.5 整機的調試與測試</p><p>  在上面

55、的調試工作做好以后,接下來就要做整機的調試與測試工作了,將程序燒錄單片機以后,給整機加上+5V的電壓,一開始不能實現預期的功能。經萬用表檢測發現AT89C51單片機的31腳上沒有加上+5V的電壓而導致單片機不能正常的工作。排除故障后加電,系統能以正常的上電初始化了。但是我們在整機測試的過程中發現點陣在左移顯示和上滾顯示的時候速度很快,經過同組同學的討論分析后,我們修改了程序中的延時程序,將顯示1幀顯示時間控制進行了適當的調整。最后達到了

56、我們預期的目的。</p><p><b>  第6章 使用說明</b></p><p>  本次設計的用單片機控制的顯示電路使用比較簡單,操作方便。它主要是通過一個8×8點陣來顯示漢字字符,通過不同的按鍵來選擇控制字符的顯示方式。在通電以后,顯示屏全亮,隨后進入逐字顯示狀態。按下復位鍵K1,系統自動復位,顯示屏全亮,隨后進入待命狀態。按下功能鍵K2,系統就會

57、進入上滾顯示狀態。按下功能鍵K3,系統就會進入左移顯示狀態。按下功能鍵K4,系統就會進入逐字顯示狀態。另外,我們可以通過改變限流電阻值的大小來改變顯示字符的亮度,通過改變程序中字符數據來實現顯示不同的字符,通過改變程序中的延時程序來控制字符移動速度的快慢。</p><p><b>  第7章 致謝</b></p><p>  通過這次畢業設計,我遇到了很多以前在學習過

58、程中沒有遇到的問題,同時也鞏固和溫習了我以前學習的專業基礎知識。例如,在實際制作的過程當中,通過對電路方案的確定,提高了我分析電路和計算電路中有關參數的能力。通過對電路軟件的設計,提高了我對單片機編程的能力。通過對電路板的布線、電路板的制作和元器件的焊接,提高了我實際的動手能力。當然,在設計電路的過程中,由于自己知識的匱乏,也遇到了很多的困難。比如:在在本次設計制作過程中,我們一開始在題目理解上出現偏差,致使我們在設計初期遇到了很大的困

59、難。在編程時由于疏忽沒有寫對操作碼而造成軟件的故障。還有就是在查閱相關資料的時候,常常不能有針對性地去查找,至使浪費了大量的時間。</p><p>  然而,在整個設計過程中,讓我感觸最深刻的是通過畢業設計不僅讓我初步地了解到一個產品的開發流程。還培養了我們勇于探索、嚴格推理、用實踐去檢驗理論的嚴謹治學態度。</p><p>  在論文的撰寫上我花費了不少的時間,因為本設計涉及到的知識面非

60、常廣泛,所以在撰寫論文時需要查找大量的資料。但是在查閱資料的過程中,又培養了我從文獻、科學實驗、生產實踐、和調查研究中獲取知識的能力,提高了我借助別人的經驗,從別人的科研成果中尋求解決問題新途徑的能力,同時,也讓我認識到,要尊重他人的知識產權。在設計過程中,因為工作量較大,所以一定要分塊進行,即每一階段都有側重點,然而,當中很可能會出現一些變化,這就要求你要根據條件變化而調整工作重點的應變能力。</p><p>

61、  在設計中,涉及的知識面很廣泛,能力要求包括:運用理論去處理問題的能力 ,實驗能力,外語水平,計算機運用水平,書面及口頭表達能力等。要想在短時間內在這么多方面都做的很好很不現實,這時團隊的力量就顯得很重要了。在共同合作的過程中,又提高了我對同學友愛團結、協作攻關,一起開拓進取的基本素質。</p><p>  最后,我想說的是,從開始接受課題、著手編程到上機調試,莫禾勝老師都給予了熱情的指導,并提出了許多寶貴的建

62、議,解決了不少問題,這里,我向指導老師致以衷心的感謝。另外,還要感謝那些給過自己啟發與幫助的同學,正是指導老師與那些同學的幫助,我的畢業設計才得以順利完成。</p><p><b>  參考文獻</b></p><p>  [1]《51系列單片機設計實例》 李光飛,樓然苗 北京航空航天大學出版社,2003年3月 </p><p>  [

63、2]《單片機應用系統設計——入門向導與設計實例》 韓志軍,沈晉源 機械工業出版社,2005年1月</p><p>  [3]《AT89系列單片機原理與接口技術》 王幸之,鐘愛琴,王雷,王閃 北京航空航天大學出版社,2004年5月 </p><p>  [4]《單片機原理及接口技術》 朱定華 電子工業出版社,2001年4月<

64、;/p><p>  [5]《智能儀器原理及應用》 趙茂泰 電子工業出版社,2004年2月</p><p>  [6]《利用單片機89C52的一個并行I∕O口實現多個LED顯示的一種簡單方法國外電子元器件》 劉東紅 2002年第8期</p><p><b>  附錄1源程序</b></p><p><b&

65、gt;  1.程序結構設計</b></p><p><b>  (1)主程序</b></p><p>  主程序用于對系統進行初始化,掃描按鍵的開關狀態,由按鍵標志位值(00H、OlH、02H)決定顯示方式。</p><p><b>  (2)初始化子程序</b></p><p>  用

66、于對端口進行復位操作,將顯示所用的字符數據從字符表中裝入內存單元50H~6FH中。字符表中的每個文字占用8個地址單元。</p><p><b>  (3)顯示子程序</b></p><p>  顯示子程序由顯示功能選擇程序和顯示控制程序組成。顯示功能選擇程序負責每次顯示時的顯示首地址(在B寄存器中)、每個字的顯示時間(由30H中的數據決定)和下一個顯示地址的間隔(由3

67、lH中的數據決定)的處理。顯示控制程序則負責對指定8個地址單元的數據進行輸出顯示,顯示一個完整文字的時間約為8ms。在顯示子程序中,1ms延時程序是通過調用按鍵掃描子程序來實現的。</p><p>  (4)按鍵掃描子程序</p><p>  用于將按鍵的狀態掃描至20H單元的低3位(20H.0、20H.1、20H.2)中。同時在程序中利用按鍵掃描子程序代替顯示子程序中的1ms延時程序,既

68、可提高按鍵的響應速度,又可提高動態顯示的掃描頻率,減少文字顯示時所出現的閃爍現象。</p><p>  2.主要程序模塊清單</p><p><b>  主程序代碼如下:</b></p><p>  START: MOV 20H,#00H ;20H內存單元清零</p><p>  SETB 00H

69、 ;20H.0位置1</p><p>  STARTl:LCALL POWERCLR ;調用上電初始化子程序</p><p>  JB 00H,FUN0 ;20H.0位為1時,執行FUN0</p><p>  JB 01H,FUN1 ;20H.1位為l時,執行FUNl</p>&

70、lt;p>  JB 02H,FUN2 ;20H.2位為1時,執行FUN2</p><p>  AJMP START1;</p><p>  初始化程序代碼如下:</p><p>  POWERCLR:MOV A,#0FFH ;四端口置1</p><p><b>  MOV P1,A&l

71、t;/b></p><p><b>  MOV P2,A</b></p><p><b>  MOV P3,A</b></p><p><b>  MOV P0,A</b></p><p>  MOV DPTR,#TAB ;取“電子設計”字符表首地址

72、</p><p><b>  CLR A</b></p><p>  MOV 21H,A ;21H~24H內存單元清零</p><p>  MOV 22H,A</p><p>  MOV 23H,A</p><p>  MOV 24H,A</p>&l

73、t;p>  MOV R3,A ;R3寄存器清零</p><p>  MOV R1,#50H ;設置字符表移入內存單元首地址</p><p>  MOV R2,#20H ;設置查表次數(32次)</p><p>  CLLOOP: MOVC A,@A+DPTR ;查表字符數據移入內存單元

74、</p><p>  MOV @R1,A</p><p><b>  MOV A,R3</b></p><p><b>  INC A</b></p><p><b>  MOV R3,A</b></p><p><b>  INC R

75、1</b></p><p>  DJNZ R2,CLLOOP ;判斷是否已查表32次,若未完則跳轉至CLLOOP</p><p><b>  RET</b></p><p>  TAB: DB 0EFH,83H,0ABH,83H,0ABH,83H,0EEH,0E0H ;電</p><p>  DB

76、0FFH,0C7H,0EFH,83H,0EFH,0EFH,0CFH,0EFH ;子</p><p>  DB 0BlH,0B5H,04H,0BFH,0B1H,0B5H,9BH,0A4H ;設</p><p>  DB 0BBH,0BBH,1BH,0AOH,0BBH,0BBH,9BH,0BBH ;計</p><p>  按鍵掃描子程序代碼如下:<

77、/p><p>  KEYWORK: MOV P1,#0FFH ;置輸入狀態</p><p>  JNB P1.0,KEYl ;P1.0為0時(有鍵按下)轉KEYl</p><p>  JNB P1.1,KEY2 ;P1.1為0時(有鍵按下)轉KEY2</p><p>  JNB P1.2,KEY3

78、 ;P1.2為0時(有鍵按下)轉KEY3</p><p>  KEYRET:RET</p><p>  KEYl: LCALL DLlMS ;按鍵1功能處理,延時10ms消除抖動</p><p>  JB P1.0,KEYRET ;若是干擾,轉KEYRET結束</p><p>  SETB 00H

79、 ;置逐字顯示方式標志(20H.0=1)</p><p>  CLR 01H</p><p>  CLR 02H</p><p>  RET ;子程序返回</p><p>  KEY2: LCALL DLlMS ;按鍵2功能處理</p><

80、p>  JB P1.1,KEYRET</p><p>  SETB 01H ;置上移顯示方式標志(20H.1=1)</p><p>  CLR 00H</p><p>  CLR 02H</p><p><b>  RET</b></p><p>  K

81、EY3: LCALL DLlMS ;按鍵3功能處理</p><p>  JB P1.2,KEYRET</p><p>  SETB 02H ;置左移顯示方式標志(20H.2=1)</p><p>  CLR 01H</p><p>  CLR 00H</p><

82、p><b>  RET</b></p><p>  ;顯示功能選擇程序代碼如下:</p><p>  FUN0: MOV 30H,#80H ;逐字顯示,1幀顯示時間(約1 S)</p><p>  MOV 31H,#08H ;換幀跳轉步距為8</p><p>  LJMP DISP

83、1 ;轉顯示子程序DISPl</p><p>  FUNl: MOV 30H,#0AH ;上移顯示,1幀顯示時間(約80 ms)</p><p>  MOV 31H,#01H ;換幀跳轉步距為1 </p><p>  LJMP DISPl ;轉顯示子程序DISPl</p>

84、<p>  FUN2: LJMP DISP2 ;左移顯示</p><p>  ;顯示控制程序代碼如下:</p><p>  DISPl: MOV B,#50H ;顯示數據首地址</p><p>  MOV R4,30H ;放入l幀顯示時間的控制數據</p><p>

85、  MOV R5,31H ;放入跳轉步距的控制數據</p><p>  LOOP: LCALL DISPLAY ;調用顯示子程序一次</p><p>  DJNZ R4,LOOP ;若l幀顯示時間未到,再轉LOOP循環</p><p>  MOV R4,30H ;l幀顯示時間到,重裝初值</

86、p><p><b>  MOV A,B</b></p><p>  CJNE A,#68H,CONT ;若不是末地址,則轉CONV</p><p>  AJMP STARTl ;若是末地址,一次顯示結束后則跳回STARTl</p><p>  CONT: ADD A,R5

87、;次幀掃描首地址調整</p><p><b>  MOV B,A</b></p><p>  AJMP LOOP ;轉LOOP對次幀進行掃描</p><p>  ;顯示子程序代碼如下:</p><p>  DISPLAY:MOV A,#0FFH</p><p>  M

88、OV P0,A ;關顯示數據</p><p>  MOV P2,A ;關掃描</p><p>  MOV R6,#0FEH ;賦掃描字</p><p>  MOV R0,B ;賦顯示數據首地址</p><p>  MOV R7,#08H

89、;一次掃描8行</p><p>  DISLOOP:MOV A,@R0 ;取顯示數據</p><p>  MOV P0,A ;放入P0口</p><p>  MOV P2,R6 ;掃描輸出(顯示某一行)</p><p>  LCALL DL1MS ;亮1ms<

90、;/p><p>  INC R0 ;指向下一行數據地址</p><p>  MOV A,R6 ;掃描字移入A</p><p>  RL A ;循環左移一位</p><p>  MOV R6,A ;放回R6</p><

91、p>  DJNZ R7,DISLOOP ;若8行掃描未完,轉DISLOOP繼續執行</p><p>  RET ;8行掃描結束;</p><p>  lms延時子程序代碼如下:</p><p>  DLlMS: MOV R3,#64H ;100×(10+2)us</p>&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論