版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 課程名稱: 單片機系統(tǒng)課程設計 </p><p> 設計題目: 出租車計費系統(tǒng) </p><p> 完成期限:自 2011 年 12 月 19 日至 2011 年 12 月 31
2、 日共 2 周</p><p><b> 一、設計任務</b></p><p> 1.1 外部脈沖自動計數,自動顯示。</p><p> 1.1.1設計一個255計數器:0-255計數,計滿后自動清0,重新計數(在數碼管中顯示)。</p><p> 1.1.2設計一個999999計數器:0-999999計數,
3、計滿后自動清0,重新計數(在數碼管中顯示)。</p><p> 1.2 設計一個出租車計費系統(tǒng): </p><p> 起步價為5元(2km以內),2km后,0.8元/0.5km;要求每500m刷新計費一次,在8位數碼管中,前三位顯示數碼管顯示里程數,后三位數碼管顯示價錢(角,元,十元)</p><
4、;p><b> 二、設計目的</b></p><p> 1、掌握寄存器、存儲器讀寫等匯編指令;</p><p> 2、掌握軟件編程、編譯、調試等基本操作;</p><p> 3、學會程序的基本調試方法;</p><p> 4、熟悉Proteus仿真軟件的使用;</p><p>
5、5、學會單片機最小系統(tǒng)電路原理設計分析,程序設計、調試分析與修改,程序調試等實際操作。</p><p><b> 三、硬件資源</b></p><p><b> 89S51單片機;</b></p><p><b> 6位共陽極數碼管;</b></p><p> 段碼驅動
6、器74HC573,位選譯碼器74HC138;</p><p><b> 4路獨立式按鍵;</b></p><p><b> 外部晶振電路;</b></p><p> ISP下載接口(In system program,在系統(tǒng)編程);</p><p> DC+5V電源試配器(選配);</
7、p><p> ISP下載線(選配)。</p><p> 四、電路原理分析與設計</p><p> P1為外部電源輸入座(DC+5V),S8為電源最小系統(tǒng)的電源開關,E1和C3為電源濾波,去耦電容。D1為系統(tǒng)電源指示燈。J2為ISP下載接口,S7系統(tǒng)復位按鍵。CRY1,C1,C2為外部時針電路。IC1為89S51(DIP-40),左上角為第一腳。PRE1,PRE2。
8、為上拉排阻(阻值4.7k—10k)。J5,J9,J6,J10分別對應單片機的P0,P1,P2,P3口。便于二次開發(fā)。6路共陽極數碼管動態(tài)顯示電路,P0口通過74HC573(起驅動和隔離作用,讓電流通過74CH573流入公共地),來控制數碼管的8路段碼,P20-P22通過74HC138譯碼器(使用其中的6路)控制數碼管的公共端(中間還有三極管做驅動器)。這樣設計的理由:為了保證該單片機最小系統(tǒng)的二次開發(fā)的資源充足和合理性。如果單只做一個動
9、態(tài)顯示電路,可以省去74HC573,和74HC138。</p><p><b> 硬件電路原理圖如下</b></p><p> 課程設計一:出租車計費</p><p><b> 設計任務</b></p><p> 起步價為5元(2km以內),2km后,0.8元/0.5km;要求每500m刷新
10、計費一次,在8位數碼管中,前三位顯示數碼管顯示里程數,后三位數碼管顯示價錢(角,元,十元)</p><p><b> 設計思路</b></p><p> 數碼管前三位顯示路程數,數碼管后三位顯示計費</p><p> 資源分配:60H,61H,62H分別存放路程數;63H,64H,65H分別存放計費的數字。</p><
11、p><b> 三、軟件設計</b></p><p><b> 1、軟件設計流程圖</b></p><p> 2、出租車計費源程序</p><p> ORG 0000H</p><p> LJMP START</p><p> ORG 001BH</
12、p><p> LJMP T1INT</p><p> ORG 0200H</p><p> START: MOV 60H, #00H</p><p> MOV 61H, #00H</p><p> MOV 62H, #00H</p><p> MOV 63H, #00H</p&g
13、t;<p> MOV 64H, #00H</p><p> MOV 65H, #00H </p><p> MOV TMOD, #50H </p><p> MOV TH1, #0FFH</p><p> MOV TL1, #0FFH </p><p>
14、; CLR TF1 </p><p> SETB ET1 </p><p> SETB EA </p><p> SETB TR1 </p><p> MAIN: LCALL DISP </p&g
15、t;<p> LJMP MAIN </p><p> T1INT: LCALL LU </p><p> LCALL QIAN </p><p> MOV TH1, #0FFH</p><p> MOV TL1,#0fFH <
16、/p><p><b> RETI</b></p><p> LU: MOV A, 60H </p><p><b> ADD A, #5</b></p><p> MOV 60H,A </p><p> CJNE A,
17、 #10, L1 </p><p> MOV 60H, #0</p><p><b> INC 61H</b></p><p> L1: </p><p> MOV A, 61H</p><p> CJNE A, #10, L2
18、</p><p> MOV 61H, #0</p><p><b> INC 62H</b></p><p> L2: MOV A,62H </p><p> CJNE A, #10, L3</p><p> MOV 62H,#0</p><
19、;p> L3: RET </p><p> QIAN : MOV R0, 60H</p><p> MOV R1, 61H</p><p> MOV R2, 62H</p><p> CJNE R2, #0, B0</p><p> CJNE R1, #0,
20、B1</p><p> MOV 64H,#05H</p><p><b> SJMP SUB1</b></p><p> B1: CJNE R1, #1, B2 </p><p> MOV 64H,#05H</p><p><b> LJMP SUB1<
21、/b></p><p> B2: CJNE R1, #2, B0 </p><p> B3: CJNE R0, #0, B0</p><p> MOV 64H,#05H</p><p> LJMP SUB1 </p><p> B0: MOV A, 6
22、3H </p><p> ADD A, #8 </p><p> MOV B, #10</p><p><b> DIV AB</b></p><p> ADD A, 64H</p><p> MOV 64H, A</p><
23、;p> MOV 63H, B </p><p> CJNE A, #10,SUB1 </p><p><b> INC 65H</b></p><p> MOV 64H, #0H</p><p> MOV A, 65H</p><p> CJNE
24、A, #10,SUB1 </p><p> MOV 65H,#0</p><p> SUB1: RET</p><p><b> DISP:</b></p><p> MOV DPTR, #TAB </p><p><b> MOV A,60H<
25、/b></p><p> MOVC A, @A+DPTR </p><p> MOV P0, A </p><p> MOV P2,#3 </p><p> LCALL DELAY </p><p> MOV P0,#0FF
26、H </p><p><b> MOV A,61H</b></p><p> MOVC A, @A+DPTR</p><p> ANL A,#7FH </p><p><b> MOV P0, A</b></p><p><b>
27、 MOV P2,#4</b></p><p> LCALL DELAY</p><p> MOV P0,#0FFH</p><p><b> MOV A,62H</b></p><p> MOVC A, @A+DPTR</p><p><b> MOV P0, A&
28、lt;/b></p><p><b> MOV P2,#5</b></p><p> LCALL DELAY</p><p> MOV P0,#0FFH</p><p><b> MOV A,63H</b></p><p> MOVC A, @A+DPTR&l
29、t;/p><p><b> MOV P0, A</b></p><p><b> MOV P2,#0</b></p><p> LCALL DELAY</p><p> MOV P0,#0FFH</p><p><b> MOV A,64H</b>
30、</p><p> MOVC A, @A+DPTR</p><p> ANL A,#7FH</p><p><b> MOV P0, A</b></p><p><b> MOV P2,#1</b></p><p> LCALL DELAY</p>&
31、lt;p> MOV P0,#0FFH</p><p><b> MOV A,65H</b></p><p> MOVC A, @A+DPTR</p><p><b> MOV P0, A</b></p><p><b> MOV P2,#2</b></p&
32、gt;<p> LCALL DELAY</p><p> MOV P0,#0FFH</p><p> RET </p><p> TAB: DB 0C0H, 0F9H, 0A4H, 0B0H</p><p> DB 99H, 92H, 82H, 0F8H</p>&
33、lt;p> DB 80H, 90H </p><p> DELAY: MOV R7,#30 </p><p> DL: MOV R6,#100</p><p><b> DJNZ R6,$</b></p><p> DJNZ R7,DL</p>
34、<p><b> RET</b></p><p><b> END</b></p><p><b> 3、調試及仿真圖</b></p><p> 課程設計二:255計數器</p><p><b> 一、設計任務</b></p&g
35、t;<p> 設計一個255計數器:0-255計數,計滿后自動清0,重新計數(在數碼管中顯示)。</p><p><b> 二、設計思路</b></p><p> 255計數:255可用8位二進制數表示,故本設計可直接采用可以重裝載的計數器T1模式二進行計數。然后對TL1的內容進行相應的二進制---十進制轉換:首先TL1的內容除以64H,所的商就是
36、十進制的百位,然后用余數除以0AH,所得的商就是十進制數的十位,余數即相應的十進制的個位。接著將相應的十進制數進行譯碼,并在LED數碼管上顯示出來。每來一個脈沖其顯示的結果加一,直加至255然后T1重新開始計數。</p><p><b> 三、軟件設計</b></p><p><b> 1、軟件設計流程圖</b></p><
37、;p> 2、255計數源程序</p><p><b> ORG 0000H</b></p><p><b> AJMP MAIN</b></p><p><b> ORG 001BH</b></p><p> LJMP T1INT</p><
38、p><b> ORG 0030H</b></p><p> MAIN: MOV TMOD,#60H</p><p> MOV R0,#00H</p><p><b> CLR TF1</b></p><p> MOV TL1,#0FFH</p><p>
39、MOV TH1,#0FFH</p><p><b> SETB TR1</b></p><p><b> SETB ET1</b></p><p><b> SETB EA</b></p><p> BI: LCALL DISPLAY</p><
40、;p><b> SJMP BI</b></p><p> LCALL DISPLAY</p><p> T1INT:INC R0 </p><p><b> MOV A,R0</b></p><p> MOV B,#64H</p><p><b>
41、 DIV AB</b></p><p><b> MOV 62H,A</b></p><p><b> MOV A,B</b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p><p>
42、<b> MOV 61H,A</b></p><p><b> MOV 60H,B</b></p><p><b> RETI</b></p><p><b> DISPLAY:</b></p><p> MOV DPTR, #TAB
43、 </p><p><b> MOV A,60H</b></p><p> MOVC A, @A+DPTR </p><p> MOV P0, A </p><p> MOV P2,#0 </p><p> LCALL DEL
44、AY </p><p> MOV P0,#0FFH </p><p><b> MOV A,61H</b></p><p> MOVC A, @A+DPTR</p><p><b> MOV P0, A</b></p><p>&l
45、t;b> MOV P2,#1</b></p><p> LCALL DELAY</p><p> MOV P0,#0FFH</p><p><b> MOV A,62H</b></p><p> MOVC A, @A+DPTR</p><p><b> MO
46、V P0, A</b></p><p><b> MOV P2,#2</b></p><p> LCALL DELAY</p><p> MOV P0,#0FFH</p><p> RET </p><p> TAB: DB 0C0H,
47、 0F9H, 0A4H, 0B0H</p><p> DB 99H, 92H, 82H, 0F8H</p><p> DB 80H, 90H </p><p> DELAY: MOV R7,#30 </p><p> DL: MOV R6,#100</p><p>
48、<b> DJNZ R6,$</b></p><p> DJNZ R7,DL</p><p><b> RET</b></p><p><b> END</b></p><p><b> 3、調試及仿真圖</b></p><p
49、> 課程設計三:999999計數器</p><p><b> 一、設計任務:</b></p><p> 設計一個999999計數器:0-999999計數,計滿后自動清0,重新計數(在數碼管中顯示)。</p><p><b> 設計思路:</b></p><p> 60H—65H分別存
50、放個位到十萬位的數字。</p><p><b> 三、軟件設計</b></p><p><b> 1、軟件設計流程圖</b></p><p> 2、999999計數源程序</p><p><b> ORG 0000H</b></p><p>&l
51、t;b> SJMP MAIN</b></p><p><b> ORG 0030H</b></p><p> MAIN: MOV 60H,#0</p><p> MOV 61H,#0</p><p> MOV 62H,#0</p><p> MOV 63H,#0<
52、;/p><p> MOV 64H,#0</p><p> MOV 65H,#0</p><p> MOV TMOD,#060H</p><p> MOV TH1,#0FFH</p><p> MOV TL1,#0FFH</p><p><b> SETB ET1</b&g
53、t;</p><p><b> SETB EA</b></p><p><b> SETB TR1</b></p><p> L1: JNB TF1,L3; </p><p><b> CLR TF1</b></p><p><b>
54、; LCALL JI</b></p><p> L3: LCALL DISP</p><p><b> SJMP L1</b></p><p> JI: MOV R1,#60H</p><p> L2: INC @R1</p><p> CJNE @R1,#10
55、,BT</p><p> MOV @R1,#0</p><p><b> INC R1</b></p><p> CJNE R1,#66H,L2</p><p> MOV R1,#60H</p><p><b> BT: RET</b></p>&
56、lt;p> DISP: MOV R0,#60H</p><p><b> MOV R4,#0</b></p><p> MOV DPTR,#TAB</p><p> L4: MOV A,@R0</p><p> MOVC A,@A+DPTR</p><p><b> M
57、OV P2,R4</b></p><p><b> MOV P0,A</b></p><p><b> INC R0</b></p><p><b> INC R4</b></p><p> LCALL DELAY;</p><p>
58、 MOV P0,#0FFH</p><p> CJNE R4,#6,L4</p><p><b> RET</b></p><p> DELAY:MOV R7,#30 </p><p> DL: MOV R6,#100</p><p><b> DJ
59、NZ R6,$</b></p><p> DJNZ R7,DL</p><p><b> RET</b></p><p> TAB: DB 0C0H, 0F9H, 0A4H, 0B0H</p><p> DB 99H, 92H, 82H, 0F8H</p><p> DB
60、80H, 90H </p><p><b> END</b></p><p><b> 3、調試及仿真圖</b></p><p> 五、單片機課程設計心得體會</p><p> 光陰似箭,日月如梭。為期兩周的單片機課程設計結束了,此次設計的課題是出租車計費以及255和999999計數的設計
61、,通過此次課程設計,收獲頗多。不但鞏固了自己的知識,而且培養(yǎng)了自己的實踐編程能力。</p><p> 在此次課程設計過程中,使我更進一步的熟悉了單片機的結構和原理,掌握了單片機的工作原理及應用系統(tǒng)的設計。將以前學過的零散的單片機知識有機的、系統(tǒng)的聯(lián)系起來,培養(yǎng)了自己分析和設計程序的能力。在出租車計費的設計中,要求熟練掌握單片機匯編指令及其具有一定的編程能力,那么在程序出錯時能準確地找出錯誤并及時糾正。</
62、p><p> 在分析和設計的思路過程中,培養(yǎng)了我的設計思維,使我在程序的分析和設計上有了很大的進步,加深了我對單片機指令系統(tǒng)以及單片機結構和工作原理的認識,進一步增加了我對單片機的中斷系統(tǒng)和定時器控制的了解,還使自己深刻的認識到《單片機原理與應用》這門課程的重要性。同時,通過查閱相關方面的書籍也培養(yǎng)了自己獨立思考的能力。</p><p> 此次課程設計立足于單片機的系統(tǒng)設計和實際應用,通過
63、不斷的實踐,開拓了自己的思維,通過課程搜集資料、確定設計思路、擬定方案、進行系統(tǒng)的規(guī)劃、仿真調試的流程,使我深刻的體會了在學習我們專業(yè)的過程中理論與實踐相結合的重要性,同時也解決了以前學習比較模糊的專業(yè)知識點,使自己掌握的專業(yè)知識更加牢固,系統(tǒng)化。</p><p> 此外,在與同學相互討論研究方案時,也有助于完整的設計出硬件電路圖,以及程序的設計。同時也培養(yǎng)了團隊協(xié)作的精神,并且增加實際的操作能力,讓我在體會設
64、計艱辛的同時,也感受到了成功的喜悅與快樂。</p><p> 最后,感謝李教授在課程設計上給予我的幫助,你的細致講解和耐心答疑,使我在設計過程中思路清晰開闊,少走了很多的彎路,猶如一盞明燈指引著我步步走向成功,沒有李教授的幫助,我的效率不可能達到如此高的水平,再次感謝您的栽培和教育,祝愿李教授新年快樂,身體健康,工作順利,合家幸福!</p><p> 附:單片機最小系統(tǒng)原理圖</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設計--出租車計費系統(tǒng)
- 單片機課程設計---出租車計費系統(tǒng)
- 單片機課程設計--出租車計費系統(tǒng)
- 單片機課程設計-- 出租車計費系統(tǒng)
- 單片機課程設計---出租車計費系統(tǒng) (2)
- 單片機課程設計報告-- 出租車計費系統(tǒng)
- 單片機課程設計報告---- 出租車計費課程設計
- 單片機課程設計——出租車計費器
- pic單片機的出租車計費系統(tǒng)(1)
- 基于單片機的出租車自動計費設計
- 單片機課程設計--出租車計價器
- 微機原理單片機課程設計--出租車計價
- 單片機課程設計--出租車計價器
- 單片機課程設計---出租車計價器
- 單片機課程設計--出租車計價器
- pic單片機出租車計費系統(tǒng)大學設計課題論文
- 單片機課程設計--對外部脈沖計數及出租車計費系統(tǒng)的設計
- 單片機課程設計出租車計價器
- 單片機課程設計----出租車計價器
- 單片機課程設計-出租車計價器
評論
0/150
提交評論