版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 單片機課程設(shè)計說明書</p><p> 設(shè)計題目:出租車計價器</p><p> 學(xué)生姓名:XXXXXXXX </p><p> 專業(yè)班級:XXXXXXXXXXX</p><p> 學(xué) 院:電氣工程學(xué)院</p><p><b> 指導(dǎo)教師:XXX</b><
2、;/p><p> 2013年06月06日</p><p> 單片機原理課程設(shè)計指導(dǎo)書</p><p> 先修課程:模擬電路、數(shù)字電路、微機原理與接口技術(shù)等</p><p><b> 指導(dǎo)教師:XXX</b></p><p><b> 學(xué) 時:20</b></
3、p><p><b> 一課程設(shè)計的目的</b></p><p> 課程設(shè)計是本課程教學(xué)中極為重要的實踐性教學(xué)環(huán)節(jié),它不但起著提高本課程教學(xué)質(zhì)量、水平和檢驗學(xué)生對課程內(nèi)容掌握程度的作用,而且還將起到從理論過渡到實踐的橋梁作用。因此,必須認(rèn)真組織,周密布置,積極實施,以達(dá)到下述教學(xué)目的。</p><p> 通過課程設(shè)計,使學(xué)生進(jìn)一步鞏固、深化和擴
4、充在單片機原理及相關(guān)課程方面的基本知識、基本理論和基本技能,達(dá)到培養(yǎng)學(xué)生獨立思考、分析和解決實際問題的能力。</p><p> 通過課程設(shè)計,使學(xué)生養(yǎng)成嚴(yán)謹(jǐn)科學(xué)、嚴(yán)肅認(rèn)真、一絲不茍和實事求是的工作作風(fēng),達(dá)到提高學(xué)生基本素質(zhì)的目的。</p><p> 通過課程設(shè)計,讓學(xué)生獨立完成利用單片機實現(xiàn)某一實際控制系統(tǒng)的基本設(shè)計工作,達(dá)到培養(yǎng)學(xué)生綜合應(yīng)用所學(xué)知識和實際查閱相關(guān)設(shè)計資料的能力的目的。
5、</p><p> 通過課程設(shè)計,使學(xué)生熟悉設(shè)計過程,了解設(shè)計步驟,掌握設(shè)計內(nèi)容,達(dá)到培養(yǎng)學(xué)生設(shè)計電路、實現(xiàn)軟件編程和編寫設(shè)計說明書能力的目的,為學(xué)生今后從事相關(guān)方面的實際工作打下良好基礎(chǔ)。</p><p><b> 二 課程設(shè)計的要求</b></p><p> ?。?)根據(jù)設(shè)計課題的技術(shù)指標(biāo)和給定條件,在教師指導(dǎo)下,能夠獨立而正確地進(jìn)行方
6、案論證和設(shè)計計算,要求概念清楚、方案合理、方法正確、步驟完整。</p><p> (2)要求學(xué)生掌握單片機的設(shè)計內(nèi)容、方法和步驟。</p><p> ?。?)要求會查閱有關(guān)參考資料和手冊等。</p><p> ?。?)要求學(xué)會選擇有關(guān)元件和參數(shù)。</p><p> (5)要求學(xué)會繪制有關(guān)電路圖和設(shè)計流程圖。</p><
7、p> ?。?)要求學(xué)會編寫設(shè)計說明書。</p><p> 三 課程設(shè)計的選題原則</p><p> 本課程設(shè)計的選題要堅持難易適度、繁簡適量的原則,避免選題過于簡易或過于繁難,以防學(xué)生無事可做或無力完成。</p><p> 四 課程設(shè)計的程序和內(nèi)容</p><p> ?。?)自由選題,但必須滿足單片機控制系統(tǒng)相關(guān)要求。</p
8、><p> ?。?)熟悉題目,收集資料</p><p> 設(shè)計開始,每個學(xué)生應(yīng)按教師下達(dá)的具體要求,充分了解技術(shù)要求,明確設(shè)計任務(wù),收集相關(guān)資料,包括參考書、手冊和圖表等,為設(shè)計工作做好準(zhǔn)備。</p><p><b> ?。?)總體設(shè)計</b></p><p> 正確選擇控制系統(tǒng)方案,認(rèn)真畫出系統(tǒng)流程圖。</p&g
9、t;<p><b> ?。?)主電路設(shè)計</b></p><p> 按選定的系統(tǒng)方案、確定系統(tǒng)主要控制方案,畫出控制框圖草圖,完成Protel電路的繪制。</p><p><b> ?。?)軟件設(shè)計</b></p><p> 按規(guī)定的技術(shù)要求,確定系統(tǒng)流程圖,編寫程序。</p><p&
10、gt; ?。?)繪制正規(guī)系統(tǒng)原理圖,整理編寫課程設(shè)計說明書。</p><p> 五 課程設(shè)計說明書的內(nèi)容及書寫規(guī)范</p><p> ?。?)選題背景(或理由)</p><p> ?。?)系統(tǒng)方案和總體結(jié)構(gòu)</p><p><b> (3)硬件設(shè)計</b></p><p> ?。?)軟件設(shè)計(
11、包含流程圖和完整程序)</p><p><b> ?。?)總結(jié)</b></p><p> (6)參考文獻(xiàn)并標(biāo)注在文中。</p><p> 書寫規(guī)范:A4紙打印,字體小四號,1.5倍行距,宋體,章節(jié)三號加粗。圖表清晰。從前往后編號,如圖1.圖2等,流程圖書寫符合規(guī)范。</p><p> 六 課程題目及設(shè)計內(nèi)容<
12、/p><p> 題目任選,但必須滿足單片機實現(xiàn)控制系統(tǒng)的要求。單片機型號可任選,控制芯片盡量選常用芯片,要求任務(wù)量飽滿,包含選題理由、硬件設(shè)計、軟件編程和總結(jié)等內(nèi)容。如汽車轉(zhuǎn)彎燈設(shè)計、交通燈設(shè)計、溫度控制系統(tǒng)設(shè)計等。</p><p> 七 課程設(shè)計進(jìn)度計劃</p><p> 本課程設(shè)計計劃用一周時間完成,各階段進(jìn)度計劃如下:</p><p>
13、; 八 課程設(shè)計的答辯和成績評定</p><p> 課程成績由兩部分組成</p><p> 1 課程設(shè)計說明書(60分)</p><p> 優(yōu):按設(shè)計任務(wù)書要求獨立完成全部內(nèi)容并準(zhǔn)確無誤,有較強的文章組織能力和文字表達(dá)能力。電路圖準(zhǔn)確無誤,布局合理,符合制圖標(biāo)準(zhǔn),并能正確讀圖。</p><p> 良:整體設(shè)計滿足要求,硬件電路滿足控
14、制系統(tǒng)要求,軟件編程符合功能要求。,設(shè)計較合理,原理論述清楚,文章組織能力和文字表達(dá)能力較好。</p><p> 中:整體設(shè)計無誤,但有的地方設(shè)計不太滿足要求。原理論述較清楚。圖無原則性錯誤,布局尚可,讀圖正確。</p><p> 及格:設(shè)計基本合理,硬件選擇有誤,軟件編程不太符合規(guī)則。說明書中有論述錯誤的地方。</p><p> 不及格:整體設(shè)計不符合設(shè)計要
15、求,原理論述不清。說明書不符合規(guī)范。</p><p><b> 2.答辯(40分)</b></p><p> 優(yōu):能正確合理的分析控制系統(tǒng),闡述控制系統(tǒng)非常準(zhǔn)確,有創(chuàng)新。準(zhǔn)確回答問題。</p><p> 良:控制系統(tǒng)闡述合理,語言表達(dá)基本正確,能運用所學(xué)知識理論聯(lián)系實際?;卮饐栴}較好。</p><p> 中:控制
16、系統(tǒng)論述較正確,語言表達(dá)較準(zhǔn)確,但有部分地方闡述模糊,回答部分問題。</p><p> 及格:論述較合理,回答問題不準(zhǔn)確。</p><p> 不及格:全部設(shè)計內(nèi)容不詳。</p><p><b> 九參考資料</b></p><p> 1丁元杰主編.單片微型計算機.北京:機械工業(yè)出版社.2003</p>
17、<p> 2李廣第主編.單片機基礎(chǔ).北京:北京航天工業(yè)出版社.2002</p><p><b> 目錄 </b></p><p><b> 摘要2</b></p><p> ABSTRACT2</p><p> 1 設(shè)計要求與設(shè)計方案3</p>&l
18、t;p> 1.1 系統(tǒng)設(shè)計要求3</p><p> 1.2系統(tǒng)設(shè)計方案3</p><p> 2 出租車計價系統(tǒng)的硬件設(shè)計4</p><p> 2.1 AT89C51單片機介紹4</p><p> 2.2 里程計算、計價單元的設(shè)計6</p><p> 2.3 數(shù)據(jù)顯示單元的設(shè)計7</p
19、><p> 2.4 按鍵單元的設(shè)計8</p><p> 2.5 振蕩電路8</p><p> 2.6 復(fù)位電路9</p><p> 2.7 總電路圖10</p><p> 3 出租車計價系統(tǒng)的軟件設(shè)計11</p><p> 3.1主程序流程圖11</p><
20、;p> 3.2計費子程序流程圖12</p><p> 3.3等待是否收費子程序流程圖13</p><p> 3.4 按鍵子程序流程圖:14</p><p> 3.5 外部中斷0流程圖15</p><p><b> 4 系統(tǒng)程序16</b></p><p><b>
21、; 摘要</b></p><p> 近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術(shù)日益更新。在實時檢測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。</p><p> 本課程設(shè)計是基于AT89C51單片機設(shè)計而成,實用性強,對出租車計價系統(tǒng)進(jìn)行編程與控制。&
22、lt;/p><p> 關(guān)鍵字:單片機 計價系統(tǒng) 控制</p><p><b> abstract</b></p><p> In recent years, with the rapid development of science and technology, the application of SCM is unceasingly
23、 thorough, while traditional control testing technology is updated. In real-time detection and automatic control of single-chip microcomputer application system, often used as a core component, knowledge is not only the
24、MCU, still should according to specific hardware structure, software and hardware, the perfect combination.</p><p> This course is designed to AT89C51 microcontroller based design, strong practicability, pr
25、ogramming and control of the taxi pricing system.</p><p> Keywords: SCM Pricing system control</p><p> 第一章 出租車計價系統(tǒng)的設(shè)計要求與設(shè)計方案</p><p> 1.1 出租車計價器設(shè)計要求</p><p> 設(shè)計一個出租
26、車自動計費器,計費包括起步價、行車?yán)锍逃嬞M、等待時間計費三部分,用七段數(shù)碼管顯示總金額,單價,運行里程,起步價為6元,超過6元,每一公里增加1元或2元,等待時間單價為每30秒鐘0.1元,</p><p> 計費功能:費用的計算是按行駛里程收費。設(shè)起步價為6元。</p><p> 1、當(dāng)總金額<6元時,按起價計算費用</p><p> 2、當(dāng)總金額>
27、6元時,每公里按1元或2元計費</p><p> 3、等待累計時間>30s時,按0.1元/30s計費</p><p> 4、S1為啟動按鈕、S2轉(zhuǎn)換單價按鈕、S3復(fù)位按鈕。</p><p><b> 顯示功能:</b></p><p> 1、顯示行駛里程:用三位數(shù)字顯示,顯示方式為“XX.X”,單位為km。
28、計程范圍0-99.9km,精確到0.1km。</p><p> 2、顯示單價:用兩位數(shù)字顯示,顯示方式為“X.X”,單位為元。</p><p> 3、顯示總費用:用三位數(shù)字顯示,顯示方式為“XX.X”,單位為元。計價范圍0-99.9元,精確到0.1元。</p><p> 本出租車自動計費,上電后顯示最初的起步價,里程計費單價。同時具有運行,復(fù)位,轉(zhuǎn)換等狀態(tài),可
29、以切換白天與晚上不同計費單價,可以實現(xiàn)每等待30s收0.1元功能。出租車顯示行駛的總費用,里程,單價。</p><p><b> 1.2 設(shè)計方案</b></p><p> 通過單片機作為主控器,采用外部晶振作為時鐘脈沖,通過按鍵可以方便調(diào)節(jié),以下是系統(tǒng)流程圖,本方案主要是必須對于數(shù)字電路比較熟悉,成本又不高。方案圖如圖。</p><p>
30、 第二章 出租車計價系統(tǒng)的硬件設(shè)計</p><p> 2.1 AT89C51單片機介紹</p><p> AT89C51單片機管腳圖</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集合輸出管腳相兼容
31、。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89S51是一種高效微控器,為很多嵌入式控制系統(tǒng)提供了一種靈活性且廉價的方案</p><p> 單片機各引腳功能說明:</p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p>&
32、lt;p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行。校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TT
33、L門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 </p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)
34、部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為
35、高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89S52的一些特殊功能口,P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p> ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位
36、字節(jié)。</p><p> /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時,則在此期間選擇外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。</p><p> XTAL1:反向
37、振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</p><p> 2.2 里程計算、計價單元的設(shè)計</p><p> 里程計算是通過安裝在車輪上的霍爾傳感器A44E檢測到的信號,送到單片機,經(jīng)處理計算,送給顯示單元的。其原理如圖2-1所示</p><p><b> 圖2-1&
38、lt;/b></p><p> 由于A44E 屬于開關(guān)型的霍爾器件,其工作電壓范圍比較寬(4.5~18V),其輸出的信號符合TTL 電平標(biāo)準(zhǔn),可以直接接到單片機的I/O 端口上,而且其最高檢測頻率可達(dá)到1MHZ。</p><p> 如圖2-2,A44E 集成霍耳開關(guān)由穩(wěn)壓器A、霍耳電勢發(fā)生器(即硅霍耳片)B、差分放大器C、施密特觸發(fā)器D 和OC 門輸出E 五個基本部分組成。<
39、;/p><p> 圖2-2 路程測量電路</p><p> 在輸入端輸入電壓CC V ,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍耳電勢發(fā)生器的兩端,根據(jù)霍耳效應(yīng)原理,當(dāng)霍耳片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會產(chǎn)生霍耳電勢差H V 輸出,該H V 信號經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC 門輸出。當(dāng)施加的磁場達(dá)到工作點?(即OP B )時,觸發(fā)器輸出高
40、電壓(相對于地電位),使三極管導(dǎo)通,此時OC 門輸出端輸出低電壓,通常稱這種狀態(tài)為?開?。當(dāng)施加的磁場達(dá)到?釋放點?(即rP B )時,觸發(fā)器輸出低電壓,三極管截止,使OC 門輸出高電壓,這種狀態(tài)為?關(guān)?。這樣兩次電壓變換,使霍耳開關(guān)完成了一次開關(guān)動作。</p><p> 我們選擇了P3.5 口作為信號的輸入端,內(nèi)部采用計數(shù)的方式,車輪每轉(zhuǎn)一圈(我們設(shè)車輪的周長是10米),霍爾開關(guān)就檢測并輸出信號,引起單片機對
41、脈沖計數(shù),當(dāng)計數(shù)達(dá)到10次時,也就是0.1 公里,單片機就控制將金額自動的加增加,其計算公式:當(dāng)前單價× 公里數(shù)=金額。</p><p> 2.3 數(shù)據(jù)顯示單元的設(shè)計</p><p> 由于設(shè)計要求有單價(2 位)、路程(3位)、總金額(3位)顯示輸出,我們采用8個7段數(shù)碼管動態(tài)顯示。如圖2-3:</p><p> 圖2-3 數(shù)據(jù)顯示硬件電路圖&l
42、t;/p><p> 2.4 按鍵單元的設(shè)計</p><p> 電路共采用了三個按鍵,S1、S2、S3,其功能分別是:S1 啟動計價開關(guān)、S2 白天/晚上轉(zhuǎn)換開關(guān)、S3閉合表示出租車正常運行,計價器也正常計價;若打開S3則表示出租車在暫停,轉(zhuǎn)入判斷是否收費程序,打開超過30秒,開始計價。如圖2-4:</p><p> 圖2-4 按鍵單元電路圖</p>
43、<p><b> 2.5 振蕩電路</b></p><p> 單片機內(nèi)部有一個高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。通過這兩個引腳在芯片外并接石英晶體振蕩器和兩只電容(電容和一般取33pF)。這樣就構(gòu)成一個穩(wěn)定的自激振蕩器。 振蕩電路脈沖經(jīng)過二分頻后作為系
44、統(tǒng)的時鐘信號,再在二分頻的基礎(chǔ)上三分頻產(chǎn)生ALE信號,此時得到的信號時機器周期信號。振蕩電路如圖2-5所示:</p><p> 圖2-5 振蕩電路</p><p><b> 2.6 復(fù)位電路</b></p><p> 復(fù)位操作有兩種基本形式:一種是上電復(fù)位,另一種是按鍵復(fù)位。按鍵復(fù)位具有上電復(fù)位功能外,若要復(fù)位,只要按圖中的RESET
45、鍵,電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個復(fù)位高電平。上電復(fù)位電路要求接通電源后,通過外部電容充電來實現(xiàn)單片機自動復(fù)位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時間(2個機器周期),單片機就可以進(jìn)行復(fù)位操作。按鍵復(fù)位電路圖如圖2-6所示。</p><p> 圖2-6 復(fù)位電路</p><p
46、><b> 2.7總電路圖</b></p><p> 第三章 出租車計價系統(tǒng)的軟件設(shè)計</p><p><b> 3.1主程序流程圖</b></p><p> 由于用到了外部中斷0,所以,按中斷系統(tǒng)的編程結(jié)構(gòu)在0000H處放置一條長跳轉(zhuǎn)指令LJMP START跳轉(zhuǎn)到主程序入口,在外部中斷0的中斷入口地址00
47、03H處放置一條長跳轉(zhuǎn)指令LJMP EXT0跳轉(zhuǎn)到外部中斷0服務(wù)程序處。主程序進(jìn)行程序中用到的一些存儲單元的初始化,T0,T1的初始化。首先,進(jìn)行存儲器單元初始化,將71H-79H單元賦值。然后進(jìn)行定時器的設(shè)置。設(shè)置T1的工作方式為模式2,計數(shù)狀態(tài),自啟動。T0的工作方式,模式1,定時狀態(tài),自啟動,對輸入的脈沖進(jìn)行計數(shù),給T0、T1賦初值。之后調(diào)用計數(shù)脈沖子程序,及等待子程序,數(shù)碼管動態(tài)顯示子程序,最后進(jìn)入鍵盤掃描子程序進(jìn)行掃描。主程序
48、不斷進(jìn)行調(diào)用數(shù)碼管顯示子程序及鍵盤掃描子程序循環(huán)操作,等待中斷。如圖3-1:</p><p> 圖3-1 主程序流程圖</p><p> 3.2計費子程序流程圖</p><p> 72H存儲總金額小數(shù)位,73H存儲器總金額個位,78H存儲器總金額十位,77H存儲單價元。將72H中值放入A中,再將A與77H相加,即小數(shù)位與單價相加,結(jié)果存入A,再進(jìn)行十進(jìn)制調(diào)整
49、,將結(jié)果存于R6,將高四位與低四位交換并屏蔽高四位,保留低四位與個位相加得到總金額個位。若總金額超過10則清零,并且總金額十位加1。將R6中數(shù)值取出,屏蔽高四位,輸出總金額小數(shù)位。如圖3-2:</p><p> 圖3-2 計費子程序流程圖</p><p> 3.3 等待是否收費子程序</p><p> 在出租車的計價系統(tǒng)中,出租車在等待的時候也要計價,本設(shè)
50、計體現(xiàn)了這點。程序判斷了出租車是否停止,若停止30秒以上是,開始計價。55H中賦初值20,56H中賦初值10,總共30秒延時。超過30秒時,調(diào)用計費子程序。如圖3-3</p><p> 圖3-3 等待是否收費子程序流程圖</p><p> 3.4 按鍵子程序流程圖</p><p> 圖3-4 等待收費子程序流程圖</p><p>
51、; 3.5 外部中斷0流程圖</p><p> 圖3-5 外部中斷0子程序流程圖</p><p><b> 第四章 系統(tǒng)程序</b></p><p> ORG 0000H</p><p> LJMP MAIN</p><p> ORG 0003H ;外部中斷入
52、口地址</p><p><b> LJMP REST</b></p><p> ORG 0030H</p><p> MAIN: </p><p> MOV 71H,#00H ;脈沖計數(shù)每10個脈沖里程數(shù)加0.1顯示緩沖單元</p><p> MOV 72H,#00H
53、;存儲總金額小數(shù)位</p><p> MOV 73H,#06H ;存儲總金額個位</p><p> MOV 74H,#00H ;存儲里程數(shù)小數(shù)位</p><p> MOV 75H,#00H ;存儲里程數(shù)個位</p><p> MOV 76H,#00H ;存儲單價角位</p><p> MOV 77H,#01H
54、 ;存儲單價元位</p><p> MOV 78H,#00H ;存儲總金額十位</p><p> MOV 79H,#00H ;存儲里程數(shù)十位</p><p> MOV 55H,#20 ;給定等待初值20*50ms</p><p> MOV 56H,#30 ;30秒等待時間初值</p><p> SETB
55、EA ;開總中斷</p><p> SETB EX0 ;開外部中斷0</p><p> MOV TCON,#04H ;外部中斷0低電平</p><p> MOV TMOD,#61H ;設(shè)置使用定時器1,模式2,計數(shù)狀態(tài),自啟動,定時器0,模式1,定時狀態(tài),自啟動</p><p> MOV TL0,#0B0H ;50
56、ms初值設(shè)定C350H</p><p> MOV TH0,#03CH</p><p> MOV TL1,#0FFH ;設(shè)置定時器低八位初值為FFH,即有一脈沖輸入就溢出</p><p> MOV TH1,#0FFH ;設(shè)置定時器高八位初值為FFH,用于重裝低八位</p><p><b> START:</b>
57、</p><p> LCALL PULSE ;調(diào)用計數(shù)脈沖子程序</p><p> LCALL WAIT ;調(diào)用等待子程序</p><p> LCALL DISPLAY;調(diào)用顯示程序進(jìn)行顯示</p><p> LCALL KEY ;調(diào)用鍵盤掃描程序</p><p> SJMP START ;
58、返回START處繼續(xù)循環(huán)執(zhí)行</p><p><b> REST:</b></p><p><b> PUSH ACC</b></p><p> MOV 71H,#00H ;脈沖計數(shù)每10個脈沖里程數(shù)加1顯示緩存單元</p><p> MOV 72H,#00H ;存儲總金額小數(shù)位<
59、/p><p> MOV 73H,#00H ;存儲總金額個位</p><p> MOV 74H,#00H ;存儲里程數(shù)小數(shù)位</p><p> MOV 75H,#00H ;存儲里程數(shù)個位</p><p> MOV 78H,#00H ;存儲總金額十位</p><p> MOV 79H,#00H ;存儲里程數(shù)十位
60、</p><p> MOV 55H,#20</p><p> MOV 56H,#10</p><p><b> POP ACC</b></p><p><b> RETI</b></p><p><b> PULSE:</b></p>
61、;<p> JBC TF1,PTO1 ;TF1為1則轉(zhuǎn)PT01</p><p> LJMP PSOUT</p><p> PTO1: MOV 55H,#20</p><p> MOV 56H,#10</p><p><b> INC 71H</b></p><p> MO
62、V R1,71H</p><p> CJNE R1,#0AH,PSOUT ;脈沖調(diào)整,改變立即數(shù)即可;里程數(shù)個位74H,R1不等于0AH則轉(zhuǎn)PSOUT</p><p> MOV 71H,#00H</p><p><b> INC 74H</b></p><p> LCALL MONEY</p>&l
63、t;p> MOV R1,74H</p><p> CJNE R1,#0AH,PSOUT ;里程數(shù)十位75H</p><p> MOV 74H,#00H</p><p><b> INC 75H</b></p><p> MOV R1,75H</p><p> CJNE R1,#
64、0AH,PSOUT</p><p> MOV 75H,#00H</p><p><b> INC 79H</b></p><p> MOV R1,79H</p><p> CJNE R1,#0AH,PSOUT</p><p> MOV 79H,#00H</p><p&
65、gt;<b> PSOUT:RET</b></p><p><b> WAIT:</b></p><p> JBC TF0,PTO2</p><p><b> LJMP CHU0</b></p><p> PTO2:MOV TL0,#0B0H</p>&
66、lt;p> MOV TH0,#03CH</p><p> DJNZ 55H,CHU0 ;不為0則轉(zhuǎn)</p><p> MOV 55H,#20</p><p> DJNZ 56H,CHU0</p><p> MOV 56H,#30 ;30秒等待計時</p><p><b> INC 72H
67、</b></p><p><b> MOV A,72H</b></p><p> LCALL MONEY1</p><p><b> CHU0:RET</b></p><p><b> MONEY:</b></p><p><b
68、> MOV A,72H</b></p><p><b> ADD A,77H</b></p><p> MONEY1:DA A</p><p><b> MOV R6,A</b></p><p><b> SWAP A</b></p>
69、<p> ANL A,#0FH</p><p><b> ADD A,73H</b></p><p><b> MOV 73H,A</b></p><p> CJNE A,#0AH,MONEY2</p><p> MOV 73H,#00H</p><p>
70、<b> INC 78H</b></p><p><b> MOV A,78H</b></p><p> CJNE A,#0AH,MONEY2</p><p> MOV 78H,#00H</p><p> MONEY2:MOV A,R6</p><p> ANL
71、A,#0FH</p><p><b> MOV 72H,A</b></p><p><b> RET</b></p><p> DISPLAY:MOV DPTR,#TAB</p><p> MOV P2,#0FEH</p><p><b> MOV A,7
72、2H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A</b></p><p> MOV P2,#0FDH</p><p><b> MOV A,73H</b></p><p> MOVC A,@A+DP
73、TR</p><p><b> MOV P0,A </b></p><p> MOV P2,#0FBH</p><p><b> MOV A,74H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A <
74、;/b></p><p> MOV P2,#0F7H</p><p><b> MOV A,75H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A </b></p><p> MOV P2,#0EFH<
75、/p><p><b> MOV A,76H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A </b></p><p> MOV P2,#0DFH</p><p><b> MOV A,77H</b>
76、;</p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A </b></p><p> MOV P2,#0BFH</p><p><b> MOV A,78H</b></p><p> MOVC A,@A+DPTR</p&g
77、t;<p><b> MOV P0,A </b></p><p> MOV P2,#7FH</p><p><b> MOV A,79H</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A </b><
78、/p><p><b> RET</b></p><p> KEY: MOV A,#0FH</p><p><b> MOV P3,A</b></p><p><b> MOV A,P3</b></p><p> ORL A,#0F0H</p&
79、gt;<p> CJNE A,#0FFH,KEY1</p><p> LCALL DELAY</p><p> SJMP EKEOUT</p><p> KEY1: LCALL DELAY</p><p><b> MOV A,P3</b></p><p> ORL A,
80、#0F0H</p><p> CJNE A,#0FFH,KEY2</p><p> SJMP EKEOUT</p><p> KEY2: MOV A,P3</p><p> JNB ACC.0,RUN</p><p> JNB ACC.1,CHANGE</p><p> SJMP E
81、KEOUT</p><p> RUN: SETB TR0</p><p><b> SETB TR1</b></p><p><b> SETB EA </b></p><p> SJMP EKEOUT</p><p> EKEOUT:RET</p>
82、<p> CHANGE:PUSH ACC</p><p><b> MOV A,77H</b></p><p> CJNE A,#02H,NIGHT</p><p> MOV 77H,#01H</p><p> SJMP CHOUT</p><p> NIGHT: MOV
83、77H,#02H</p><p> CHOUT: POP ACC</p><p><b> RET</b></p><p> DELAY: MOV R7,#100</p><p> DJNZ R7,$</p><p><b> RET</b></p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計--出租車計價器
- 單片機課程設(shè)計---出租車計價器
- 單片機課程設(shè)計--出租車計價器
- 單片機課程設(shè)計出租車計價器
- 單片機課程設(shè)計----出租車計價器
- 單片機課程設(shè)計-出租車計價器
- 單片機課程設(shè)計--出租車計價器
- 單片機課程設(shè)計--出租車計價器設(shè)計
- 單片機課程設(shè)計---出租車計價器設(shè)計
- 單片機課程設(shè)計論文---出租車計價器
- 課程設(shè)計---基于51單片機的出租車計價器
- 課程設(shè)計--基于單片機的出租車計價器的設(shè)計
- 基于單片機的出租車計價器的設(shè)計(課程設(shè)計)
- 畢業(yè)設(shè)計(論文)-單片機課程設(shè)計出租車計價器
- 基于單片機的出租車計價器設(shè)計
- 基于單片機的出租車計價器
- 出租車計價器課程設(shè)計
- 出租車計價器課程設(shè)計
- 出租車計價器課程設(shè)計
- 出租車計價器課程設(shè)計
評論
0/150
提交評論