單片機課程設(shè)計--出租車計費系統(tǒng)_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  單片機系統(tǒng)課程設(shè)計說明書</p><p>  起止日期: 2011 年 12 月 19 日 至 2011 年 12 月 31 日</p><p><b>  電氣與信息工程學(xué)院</b></p><p>  2011年12 月19日</p><p><b>  課程設(shè)計任務(wù)書</b

2、></p><p>  2011 —2012 學(xué)年第1 學(xué)期</p><p>  電氣與信息工程 學(xué)院 電氣工程及其自動化 專業(yè) 電氣094 班級</p><p>  課程名稱: 單片機系統(tǒng)課程設(shè)計 </p><p>  設(shè)計題目: 0

3、~255記數(shù)、0~999999記數(shù)和 出租車計費系統(tǒng) </p><p>  完成期限:自 2011 年 12 月 19 日至 2011 年 12 月 31 日共 2 周</p><p><b>  課程設(shè)計目的:</b></p><p>  1、熟練掌握匯編語言編程;</p><

4、;p>  2、編譯0~255、0~999999和計程車計費系統(tǒng)程序;</p><p><b>  3、程序調(diào)試</b></p><p>  4、 掌握proteus仿真 </p><p><b>  二、課程設(shè)計內(nèi)容:</b></p><p>  2.1設(shè)計一個255計數(shù)

5、器:0-255計數(shù),計滿后自動清0,重新計數(shù)(在數(shù)碼管中顯示)。</p><p>  255計數(shù)器流程圖設(shè)計。</p><p><b>  N</b></p><p>  、255計數(shù)器源代碼:</p><p><b>  ORG 0000H</b></p><p><

6、b>  LJMP MAIN</b></p><p><b>  ORG 0060H</b></p><p>  MAIN: MOV TMOD,#01100000B</p><p>  MOV TH1,#0</p><p>  MOV TL1,#0</p><p><b>

7、;  SETB TR1</b></p><p>  L1: MOV A,TL1</p><p>  LCALL TOBCD</p><p>  LCALL DISPLAY</p><p><b>  SJMP L1</b></p><p>  TOBCD: MOV B,#100<

8、/p><p><b>  DIV AB</b></p><p><b>  MOV 72H,A</b></p><p><b>  XCH A,B</b></p><p><b>  MOV B,#10</b></p><p><

9、b>  DIV AB</b></p><p><b>  MOV 71H,A</b></p><p><b>  MOV 70H,B</b></p><p><b>  RET</b></p><p>  DISPLAY: MOV R1,#70H</p&

10、gt;<p><b>  MOV R3,#0</b></p><p>  MOV DPTR,#SEG</p><p>  L2: MOV A,@R1</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P2,R3</b></p><

11、p><b>  MOV P0,A</b></p><p>  LCALL D15MS</p><p><b>  INC R1</b></p><p><b>  INC R3</b></p><p>  MOV P0,#0FFH;消隱</p><p&

12、gt;  CJNE R3,#3,L2</p><p><b>  RET</b></p><p><b>  SEG:</b></p><p>  DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H</p><p>  DB 80H,90H</p><p

13、>  D15MS: MOV R7,#30</p><p>  DL: MOV R6,#255</p><p><b>  DJNZ R6,$</b></p><p>  DJNZ R7,DL</p><p><b>  RET</b></p><p><b>

14、  END</b></p><p>  255計數(shù)器仿真圖: </p><p>  2.2 設(shè)計一個999999計數(shù)器:0~999999計數(shù),計滿后自動清0,重新計數(shù)(在數(shù)碼管中顯示)。</p><p>  、999999計數(shù)器流程圖</p><p>  999999計數(shù)器源代碼</p><p><

15、;b>  ORG 0000H</b></p><p><b>  SJMP MAIN</b></p><p><b>  ORG 0030H</b></p><p>  MAIN:MOV 70H,#0</p><p>  MOV 71H,#0</p><p>

16、;  MOV 72H,#0</p><p>  MOV 73H,#0</p><p>  MOV 74H,#0</p><p>  MOV 75H,#0</p><p>  MOV TMOD,#01100000B</p><p>  MOV TH1,#255</p><p>  MOV TL1,

17、#255</p><p><b>  SETB TR1</b></p><p>  L1: JNB TF1,L3;沒有溢出則轉(zhuǎn)L3</p><p>  CLR TF1;溢出則清零tf1</p><p>  LCALL COUNT</p><p>  L3: LCALL DISPLAY&l

18、t;/p><p><b>  SJMP L1</b></p><p>  COUNT:MOV R1,#70H</p><p>  L2: INC @R1</p><p>  CJNE @R1,#10,BTOM</p><p>  MOV @R1,#0</p><p><

