版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于AT89S51單片機(jī)出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)</p><p> 【摘 要】出租車計(jì)價(jià)器是出租車運(yùn)營收費(fèi)的專用智能化儀表,隨著電子技術(shù)的發(fā)展,出租車計(jì)價(jià)器的技術(shù)也在不斷地進(jìn)步和提高。國內(nèi)出租車計(jì)價(jià)器已經(jīng)經(jīng)歷了4個(gè)階段的發(fā)展。從傳統(tǒng)的全部由機(jī)械元件組成的機(jī)械式,到半電子式即用電子線路代替部分機(jī)械元器件的出租車計(jì)價(jià)器;再從集成電路式到目前的單片機(jī)系統(tǒng)涉及的出租車計(jì)價(jià)器。采用單片機(jī)進(jìn)行的設(shè)計(jì),相對(duì)
2、來說功能強(qiáng)大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎膶?shí)現(xiàn)設(shè)計(jì)要求,且靈活性強(qiáng),可以通過軟件編程來完成更多的附加功能。針對(duì)計(jì)費(fèi)模式的切換,通過軟件編程就可以輕易而舉的實(shí)現(xiàn)。避免了機(jī)械開關(guān)帶來的不穩(wěn)定因素。另外在本方案中那個(gè)使用了數(shù)碼管,可以實(shí)現(xiàn)更加友好的使用界面。數(shù)據(jù)信息一目了然,并且即使是成品也可以便的修改使用界面,更可根據(jù)不同的公司客戶使用不同的局面。</p><p> 【關(guān)鍵詞】出租車計(jì)價(jià)器 單
3、片機(jī) 控制</p><p> Taximeter AT89S51 Microcontroller based system design</p><p> Abstract:Taxi meter is a dedicated taxi oPerators charge intelligent instrument,With the develoPment of electroni
4、c technology,Taximeter techniques are constantly Progress and imProve. Domestic Taximeter has exPerienced four stages of develoPment. From the traditional all-mechanical comPonents consisting of mechanical, To semi-elect
5、ronic-use electronic circuit instead of Part of the mechanical comPonents Taximeter; And from IC-style to the current SCM system is involved in the taxi meter. Single-</p><p> Key words: Taximeter SCM
6、 Control</p><p><b> 目錄</b></p><p><b> 第一章 緒論1</b></p><p> 1.1 基于AT89S51單片機(jī)出租車計(jì)價(jià)器的簡述1</p><p><b> 1.2功能要求1</b></p><
7、p> 第二章AT89S51單片機(jī)出租車計(jì)價(jià)器系統(tǒng)的硬件結(jié)構(gòu)2</p><p> 2.1 AT89S51單片機(jī)控制出租車計(jì)價(jià)器系統(tǒng)的組成2</p><p> 2.2 系統(tǒng)工作原理2</p><p> 2.3 AT89S51的結(jié)構(gòu)及其功能2</p><p> 2.3.1 主要性能參數(shù)2</p><p&
8、gt; 2.3.2功能特性概述3</p><p> 2.3.3 引腳功能說明4</p><p> 2.3.4 振蕩器特性6</p><p> 2.3.5 芯片擦除6</p><p> 2.3.6 特殊功能寄存器6</p><p><b> 2.3.7中斷7</b></
9、p><p> 2.4 LED數(shù)碼管的結(jié)構(gòu)與功能7</p><p> 2.5 DS1302的結(jié)構(gòu)與工作原理9</p><p> 2.5.1 DS1302 簡介9</p><p> 2.5.2 讀寫時(shí)序說明12</p><p> 2.5.3 DS1302電路連接原理圖13</p><p&
10、gt; 2.6 A44E霍爾傳感器的應(yīng)用13</p><p> 第三章 整體電路的設(shè)計(jì)14</p><p> 3.1 模塊電路的設(shè)計(jì)14</p><p> 3.1.1 里程電路的設(shè)計(jì)14</p><p> 3.1.2 脈沖整形電路15</p><p> 3.1.3 數(shù)碼管顯示電路15</
11、p><p> 3.1.4 時(shí)鐘電路17</p><p> 3.1.5 AT24C02 掉電存儲(chǔ)電路17</p><p> 3.2整體電路的設(shè)計(jì)18</p><p> 第四章 系統(tǒng)軟件設(shè)計(jì)19</p><p> 4.1 模塊介紹19</p><p> 4.1.1 主程序模塊1
12、9</p><p> 4.1.2 鍵盤服務(wù)程序19</p><p> 4.1.3 定時(shí)中斷服務(wù)程序19</p><p> 4.1.4里程計(jì)數(shù)中斷服務(wù)子程序19</p><p> 4.1.5時(shí)鐘程序如圖4-420</p><p> 4.1.6顯示程序20</p><p> 4
13、.2 程序流程圖20</p><p> 4.3 PROTUES仿真23</p><p> 第五章 電路板的焊接26</p><p> 5.1準(zhǔn)備工作26</p><p> 5.1.1 作業(yè)環(huán)境26</p><p> 5.1.2工具準(zhǔn)備26</p><p> 5.2電路圖符
14、號(hào)識(shí)別26</p><p> 5.3 電路板的焊接27</p><p> 5.3.1 焊接流程27</p><p> 5.3.2 元器件焊接的順序28</p><p><b> 第六章 結(jié)語29</b></p><p> 第七章 參考文獻(xiàn)30</p><p
15、><b> 附錄31</b></p><p> 附錄一:基于AT89S51單片機(jī)出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)的C語言程序:31</p><p> 附錄二:基于AT89S51單片機(jī)出租車計(jì)價(jià)器系統(tǒng)整體電路設(shè)計(jì)39</p><p><b> 第一章 緒論</b></p><p> 1.1
16、基于AT89S51單片機(jī)出租車計(jì)價(jià)器的簡述</p><p> 以單片機(jī)AT89S51為核心設(shè)計(jì)的出租車計(jì)價(jià)器是既方便操作、簡單易懂,處理數(shù)據(jù)又比較準(zhǔn)確的一款出租車計(jì)價(jià)器。該計(jì)價(jià)器能實(shí)現(xiàn)里程計(jì)價(jià)與顯示、數(shù)據(jù)存儲(chǔ)與查詢、時(shí)鐘顯示、等功能。它比市場(chǎng)上的一些計(jì)價(jià)器使用更方便、功能更齊全,還具有有效防止司機(jī)作弊和系統(tǒng)穩(wěn)定性好的優(yōu)點(diǎn)。其中的超速提醒功能可以提醒司機(jī)和乘客,以告誡司機(jī)不要超速行駛,避免交通事故的發(fā)生。<
17、/p><p><b> 1.2功能要求</b></p><p> 用4位數(shù)碼管實(shí)時(shí)顯示里程數(shù),單位為公里,最后一位為小數(shù)位;用4位數(shù)碼管實(shí)時(shí)顯示金額,單位為金額數(shù),單位為元,最后一位為小數(shù)位。</p><p> 按“單程”鍵,則出租車的價(jià)格為2元/公里;按“往返”鍵,則出租車的價(jià)格為1.5元/公里。</p><p>
18、; 出租車起步公里數(shù)為3公里,價(jià)格為8元,大于3公里則按照以上方法計(jì)費(fèi)。</p><p> 第二章AT89S51單片機(jī)出租車計(jì)價(jià)器系統(tǒng)的硬件結(jié)構(gòu)</p><p> 2.1 AT89S51單片機(jī)控制出租車計(jì)價(jià)器系統(tǒng)的組成</p><p> 本系統(tǒng)是由以下幾個(gè)部件組成:單片機(jī)AT89S51、鍵盤控制部件、里程計(jì)算單元、數(shù)碼管顯示單元、脈沖整形電路等。</p
19、><p> 利用單片機(jī)豐富的I/O端口及其控制的靈活性,實(shí)現(xiàn)基本的里程計(jì)價(jià)功能和價(jià)格調(diào)節(jié)、時(shí)鐘顯示功能,不但能實(shí)現(xiàn)所要求的功能而且在很大程度上擴(kuò)展功能,可以方便的對(duì)系統(tǒng)進(jìn)行升級(jí)。</p><p> 2.2 系統(tǒng)工作原理</p><p> 當(dāng)車子啟動(dòng)時(shí),計(jì)價(jià)開關(guān)閉合,由霍爾傳感器監(jiān)測(cè)到的脈沖信號(hào),經(jīng)過處理送到單片機(jī)里程寄存器中進(jìn)行計(jì)算,判斷出行駛里程是否已經(jīng)超過起價(jià)
20、公里數(shù),若已超過,則根據(jù)里程值、每公里的單價(jià)數(shù)和起價(jià)數(shù)來計(jì)算出當(dāng)前的累計(jì)價(jià)格,并將結(jié)果存于價(jià)格寄存器中,再將時(shí)間和當(dāng)前累計(jì)價(jià)格送往顯示電路顯示出來。當(dāng)?shù)竭_(dá)目的地的時(shí)候,由于霍爾傳感器沒有送來脈沖信號(hào),停止計(jì)價(jià),這時(shí)計(jì)價(jià)開關(guān)斷開,數(shù)碼管顯示電路顯示當(dāng)前所應(yīng)該支付的金額和對(duì)應(yīng)的里程數(shù),經(jīng)過人工清零,重新進(jìn)行初始化過程。</p><p> 2.3 AT89S51的結(jié)構(gòu)及其功能</p><p>
21、 AT89S51是美國ATMEL公司生產(chǎn)的低功耗、高性能COMS8位單片機(jī),片內(nèi)含4Kbytes的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲(chǔ)器既可在線編程(ISP)及通用8位微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價(jià)位AT89S51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。</p>&
22、lt;p> 2.3.1 主要性能參數(shù)</p><p> 1、與MCS-51產(chǎn)品指令系統(tǒng)完全兼容</p><p> 2、4K字節(jié)在系統(tǒng)編程(ISP)Flash閃存</p><p> 3、1000次擦寫周期</p><p> 4、4.0—5.0V的工作電壓范圍</p><p> 5、全靜態(tài)工作模式:0HZ
23、—24HZ</p><p><b> 7、三級(jí)程序加密鎖</b></p><p> 8、128*8字節(jié)內(nèi)部RAM</p><p> 9、32可編程I/O線</p><p> 10、兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> 11、5個(gè)中斷源 </b><
24、/p><p> 12、可編程串行通道</p><p> 13、低功耗的閑置和掉電模式</p><p> 14、片內(nèi)振蕩器和時(shí)鐘電路</p><p> AT89S51單片機(jī)外部引腳分布如圖2-1。</p><p><b> 圖2-1</b></p><p> 2.3.
25、2功能特性概述</p><p> AT89S51提供以下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,看門口(WDT),兩個(gè)數(shù)據(jù)指針,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路,同時(shí),AT89S51可降至0HZ的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。</p><p> AT89S51可構(gòu)成真正的單片機(jī)最小應(yīng)用系統(tǒng),縮小
26、系統(tǒng)體積,增加系統(tǒng)的可靠性,降低系統(tǒng)的成本。只要程序長度小于4K,四個(gè)I/O口全部提供給用戶??捎?V電壓編程,而且擦寫時(shí)間僅需10毫秒,僅為8751/87C51的擦除時(shí)間的百分之一,與8751/87C51的12V電壓擦寫相比,不易損壞器件,沒有兩種電源的要求,改寫時(shí)不拔下芯片,適合許多嵌入式控制領(lǐng)域。工作電壓范圍寬(2.7V~6V),全靜態(tài)工作,工作頻率寬在0Hz~24MHz之間,比8751/87C51等51系列的6MHz~12MHz
27、更具有靈活性,系統(tǒng)能快能慢。AT89S51芯片提供三級(jí)程序存儲(chǔ)器加密,提供了方便靈活而可靠的硬加密手段,能完全保證程序或系統(tǒng)不被仿制。P0口是三態(tài)雙向口,通稱數(shù)據(jù)總線口,因?yàn)橹挥性摽谀苤苯佑糜趯?duì)外部存儲(chǔ)器的讀/寫操作。</p><p> 2.3.3 引腳功能說明</p><p><b> VCC:供電電壓。</b></p><p><
28、b> GND:接地。</b></p><p> P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> P1口:P
29、1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作
30、為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/
31、O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89S51的一些特殊功能口,如表2-1所示。</p><p><b> 表2-1</b></p><p> P3口同時(shí)為閃爍編程和編
32、程校驗(yàn)接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目
33、的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信
34、號(hào)將不出現(xiàn)。</p><p> EA/VPP:當(dāng)EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET,當(dāng)EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器,在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p&
35、gt;<p> XTAL2:來自反向振蕩器的輸出。</p><p> 2.3.4 振蕩器特性</p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低
36、電平要求的寬度。</p><p> 2.3.5 芯片擦除</p><p> 整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89S51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CP
37、U停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。</p><p> 2.3.6 特殊功能寄存器</p><p> 特殊功能寄存器于片內(nèi)的空間分布如表2-2所示。</p><p><b> 表2-2</b></p><
38、;p> 這些地址并沒有被完全占用,沒有占用的地址亦不可以使用,讀這些地址將得到一個(gè)隨意的數(shù)值。而這些地址單元將不能得到預(yù)期的結(jié)果。</p><p><b> 2.3.7中斷</b></p><p> AT89S51共有5個(gè)中斷源:2個(gè)外中斷(INT0和INT1),2個(gè)定時(shí)中斷(T0和T1)和一個(gè)串行中斷。這些中斷如圖2-2。</p><
39、p> 圖2-2中斷源方框圖</p><p> 這些中斷源各自的禁止和使能位參見特殊功能寄存器的IE。IE也包含總中斷控制位EA,EA清零,將關(guān)閉所有電源。其中IE.6和IE.5沒有定義,用戶不能訪問這些位,它們是保留為以后的AT89產(chǎn)品作擴(kuò)展用途。T0和T1的中斷標(biāo)志TF0和TF1,它們是定時(shí)器溢出時(shí)的S5P2時(shí)序周期被置位,該標(biāo)志保留至下個(gè)時(shí)序周期。</p><p> 2.4
40、 LED數(shù)碼管的結(jié)構(gòu)與功能</p><p> LED數(shù)碼管分共陽極與共陰極兩種,其工作特點(diǎn)是,當(dāng)筆段電極接低電平,公共陽極接高電平時(shí),相應(yīng)筆段可以發(fā)光。共陰極LED數(shù)碼管則與之相反,它是將發(fā)光二極管的陰極(負(fù)極)短接后作為公共陰極。當(dāng)驅(qū)動(dòng)信號(hào)為高電平、另一端接低電平時(shí),才能發(fā)光。</p><p> LED數(shù)碼管等效于多只具有發(fā)光性能的PN結(jié)。當(dāng)PN結(jié)導(dǎo)通時(shí),依靠少數(shù)載流子的注人及隨后的
41、復(fù)合而輻射發(fā)光,其伏安特性與普通二極管相似。在正向?qū)ㄖ埃螂娏鹘朴诹?,筆段不發(fā)光。當(dāng)電壓超過開啟電壓時(shí),電流就急劇上升,筆段發(fā)光。因此,LED數(shù)碼管屬于電流控制型器件。</p><p> LED數(shù)碼管(LED Segment DisPlays)是由多個(gè)發(fā)光二極管封在在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。LED數(shù)碼管常用段數(shù)一般為7段有的另加一個(gè)小數(shù)點(diǎn),還有一
42、種是類似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等,LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對(duì)編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。右圖共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍(lán),黃等幾種。LED數(shù)碼管廣泛用于儀表,時(shí)鐘,車站,家電等場(chǎng)合。LED數(shù)碼管外觀及內(nèi)部原理圖如圖2-3
43、所示。</p><p> 圖2-3 LED數(shù)碼管外觀及內(nèi)部原理圖</p><p> LED數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)位,因此根據(jù)LED數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。 </p><p><b> 一、靜態(tài)顯示驅(qū)動(dòng):</b></p><p> 靜
44、態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O埠進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)位解碼器解碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用I/O口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O口來驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O口才32個(gè),故實(shí)際應(yīng)用時(shí)必須增加解碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬體電路的復(fù)雜性。 </p><p><b>
45、; 二、動(dòng)態(tài)顯示驅(qū)動(dòng):</b></p><p> 數(shù)碼管動(dòng)態(tài)顯示介面是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃“a,b,c,d,e,f,g,dP”的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位元選通COM
46、端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。 </p><p> 透過分時(shí)輪流控制各個(gè)LED數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位元數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會(huì)有閃
47、爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O口,而且功耗更低。</p><p> 2.5 DS1302的結(jié)構(gòu)與工作原理</p><p> 2.5.1 DS1302 簡介 </p><p> DS1302是美國DALLAS公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,附加31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一
48、次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月小與31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。工作電壓寬達(dá)2.5~5.5V。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。DS1302的外部引腳分配如圖2-4所示及內(nèi)部結(jié)構(gòu)如圖2-5所示。DS1302用于數(shù)據(jù)記錄,特別是對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄,因此
49、廣泛應(yīng)用于測(cè)量系統(tǒng)中。</p><p> 圖2-4 DS1302的外部引腳分配</p><p> 圖2 -5 DS1302的內(nèi)部結(jié)構(gòu)</p><p><b> 各引腳的功能為:</b></p><p> Vcc1:主電源;Vcc2:備份電源。當(dāng)Vcc2>Vcc1
50、+0.2V時(shí),由Vcc2向DS1302供電,當(dāng)Vcc2< Vcc1時(shí),由Vcc1向DS1302供電。</p><p> SCLK:串行時(shí)鐘,輸入。 </p><p> I/O:三線接口時(shí)的雙向數(shù)據(jù)線。</p><p> CE:輸入信號(hào),在讀、寫數(shù)據(jù)期間,必須為高。該引腳有兩個(gè)功能:第一,CE開始控制字訪問移位寄存器的控制邏輯;其次,CE提供結(jié)
51、束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒ā?lt;/p><p> DS1302有下列幾組寄存器:</p><p> 一、 DS1302有關(guān)日歷、時(shí)間的寄存器共有12個(gè),其中有7個(gè)寄存器(讀時(shí)81h~8Dh,寫時(shí)80h~8Ch),存放的數(shù)據(jù)格式為BCD碼形式,如圖2-6所示。</p><p> 圖2-6 DS1302有關(guān)日歷、時(shí)間的寄存器 </p>
52、<p> 小時(shí)寄存器(85h、84h)的位7用于定義DS1302是運(yùn)行于12小時(shí)模式還是24小時(shí)模式。當(dāng)為高時(shí),選擇12小時(shí)模式。在12小時(shí)模式時(shí),位5是 ,當(dāng)為1時(shí),表示PM。在24小時(shí)模式時(shí),位5是第二個(gè)10小時(shí)位。</p><p> 秒寄存器(81h、80h)的位7定義為時(shí)鐘暫停標(biāo)志(CH)。當(dāng)該位置為1時(shí),時(shí)鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位置為0時(shí),時(shí)鐘開始運(yùn)行。</p
53、><p> 控制寄存器(8Fh、8Eh)的位7是寫保護(hù)位(WP),其它7位均置為0。在任何的對(duì)時(shí)鐘和RAM的寫操作之前,WP位必須為0。當(dāng)WP位為1時(shí),寫保護(hù)位防止對(duì)任一寄存器的寫操作。</p><p> 二、 DS1302有關(guān)RAM的地址</p><p> DS1302中附加31字節(jié)靜態(tài)RAM的地址如圖2-7所示。</p><p> 圖
54、2-7 DS1302靜態(tài)RAM地址</p><p> 三、 DS1302的工作模式寄存器</p><p> 所謂突發(fā)模式是指一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和RAM數(shù)據(jù)。突發(fā)模式寄存器如圖2-8所示。</p><p> 圖2-8 突發(fā)模式寄存器</p><p> 四、此外,DS1302還有充電寄存器等。 </p>
55、<p> 2.5.2 讀寫時(shí)序說明</p><p> DS1302是SPI總線驅(qū)動(dòng)方式。它不僅要向寄存器寫入控制字,還需要讀取相應(yīng)寄存器的數(shù)據(jù)。要想與DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如圖2-9。</p><p> 圖2-9 DS1302控制字(即地址及命令字節(jié))</p><p> 控制字的最高有效
56、位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。</p><p> 位6:如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù)。</p><p> 位5至位1(A4~A0):指示操作單元的地址。</p><p> 位0(最低有效位):如為0,表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作。</p><p> 控制字總是
57、從最低位開始輸出,在控制字指令輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個(gè)SCLK脈沖的下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。數(shù)據(jù)讀寫時(shí)序如圖2-10。</p><p> 圖2-10 數(shù)據(jù)讀寫時(shí)序 </p><p> 具體操作見驅(qū)動(dòng)程序。&l
58、t;/p><p> 2.5.3 DS1302電路連接原理圖 </p><p> 電路原理圖如圖2-11所示,DS1302與單片機(jī)的連接也僅需要3條線:CE引腳、SCLK串行時(shí)鐘引腳、I/O串行數(shù)據(jù)引腳,Vcc2為備用電源,外接32.768kHz晶振,為芯片提供計(jì)時(shí)脈沖。</p><p> 圖2-11 DS1302電路連接原理圖</p><p&
59、gt; 2.6 A44E霍爾傳感器的應(yīng)用</p><p> A44E集成霍爾開關(guān)是由霍爾元件、穩(wěn)壓電路、放大器、施密特觸發(fā)器、OC門(集成電路開路輸出門)等五部分電路組成。</p><p> 在輸入端輸入電壓V1,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢(shì)發(fā)生器的兩端,根據(jù)霍爾效應(yīng)原理,當(dāng)霍爾片處在磁場(chǎng)中時(shí),在垂直于磁場(chǎng)的方向通以電流,則與這二者相垂直的方向上將會(huì)產(chǎn)生霍爾電勢(shì)差Vh輸出,該Vh信號(hào)經(jīng)
60、放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當(dāng)施加的磁場(chǎng)強(qiáng)度達(dá)到工作點(diǎn)時(shí),觸發(fā)器輸出高電壓,使三極管導(dǎo)通,此時(shí)OC門輸出端輸出低電壓,這種狀態(tài)通常稱為“開”。當(dāng)施加的磁場(chǎng)強(qiáng)度達(dá)到釋放點(diǎn)時(shí),觸發(fā)器輸出低電壓,三極管截止,使OC門輸出高電壓,這種狀態(tài)成為“關(guān)”。這樣兩次電壓變換,使霍爾開關(guān)完成了一次開關(guān)動(dòng)作。A44E集成霍爾開關(guān)內(nèi)部結(jié)構(gòu)與工作波形圖如圖2-12所示。</p><p> 圖2-12
61、 A44E霍爾傳感器連接電路</p><p> 第三章 整體電路的設(shè)計(jì)</p><p> 3.1 模塊電路的設(shè)計(jì)</p><p> 3.1.1 里程電路的設(shè)計(jì)</p><p> 出租車中需要一個(gè)能準(zhǔn)確獲得車輪轉(zhuǎn)動(dòng)即路程計(jì)量信號(hào)的裝置,以獲得標(biāo)準(zhǔn)的脈沖信號(hào)送入單片機(jī)的定時(shí)/計(jì)數(shù)器T0即P3.4腳,利用單片機(jī)的T1計(jì)數(shù)功能完成一百次的計(jì)
62、數(shù)后產(chǎn)生一中斷來完成路程的測(cè)量(設(shè)車輪周長為1米,則霍爾傳感器每產(chǎn)生100個(gè)脈沖便表示車已經(jīng)行程0.1Km,根據(jù)實(shí)際情況在程序中進(jìn)行設(shè)置).汽車聯(lián)軸器按圓周間隔嵌入磁鋼,用霍爾傳感器集成芯片A44E檢測(cè)并輸出脈沖,其工作原理圖如圖3-1所示,霍爾傳感器集成芯片A44E有信號(hào)轉(zhuǎn)換、電壓放大、整形輸出等功能,為增加其抗干擾的能力,經(jīng)過74LS14對(duì)信號(hào)整形后再通過光耦送入單片機(jī)相應(yīng)引腳,如圖3-2所示。如果想在此電路中為了防止司機(jī)作弊,可采
63、用加密傳感器的方法,先對(duì)霍爾傳感器采集到計(jì)數(shù)脈沖加密,使計(jì)數(shù)脈沖以密文方式傳輸,最后解密為明文脈沖,傳送到計(jì)價(jià)器計(jì)費(fèi)。在密碼傳感器中,加密器向解碼器發(fā)送的是密碼,只有加密器和解碼器固有密碼相同時(shí),解碼器才向計(jì)價(jià)器發(fā)送計(jì)數(shù)脈沖,計(jì)價(jià)器才計(jì)費(fèi),從而提高了計(jì)價(jià)器計(jì)費(fèi)的可靠性,不法出租車司機(jī)也無法使車費(fèi)增加,同時(shí)司機(jī)也不能私自更換計(jì)價(jià)器傳感器,實(shí)現(xiàn)了計(jì)價(jià)器有國家計(jì)量局統(tǒng)一安裝、維修和年檢的統(tǒng)一管理。</p><p>
64、圖3-1 霍爾傳感器外部實(shí)物連接圖</p><p> 圖3-2 霍爾傳感器外部連接電路</p><p> 3.1.2 脈沖整形電路</p><p> 信號(hào)預(yù)處理電路如圖3-3所示。它由二級(jí)電路構(gòu)成,第一級(jí)是由開關(guān)三極管組成的零偏置放大器,采用開關(guān)三極管可以保證放大器具有良好的高頻響應(yīng),當(dāng)輸入信號(hào)為零或負(fù)電壓時(shí),三極管截止,電路輸出高電平;而當(dāng)輸入信號(hào)為正電壓
65、時(shí),三極管導(dǎo)通,此時(shí)輸出電壓隨著輸入電壓的上升而下降,這使得速度里程表既可以測(cè)量任意方波信號(hào)的頻率,也可以測(cè)量正弦波信號(hào)的頻率。由于放大器的放大功能降低了對(duì)待測(cè)信號(hào)的幅度要求,因此,系統(tǒng)能對(duì)任意大于0.5V的正弦波和脈沖信號(hào)進(jìn)行測(cè)量。預(yù)處理電路的第二級(jí)采用帶施密特觸發(fā)器的反相器CT74LS14來把放大器生成的單相脈沖轉(zhuǎn)換成與CMOS電平相兼容的方波信號(hào)同時(shí)將輸出信號(hào)加到8155的TMPIN口,如圖3-3所示。</p>&
66、lt;p> 圖3-3 脈沖整形電路</p><p> 3.1.3 數(shù)碼管顯示電路</p><p><b> 一、LED的結(jié)構(gòu)</b></p><p> 每只LED由7個(gè)發(fā)光二極管按“日”字形排列,所有發(fā)光二極管的陽極連在一起稱共陽極接法,陰極連在一起稱共陰極接法。一般共陰極可以不需要接電阻,但共陽極接法中發(fā)光二極管必須外接電阻。圖
67、3-4所示 ,a-g七段及十進(jìn)制小數(shù)點(diǎn)dp均為發(fā)光二極管。</p><p> 圖3-4 LED的結(jié)構(gòu)與引腳</p><p> 二、 LED的工作原理</p><p> 若采用共陽極結(jié)構(gòu),則它們的陽極為一公共點(diǎn),接電源正極。八只發(fā)光二極管的陰極上相獨(dú)立,如果共陰極結(jié)構(gòu),那么陰極公共點(diǎn)接地,各陽極獨(dú)立,接高電平者發(fā)光,陽極接地者呈暗淡。此次設(shè)計(jì)采用共陽極。如圖3-
68、4(b)所示。</p><p> 三、 LED顯示器接口</p><p> LED顯示器與單片機(jī)的接口一般有靜態(tài)顯示和動(dòng)態(tài)顯示兩種方式。LED采用靜態(tài)顯示與單片機(jī)接口時(shí),共陰極或共陽極點(diǎn)連接在一起接地或高電平。靜態(tài)顯示器接口電路,在位數(shù)較多時(shí),電路比較復(fù)雜,需要的接口芯片較多,成本也較高。動(dòng)態(tài)LED顯示接口由于各個(gè)數(shù)碼管共用同一個(gè)段碼輸出口,分時(shí)輪流通電的,從而大大簡化了硬件線路,降低
69、了成本。此次設(shè)計(jì)采用動(dòng)態(tài)顯示,目的就是為了節(jié)省硬件資源。LED顯示器中每個(gè)發(fā)光二極管要通過5毫安-20毫安的電流才能達(dá)到正常亮度。</p><p> P0口的8條數(shù)據(jù)線P0.0 至P0.7 分別與74HC573的1D8D相接,74HC573的1Q~8Q分別與LED數(shù)碼管的a、b、c、d、e、f、g、dP字段相接,P1口的P1.0至P1.7和P2口的P2.2與P2.3分別通過電阻R1至R10與VT1至VT0的基極
70、相連接。這樣通過PA口送出顯示代碼,通過P1口和P2口送出掃描選通代碼點(diǎn)亮LED7至LED10,就會(huì)將要顯示的費(fèi)用在數(shù)碼管中顯示出來。從PA口輸出的代碼就是段選碼,從P1和P2口輸出的就是位選碼。例如,我們將數(shù)碼管的a、c、d、f、g端接低電位,數(shù)碼管的 a、c、d、f、g字段就會(huì)被點(diǎn)亮,數(shù)碼管即顯示出“5”字,在圖1中,數(shù)碼管的a、b、c、d、e、f、g、dP引腳分別與PA口的PA.0至PA7相連接。P1口和P2口輸出的位選碼是“00
71、0000 0010B”,只有P2.2呈現(xiàn)高電位,VT9導(dǎo)通, LED9位被選中因而具備發(fā)光的使能條件;PA口的段選碼“01001001B”,PA0、PA2、PA3、PA5、P0A6呈現(xiàn)低電位,數(shù)碼管的a、c、d、 f、g字段被點(diǎn)亮,LED9就顯示出“5”字,而LED7,LED8和LED10則不會(huì)</p><p> LED數(shù)碼管的外部連接電路如圖3-5所示。</p><p> 圖3-5數(shù)
72、碼管連接線路圖</p><p> 3.1.4 時(shí)鐘電路</p><p> 計(jì)價(jià)器在出租車空車行駛時(shí)需要顯示實(shí)時(shí)時(shí)鐘,所以本設(shè)計(jì)采用了美國DALLAS公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片DS1302,它采用SPI三線接口與CPU進(jìn)行同步通信;時(shí)鐘可提供秒、分、時(shí)、日等,通過設(shè)置DS1302的控制/狀態(tài)寄存器選擇日歷,時(shí)鐘方式經(jīng)過初始校準(zhǔn)后即可工作使用;工作電壓寬達(dá)2.5—5.5V,
73、采用雙電源供電(主電源和備用電源),并設(shè)置備用電源充電方式,提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力,在沒有主電源的情況下啟用備用電源能保存時(shí)間信息及數(shù)據(jù)。如圖3-6所示。</p><p> 圖3-6 時(shí)鐘芯片接口電路</p><p> 3.1.5 AT24C02 掉電存儲(chǔ)電路</p><p> 掉電存儲(chǔ)單元的作用是在電源斷開的時(shí)候,存儲(chǔ)當(dāng)前設(shè)定的單價(jià)信息。AT
74、24C02是采用兩線竄行的總線和單片機(jī)通訊,電壓最低可以達(dá)到2.5V,額定電流為1mA,靜態(tài)電流10uA,芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8腳的DIP封裝,使用方便。其電路圖如圖3-7所示。</p><p> 圖3-7 AT24C02掉電存儲(chǔ)電路原理圖</p><p> 圖中R8、R10是上拉電阻,其作用是減少AT24C02的靜態(tài)功耗,由于AT24C02的數(shù)據(jù)線和
75、地址線是復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線SCL(移位脈沖)和SDA(數(shù)據(jù)/地址)與單片機(jī)傳送數(shù)據(jù)。</p><p> 3.2整體電路的設(shè)計(jì)</p><p> 整體電路設(shè)計(jì)總框圖:</p><p> 整體電路連接圖詳見附錄二。</p><p> 第四章 系統(tǒng)軟件設(shè)計(jì)</p><p><b&g
76、t; 4.1 模塊介紹</b></p><p> 該計(jì)程計(jì)價(jià)系統(tǒng)的軟件設(shè)計(jì)分為主程序模塊、鍵盤服務(wù)程序模塊、定時(shí)中斷模塊、里程計(jì)數(shù)中斷子程序、時(shí)鐘程序、顯示程序等幾個(gè)模塊。</p><p> 4.1.1 主程序模塊</p><p> 在主程序模塊中,需要完成對(duì)各接口芯片的初始化、出租車起價(jià)的初始化、中斷向量的設(shè)計(jì)以及開關(guān)中斷、循環(huán)等待等工作。另外
77、,在主程序模塊中還需要設(shè)置啟動(dòng)/清除標(biāo)志寄存器、里程寄存器和價(jià)格寄存器并對(duì)他們進(jìn)行初始化。然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容分別完成啟動(dòng)、清除、計(jì)程和計(jì)價(jià)等不同的操作。其程序流程圖如圖4-1所示。</p><p> 汽車行駛是,計(jì)價(jià)器開始計(jì)時(shí),并且根據(jù)里程寄存器中的內(nèi)容計(jì)算和判斷出行駛里程是否已經(jīng)超過起價(jià)公里數(shù),若已超時(shí),則根據(jù)里程值、每公里單價(jià)數(shù)和起價(jià)數(shù)來計(jì)算出當(dāng)前的累計(jì)價(jià)格,并將結(jié)果存于價(jià)格寄存器中,然后
78、將時(shí)間和當(dāng)前累計(jì)價(jià)格送顯示電路顯示出來。</p><p> 當(dāng)達(dá)到目的地時(shí),由于霍爾傳感器沒有送來脈沖信號(hào),就停止計(jì)價(jià),顯示當(dāng)前所應(yīng)該付的金額和對(duì)應(yīng)的里程數(shù),到下次啟動(dòng)計(jì)價(jià)器時(shí),按下S2鍵,系統(tǒng)會(huì)顯示清零,并重新進(jìn)行初始化過程。</p><p> 4.1.2 鍵盤服務(wù)程序</p><p> 鍵盤不采用查詢方式,直接將按鈕開關(guān)接到單片機(jī)的引腳上,所以比較簡單,放
79、在主程序中,當(dāng)沒有按鍵按下時(shí),單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回,其程序流程圖如圖4-2所示。</p><p> 4.1.3 定時(shí)中斷服務(wù)程序</p><p> 在定時(shí)中斷服務(wù)程序中,沒100ms產(chǎn)生一次中斷,當(dāng)產(chǎn)生10次中斷的時(shí)候,也就到了一秒,送數(shù)據(jù)到相應(yīng)的顯示緩沖單元,并調(diào)用顯示子程序?qū)崟r(shí)顯示。其流程圖如圖4-3所示。</p>
80、<p> 4.1.4里程計(jì)數(shù)中斷服務(wù)子程序</p><p> 每當(dāng)霍爾傳感器輸出一個(gè)低電平信號(hào)就使單片機(jī)中斷一次,當(dāng)里程計(jì)數(shù)器對(duì)里程脈沖計(jì)滿1000次時(shí),就有程序?qū)?dāng)前總額計(jì)算出來,使微機(jī)進(jìn)入里程數(shù)中斷服務(wù)程序中。在該程序中,需要完成當(dāng)前行駛里程數(shù)和總額的累加操作,并將結(jié)果存入總額寄存器中。</p><p> 4.1.5時(shí)鐘程序如圖4-4</p><p&
81、gt;<b> 4.1.6顯示程序</b></p><p> 顯示程序包括以下幾個(gè)子程序:金額顯示程序,里程顯示程序,單價(jià)調(diào)節(jié)子程序。</p><p><b> 4.2 程序流程圖</b></p><p> 4.3 PROTUES仿真</p><p> Proteus軟件是一種低投資的電子
82、設(shè)計(jì)自動(dòng)化軟件,提供可仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件和多達(dá)30多個(gè)元件庫。Proteus軟件提供多種現(xiàn)實(shí)存在的虛擬儀器儀表。此外,Proteus還提供圖形顯示功能,可以將線路上變化的信號(hào),以圖形的方式實(shí)時(shí)地顯示出來。這些虛擬儀器儀表具有理想的參數(shù)指標(biāo),例如極高的輸入阻抗、極低的輸出阻抗,盡可能減少儀器對(duì)測(cè)量結(jié)果的影響,Proteus軟件提供豐富的測(cè)試信號(hào)用于電路的測(cè)試。這些測(cè)試信號(hào)包括模擬信號(hào)和數(shù)字信號(hào)。提供Schematic
83、 Drawing、SPICE仿真與PCB設(shè)計(jì)功能,同時(shí)可以仿真單片機(jī)和周邊設(shè)備,可以仿真51系列、AVR、PIC等常用的MCU,并提供周邊設(shè)備的仿真,例如373、LED、示波器等。Proteus提供了大量的元件庫,有RAM、ROM、鍵盤、馬達(dá)、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,編譯方面支持Keil和MPLAB等編譯器。</p><p> 一臺(tái)計(jì)算機(jī)、一套電子仿真軟件,在加上一本虛擬實(shí)驗(yàn)
84、教程,就可相當(dāng)于一個(gè)設(shè)備先進(jìn)的實(shí)驗(yàn)室。以虛代實(shí)、以軟代硬,就建立一個(gè)完善的虛擬實(shí)驗(yàn)室。在計(jì)算機(jī)上學(xué)習(xí)電工基礎(chǔ),模擬電路、數(shù)字電路、單片機(jī)應(yīng)用系統(tǒng)等課程,并進(jìn)行電路設(shè)計(jì)、仿真、調(diào)試等。</p><p> 一、打開PROTEUS 操作界面。如圖4-5所示。</p><p> 圖4-5 Proteus操作界面</p><p> 二、選擇“P”,從元件庫中提取需要的元
85、器件:AT89S51、12MHZ晶振、20pf電容、10uf電解電容、47uf電解電容、0.1uf電解電容、0.0047uf電容、10k電阻、47Ω電阻、、按鍵開關(guān)、LED數(shù)碼顯示器,選中雙擊,選擇完點(diǎn)OK。如圖4-6所示。</p><p> 圖4-6 元器件選擇窗口</p><p> 三、在編輯區(qū)畫電路圖,修改元件參數(shù)。</p><p><b>
86、四、加載程序</b></p><p> 雙擊AT89S51芯片,將事先用匯編語言寫好的計(jì)價(jià)源程序?qū)胄酒小H鐖D4-7所示。</p><p> 圖4-7 程序加載窗口</p><p><b> 五、電路仿真</b></p><p> 點(diǎn)擊運(yùn)行開關(guān),按下查看開關(guān)按鍵即可查看行駛價(jià)錢,如果是單程以單程價(jià)錢
87、計(jì)費(fèi),在路途中也可以實(shí)現(xiàn)暫停計(jì)費(fèi)。圖4-8為仿真電路圖。</p><p><b> 圖4-8仿真電路圖</b></p><p> 第五章 電路板的焊接</p><p><b> 5.1準(zhǔn)備工作</b></p><p> 5.1.1 作業(yè)環(huán)境</p><p> 良好的
88、作業(yè)環(huán)境是保證電路板焊接高效的基礎(chǔ),所以在電路板焊接開始之前,一定要確保桌面整潔無雜物,不存留與該次生產(chǎn)無關(guān)的物品、工具、資料,準(zhǔn)備好一個(gè)良好的工作環(huán)境。</p><p><b> 5.1.2工具準(zhǔn)備</b></p><p> 低溫烙鐵---焊接工具,常用的有25W,30W兩種規(guī)格。</p><p> 鑷子---夾取元件。</p&g
89、t;<p> 牙刷---清洗電路板。</p><p> 剝線鉗---剝?nèi)ジ邷貙?dǎo)線或其它導(dǎo)線外面絕緣皮,以供電路板焊接使用。</p><p> 偏口鉗---剪去焊接完成后的長引腳元器件的多余部分。</p><p> 松香---修復(fù)、優(yōu)化焊點(diǎn),去除焊盤氧化物、輔助熱傳導(dǎo)。</p><p> 元件明細(xì)表---根據(jù)此資料將元器
90、件對(duì)應(yīng)的焊接在電路板的正確位置上。</p><p> 電路原理圖---依據(jù)此資料了解電路板所識(shí)相的具體功能,方便焊接時(shí)電路板的檢測(cè)與維修。</p><p> 5.2電路圖符號(hào)識(shí)別</p><p> 在電路原理圖中,每一種電子元器件都會(huì)有一個(gè)圖形符號(hào)來表示,通過導(dǎo)線將每個(gè)元器件引腳相連,進(jìn)而實(shí)現(xiàn)特定的功能,電路板的設(shè)計(jì)和繪制就是嚴(yán)格按照原理圖進(jìn)行的。電路原理圖對(duì)
91、于電路板的測(cè)試、焊接、維修都具有非常重要的意義。因此熟練掌握原理圖就顯得至關(guān)重要。電路原理圖是由各種元件符號(hào)組成的,所以掌握電路圖符號(hào)是看懂原理圖的前提。圖中羅列了常用的元器件的圖形表示符號(hào)。</p><p> 5.3 電路板的焊接</p><p> 5.3.1 焊接流程</p><p> 一、焊接開始前,整理好桌面及周邊環(huán)境,為電路焊接工作準(zhǔn)備各個(gè)有條理、整
92、潔的環(huán)境。</p><p> 二、根據(jù)元件明細(xì)表核對(duì)物料。</p><p> 三、根據(jù)電路原理圖進(jìn)行電路板焊接。</p><p> 四、電路板焊接完成后依據(jù)元件明細(xì)表核對(duì)元件,以保證無錯(cuò)焊、虛焊、漏焊、假焊、橋接等故障。同樣重要的是檢查和優(yōu)化焊點(diǎn),一塊合格的電路板是焊點(diǎn)光滑、過度均勻、無毛刺、元器件排列整齊美觀。</p><p> 5
93、.3.2 元器件焊接的順序</p><p> 一、電阻電容、二極管等兩引腳表貼元件,由大到小,由低到高。</p><p> 二、晶體管、集成電路等多引腳表貼元件,由小到大,由低到高。</p><p> 三、蜂鳴器、電解電容等其它通孔直插元器件,由小到大,由低到高。</p><p> 四、單排插針等接插件,可不分次序,便于焊接就好。&l
94、t;/p><p><b> 第六章 結(jié)語</b></p><p> 時(shí)光飛逝,大學(xué)三年匆匆而過。我覺得在這短暫的三年中無論是在專業(yè)知識(shí)上還是在為人處事上都有一個(gè)可見的進(jìn)步。</p><p> 經(jīng)過一個(gè)月的努力《基于AT89S51單片機(jī)出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)》畢業(yè)論文的編寫以及電路的設(shè)計(jì)終于接近尾聲了。本作品雖能初步解決出租車計(jì)算價(jià)錢的問題,但它
95、仍有許多的局限性,首先它不能顯示車行駛的單價(jià),乘客不能清楚具體的單價(jià),其次它沒有采用里程傳感器加密的辦法,給不法司機(jī)留下了違法的空間,第三,它沒有語音播報(bào)和打印等功能,留下了不少的遺憾。</p><p> 自以為學(xué)的知識(shí)已經(jīng)很完善,但是通過這次對(duì)《基于AT89S51單片機(jī)出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)》畢業(yè)論文的編寫以及電路的設(shè)計(jì),讓我認(rèn)識(shí)到自己所學(xué)的東西不過是冰山一角,認(rèn)識(shí)到理論和實(shí)踐相合的重要性,但我不會(huì)因此而泄氣,
96、我會(huì)更加勤奮地去學(xué)習(xí)。如果說完成畢業(yè)設(shè)計(jì)是我這一個(gè)月艱苦奮斗的“硬件”成果,那么能夠激起我對(duì)知識(shí)的不斷渴求則是這一月不懈努力的“軟件”成果。</p><p> 通過這“最后一次的大學(xué)作業(yè)”,我還懂得了理論和實(shí)踐相結(jié)合的重要性,理論與實(shí)踐相結(jié)合不僅可以鞏固我們所學(xué)的的知識(shí),還加深與鞏固了原有的知識(shí),更重要的是還拓寬了我們的知識(shí)面,學(xué)到了更多更深的東西,與此同時(shí),自己的動(dòng)手能力也大大的提高。在論文的編寫過程中,查閱
97、了不少的相關(guān)資料,使我對(duì)AT89S51單片機(jī)、8155等芯片有了更進(jìn)一步的了解和掌握,同時(shí)也體現(xiàn)了自己專業(yè)知識(shí)學(xué)得不扎實(shí),特別是在電路制作過程中,由于缺少實(shí)際經(jīng)驗(yàn),對(duì)單片機(jī)的很多功能還不能熟練的掌握。所以在今后的工作和學(xué)習(xí)過程中,應(yīng)加強(qiáng)專業(yè)知識(shí)的學(xué)習(xí),不段以理論和實(shí)踐相結(jié)合,鍛煉出具有突出的專業(yè)技能,不段完善自己,拓寬知識(shí)面,最終成為復(fù)合型人才,適應(yīng)社會(huì)的挑戰(zhàn),實(shí)現(xiàn)人生的自我價(jià)值。</p><p><b&g
98、t; 第七章 參考文獻(xiàn)</b></p><p> 1、趙文博、劉文濤 單片機(jī)語言C51程序設(shè)計(jì) 人民郵電出版社 2006</p><p> 2、劉文濤 單片機(jī)語言C51典型應(yīng)用設(shè)計(jì) 人民郵電出版社 2005</p><p> 3、曹巧媛 單片機(jī)原理及應(yīng)用. 電子工業(yè)出版社 2002.</p><p>
99、4、李朝青 單片機(jī)原理與接口技術(shù). 北京航空航天大學(xué)出版社. 1999.</p><p> 5、陳啟美 微機(jī)原理、外設(shè)接口. 清華大學(xué)出版社 2002.</p><p> 6、潘永雄 新編單片機(jī)原理與應(yīng)用 西安電子科技大學(xué)出版社 2007</p><p> 7、李朝青 單片機(jī)原理及接口技術(shù)(第三版) 北京航空航天大學(xué)出版社 2005&l
100、t;/p><p> 8、馬忠梅 單片機(jī)的C語言應(yīng)用程序設(shè)計(jì) 北京航空航天大學(xué)出版社 2007</p><p> 9、張毅剛 新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì) 哈爾濱工業(yè)大學(xué)出版社 2006</p><p> 10、彭偉 單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例 電子工業(yè)出版社 2009</p><p> 11、趙建領(lǐng) 單片機(jī)開發(fā)與
101、應(yīng)用技術(shù)詳解 電子工業(yè)出版社 2009</p><p> 12、周興華 手把手教你學(xué)單片機(jī)C程序設(shè)計(jì) 北京航空航天大學(xué)出版社 2007</p><p> 13、張毅剛、彭喜元 單片機(jī)原理及接口技術(shù) 人民郵電出版社 2008</p><p> 14、謝維成、楊加國 單片機(jī)原理與應(yīng)用及C程序設(shè)計(jì) 清華大學(xué)出版社 2006</p>
102、<p> 15、劉煥成 工程背景下的單片機(jī)原理及系統(tǒng)設(shè)計(jì) 清華大學(xué)出版社 2008</p><p> 16、孫慧芹 單片機(jī)項(xiàng)目設(shè)計(jì)教程 電子工業(yè)出版社 2009</p><p> 17、唐繼賢 51單片機(jī)工程應(yīng)用實(shí)例 北京航空航天大學(xué)出版社 2009</p><p> 18、白延敏 51單片機(jī)典型系統(tǒng)開發(fā)實(shí)例精講 電子工業(yè)出版
103、社 2009</p><p> 19、周堅(jiān) 單片機(jī)C語言輕松入門 北京航空航天大學(xué)出版社 2006</p><p> 20、周航慈 單片機(jī)程序設(shè)計(jì)基礎(chǔ) 北京航空航天大學(xué)出版社 2004</p><p><b> 附錄</b></p><p> 附錄一:基于AT89S51單片機(jī)出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)
104、的C語言程序:</p><p> #include <AT89X51.H></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> unsigned char code disPbit[]={0xfe,0xfd,0xf
105、b,0xf7,0xef,0xdf,0xbf,0x7f};</p><p> unsigned char code disPcode[]={0x3f,0x06,0x5b,0x4f,0x66,</p><p> 0x6d,0x7d,0x07,0x7f,0x6f};</p><p> unsigned char disPbuf[8]={0,0,0,0,0,0,0,0
106、};</p><p> unsigned char disPcount=0;</p><p> unsigned char T0count,num,min,sec,timecount,tccount,tcsec;</p><p> unsigned int k,x,tc,lc,ja,cs,i,y;</p><p> bit flag,
107、fgdc,fgwf,fgcx;</p><p> sbit dc=P1^0;</p><p> sbit wf=P1^1;</p><p> sbit cx=P1^2;</p><p> void key();</p><p> void disP();</p><p> void
108、delay(unsigned int k)</p><p><b> {</b></p><p> unsigned int l,j;</p><p> for(l=k;l>0;l--)</p><p> for(j=110;j>0;j--);</p><p><b&g
109、t; }</b></p><p> void main(void)</p><p><b> {</b></p><p> TMOD=0x15;</p><p><b> TH0=0;</b></p><p><b> TL0=0;</
110、b></p><p> TH1=(65536-50000)/256;</p><p> TL1=(65536-50000)%256;</p><p><b> ET0=1;</b></p><p><b> ET1=1;</b></p><p><b>
111、; EA=1;</b></p><p><b> TR1=0;</b></p><p><b> TR0=0;</b></p><p><b> while(1)</b></p><p><b> { </b></p
112、><p> key(); </p><p><b> disP();</b></p><p> if(flag==1)</p><p><b> {</b></p><p><b> flag=0;&
113、lt;/b></p><p> cs=(TH0*256+TL0)/40; </p><p> lc=(cs*min)/6+tc*2+(cs*sec)/360; //里程/百米</p><p> if(lc<=30)</p><p><b> {</b></
114、p><p><b> ja=80;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> if(fgdc==1)</p>
115、<p><b> {</b></p><p> ja=(lc*15)/10;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于at89s51單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)at89s51出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)
- 基于89s51單片機(jī)的出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)
- 基于89S51單片機(jī)的出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)論文.doc
- 基于89S51單片機(jī)的出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)論文.doc
- 基于at89c51單片機(jī)的出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)
- 基于51單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)
- 基于51單片機(jī)的出租車計(jì)價(jià)器畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的出租車計(jì)價(jià)器系統(tǒng)
- 基于單片機(jī)的出租車計(jì)價(jià)器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的出租車計(jì)價(jià)器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的出租車計(jì)價(jià)器畢業(yè)設(shè)計(jì)
- 基于at89s51單片機(jī)的出租車計(jì)費(fèi)設(shè)計(jì)的設(shè)計(jì)
- 基于at89s51單片機(jī)的出租車計(jì)費(fèi)設(shè)計(jì)的設(shè)計(jì)
- 基于at89c51單片機(jī)出租車計(jì)價(jià)器的研究
- 畢業(yè)設(shè)計(jì)----多功能單片機(jī)出租車計(jì)價(jià)器
- 基于單片機(jī)的出租車計(jì)價(jià)器的設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)出租車多功能計(jì)價(jià)器設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的出租車計(jì)價(jià)器的設(shè)計(jì)
- 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論