




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、出租車計價器摘要:出租車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。因此,汽車計價器的研究也是十分有一個應用價值的。該系統(tǒng)由AT89S51單片機控制,滿足計程、計時、計費、存儲等多種計量功能為一體的出租車計價器的實用要求。相比于普通的模擬電路控制,采用單片機進行的設計相對來說功能強大,用較少的硬件和適當?shù)能浖嗷ヅ浜峡梢院苋菀椎膶崿F(xiàn)設計要求,且靈活性強,可以通過軟件編程來完成更多的附加功能。針對計費模式的切換,通過軟件編程就可以輕易而舉的實現(xiàn)。避免了機械開
2、關帶來的不穩(wěn)定因素。關鍵詞:出租車計價器單片機控制第章前言.1.第二章設計要求22.1基本功能2.2.3擴展功能2.第三章系統(tǒng)的組成及工作原理33.1系統(tǒng)的硬件構成及功能33.2AT89S51單片機及其引腳說明4第四章硬件電路方案設計72方案比較與確定7.2里程計算、計價單元的設計7.2顯示單元電路設計9.2鍵盤顯示模塊設計1.0第5章系統(tǒng)的軟件設計12系統(tǒng)主程序設計1.2定時中斷服務程序1.4顯小月艮務程序1.4鍵盤服務程序1.5第6章系統(tǒng)調(diào)試與測試結果分析1.7使用的儀器儀表和工具17調(diào)試的方法1.7第7章結論18參考文獻19附錄2Q附錄1總體設計電路圖20附錄2元件清單20附錄3全部源程
3、序21第一章前言隨著我國國民經(jīng)濟的告訴發(fā)展,出租車已成為城市公共交通的重要組成部分。出租車計價器這一專用計算器具必須經(jīng)當?shù)丶急O(jiān)局所屬的管理部門堅定認可,且出租車安裝計價器整車鑒定合格后才能運營。針對電子式出租車計價器,建設部于1997年12月1日開始貫徹新的行業(yè)標準”CJ5024-1997”,要求“本標準實施之日起, 電子式出租車計價器的設計,制造,和檢驗必須符合本標準的規(guī)定”。根據(jù)新標準選擇性能價格比高的計價器,并與有關出租車管理部門一起確定選用哪個品牌則是計量部門的職責。如何選用計價器,主要應考慮兩個方面:第一是性能和質(zhì)量是否符合新標準CJ5024-1997,性能還包括本地區(qū)行政管理部門隨
4、時問,區(qū)域和車型在運價上的調(diào)整,如里程費,等候費,空貼費,夜間補償費等作變更時,改變計價器運行程序的繁簡程度。同時要考慮計價器自身防作弊的性能。第二要關注該品牌計價器是否具備升級換代或者是擴展功能。雖然現(xiàn)在個別大城市有全部更新出租車計價器一步到位的能力,但絕大部分城市還不具備這種條件,須按步驟先安裝計價器,再裝語音提示器,然后才考慮票據(jù)打印或者IC卡管理及收費等問題,這樣在選用計價器時就要想到它在未來發(fā)展中的配套能力,否則將延誤出租車科學化管理的進程。本次課程設計利用單片機技術來實現(xiàn)一臺多功能出租車計價器, 具有性能可靠、 電路簡單、成本低等特點。第二章設計要求2.1 基本功能(1)顯示:可以
5、顯示里程、金額、等待時間、速度。(2)計費功能:起步公里數(shù)為3公里,價格為8元;若實際運行大于3公里,按單程價格為2元/公里,往返則價格為1.5元/公里。(3)按鍵功能:單程/往返分別由“單程”按鍵和“往返”按鍵設定;按“暫停”鍵,計價器可暫停計價;按“清除”鍵,計價器能將記錄數(shù)據(jù)(里程、等待時間與金額等)自動清0;按“查詢”鍵,能自動顯示總等待時間;按“返回”鍵,仍然顯示里程和金額。性能:公里數(shù)檢測誤差不超過土10%。擴展功能停車計費功能:用單片機控制電機轉(zhuǎn)動,并用光電傳感器檢測轉(zhuǎn)盤轉(zhuǎn)動模擬車速,車速與轉(zhuǎn)盤轉(zhuǎn)速成正比。車速5公里/小時的時間累積為總等待時間,每5分鐘等待時間相當于里程數(shù)增加1
6、公里。第三章系統(tǒng)的組成及工作原理本系統(tǒng)的硬件設計主要包括單片機AT89S51數(shù)據(jù)顯示部件、模擬行駛路程單元、及計價單元的設計。在硬件設計過程中,充分利用各部件的功能,實現(xiàn)多功能的出租車計價器設計。系統(tǒng)的硬件構成及功能計價器的單片機控制方案圖如圖1單片機控制方案圖所示。利用單片機豐富的IO端口,及其控制的靈活性,實現(xiàn)基本的里程計價功能和價格選擇、時間顯示控制等功能。不但能實現(xiàn)所要求的功能而且能在很大的程度上擴展功能,而且還可以方便的對系統(tǒng)進行升級。具體電路參見附錄中“多功能出租車計價器總體電路圖”如圖3.1單片機控制方案圖。圖3.1單片機控制方案圖AT89S51 單片機及其引腳說明AT89S5是
7、美國ATMEL司生產(chǎn)的低功耗,高性能CMOS位單片機,片內(nèi)含4KB的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL司的高密度、非易失性存儲技術生產(chǎn),兼容標準8051指令系統(tǒng)及引腳。它集Flash程序存儲器既可在線編程(ISP)也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中,具有高性價比。AT89S51是一個有40個引腳的芯片,引腳配置如圖3.2AT89S51引腳配置所示。PDIPPLO 匚 140 VCCP1.1 匚 239 POO(AD0)P1.2C338 POJ(AD1)PL3 匚 437 P0.2AD2)PL4 匚 536 P0.3(A 口 3)(MOSI)PL5 匚 6
8、35 P04(AD4)(MISO)PL6 匚 734 P0.5(AD5)(SCK)P1.7E333 P0.6AD6)RSTEg整P07(AD7)(RXD)P3.0E1031 EA/VPP(TXD)P3J 匚1130 ALEPROG(INTO)P3.2 匚 1229 PSEN(INT1)P3.3E1328 P2.7(A15)(TO)P3,4 匚 1427 P2(A14)(T1)P3.5 匚 1526 P2.5(A13)(WR)P36 匚1625 P2.4(A12)(RD)P3.7 匚 1724 P2.3(A11)XTAL2 匚1823 P2.2A10)XTAL1 匚1922 P2,1(A9)GN
9、DE2021 P 之。AS)圖3.2AT89S51引腳配置AT89S51芯片的40個引腳功能為:VCC電源電壓。GND接地。RST復位輸入。當RS儂為高電平并保持2個機器周期時, 將使單片機復位。WD舔出將使該引腳輸出高電平,設置SFRAUXR勺DISRTOB(地址8EH可打開或關閉該功能。DISKRT皿缺省為RESET俞出高電平打開狀態(tài)。XTAL1反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2來自反向振蕩放大器的輸出。P0口一組8位漏極開路型雙向I/O口o也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路, 對端口寫“1”可作為高阻抗輸入端用。 在訪問外部數(shù)據(jù)
10、存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1口一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。Flash編程和程序校驗期間,P1接收低8位地址。P1口部分端口引腳及功能如表3-1P1口特殊功能所示。表3-1P1口特殊功能P1口弓唧特殊功能P
11、1.5MOSI(用于ISP編程)P1.6MOSI(用于ISP編程)P1.7SCK(用于ISP編程)P2口一個帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)0在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,P2口線上的內(nèi)容在整個訪問期間不改變。Flash編程和程序校驗期間,P2亦接收低8位地址。P3口一個帶內(nèi)部上拉電阻的8位雙向I/
12、O口。P3的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫“1”時,它們被內(nèi)部的上拉電阻把拉到高電并可作輸入端口。作輸入端口使用時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表3-2P3口特殊功能所示。P3口還接收一些用于Flash閃速存儲器編程和程序校驗期間的控制信號。表3-2P3口特殊功能P3口引腳特殊功能P3.0RXD(串行輸入口)P3.1TXD(用行輸出口)P3.2INTO(外部中斷0)P3.3而1(外部中斷1)P3.4T0(定時器0外部輸入)P3.5T1(定時器1外部輸入)P3.6而(外部數(shù)據(jù)
13、存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)PSEN/程序儲存允許輸出是外部程序存儲器的讀先通信號,當AT89S51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器,沒有兩次有效的PSEN信號。EA/VPP外部訪問允許。欲使CPUI訪問外部程序存儲器,EA端必須保持低電平,需注意的是:如果加密位LB1被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。Flash存儲器編程時,該引腳加上+12V的編程電壓VPP第四章硬件電路方案設計方案比較與確定出租車計價系統(tǒng)在模擬車輪轉(zhuǎn)動方面上可以采用兩種方案:一種是用555芯片產(chǎn)生固定頻率的脈沖模擬。這種方案產(chǎn)生脈
14、沖頻率很高,但是調(diào)節(jié)比較麻煩。第二種是采用槽型光耦的通與斷來模擬轉(zhuǎn)動,使用電機轉(zhuǎn)盤對光耦的切割來產(chǎn)生脈沖。這種方案產(chǎn)生脈沖頻率不高,但是轉(zhuǎn)速可以輕松調(diào)節(jié)。經(jīng)過仔細考慮和權衡,由于兩種方案均有其優(yōu)點,決定同時使用兩種方案,兩個模擬源可以根據(jù)需要任意使用。在顯示問題上,可以使用7279芯片控制顯示,也可以通過動態(tài)掃描實現(xiàn)顯示功能。考慮到動態(tài)掃描使用的硬件較少,本著簡捷易行的原則,采用了動態(tài)掃描的方案。里程計算、計價單元的設計里程計算是通過安裝在車輪上的霍爾傳感器A44EE僉測到的信號,在該系統(tǒng)中用兩種脈沖發(fā)生器進行模擬,送到單片機,經(jīng)處理計算,送給顯示單元的。其原理如圖4.1所示。圖4.1模擬測距
15、示意圖555電路來產(chǎn)生一個脈沖來模擬霍爾彳感器輸出的里程脈沖,選擇P1.0口作為信號的輸入端,內(nèi)部采用外部中斷0,555脈沖產(chǎn)生電路輸出一個脈沖信號直接加到IODP1.0上(產(chǎn)生的頻率F=1/T=1.414/(R1+2R2)C1),由單片機的內(nèi)部算法對脈沖計數(shù),通過計算將脈沖增加體現(xiàn)在金額和里程上。具體電路如圖4.2所示。VCCORESETzrii-TRKiGNITIHOLD圖4.2555脈沖產(chǎn)生電路圖光偶電路是以光為媒介傳輸電信號的一種光一電轉(zhuǎn)換器件,是另一種模擬將出租車行駛時車輪所轉(zhuǎn)的圈數(shù)轉(zhuǎn)換成脈沖信號送入數(shù)據(jù)處理電路。H92B4是光偶電路的基本元件,它由發(fā)光源和受光器兩部分組成,發(fā)光源為
16、發(fā)光二極管,受光器為光敏三極管。當發(fā)光源與受光器之間存在光線阻擋時,輸出端由高電平變?yōu)榈碗娖?,恢復光通路又變?yōu)楦唠娖?,就這樣形成一個個的高低電平脈沖。選擇P3.4.口作為信號的輸入端,內(nèi)部采用外部中斷0,光偶電路輸出一個脈沖信號直接加到外部中斷0上,引起單片機的中斷,對脈沖計數(shù),通過計算將脈沖增加體現(xiàn)在金額和里程上。具體電路如圖4.3所示。hiF顯示單元電路設計由于設計要求有里程、金額、等待時間、速度顯示輸出,所以采用8位LED數(shù)碼管的分屏顯示。顯示電路由8數(shù)據(jù)鎖存器74HC573譯碼器74LS1388位LED數(shù)碼管組成。電路如圖6所示,74HC573S于連接51單片機和LE曲碼管,51單片機
17、的P0.0P0.7分別順序?qū)獢?shù)碼管的AGffidp,當位P0.0為1時, 對應A段點亮, 以次類推。 而51單片機的P2.0P2.2接74LS138的ABC俞入口,其8個輸出口分別接到8個數(shù)碼管,這樣就可以進行3-8譯碼控制8個數(shù)碼管的顯示。顯示模塊電路圖見圖4.4各個數(shù)碼管顯示內(nèi)容示意圖見圖4.5里程數(shù)價格00000000等待時間當前車速圖4.5數(shù)碼管顯示內(nèi)容示意圖(上下復用)鍵盤顯示模塊設計鍵盤采用4*4矩陣按鍵,接在AT89S51的P3口,當有鍵按下時,相對應的接口被置00矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個交叉點上
18、,設置一個按鍵。如圖4.6所示,彳T線接P3.0P3.3,列線接P3.4-P3.7o圖4.6矩陣鍵盤電路按鍵S1:單程按鍵。按下該鍵,里程隨脈沖數(shù)成正比累加,在里程大于3公里后,金額數(shù)按單程價格為2元/公里進行累加。按鍵S2:往返按鍵。按下該鍵,里程隨脈沖數(shù)成正比累加,在里程大于3公里后,金額數(shù)按單程價格為1.5元/公里進行累加。按鍵S3:暫停按鍵。到達目的地后,按“暫?!辨I,計價器可暫停計價。按鍵S4:清除按鍵。按“清除”鍵,計價器能將記錄數(shù)據(jù)(里程、等待時間與價格等)自動清0o按鍵S5:查詢按鍵。按“查詢”鍵,能自動顯示總等待時間。按鍵S6:返回按鍵。按下該鍵,回到顯示里程數(shù)、金額狀態(tài)。第
19、5章系統(tǒng)的軟件設計本系統(tǒng)的軟件設計主要可分為主程序模塊、定時計數(shù)中斷程序、里程計數(shù)中斷服務程序、中途等待中斷服務程序、顯示子程序服務程序、鍵盤服務程序六大模塊。下面對各部分模塊作介紹。系統(tǒng)主程序設計在主程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初始化、中斷向量的設計以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設置啟動/清除標志寄存器、里程寄存器和價格寄存器,并對它們進行初始化然后,主程序?qū)⒏鶕?jù)各標志寄存器的內(nèi)容,分別完成啟動、清除、計程和計價等不同的操作。主程序流程圖如圖5.1所示。當按下S1時,就啟動計價,將根據(jù)里程寄存器中的內(nèi)容計算和判斷出行駛里程是否已超過起價
20、公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價數(shù)和起價數(shù)來計算出當前的累計價格,并將結果存于價格寄存器中,然后將時間和當前累計價格送顯示電路顯示出來。當?shù)竭_目的地的時候,由于霍爾開關沒有送來脈沖信號,就停止計價,顯示當前所應該付的金額和對應的單價,到下次啟動計價時,系統(tǒng)自動對顯示清零,并重新進行初始化過程。開始初始化鍵盤掃描程序掃描鍵值N丫Ir圖5.1程序流程圖定時中斷服務程序在定時中斷服務程序中,每1/40s產(chǎn)生一次中斷,當產(chǎn)生40次中斷的時候,也就到了一秒,送數(shù)據(jù)到相應的顯示緩沖單元,并調(diào)用顯示子程序?qū)崟r顯示。其程序流程如圖5.2所示。中斷開始中斷初始化脈沖計數(shù)測量速度圖5.2定時中斷服務程
21、序顯示服務程序數(shù)碼管在一般情況下顯示里程數(shù),價格兩項數(shù)據(jù),當按下鍵5時則跳轉(zhuǎn)顯示等待時間和車速兩項數(shù)據(jù)。當按下鍵6時則返回顯示里程數(shù),價格兩項數(shù)據(jù)。程序流程圖如圖5.3:圖5.3顯示服務程序鍵盤服務程序鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應的子程序處理,處理結束再返回。參見圖9,六個按鍵分別對應六個簡單的子程序。如果按鍵S1被按下,則調(diào)用第一個子程序:begin_signal標志置1,將s_or_d標志置0;表示單程開始。如果按鍵S2被按下,則調(diào)用第一個子程序:begin_signal標志置1,將s_or_d標志置1;表示往返開始。
22、如果按鍵S3被按下,則調(diào)用第一個子程序:begin_signal標志置0;表示暫停。如果按鍵S4被按下,則調(diào)用第一個子程序:pulse_counter標志置0,將t置0;表示將顯示數(shù)據(jù)清空。如果按鍵S5被按下,則調(diào)用第一個子程序:dispflag標志置1;表示進入查詢界面。如果按鍵S6被按下,則調(diào)用第一個子程序:dispflag標志置0;表示退出查詢界面。第6章系統(tǒng)調(diào)試與測試結果分析根據(jù)系統(tǒng)設計方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。測試包括里程計價測試、掉電存儲測試測試。使用的儀器儀表和工具數(shù)字萬用表單片機仿真器數(shù)字示波器電烙鐵單片機實驗板調(diào)試的方法根據(jù)系統(tǒng)設計方案
23、,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。由于在系統(tǒng)設計中采用模塊設計法,所以方便對各電路模塊功能進行逐級測試。確定方案后的焊接過程很順利,3天后就完成了大部分電路的焊接工作,進行簡單的程序測試后發(fā)現(xiàn)一個問題:由于要用到555芯片產(chǎn)生脈沖,預先設計的電路中沒有提供5V電源給555供電。我們想到外接一個5V的直流電源,發(fā)現(xiàn)這樣會使整個系統(tǒng)顯示累贅而難以操作。后來我們想到與單片機最小系統(tǒng)的Vcc和555芯片共用5V電源。于是將555的電源和地接到了最小系統(tǒng)的Vcc和地。這樣,只要單片機一上電,555便可以正常工作,操作起來非常方便和快捷。在軟件設計過程中遇到一個嚴重的問題就是系
24、統(tǒng)的時序設計。我們發(fā)現(xiàn)程序的鍵盤掃描程序和中斷程序發(fā)生沖突。導致按鍵功能和顯示功能不能同時出現(xiàn)。后來經(jīng)過排查發(fā)現(xiàn),中斷子程序設計的不合理, 導致發(fā)生了中斷嵌套。 將中斷子程序的部分內(nèi)容調(diào)整到主程序中調(diào)用子程序則這解決了這一問題。第7章結論經(jīng)過這些天有關于出租車計價器的課程設計,使我對單片機的應用有了更深的了解。在DT9203STCISP雙蹤穩(wěn)壓穩(wěn)流電源DH1718E-5TDS1002課程設計的過程中,還是碰到了許多的問題。比如,對于數(shù)碼管動態(tài)掃描顯示和鍵盤的延時防抖的綜合編程不能較好地解決; 對于代碼的前后順序及調(diào)用掌握得還不夠好; 對于一些相關的應用軟件沒能熟練掌握。通過這幾天晚上的苦想和反
25、復調(diào)試,以及參考網(wǎng)上的程序,最終還是把問題解決了。通過這次課程設計,我最大的收獲就是自己的動手能力和獨立解決問題的能力得到了很大的提高, 也充分體會到了自己設計東西的樂趣、 學會查閱資料和對別人的東西融會變通的重要性,也明白了很多知識光靠趴在書本上學是學不到其中的精髓的,必須親自去試著實踐,親自去經(jīng)歷才能對它們真正的掌握,凡事都要自己去動下手,去實踐一下,遇到困難,永遠不要沮喪氣餒。在動手的過程中,不僅能增強實踐能力,而且在理論上可以有更深的認識;這次設計給了我極大的鼓舞和信心, 相信在以后的學習中可以通過不斷的摸索和實踐來提高其他方面的知識。通過本次課程設計,又使我學到了許多書本上無法學到的
26、知識,也使也深該體會到單片機技術應用領域的廣泛, 不僅使我對學過的單片機知識有了很多的鞏周, 同時也對單片機這一門課程產(chǎn)生了更大的興趣。在本次課程設計過程中,我學會了在網(wǎng)絡上查找有關本設計的各硬件的資源,其中包括:AT89S51單片機及其引腳說明、555引腳圖及其引腳功能等,為本次課程設計提供了一定的資料。也為以后的進一步學習打下了堅實的基礎。參考文獻1張友德趙志英涂時亮編單片微型機原理、應用與實驗上海:復旦大學出版社2005.12全書2徐光翔單片機原理接口及應用南京大學出版社3張淑濤等.單片微型計算機接口技術及其應用北京:國防工業(yè)出版社,4王曉君等.MCS-51及兼容單片機原理與選型北京:電
27、子工業(yè)出版社5張鑫、華臻、陳書謙.單片機原理及應用M.電子工業(yè)出版社,2005.P110136丁元杰、吳大偉.單片微機實題集與實驗指導書M,機械工業(yè)出版社,2004.P124125AT89C52概述EB/OL:http: 1 總體設計電路圖附錄 2 元件清單名稱數(shù)量名稱數(shù)量電阻240或270a4三極管90134750a4805044.7K58550410K10光耦233k4蜂鳴器191K4直流電機1電容1043電機轉(zhuǎn)盤1100uF1AT24C021附錄,口,口中nnnnn口匚匚匚口口口口螺絲2DIP8座1光電傳感器1萬能板1附錄 3 全部源程序該出租車計價器的系統(tǒng)軟件設計源程序如下:#incl
28、ude#defineuintunsignedint#defineucharunsignedchar#definerate15/脈沖數(shù)與里程數(shù)的比例sbitP20=P2A0sbitP21=P2A1sbitP22=P2A2/接74LS138控制數(shù)碼管sbitpulse_in=P1A0;bitpulse=1;bitdispflag;ucharnum,temp;bitbegin_signal;/開始標志bits_or_d;/單程還是往返標志uinttimes;/定時次數(shù)uintpulse_counter;uintrecord;uints_temple;uints,m;/里程數(shù)s和金額muintt;/等
29、待時間charbaiwei,shiwei,gewei,xiaoshu;charkeynum;/鍵盤的鍵值ucharcodetable=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71,0 x40;/0-fand-/聲明區(qū)的字型碼(共陰)voiddelay(uintx);voidinit();voiddivide(uintcounter);voidselect(bita,bitb,bitc);voiddebouncer(void);ucharkeyscan
30、(void);voiddelay(uintx)/延時xms.uinti,j;for(i=0;ix;i+)for(j=0;j=150;j+);voidinit()/定時器初始化TMOD=0 x01;TH0=(65536-25000)/256;/timer=1/40sTL0=(65536-25000)%256;EA=1;ET0=1;TR0=1;voiddivide(uintcounter)if(dispflag=0)P0=0 x00;counter=counter*10/rate;xiaoshu=counter%10;gewei=(counter/10)%10;shiwei=(counter/10
31、0)%10;baiwei=(counter/1000)%10;if(counter=30)m=80;elseif(s_or_d=0)m=80+2*(counter-30)+t/300;elsem=80+1.5*(counter-30)+t/300;select(1,1,0);/顯示里程數(shù)目P0=tablexiaoshu;delay(2);select(0,1,0);P0=tablegewei|0 x80;delay(2);select(1,0,0);P0=tableshiwei;delay(2);select(0,0,0);P0=tablebaiwei;delay(2);xiaoshu=m%1
32、0;gewei=(m/10)%10;shiwei=(m/100)%10;baiwei=(m/1000)%10;select(1,1,1);/顯示金額數(shù)目P0=tablexiaoshu;delay(2);select(0,1,1);P0=tablegewei|0 x80;delay(2);select(1,0,1);P0=tableshiwei;delay(2);select(0,0,1);P0=tablebaiwei;delay(2);elseP0=0 x00;xiaoshu=t%10;gewei=(t/10)%10;shiwei=(t/100)%10;baiwei=(t/1000)%10;s
33、elect(1,1,0);/顯示等待時間P0=tablexiaoshu;delay(2);select(0,1,0);P0=tablegewei;delay(2);select(1,0,0);P0=tableshiwei;delay(2);select(0,0,0);P0=tablebaiwei;delay(2);voidtimer0()interrupt1TH0=(65536-25000)/256;TL0=(65536-25000)%256;if(begin_signal=1)if(pulse_in!=pulse)delay(10);if(pulse_in!=pulse)pulse=puls
34、e;pulse_counter+;if(times=39)/1stimercompletedtimes=0;if(pulse_counter-record)5)/小于5,則等待時間增加t+;record=pulse_counter;times+;/s_temple=pulse_counter/2;/divide(s_temple);voidselect(bita,bitb,bitc)P20=a;P21=b;P22=c;voiddebouncer(void)/防抖動程序uinti;for(i=0;i4800;i+);ucharkeyscan()P3=0 x7f;temp=P3;temp=temp
35、&0 x0f;while(temp!=0 x0f)delay(10);temp=P3;temp=temp&0 x0f;while(temp!=0 x0f)(temp=P3;如果每秒脈沖switch(temp)(case0 x7e:num=1;break;case0 x7d:num=2;break;case0 x7b:num=3;break;case0 x77:num=4;break;while(temp!=0 x0f)(temp=P3;temp=temp&0 x0f;P3=0 xbf;temp=P3;temp=temp&0 x0f;while(temp!=0 x0f)(delay(10);temp=P3;temp=temp&0 x0f;while(temp!=0 x0f)(temp=P3;switch(temp)(cas
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年終止合作經(jīng)營合同
- 2025胡蘿卜種植收購合同
- 2025年科技服務合同
- 2025簽訂汽車租賃合同應注意事項
- 2025【電纜采購合同】地下室電纜采購合同協(xié)議書
- 2025年紡織合作協(xié)議書
- 2025網(wǎng)絡設備安裝合同范本
- 2025幼兒教育機構勞動合同
- 2025藝術品贈送合同模板
- 2025年合同違約情形下的勞動合同解除
- 哮病中醫(yī)特色護理查房
- 2025-2030中國浮吊行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析研究報告
- 北京市公園管理中心所屬事業(yè)單位招聘筆試真題2024
- 2025年廣東省深圳市31校聯(lián)考中考二模歷史試題(原卷版+解析版)
- 浙江省紹興市2025屆高三下學期二模試題 數(shù)學 含解析
- 高二期末家長會-家校攜手凝共識齊心協(xié)力創(chuàng)輝煌
- 地球物理反演方法-全面剖析
- 職場人士健身與鍛煉技巧
- 918勿忘國恥銘記歷史課件-高一上學期主題班會
- 鋼結構廠房裝飾工程施工方案
- 王者榮耀考試試題及答案
評論
0/150
提交評論