19、b>  INC R1</b></p><p>  CJNE R1,#76H,L2</p><p>  MOV R1,#70H</p><p><b>  BTOM:RET</b></p><p>  DISPLAY: MOV R0,#70H</p><p><b>  

20、MOV R3,#0</b></p><p>  MOV DPTR,#SEG</p><p>  L4: MOV A,@R0</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P2,R3</b></p><p><b>  MOV P0,A

21、</b></p><p><b>  INC R0</b></p><p><b>  INC R3</b></p><p>  LCALL D6MS</p><p>  MOV P0,#0FFH</p><p>  CJNE R3,#6,L4</p>

22、<p><b>  RET</b></p><p><b>  SEG: </b></p><p>  DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H</p><p>  DB 80H,90H</p><p>  D6MS:MOV R7,#30</p

23、><p>  DL: MOV R6,#100</p><p><b>  DJNZ R6,$</b></p><p>  DJNZ R7,DL</p><p><b>  RET</b></p><p><b>  END</b></p>&

24、lt;p>  999999計數(shù)器仿真圖</p><p>  2.3 設(shè)計一個出租車計費系統(tǒng):</p><p>  起步價為5元(2km以內(nèi)),2km后,0.8元/0.5km;要求每500m刷新計費一次,在8位數(shù)碼管中,前三位顯示數(shù)碼管顯示里程數(shù),后三位數(shù)碼管顯示價錢(角,元,十元)</p><p>  出租車的計費器流程圖</p><p&g

25、t;<b>  出租車源程序</b></p><p><b>  ORG 0000H</b></p><p>  SJMP MAIN</p><p><b>  ORG 0060H</b></p><p>  MAIN: MOV TMOD, #60H</p>&

26、lt;p>  MOV TH1,#255</p><p>  MOV TL1,#255</p><p>  MOV 70H,#0</p><p>  MOV 71H,#5</p><p>  MOV 72H,#0</p><p>  MOV 73H,#0</p><p>  MOV 74H,

27、#0</p><p>  MOV 75H,#0</p><p><b>  SETB TR1</b></p><p>  LOOP4:JBC TF1,LOOP3</p><p>  LCALL DISPS;沒有脈沖調(diào)用路程顯示子程序</p><p>  LCALL DISPR ;沒有脈調(diào)用價格

28、顯示程序</p><p>  SJMP LOOP4</p><p>  LOOP3:LCALL BCDS ;有脈沖調(diào)用路程bcd轉(zhuǎn)換程序</p><p>  LCALL DISPS;有脈沖調(diào)用路程顯示子程序</p><p>  LCALL BCDPR ;有脈沖調(diào)用價格bcd轉(zhuǎn)換程序</p><p&g

29、t;  LCALL DISPR ;有脈沖調(diào)用價格顯示程序</p><p>  SJMP LOOP4</p><p>  BCDS: ;路程轉(zhuǎn)化</p><p><b>  MOV A,73H</b></p><p><b>  ADD A,#5</b><

30、/p><p><b>  MOV 73H,A</b></p><p>  CJNE A,#10,BTOM</p><p>  MOV 73H,#0</p><p><b>  INC 74H</b></p><p><b>  MOV A,74H</b>&l

31、t;/p><p>  CJNE A,#10,BTOM</p><p>  MOV 74H,#0</p><p><b>  INC 75H</b></p><p><b>  MOV A,75H</b></p><p>  CJNE A,#10,BTOM</p>&

32、lt;p>  MOV 75H,#0</p><p><b>  BTOM: RET</b></p><p>  DISPS:MOV DPTR,#TAB ;路程顯示子程序</p><p><b>  MOV A,73H</b></p><p>  MOVC A,@A+DPTR</p&

33、gt;<p><b>  MOV P0,A</b></p><p><b>  MOV P2,#3</b></p><p>  LCALL DELAY</p><p>  MOV P0,#0FFH</p><p><b>  MOV A,74H</b></p

34、><p>  MOVC A,@A+DPTR</p><p>  ANL A,#7FH</p><p><b>  MOV P0,A</b></p><p><b>  MOV P2,#4</b></p><p>  LCALL DELAY</p><p>

35、  MOV P0,#0FFH</p><p><b>  MOV A,75H</b></p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  MOV P2,#5</b></p><p

36、>  LCALL DELAY</p><p>  MOV P0,#0FFH</p><p><b>  RET</b></p><p><b>  BCDPR: </b></p><p>  MOV A,75H ;費用轉(zhuǎn)化</p><p>  CJNE A,#0,

37、SUB11</p><p><b>  MOV A,74H</b></p><p>  CJNE A,#2,SUB1</p><p><b>  MOV A,73H</b></p><p>  CJNE A,#0,SUB11</p><p>  SJMP FIVEY</

38、p><p>  SUB1: JC FIVEY</p><p>  SUB11: MOV A,70H</p><p><b>  ADD A,#8</b></p><p><b>  MOV 70H,A</b></p><p>  CJNE A,#10,SUB2</p>

