版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> LED旋轉顯示器的設計</p><p><b> 摘要</b></p><p> 基于視覺暫留原理,開發(fā)出了一種旋轉式LED顯示屏。在穩(wěn)定旋轉地載體上安裝16個LED發(fā)光器件,靜止時,各列發(fā)光管等間距分列排開,隨著掃描速度的加快,在計算機軟件精確的時序控制下,不斷掃描出預設的文字,圖案等。磁鋼用來完成同步的。當霍爾傳感器旋轉到磁鋼處,感應到它
2、的存在就會恢復到最初狀態(tài),即使前一個過程沒有顯示完成。裝在電機上的電路始終在高速旋轉,我們就無法使用通常的方法來給電機供電,但可以通過對220V電壓降壓來完成。交流電壓通過變壓器降為9V,再通過橋式整流和7806降為6V,供直流電機使用。采用時鐘芯片DS1302以及電池能準確顯示時、分、秒。</p><p> 關鍵字:視覺暫留,直流電機,橋式整流。</p><p> LED Rotat
3、ing Display</p><p><b> Abstract</b></p><p> Based on the persistence of vision principle, developed a rotating LED display. Vector rotation in a stable way to install a LED light-e
4、mitting device, static when glibenclamide LED rows equally spaced points, with the scan rate speeds up, the computer software under the control of precise timing, and constantly scan the default text, patterns and so on.
5、 Magnet is used to complete the synchronization. When the Hall sensor to a rotating magnet Division, induction into its existence will be restor</p><p> Key words: persistence vision, DC motor, Bridge recti
6、fier.</p><p><b> 目 錄</b></p><p><b> 摘要I</b></p><p> AbstractII</p><p><b> 目 錄III</b></p><p><b> 引言1<
7、;/b></p><p> 1 系統(tǒng)硬件電路的設計1</p><p> 1.1 系統(tǒng)硬件框圖1</p><p> 1.2 主控單元2</p><p> 1.3 驅動模塊5</p><p> 1.4 霍爾傳感器模塊6</p><p> 1.5 顯示模塊8</p&
8、gt;<p> 1.6 電源模塊110</p><p> 1.7 電源模塊211</p><p> 2 系統(tǒng)程序的設計12</p><p> 2.1 程序的分步完成12</p><p> 2.2 程序流程圖12</p><p> 3 性能調試與分析13</p><
9、;p> 3.1 程序的檢查與修改13</p><p> 3.2 硬件的焊接與檢查14</p><p><b> 總結15</b></p><p> 參考文獻- 1 -</p><p><b> 致謝- 2 -</b></p><p><b>
10、; 附錄- 3 -</b></p><p> 附錄一 元器件清單- 3 -</p><p> 附錄二 硬件原理- 4 -</p><p> 附錄三 程序- 5 -</p><p><b> 引言</b></p><p> 目前,單片機技術如火如荼,蓬勃發(fā)展,
11、其電子產品如雨后春筍地出現(xiàn),正潮水般的涌入各個領域。其電子產品以靈敏、結構簡單易制、成本低、可靠性強等優(yōu)點迅速占領電子市場,給人們生活帶來了極大的方便,深受人們的青睞。</p><p> 此次作品以宏晶科技STC89C52RC單片機為主控單元,還有DS1302時鐘芯片,利用視覺暫留效應,精確的顯示北京時間。</p><p> 論文共分為7個部分,主要內容包括:系統(tǒng)硬件電路的設計、系統(tǒng)程
12、序的設計、性能調試與分析、結束語、參考文獻、致謝、附錄。</p><p> 1 系統(tǒng)硬件電路的設計</p><p> 1.1 系統(tǒng)硬件框圖</p><p> 系統(tǒng)硬件框圖如圖1.1所示。</p><p> 圖1.1 系統(tǒng)硬件框圖</p><p><b> 1.2 主控單元</b><
13、/p><p> 單片機以其集成度高、功能強、可靠性高、體積小、功耗低、價格廉、使用靈活等一系列優(yōu)點得到迅速的發(fā)展,滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng)等,這些都離不開單片機。</p><p> 此次設計主要采用
14、宏晶科技的STC89C52RC單片機為主控單元。</p><p> STC89C52RC的芯片管腳圖如圖1.2所示。</p><p> 圖1.2 STC89C52RC的芯片管腳圖</p><p> 1 一個8位的微處理器;</p><p> 2 片內數(shù)據(jù)存儲器RAM,用以存放可以讀/寫的數(shù)據(jù),如運算的中間結果、最終結果以顯示的數(shù)據(jù)等;
15、</p><p> 3 片內程序存儲器ROM/EPROM,用以存放程序、一些原始數(shù)據(jù)和表格;</p><p> 4 四個8位并行I/O接口P0~P3,每個口可以用作輸入,也可以用作輸出;</p><p> 5 兩個(或三個)定時器/計數(shù)器,每個定時器/計數(shù)器都可以設置成計數(shù)方式,用以對外部事件進行計數(shù),也可以設置成定時方式,并可以根據(jù)計數(shù)或定時的結果實現(xiàn)計算機
16、控制;</p><p> 6 五(或六)個中斷源的中斷控制系統(tǒng);</p><p> 7 一個全雙工UART接口(通用異步接收發(fā)送器)的串行I/O,用于實現(xiàn)單片機之間或單片機與微機之間的串行通信;</p><p> 8 片內振蕩器和時鐘產生電路,但石英晶體和微調電容須要外接??梢钥闯鯯TC89C52RC系列單片機也是一款功能強大的單片機。</p>
17、<p><b> 特點:</b></p><p> 1.增強型6時鐘/機器周期,12時鐘/機器周期8051CPU。</p><p> 2.工作電壓:5.5V-3.4V(5V單片機)/3.8V-2.0V(3V單片機)。</p><p> 3.工作頻率范圍:0-40MHz,相當于普通8051的0-80MHz,實際工作頻率可達48M
18、Hz。</p><p> 4.用戶應用程序空間4K/8K/13K/16K/20K/32K/64K字節(jié)。</p><p> 5.片上集成1280字節(jié)/512字節(jié)RAM。</p><p> 6.通用I/O口(32/36個),復位后為:P1/P2/P3/P4是準雙向口/弱上拉,P0口是開路輸出,作為總線擴展用時,不加上拉電阻,作為I/O口用時,需加上拉電阻。<
19、/p><p> 7.ISP(在系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器/仿真器,可通過串口(P3.0/P3.1)直接下載用戶程序,8K程序3秒即可完成一片。</p><p> 8.EEPROM功能。</p><p><b> 9.看門狗。</b></p><p> 10.內部集成MAX810專用復位電路(
20、D版才有),外部晶體20M以下時,可省外部復位電路。</p><p> 11.共3個16位定時器/計數(shù)器,其中定時器0還可以當成2個8位定時器使用。</p><p> 12.外部中斷4路:下降沿中斷或低電平觸發(fā)中斷,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒。</p><p> 13.通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UART
21、。</p><p> 14.封裝:LQFP-44,PDIP-40,PLCC-44,PQFP-44。</p><p><b> 引腳功能說明:</b></p><p><b> VCC——電源電壓</b></p><p><b> GND——地</b></p>
22、<p> P0口——P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8個TTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活內部上拉電阻。在FLASH編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接“上拉電阻”。</p>
23、<p> P1口——P1口是一個內部帶上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸出口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。</p><p> P1.0和P1.1的第二功能:</p><p> P1.0 T2(定時/計數(shù)器2
24、外部計數(shù)脈沖輸入),時鐘輸出</p><p> P1.1 T2EX(定時/計數(shù)2捕獲/重裝載觸發(fā)和方向控制)</p><p> P2口——P2是一個內部帶上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個
25、電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI指令)時,P2口輸出P2鎖存器的內容。</p><p> FLASH編程或校驗時,P2亦接收高位地址和一些控制信號。</p><p> P3口——P3口是一組帶有內部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅動(
26、吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流。</p><p> P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如下所示:</p><p> P3.0 RXD(串行輸入口) </p><p> P3.1 TXD(串行輸出口) </p>
27、<p> P3.2 INTO(外中斷0)</p><p> P3.3 INT1(外中斷1)</p><p> P3.4 TO(定時/計數(shù)器0)</p><p> P3.5 T1(定時/計數(shù)器1)</p><p> P3.6 WR(外部數(shù)據(jù)存儲器寫選通信號)</p><p> P3.7 RD(外
28、部數(shù)據(jù)存儲器讀選通信號)</p><p> 此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。</p><p> RST——復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復位。</p><p> ALE/PROG——當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,
29、ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。D0置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE禁止位無效。<
30、/p><p> PSEN——程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當STC89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。</p><p> EA/VPP——外部訪問允許,欲使CPU訪問外部程序存儲器(地址0000H-FFFFH),EA端必需保持低電平(接地)。需注意的是
31、:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內部程序存儲器的指令。 FLASH存儲器編程時,該引腳加上+12V的編程允許電源VPP,當然這必須是該器件是使用12V編程電壓VPP。</p><p> STC89C52RC/RD+系列單片機是STC mirco推出的新一代超強抗干擾/高速/低功耗的單片機,指令代碼完全兼容傳統(tǒng) 8051 單片機,12 時鐘/機器周
32、期和6時鐘/機器周期可任意選擇,最新的D版本內部集成MAX810專用復位電路。</p><p><b> 1.3 驅動模塊</b></p><p> 單片機的時鐘有一個11.0592MHz的晶振和兩個30PF的小電容阻成,它們決定了單片機的工作時間精度為1Us。單片機內各部件之間有條不紊地協(xié)調工作,其控制信號是在基本節(jié)拍的指揮下按一定時間順序發(fā)出的,這些控制信號在
33、時間上的相互關系就是CPU時序,而產生這種基本節(jié)拍的電路就是振蕩器和時鐘電路。</p><p> STC89C52單片機內部有一個用于構成振蕩器的單級反相放大器。</p><p> 引腳XTAL1為反相器輸入端,XTAL2為反相器輸出端。當在放大器兩個引腳上外接一個晶體(或陶瓷振蕩器)和電容組成的并聯(lián)諧振電路作為反饋元件時,夠成一個自激振蕩器。</p><p>
34、 內部振蕩器等效電路圖如圖1.3所示。</p><p> 圖1.3 內部振蕩器等效電路圖</p><p> 此振蕩器由XTAL1端向內部時鐘電路提供一定頻率的時鐘源信號。另外振蕩器的工作還可以由軟件控制,當對單片機內電源控制寄存器PCON中的PD位置1時,可停止振蕩器的工作,使單片機進入省電工作狀態(tài),此振蕩器稱為內部振蕩器。</p><p> 單片機也可以通
35、過外部振蕩器向內部時鐘電路輸入固定頻率的時鐘源信號。此時,外部信號接至XTAL1端,輸入給內部時鐘電路,而XTAL2端浮空即可。</p><p> 片內振蕩器頻率是由外接石英晶體的頻率決定的,其頻率值可在0~24MHz之間。當頻率穩(wěn)定性要求不高時,可選用陶瓷振蕩器。</p><p> 片內振蕩器對構成并聯(lián)諧振電路的外接電容C1和C2要求并不嚴格。外接晶體時,C1和C2的典型值為30PF
36、左右;外接陶瓷振蕩器時,C1和C2的典型值為47PF左右。而且在設計印刷電路板時,晶體(或陶瓷)振蕩器和電容應盡可能安裝得靠近單片機,以減少寄生電容,保證振蕩器的穩(wěn)定性和可靠性。</p><p> 1.4 霍爾傳感器模塊</p><p> 霍爾傳感器處于工作狀態(tài)時,輸出總是處于高電平狀態(tài),當磁鋼N極接近傳感器正面的有效距離,輸出端變?yōu)榈碗娖?。當磁鋼撤離傳感器有效距離,輸出端又顯示低電平
37、,從而產生下降邊沿,使單片機中斷口接收到下降沿,從而發(fā)出中斷,使得電路能夠同步。當霍爾傳感器感應到N極時會回到原始狀態(tài),達到復位的功能。</p><p> 霍爾傳感器是一種磁傳感器。它可以檢測磁場及其變化,可在各種與磁場有關的場合中使用?;魻杺鞲衅饕曰魻栃獮槠涔ぷ骰A,是由霍爾元件和它的附屬電路組成的集成傳感器?;魻杺鞲衅髟诠I(yè)生產、交通運輸和日常生活中有著廣泛的應用。此次實驗中運用了AH3144單極性霍爾開
38、關電路。</p><p> AH3144E、AH3144L是由電壓調整器,霍爾電壓發(fā)生器,差分放大器,施密特觸發(fā)器和集電極開路的輸出級組成的磁敏感電路,其輸入是磁感應強度,輸出是一個數(shù)字電壓訊號。它是一種單磁極工作的磁敏感電路,適合于矩形或者柱形磁體下的工作。AH3144L的工作溫度范圍為-40~150℃,可用于汽車工業(yè)和軍事工程中。它們有兩種封裝形式:TO-92UA和TO-92T。</p>&l
39、t;p> 霍爾傳感器功能方框圖如圖1.4所示。</p><p> 圖1.4傳感器功能方框圖</p><p> 霍爾傳感器引腳解析圖如圖1.5所示。</p><p><b> 圖1.5引腳解析</b></p><p> 如圖1.6所示,其中Bnp為工作點“開”的磁感應強度,Bnp為釋放點“關”的磁感應強度。
40、</p><p> 圖1.6 霍爾傳感器特性曲線</p><p> 當外加的磁感應強度超過動作點Brp時,傳感器輸出為低電平,當磁感應強度超過動作點Brp時,傳感器輸出高電平,當磁感應強度降到動作點Bnp以下時,傳感器輸出電平不變,一直要降到釋放點時,傳感器才由低電平躍變?yōu)楦唠娖健rp與Bnp之間的滯后使開關動作更為可靠。</p><p> 另外還有一種“鎖
41、鍵型”(或稱“鎖存型”)開關霍爾傳感器,其特性如圖1.7所示。</p><p> 圖1.7 鎖存型霍爾傳感器特性</p><p><b> 特點:</b></p><p><b> 電源電壓范圍寬。</b></p><p> 開關速度快,無瞬間抖動。</p><p>
42、 工作頻率寬(DC~100KHz)。</p><p> 壽命長,體積小,安裝方便。</p><p> 能直接和晶體管及TTL、MOS等邏輯電路接口。</p><p><b> 1.5 顯示模塊</b></p><p> LED顯示器具有功耗低,接口控制方便等優(yōu)點,而且模塊的接口信號和操作指令具有廣泛的兼容性,并
43、能直接與單片機接口,可方便地實現(xiàn)各種不同的操作,在各類測量及控制儀表中被廣泛的應用。當在LED上顯示漢字時,應先取得漢字的點陣構成數(shù)據(jù),然后將其寫入顯示存儲器中進行顯示。</p><p> 旋轉LED顯示器是一種通過同步控制發(fā)光二極位置和點亮狀態(tài)來實現(xiàn)圖文顯示的新型顯示器,其結構新穎,成本低廉,可視角度達360°。</p><p> 本設計采用16個并排發(fā)光二極管,利用人眼的
44、“視覺暫留效應”顯示文字及圖案。</p><p> 顯示模塊如圖1.8所示。</p><p> 圖 1.8 顯示模塊框圖</p><p> 由于采用時鐘芯片DS1302,可以準確的顯示北京時間。</p><p> DS1302是DALLAS公司推出的涓流充電時鐘芯片,內含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM。通過簡單的串行接口與
45、單片機進行通信:實時時鐘/ 日歷電路提供秒、分、時、日、日期、月、的信息,每月的天數(shù)和閏年的天數(shù)可自動調整:時鐘操作可通過AM/PM指示決定采用24或者12小時格式。DS1302與單片機之間能簡單地采用同步串行的方式進行通信,僅需用到三個口線:(1)RES(復位);(2)I/O(數(shù)據(jù)線);(3)SCLK(串行時鐘)。時鐘/RAM的讀/寫數(shù)據(jù)以一個字節(jié)或多達31字節(jié)的字符組方式通信:DS1302工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率小于
46、1mW。</p><p><b> 主要性能指標:</b></p><p> 實時時鐘具有能計算2100年之前的秒、分、時、日、日期、星期、月、年的能力,還有閏年調整的能力。</p><p> 31×8位暫存數(shù)據(jù)存儲RAM。</p><p> I/O串行口方式使得管腳數(shù)量最少。</p>&
47、lt;p> 工作電壓范圍:2.0~5.5V。</p><p> 工作電流:2.0V時,小于300mA。</p><p> 讀/寫時鐘或RAM數(shù)據(jù)時,有兩種傳送方式:單字節(jié)傳送和多字節(jié)傳送(字符組方式)。</p><p> 8腳DIP封裝或可選的8腳SOIC封裝(根據(jù)表面裝配)。</p><p><b> 簡單3線接口
48、。</b></p><p> 與TTL兼容:(Vcc=5V)。</p><p> 可選工業(yè)級溫度范圍:-40℃~+85℃。</p><p> 與DS1202兼容。</p><p> 在DS1202基礎上增加的特性:</p><p> —對Vcc1有可選的涓流充電能力。</p><
49、;p> —雙電源管用于主電源和備份電源供應。</p><p> —備份電源管腳可由電池或大容量電容輸入。</p><p> —附加的7字節(jié)暫存存儲器。</p><p> DS1302的管腳排列及描述如圖1.9所示。</p><p> 圖1.9 DS1302引腳圖</p><p> DS1302引腳描述
50、如表1.1所示。</p><p><b> 表1.1 管腳描述</b></p><p><b> 1.6 電源模塊1</b></p><p> 任何電路都離不開電源部分,單片機也不例外,而且我們應該高度重視電源部分,不能因為電源部分電路比較簡單而有所忽略,其實有將近一半的故障或制作失敗都和電源有關,電源部分做好才能保
51、證電路的正常工作。</p><p> 3節(jié)1.5V電池是最好的,電池輸出的電壓是最干凈的,不會有任何干擾波動。</p><p> 上電復位:保障上電時能準確地啟動系統(tǒng)。</p><p> 掉電復位:當電源失效或電壓降到某一電壓值以下時,復位系統(tǒng)自動保存數(shù)據(jù)。</p><p> 除上電復位和掉電復位外,很多監(jiān)控電路集成了系統(tǒng)所需的功能。
52、電源測控:供電電壓出現(xiàn)異常時提供預警指示或中斷請求信號,方便系統(tǒng)實現(xiàn)異常處理。數(shù)據(jù)保護:當電源或系統(tǒng)工作異常時,對數(shù)據(jù)進行必要的保護,如保護數(shù)據(jù)備份或切換后備電池。</p><p><b> 1.7 電源模塊2</b></p><p> 電網提供的交流電源經過整流、濾波,可得到直流電壓,但此電壓仍然存在波紋。同時,由于交流電網電壓的波動,負載的變化和溫度的影響等,
53、使輸出電壓紋波會更大,即輸出電流電壓不穩(wěn)定。為了得到穩(wěn)定的輸出電壓,在濾波電路與負載之間常常加入穩(wěn)壓電路,以使負載得穩(wěn)定的輸出電壓。</p><p> 通過上面的分析可知,直流穩(wěn)壓電源主要由變壓器、整流電路、濾波電路和穩(wěn)壓電路四大部分組成。</p><p> 直流穩(wěn)壓電路組成框圖如圖1.10所示。</p><p> 圖1.10 直流穩(wěn)壓電源的組成框圖</
54、p><p> 橋式整流濾波電路如圖1.11所示。</p><p> 圖1.11 橋式整流濾波電路</p><p> 220V交流電壓經過變壓器輸出為9V交流電壓,再經過橋式整流成為單向脈沖電壓,再經過濾波電路成為比較平穩(wěn)的直流電壓,最后通過7806穩(wěn)壓成輸出穩(wěn)定的6V直流電。</p><p> 7806引腳圖如圖1.12所示。</p
55、><p> 圖1.12 7806引腳圖</p><p> 對于7806三端穩(wěn)壓IC,它和其它78XX一樣,都屬于+V電壓穩(wěn)壓輸出鏈路。其1腳為輸入端,2腳接地,3腳穩(wěn)壓輸出。</p><p> 7806是正電壓三端固定穩(wěn)壓器集成電路,屬于線性穩(wěn)壓器件。7806應用非常廣泛,在各種穩(wěn)壓電源、充電器、家電等產品中均有運用。</p><p>
56、<b> 主要參數(shù):</b></p><p> 最高輸入電壓:3.5V</p><p> 輸入輸出最小的電壓差:2V</p><p> 最大輸出電流:1.5A。</p><p> 輸出電壓偏差:典型=6V;最低=5.75V;最高=6.25V。</p><p> 工作溫度范圍:0~70℃
57、 。</p><p><b> 2 系統(tǒng)程序的設計</b></p><p> 2.1 程序的分步完成</p><p> 1.對于程序的編寫有些茫然,所以上網搜了些資料經過仔細研究后大致知道程序可以分為幾個模塊,對于以后的編寫有了一定的啟發(fā)。</p><p> 2.編寫了程序顯示了一個字,觀察二極管是否能有規(guī)律的閃
58、爍,從而確定硬件電路的準確性。</p><p> 3.編寫程序測試一次最多能顯示多少字,以及測試霍爾傳感器的轉速。</p><p> 4.對一些基本性能了解后開始程序的編寫。</p><p><b> 2.2 程序流程圖</b></p><p> 首先對所要編寫的程序作一個系統(tǒng)的了解。</p>&l
59、t;p> 程序流程圖如下圖2.1所示。</p><p><b> Y</b></p><p><b> N</b></p><p><b> 2.1 程序流圖</b></p><p><b> 3 性能調試與分析</b></p>
60、<p> 3.1 程序的檢查與修改</p><p> 一個工程的完成不可能一步達成,正如俗話說“不積跬步,無以至千里”。所以整個程序的編寫也是一步一個腳印,最后攀登上勝利的高峰。</p><p> 程序是在Keil51讓軟件上編寫的,它具有仿真、編譯及檢錯的功能。</p><p> 從一開始顯示的亂碼到一步一步的修改直至最后程序的出來我們付出了
61、很多心血,終于皇天不負有心人。</p><p> 在編寫程序的時候遇到了兩個比較大的問題:一個是送數(shù),另一個是時間。</p><p> 1.直流電機的轉速決定了最多能顯示多少個字,而且只有在霍爾傳感器感應到N極的時候才能送數(shù),否則就無效。</p><p> 2.這次設計對于時間的控制很嚴格,時間決定我們是否能正確的顯示漢字。因為是基于視覺暫留效應,如果延時太長
62、就不能看清楚字,所以要控制顯示的字的數(shù)目。</p><p> 3.2 硬件的焊接與檢查</p><p><b> 1.晶振短路</b></p><p> 萬用板上插孔之間有的已經通過錫導通,在焊接時沒有用電烙鐵把錫挑掉,造成晶振短路,還好發(fā)現(xiàn)及時,并沒有造成嚴重后果。</p><p> 2.發(fā)光二極管共陰、共陽發(fā)
63、生錯誤</p><p> 原理圖中二極管共陰連接。焊接完成后,芯片引腳出來的是低電平,二極管又共陰連接,導致二極管不亮,后來把二極管改成共陽的。</p><p> 3.P0口未接上拉電阻</p><p> 畫原理圖時沒有考慮周全,P0口未接上拉電阻,焊接完成后,編寫小程序時發(fā)光二極管不能正常顯示。</p><p><b>
64、4.霍爾傳感器反接</b></p><p> 由于網上下載的資料錯誤,外加對霍爾傳感器知識的不扎實,導致霍爾傳感器反接。多次檢查之后,終于發(fā)現(xiàn)并改正了這個錯誤。</p><p> 5.發(fā)光二極管順序錯誤</p><p> 芯片上P0口從上到下順序為0~7,而P2口從上到下的順序為7~0,由于焊接時的疏忽,只參照了原理圖上芯片的引腳排布,沒有注意到實
65、際的,導致程序編寫進去后,顯示的是亂碼,不是正常的漢字。</p><p><b> 6.重新制作</b></p><p> 整個作品完成后,基本功能都已完成,唯一的缺點是顯示的字不好看。因為采用大的發(fā)光二極管,直徑太靠近轉軸,字體變形。電路布線合理且經過調試了,如果把大的二極管換成小的會影響整個布線,這樣就比較麻煩了,為了追求更美觀、完美,所以決定重新焊一個。&l
66、t;/p><p> 7.發(fā)光二極管亮度不夠</p><p> 重新焊接完成后,字形顯示改觀了,但又遇到一個新問題,發(fā)光二極管亮度不夠,只有在黑暗條件下才能看清。所以最后換成了貼片的,現(xiàn)在效果明顯好轉,亮度均勻。</p><p><b> 總結</b></p><p> 09年10月我開始了我的畢業(yè)論文工作,時至今日,
67、論文已基本完成。從最初的茫然到慢慢進入狀態(tài),再到對思路逐漸的清晰,整個過程,難以用語言來表達。</p><p> 經歷了幾個月的奮戰(zhàn),緊張而又充實的畢業(yè)設計終于落下了帷幕?;叵脒@段日子的經歷和感受,我感慨萬千,在這次畢業(yè)設計過程中,我擁有了無數(shù)難忘的回憶和收獲。</p><p> 當接到課題時,我便立刻著手資料的收集工作,當時面對浩瀚的書海真是有些茫然,不知如何下手,我將這一困難告訴了
68、同組成員,在經過多次討論之后,終于對工作方向和方法有了掌握。我把收集到的資料都記錄下來,這樣有利于論文的撰寫。</p><p> 在制作過程中遇到困難我就及時和導師聯(lián)系,并且和同學相互交流,在大家的幫助下,困難一個接一個解決了,作品也慢慢成型了,整個過程中我充分運用了大學期間所學到的知識。</p><p> 腳踏實地,認真嚴謹,實事求是的學習態(tài)度,不怕困難,堅持不懈,吃苦耐勞的精神是我
69、在這次設計中最大的收益,我想這是一次意志的磨練是對我實際能力的一次提升,會對我未來的學習和工作有很大的幫助。</p><p> 通過畢業(yè)設計,我深刻體會到要做好一件完整的事情,需要系統(tǒng)的思維方式和方法,對待要解決的問題,要耐心、要善于運用已有的資源來充實自己。同時我也深刻的認識到,在對待一個新事物時,一定要從整體考慮,完成一步以后再做下一步,這樣才能更有效。</p><p><b&
70、gt; 參考文獻</b></p><p> [1] 劉迎春,王磊.C語言程序設計.西安電子科技大學出版社,2008.08.</p><p> [2] 楊帆,秦會斌.傳感器技術.西安電子科技大學出版社,2008.09.</p><p> [3] 清源計算機工作室.Protel 99 SE 原理圖與PCB及仿真.機械工程出版社,2004.01.
71、</p><p> [4] 陳衛(wèi)兵,宋健娟.單片機原理及應用.西安科技大學出版社,2008.07.</p><p> [5] 周興華.手把手教你學單片機C語言程序設計.北京航天航空大學出版社,2007.08.</p><p> [6] 楊碧石,何其貴.模擬電子技術基礎.北京航天航空大學出版社,2006.01.</p><p>&l
72、t;b> 致謝</b></p><p> 忙碌了幾個月畢業(yè)設計終于接近尾聲了,大學生活也即將結束了。逝者如斯,不舍晝夜,兩次春去春又來,歲月稍縱即逝。此時,回頭看看這段短暫的求學路,時而喜悅,時而惆悵。感謝命運的安排,讓我有幸結識了許多良師益友,是他們教我如何品味人生,讓我懂得如何更好的生活!人生處處是驛站,已是揮手作別之時,在此,向所有幫助過我的人獻上最誠摯的謝意。</p>
73、<p> “飲其流時思其源,成吾學時念吾師?!敝链苏撐耐瓿芍H,謹向我尊敬的導師xx以誠摯的謝意和崇高的敬意。感謝您從本設計開始一路指導至論文的完成,正是因為您思路清晰、反應敏捷,學術態(tài)度清晰,才使我的畢業(yè)論文有了極大的寫作空間。您的悉心點播,耐心指導,常讓我有“山窮水盡疑無路,柳暗花明又一村”的感覺。</p><p> “何當共剪西窗燭,卻話巴山夜雨時?!贝髮W三年期間與我朝夕相處的同學是我最寶貴的
74、財富,感謝室友的真摯友情,我想對你們說:“認識你們很高興!”生活中有了你們的陪伴而更顯豐富,有了你們的幫助而倍感輕松,有了你們的支持而深受鼓舞……感謝所有的同學,感謝所有的朋友,很幸運能夠認識你們,但愿我們的友情長久,祝福我們的未來更美好!</p><p> “可憐天下父母心,”在我告別學習生涯之時,請允許我向我最愛的家人表示誠摯的謝意,想到他們,我總是感到溫暖而安詳。感謝我的爸爸、媽媽,正因為有你們的支持和鼓
75、勵,才有了今天的我。你們的哺育之恩,愛護之情讓我永生難忘。在我成功的時候,你們的笑容散發(fā)著幸福、滿足和榮耀的光芒,照亮了我的前程;在我失敗的時候,你們的眼神透露出理解、包容和鼓勵的信息,讓我意氣風發(fā),鼓足了勇氣!感謝所有關心我,愛護我的親人,祝福你們身體健康,萬事如意!</p><p> 最后感謝和我一組的成員,感謝他們對畢業(yè)設計的貢獻,也感謝對我的支持,給我了很大的幫助,在我迷茫時在一旁悉心指導我,耐心的講解
76、直至我明白。正是在這樣一個團結友愛,相互促進的環(huán)境中,才有了今天我們的小收獲,才使我時刻充滿信心和勇氣,克服路上的種種困難和障礙,順利的完成大學的學習!</p><p> “天下無不散的筵席”雖不舍說“再見”,再見的時刻卻以來臨,無人能阻止時間前進的腳步,唯有將淚低于心頭,將記憶封于腦海之中。別了,美麗的青春校園,你是我避風的港灣,是我成長的搖籃;別了,親愛的良師益友,你們是我今世的知音,伴我成長,是甘甜雨露,
77、滋潤我心田。</p><p><b> 附錄</b></p><p> 附錄一 元器件清單</p><p><b> 附錄二 硬件原理</b></p><p><b> 附錄三 程序</b></p><p> #include<r
78、eg51.h></p><p> #include"time.h"</p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> uchar a,b,c,g,e,f;</p><p>
79、; uchar code shu[10][32]={{0x00,0x00,0x00,0x00,0x00,0xFC,0x02,0x02,0x02,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00},//0{0x00,0x00,0x00,0x00,0x
80、00,0x00,0x04,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//1</p><p> {0x00,0x00,0x00,0x00,0x00,0x0C,0x82,0x42,0x22,0x1C,0x0
81、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00},//2</p><p> {0x00,0x00,0x00,0x00,0x00,0x0C,0x02,0x22,0x22,0x52,0x8C,0x00,0x00,0x00,0x00,0x00,0x00
82、,0x00,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x03,0x00,0x00,0x00,0x00,0x00},//3</p><p> {0x00,0x00,0x00,0x00,0x00,0xE0,0x90,0x88,0xFE,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
83、0x04,0x07,0x04,0x04,0x00,0x00,0x00,0x00,0x00},//4</p><p> {0x00,0x00,0x00,0x00,0x00,0x3E,0x22,0x12,0x12,0x12,0xE2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x03,0x00,0x00,0
84、x00,0x00,0x00},//5</p><p> {0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x44,0x22,0x22,0x22,0xC4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x03,0x00,0x00,0x00,0x00},//6</p>
85、<p> {0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x02,0xC2,0x32,0x0E,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, //7{0x00,0x00,0x00,0x00,0x00,0x98,0x6
86、4,0x44,0x44,0x64,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x03,0x00,0x00,0x00,0x00,0x00}, //8{0x00,0x00,0x00,0x00,0x00,0x78,0x84,0x84,0x84,0x44,0xF8,0x00,0x00,0x00,0x00,0x00,0x00
87、,0x00,0x00,0x00,0x00,0x02,0x04,0x04,0x04,0x02,0x01,0x00,0x00,0x00,0x00,</p><p> uchar code zi[]={ 0x00,0x00,0x10,0x10,0x10,0xFE,0x00,0x00,0xFE,0x40,0x20,0x10,0x08,0x00,0x00,0x00, 0x00,0x00,0x02,0x02,0x
88、7A,0xCA,0x4A,0xCB,0x4A,0xCA,0x7A,0x02,0x02,0x00,0x00,0x00 0x00,0x00,0x00,0xFC,0x44,0x44,0xFC,0x08,0x28,0x48,0x08,0xFE,0x08,0x08,0x00,0x00, 0x00,0x00,0x00,0xF8,0x02,0x04,0xF0,0x52,0x52,0x52,0xF2,0x02,0xFE,0x00,0x00
89、,0x00, 0x00,0x00,0x02,0x02,0x02,0x0F,0x00,0x00,0x0F,0x08,0x08,0x08,0x0F,0x00,0x00,0x00, 0x00,0x00,0x04,0x02,0x01,0x04,0x04,0x07,0x00,0x00,0x01,</p><p> uchar code shi[]={ 0x00,0x00,0x00,0xF
90、C,0x44,0x44,0xFC,0x08,0x28,0x48,0x08,0xFE,0x08,0x08,0x00,0x00, 0x00,0x00,0x00,0x03,0x02,0x02,0x03,0x00,0x00,0x02,0x04,0x07,0x00,0x00,0x00,0x00};</p><p> uchar code fen[]={0x00,0
91、x00,0x20,0x10,0x2C,0x23,0xE0,0x20,0x20,0x23,0xEC,0x10,0x20,0x00,0x00,0x00, 0x00,0x00,0x00,0x04,0x02,0x01,0x00,0x00,0x02,0x04,0x03,0x00,0x00,0x00,0x00,0x00};</p><p> uchar code m
92、iao[]={0x00,0x00,0x80,0x4A,0x2A,0xFF,0x29,0x48,0xBC,0x00,0x7F,0x00,0xC4,0x18,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x04,0x04,0x02,0x01,0x00,0x00,0x00,0x00};</p><p><b&
93、gt; bit s;</b></p><p> uchar dat,m=0;</p><p> void delay(void) //誤差 -0.868055555556us</p><p><b> {</b></p><p> unsigned char a,b;</p>&
94、lt;p> for(b=1;b>0;b--)</p><p> for(a=227;a>0;a--);</p><p><b> }</b></p><p> void init(void)</p><p><b> {</b></p><p>&
95、lt;b> s=0;</b></p><p><b> EA = 1;</b></p><p><b> EX0 = 1;</b></p><p><b> IT0=1;</b></p><p><b> }</b></p
96、><p> void zhongduan(void) interrupt 0</p><p><b> {</b></p><p><b> s=1;</b></p><p><b> }</b></p><p> void main(void
97、)</p><p><b> {</b></p><p><b> init();</b></p><p> ds1302_write_time();</p><p><b> while(1)</b></p><p><b> {&
98、lt;/b></p><p><b> P0=0XFF;</b></p><p><b> P1=0XFF;</b></p><p> ds1302_read_time();</p><p> a= time_buf1[6];</p><p> b= time
99、_buf1[7];</p><p> c= time_buf1[8];</p><p> g= time_buf1[9];</p><p> e= time_buf1[10];</p><p> f= time_buf1[11];</p><p> while(s==1)</p><p&g
100、t;<b> {</b></p><p> uchar j=64;</p><p> uchar d,h;</p><p> for(h=0;h<64;h++)</p><p><b> {</b></p><p> P0=~zi[h];</p&g
101、t;<p> P1=~zi[j];</p><p><b> j++;</b></p><p><b> delay();</b></p><p><b> }</b></p><p><b> j=16;</b></p>
102、;<p> for(d=0;d<16;d++)</p><p><b> {</b></p><p> P0=~shu[a][d];</p><p> P1=~shu[a][j];</p><p><b> delay();</b></p><p&g
103、t;<b> j++;</b></p><p><b> }</b></p><p><b> j=16;</b></p><p> for(d=0;d<16;d++)</p><p><b> {</b></p><p
104、> P0=~shu[b][d];</p><p> P1=~shu[b][j];</p><p><b> delay();</b></p><p><b> j++;</b></p><p><b> }</b></p><p><
105、;b> j=16;</b></p><p> for(d=0;d<16;d++)</p><p><b> {</b></p><p> P0=~shi[d];</p><p> P1=~shi[j];</p><p><b> j++;</b&
106、gt;</p><p><b> delay();</b></p><p><b> }</b></p><p><b> j=16;</b></p><p> for(d=0;d<16;d++)</p><p><b> {&
107、lt;/b></p><p> P0=~shu[c][d];</p><p> P1=~shu[c][j];</p><p><b> delay();</b></p><p><b> j++;</b></p><p><b> }</b&g
108、t;</p><p><b> j=16;</b></p><p> for(d=0;d<16;d++)</p><p><b> {</b></p><p> P0=~shu[g][d];</p><p> P1=~shu[g][j];</p>
109、<p><b> delay();</b></p><p><b> j++;</b></p><p><b> }</b></p><p><b> j=16;</b></p><p> for(d=0;d<16;d++)&l
110、t;/p><p><b> {</b></p><p> P0=~fen[d];</p><p> P1=~fen[j];</p><p><b> j++;</b></p><p><b> delay();</b></p><
111、;p><b> }</b></p><p><b> j=16;</b></p><p> for(d=0;d<16;d++)</p><p><b> {</b></p><p> P0=~shu[e][d];</p><p>
112、 P1=~shu[e][j];</p><p><b> delay();</b></p><p><b> j++;</b></p><p><b> }</b></p><p><b> j=16;</b></p><p&g
113、t; for(d=0;d<16;d++)</p><p><b> {</b></p><p> P0=~shu[f][d];</p><p> P1=~shu[f][j];</p><p><b> delay();</b></p><p><b>
114、; j++;</b></p><p><b> }</b></p><p><b> j=16;</b></p><p> for(d=0;d<16;d++)</p><p><b> {</b></p><p> P0=~
115、miao[d];</p><p> P1=~miao[j];</p><p><b> j++;</b></p><p><b> delay();</b></p><p><b> }</b></p><p><b> s=0;&l
116、t;/b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> #include <reg51.h></p><p> #include<i
117、ntrins.h></p><p> sbit SCK=P2^0;</p><p> sbit SDA=P2^1;</p><p> sbit RST=P2^2;</p><p><b> /*復位腳*/</b></p><p> #define RST_CLRRST=0
118、/*電平置低*/</p><p> #define RST_SETRST=1/*電平置高*/</p><p><b> /*雙向數(shù)據(jù)*/</b></p><p> #define IO_CLRSDA=0/*電平置低*/</p><p> #define IO_SETSDA=1/*電平置高*/</p&g
119、t;<p> #define IO_RSDA/*電平讀取*/</p><p><b> /*時鐘信號*/</b></p><p> #define SCK_CLRSCK=0/*時鐘信號*/</p><p> #define SCK_SETSCK=1/*電平置高*/</p><p> #def
120、ine ds1302_sec_add0x80//秒數(shù)據(jù)地址</p><p> #define ds1302_min_add0x82//分數(shù)據(jù)地址</p><p> #define ds1302_hr_add0x84//時數(shù)據(jù)地址</p><p> #define ds1302_date_add0x86//日數(shù)據(jù)地址<
121、;/p><p> #define ds1302_month_add0x88//月數(shù)據(jù)地址</p><p> #define ds1302_day_add0x8a//星期數(shù)據(jù)地址</p><p> #define ds1302_year_add0x8c//年數(shù)據(jù)地址</p><p> #define ds1302
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計---led旋轉顯示器的設計
- 畢業(yè)設計--led旋轉顯示器的設計
- 旋轉led顯示器的設計畢業(yè)設計
- 畢業(yè)設計---led旋轉顯示器的設計
- led顯示器畢業(yè)設計論文
- 畢業(yè)設計----led字符顯示器
- led立方體顯示器設計【畢業(yè)設計】
- 用vhdl設計led+漢字滾動顯示器畢業(yè)設計
- 用vhdl設計led+漢字滾動顯示器畢業(yè)設計
- 用vhdl設計led+漢字滾動顯示器畢業(yè)設計
- 畢業(yè)設計--旋轉led顯示屏
- 畢業(yè)設計---基于單片機的led點陣字符顯示器的設計
- 畢業(yè)設計---旋轉led動態(tài)顯示屏的設計
- 顯示器支架沖壓模畢業(yè)設計
- 顯示器支架沖壓模畢業(yè)設計
- 顯示器支架沖壓模畢業(yè)設計
- 畢業(yè)設計----顯示器支架沖壓模
- led點陣顯示器
- 直下式LED顯示器的優(yōu)化設計.pdf
- 模具畢業(yè)設計95顯示器支架沖壓模畢業(yè)設計
評論
0/150
提交評論