39、<p><b>  SJMP SUB3</b></p><p>  SUB2: JC BTOM2</p><p>  SUB3: SUBB A,#10</p><p><b>  MOV 70H,A</b></p><p><b>  INC 71H</b><

40、;/p><p><b>  MOV A,71H</b></p><p>  CJNE A,#10,BTOM2</p><p>  MOV 71H,#0</p><p><b>  INC 72H</b></p><p><b>  MOV A,72H</b>

41、</p><p>  CJNE A,#10,BTOM2</p><p>  MOV 72H,#0</p><p>  SJMP BTOM2</p><p>  FIVEY: MOV 71H,#5</p><p>  BTOM2: RET</p><p>  DISPR:MOV DPTR,#TAB

42、;價格顯示程序</p><p><b>  MOV A,70H</b></p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  MOV P2,#0</b></p><p>  L

43、CALL DELAY</p><p>  MOV P0,#0FFH</p><p><b>  MOV A,71H</b></p><p>  MOVC A,@A+DPTR</p><p>  ANL A,#7FH</p><p><b>  MOV P0,A</b><

44、/p><p><b>  MOV P2,#1</b></p><p>  LCALL DELAY</p><p>  MOV P0,#0FFH</p><p><b>  MOV A,72H</b></p><p>  MOVC A,@A+DPTR</p><

45、p><b>  MOV P0,A</b></p><p><b>  MOV P2,#2</b></p><p>  LCALL DELAY</p><p>  MOV P0,#0FFH</p><p><b>  RET</b></p><p>

46、  TAB: DB 0C0H,0F9H,0A4H,0B0H,99H</p><p>  DB 92H,82H,0F8H,80H,90H</p><p>  DELAY:MOV R3,#3</p><p>  DL: MOV R2,#100</p><p><b>  DJNZ R2,$</b></p>

47、<p>  DJNZ R3,DL</p><p><b>  RET</b></p><p><b>  END</b></p><p>  出租車計費系統(tǒng)仿真圖</p><p><b>  三 、課程設(shè)計總結(jié)</b></p><p>  完成

48、一個學(xué)期課程后,最后兩周老師布置了單片機的課程設(shè)計,算是一次理論與實際的實踐,拿到設(shè)計后初步觀察有些難但經(jīng)過仔細思考和組成員討論后還是圓滿完成了設(shè)計。</p><p>  這次課程設(shè)計歷時兩周,是一次理論融于實踐的教學(xué)行動。本次課程設(shè)計老師給我們布置了三個設(shè)計課題,分別是0~255計數(shù)器,0~999999計數(shù)器以及出租車計費器。這三個課題都是定時器/計數(shù)器接收外部脈沖實現(xiàn)計數(shù),難度是呈梯度上升的,第一個和第二個任

49、務(wù)為最終任務(wù)提供了一個很好的結(jié)構(gòu)。</p><p>  255計數(shù)器設(shè)計是這次課程設(shè)計最簡單的一道程序題,它也是后續(xù)程序設(shè)計的基礎(chǔ)。由于255計數(shù)器數(shù)據(jù)顯示范圍是0~255,所以由定時器T1的TH1寄存器就可以完全實現(xiàn)計數(shù)。</p><p>  定時器有四種工作方式,它們可以滿足255計數(shù)要求(工作方式3只能用定時器T0),為了設(shè)計方便,使用T1工作方式2(計數(shù)器自動重裝初值)。在不使用中

50、斷也可以完全實現(xiàn)編程要求,并使用數(shù)模轉(zhuǎn)換,理清了設(shè)計思路,這樣我們組編程基本上不存在什么難點。</p><p>  999999計數(shù)器設(shè)計比255計數(shù)器設(shè)計要難。也是這次課程設(shè)計比較關(guān)鍵的一環(huán)。999999計數(shù)器只能使用定時器T1工作方式2(采用脈沖計數(shù)的方式),首先分配內(nèi)存單元、當(dāng)?shù)谝晃粷M十時向前一位進1,然后把當(dāng)前的這為清零,然后依次循環(huán),直到判斷第6位滿十,把這一位清零,循環(huán)。</p><

51、;p>  出租車計費器可在計數(shù)999999的程序上修改而成。在這里我們要明白車程與計費之間的關(guān)系,并將車程由數(shù)碼管顯示出來。最后還要注意當(dāng)計費顯示達到最大值時要將數(shù)碼管顯示清零。由上可以知道已將出租車計費器轉(zhuǎn)換為計數(shù)問題,從而使問題得到圓滿解決。</p><p>  在編程和設(shè)計過程中體現(xiàn)出了很多問題,在很多實際運用中還是和書本上稍微有些偏差,要實踐與理論相結(jié)合,光有理論知識是不夠的,在實踐的過程需要靈活的

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論