單片機(jī)課程設(shè)計(jì)——出租車(chē)計(jì)費(fèi)器_第1頁(yè)
已閱讀1頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)任務(wù)書(shū)</b></p><p>  2011 —2012 學(xué)年第 1 學(xué)期</p><p>  電氣與信息工程 學(xué)院(系、部) 電氣工程及自動(dòng)化 專(zhuān)業(yè) 091 班級(jí)</p><p>  課程名稱(chēng): 單片機(jī)應(yīng)用系統(tǒng)

2、 </p><p>  設(shè)計(jì)題目: 對(duì)外部脈沖計(jì)數(shù)及出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì) </p><p>  完成期限:自 2011 年 12 月 19 日至 2011 年 12 月 30 日共 2 周</p><p>  指導(dǎo)教師(簽字):

3、 年 月 日</p><p>  系(教研室)主任(簽字): 年 月 日</p><p><b>  (單片機(jī)應(yīng)用系統(tǒng))</b></p><p><b>  設(shè)計(jì)說(shuō)明書(shū)</b></p><p

4、>  起止日期: 2011 年 12 月 19 日 至 2011年 12 月 30 日</p><p>  電氣與信息工程學(xué)院(部)</p><p>  2011年 12 月 日</p><p><b>  一、設(shè)計(jì)任務(wù):</b></p><p>  1.1 外部脈沖自動(dòng)計(jì)數(shù),自動(dòng)顯示。</p&

5、gt;<p>  1.1.1設(shè)計(jì)一個(gè)255計(jì)數(shù)器:0-255計(jì)數(shù),計(jì)滿(mǎn)后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。</p><p>  1.1.2設(shè)計(jì)一個(gè)50000計(jì)數(shù)器:0-50000計(jì)數(shù),計(jì)滿(mǎn)后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。</p><p>  1.2 設(shè)計(jì)一個(gè)出租車(chē)計(jì)費(fèi)系統(tǒng): </p>

6、;<p>  起步價(jià)為5元(2km以?xún)?nèi)),2km后,0.8元/0.5km;要求每500m刷新計(jì)費(fèi)一次,在8位數(shù)碼管中,前3位顯示數(shù)碼管顯示里程數(shù),后3位數(shù)碼管顯示價(jià)錢(qián)(角,元,十元,百元)</p><p>  注:要求首先采用PROTEUS完成單片機(jī)最小系統(tǒng)的硬件電路設(shè)計(jì)及仿真;程序仿真測(cè)試通過(guò)后,再下載到單片機(jī)實(shí)訓(xùn)板上執(zhí)行。</p><p><b>  二、設(shè)計(jì)原

7、理及思路</b></p><p>  1. 設(shè)計(jì)一個(gè)255計(jì)數(shù)器:0-255計(jì)數(shù),計(jì)滿(mǎn)后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。</p><p>  原理:255可用8位二進(jìn)制數(shù)表示,故本設(shè)計(jì)可直接采用可以重裝載的計(jì)數(shù)器T1模式二進(jìn)行計(jì)數(shù)。然后對(duì)TL1的內(nèi)容進(jìn)行相應(yīng)的二進(jìn)制---十進(jìn)制轉(zhuǎn)換:首先TL1的內(nèi)容除以64H,所的商就是十進(jìn)制的百位,然后用余數(shù)除以0AH,所得的商就是十進(jìn)

8、制數(shù)的十位,余數(shù)即相應(yīng)的十進(jìn)制的個(gè)位。接著將相應(yīng)的十進(jìn)制數(shù)進(jìn)行譯碼,并在LED數(shù)碼管上顯示出來(lái)。每來(lái)一個(gè)脈沖其顯示的結(jié)果加一,直加至255然后T1重新開(kāi)始計(jì)數(shù)。</p><p>  2設(shè)計(jì)一個(gè)50000計(jì)數(shù)器:0-50000計(jì)數(shù),計(jì)滿(mǎn)后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。</p><p>  原理: 將TH1和TL1中的十六進(jìn)制數(shù)轉(zhuǎn)為BCD碼,</p><p> 

9、 ;入口:HT1,TL1中是 16 位二進(jìn)制數(shù),其中TH1中是高 8 位;</p><p>  ;出口:R2 R3 R4 中是 BCD 碼,其中R2中是萬(wàn)位,R3中是千、百位,R4中是十、個(gè)位。</p><p>  再轉(zhuǎn)為對(duì)應(yīng)的個(gè).十.百.千.萬(wàn)位。送到緩沖區(qū)。接著調(diào)用顯示子程序。</p><p>  3.設(shè)計(jì)一個(gè)出租車(chē)計(jì)費(fèi)系統(tǒng):</p><p&

10、gt;  起步價(jià)為5元(2km以?xún)?nèi)),2km后,0.8元/0.5km;要求每500m刷新計(jì)費(fèi)一次,在8為數(shù)碼管中,前3為顯示數(shù)碼管顯示里程數(shù),后3位數(shù)碼管顯示價(jià)錢(qián)(角,元,十元,百元)</p><p>  原理:計(jì)數(shù)器每計(jì)數(shù)100個(gè)外部脈沖就產(chǎn)生中斷,里程加1百米,大于兩千米百位就和5和0比較,如果相等就調(diào)用價(jià)格計(jì)算子程序,價(jià)格加0.8元。然后返回中斷,調(diào)用里程和價(jià)格顯示子程序。</p><p

11、>  三、PROTEUS硬件電路圖</p><p><b>  1.255計(jì)數(shù)器</b></p><p>  2.50000計(jì)數(shù)器</p><p>  3. 出租車(chē)計(jì)費(fèi)系統(tǒng) </p><p><b>  四、調(diào)試程序</b></p><p&g

12、t;<b>  1.255計(jì)數(shù)器</b></p><p><b>  ORG 0000H</b></p><p>  AJMP START</p><p><b>  ORG 001BH</b></p><p>  AJMP TINT1</p><p>

13、<b>  ORG 0030H</b></p><p>  START:MOV TMOD,#60H ;計(jì)數(shù)工作方式2</p><p>  MOV TH1,#00H ;初值0</p><p>  MOV TL1,#00H </p><p><b&

14、gt;  SETB TR1</b></p><p><b>  SETB ET1</b></p><p><b>  SETB EA</b></p><p>  LOOP:LCALL DISP</p><p><b>  SJMP LOOP</b></p&

15、gt;<p>  TINT1:RETI</p><p>  DISP: MOV A,TL1</p><p>  MOV B,#64H</p><p>  DIV AB;A為百位</p><p>  MOV DPTR,#SEGTAB</p><p>  MOVC A,@A+DPTR</p&

16、gt;<p>  MOV P2,#03H ;位選4</p><p>  MOV P0,A ;送百位數(shù)據(jù)</p><p>  ACALL DELAY</p><p><b>  MOV A,B</b></p><p>  MOV B,#0AH</

17、p><p>  DIV AB;A為十位,B為個(gè)位</p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#04H ;位選5</p><p>  MOV P0,A ;送十位數(shù)據(jù)</p><p>  ACALL DELAY</p><p&

18、gt;<b>  MOV A,B</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#05H;位選6</p><p>  MOV P0,A ;送個(gè)位數(shù)據(jù)</p><p>  ACALL DELAY</p><p><

19、b>  RET</b></p><p>  DELAY: MOV R5,#05H ;延時(shí)1ms</p><p>  LOOP1: MOV R6,#0FFH</p><p><b>  DJNZ R6,$</b></p><p>  DJNZ R5,LOOP1</p>

20、;<p><b>  RET</b></p><p>  SEGTAB: DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4</p><p>  DB 6DH,7DH,07H,7FH,6FH ;5,6,7,8,9</p><p><b>  END</b></p><

21、;p>  2.50000計(jì)數(shù)器</p><p><b>  ORG 0000H</b></p><p>  AJMP START</p><p><b>  ORG 0030H</b></p><p>  WANWEI EQU 20H</p><p>  QIANWE

22、I EQU 21H</p><p>  BAIWEI EQU 22H</p><p>  SHIWEI EQU 23H</p><p>  GEWEI EQU 24H</p><p>  START: MOV R0, #20H;顯示緩沖數(shù)據(jù)</p><p>  MOV R1, #01H;位選緩沖&

23、lt;/p><p>  MOV TMOD,#50H ;計(jì)數(shù)工作方式1</p><p>  MOV TH1, #00H ;初值0</p><p>  MOV TL1, #00H</p><p><b>  SETB TR1</b></p><p><b>

24、;  SETB ET1</b></p><p><b>  SETB EA</b></p><p>  LOOP:LCALL DISP</p><p><b>  SJMP LOOP</b></p><p>  DISP: LCALL READ</p><p&g

25、t;  DISP1:MOV P2, R1</p><p>  MOV P0, @R0</p><p>  LCALL DELAY</p><p><b>  INC R0</b></p><p><b>  INC R1</b></p><p>  CJNE R1,#0

26、6H,DISP</p><p>  MOV R1, #01H</p><p>  MOV R0, #20H</p><p>  SJMP DISP1</p><p>  READ: MOV R5, TH1</p><p>  MOV R6, TL1</p><p>  CJNE R5, #0

27、C3H,READ1</p><p>  CJNE R6, #51H,READ1</p><p>  MOV TH1,#00H ;初值0</p><p>  MOV TL1,#00H</p><p> ?。?----------------------------------------------------------<

28、;/p><p>  ;調(diào)用子程序把R5 R6中的數(shù)字,轉(zhuǎn)換成BCD碼,送到R2 R3 R4</p><p>  READ1:LCALL TXBCD </p><p>  MOV A, R4</p><p>  MOV B, #16</p><p>  DIV AB

29、 ;除以16,目的是分離出高、低四位</p><p>  MOV DPTR,#SEGTAB</p><p>  MOVC A, @A+DPTR</p><p>  MOV SHIWEI, A ;存放十位</p><p><b>  MOV A,B</b></p><

30、p>  MOVC A,@A+DPTR</p><p>  MOV GEWEI, A ;存放個(gè)位</p><p>  MOV A, R2</p><p>  MOVC A,@A+DPTR</p><p>  MOV WANWEI, A ;存放萬(wàn)位</p><p>

31、  MOV A, R3</p><p>  MOV B, #16</p><p><b>  DIV AB</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV QIANWEI, A</p><p><b>  MOV A,B</b><

32、;/p><p>  MOVC A,@A+DPTR</p><p>  MOV BAIWEI, A</p><p><b>  RET</b></p><p>  ;-----------------------------------------------------------</p><p> 

33、 ;兩個(gè)字節(jié)的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼的程序如下:</p><p>  ;功能:16位二進(jìn)制數(shù)變換成為 BCD 碼;</p><p>  ;入口:R5 R6 中是 16 位二進(jìn)制數(shù),其中R5中是高 8 位;</p><p>  ;出口:R2 R3 R4 中是 BCD 碼,其中R2中是萬(wàn)位,R3中是千、百位,R4中是十、個(gè)位。</p><p> 

34、 TXBCD:CLR A</p><p>  MOV R2, A ;先清零</p><p><b>  MOV R3, A</b></p><p><b>  MOV R4, A</b></p><p>  MOV R7, #16 ;共轉(zhuǎn)換十六位數(shù)</p

35、><p><b>  READ2:</b></p><p><b>  CLR C</b></p><p>  MOV A, R6 ;從待轉(zhuǎn)換數(shù)的高端移出一位到Cy</p><p><b>  RLC A</b></p><p><

36、;b>  MOV R6, A</b></p><p>  MOV A, R5</p><p><b>  RLC A</b></p><p><b>  MOV R5, A</b></p><p>  MOV A, R4 ;送到BCD碼的低端</p&g

37、t;<p>  ADDC A, R4 ;帶進(jìn)位加。自身相加,相當(dāng)于左移一位</p><p>  DA A ;十進(jìn)制調(diào)整,變成BCD碼</p><p><b>  MOV R4, A</b></p><p>  MOV A, R3</p><p>  AD

38、DC A, R3</p><p><b>  DA A</b></p><p><b>  MOV R3, A</b></p><p>  MOV A, R2</p><p>  ADDC A, R2</p><p><b>  MOV R2, A</b

39、></p><p>  DJNZ R7,READ2 ;共轉(zhuǎn)換十六位數(shù)</p><p><b>  RET</b></p><p>  DELAY: MOV R5,#05H ;延時(shí)1ms</p><p>  LOOP2: MOV R6,#0FFH</p><p&g

40、t;<b>  DJNZ R6,$</b></p><p>  DJNZ R5,LOOP2</p><p><b>  RET</b></p><p>  SEGTAB: DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4</p><p>  DB 6DH,7DH,07H,7FH

41、,6FH ;5,6,7,8,9</p><p><b>  END</b></p><p>  3. 出租車(chē)計(jì)費(fèi)系統(tǒng) </p><p><b>  ORG 0000H</b></p><p>  AJMP START</p><p><b>  ORG 00

42、1BH</b></p><p>  SJMP T1INT</p><p><b>  ORG 0030H</b></p><p>  SHIQIAN EQU 20H</p><p>  QIANMI EQU 21H</p><p>  BAIMI EQU 22H</p

43、><p>  SHIYUAN EQU 24H</p><p>  YUAN EQU 25H</p><p>  JIAO EQU 26H</p><p>  ;-------------------------------------------------------------------------</p><

44、;p><b>  ;程序初始化</b></p><p>  START: CLR P2.3</p><p>  MOV R3,#02H</p><p>  MOV SHIQIAN,#00H</p><p>  MOV QIANMI ,#00H</p><p>  MOV BAIMI,#00

45、H</p><p>  MOV SHIYUAN,#00H</p><p>  MOV YUAN,#05H</p><p>  MOV JIAO,#00H</p><p>  MOV TMOD, #60H </p><p>  MOV TH1,#9CH</p><p>

46、;  MOV TL1,#9CH</p><p><b>  SETB TR1</b></p><p><b>  SETB ET1</b></p><p><b>  SETB EA</b></p><p>  ;--------------------------------

47、---------------------------------------------</p><p><b>  ;主程序</b></p><p>  MAIN: LCALL DISPM</p><p>  LCALL DISPL</p><p><b>  SJMP MAIN</b>&

48、lt;/p><p>  ;---------------------------------------------------------------------------------</p><p><b>  ;中斷處理程序</b></p><p>  T1INT: LCALL LONG</p><p>  MO

49、V A,QIANMI</p><p><b>  CLR C</b></p><p>  SUBB A,#02H</p><p>  JNC T1 ;大于兩千米轉(zhuǎn)到T1</p><p><b>  RETI</b></p><p>  T1

50、: DJNZ R3,T2</p><p>  MOV R3,#01H</p><p>  MOV A,BAIMI</p><p>  CJNE A,#05H,NEXT ;和5相等,就更新價(jià)格,否則判斷是否和0相等</p><p>  LCALL MONEY</p><p><b> 

51、 RETI</b></p><p>  NEXT: CJNE A,#00H,T2 ;和0相等,更新價(jià)格,否則返回</p><p>  LCALL MONEY</p><p>  T2: RETI</p><p>  ;-------------------------------------------

52、-----------------------------------</p><p><b>  ; 顯示里程</b></p><p>  DISPL: MOV R0, #20H</p><p><b>  MOV A,@R0</b></p><p>  MOV DPTR,#SEGTAB<

53、/p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#09H ;位選</p><p>  MOV P0, A ;段選</p><p>  LCALL DELAY</p><p><b>  INC R0<

54、;/b></p><p><b>  MOV A,@R0</b></p><p>  MOVC A,@A+DPTR</p><p>  ADD A,#80H ;顯示小數(shù)點(diǎn)</p><p>  MOV P2,#0AH ;位選</p>

55、<p>  MOV P0,A ;段選</p><p>  LCALL DELAY</p><p><b>  INC R0</b></p><p><b>  MOV A,@R0</b></p><p>  MOVC A,@A+DPTR<

56、/p><p>  MOV P2,#0BH ;位選</p><p>  MOV P0,A ;段選</p><p>  LCALL DELAY</p><p><b>  RET</b></p><p>  ;---------

57、------------------------------------------------------------------------</p><p><b>  ;顯示價(jià)格</b></p><p>  DISPM: MOV R0, #24H</p><p>  MOV A, @R0</p><p>  M

58、OV DPTR,#SEGTAB</p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#0DH</p><p>  MOV P0,A ;顯示十元</p><p>  LCALL DELAY</p><p><b>  INC R0</b&g

59、t;</p><p><b>  MOV A,@R0</b></p><p>  MOVC A,@A+DPTR</p><p>  ADD A,#80H</p><p>  MOV P2,#0EH</p><p>  MOV P0,A ;顯示元</p>

60、<p>  LCALL DELAY</p><p><b>  INC R0</b></p><p><b>  MOV A,@R0</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,#0FH ;顯示角</p&

61、gt;<p><b>  MOV P0,A</b></p><p>  LCALL DELAY</p><p><b>  RET</b></p><p>  ;------------------------------------------------------------------------&l

62、t;/p><p><b>  ;價(jià)格計(jì)算子程序</b></p><p>  MONEY:MOV R6,28H ;</p><p><b>  MOV A,R6</b></p><p>  MOV DPTR,#NUM</p><p>

63、;  MOVC A,@A+DPTR</p><p>  MOV JIAO,A</p><p><b>  INC R6</b></p><p>  MOV 28H,R6</p><p>  CJNE R6,#05H,M1</p><p>  MOV 28H,#00H</p><

64、p>  M1:CJNE A,#08H,M2 ;等于8沒(méi)有進(jìn)位</p><p><b>  SJMP M4</b></p><p>  M2:MOV A,YUAN</p><p>  CJNE A,#09H,M3 ;等于9,進(jìn)位</p><p>

65、  INC SHIYUAN</p><p>  MOV YUAN,#00H</p><p><b>  SJMP M4</b></p><p>  M3:INC YUAN</p><p><b>  M4:RET</b></p><p>  NUM: DB 08H,

66、06H,04H,02H,00H</p><p>  ;-----------------------------------------------------------------------</p><p><b>  ;里程計(jì)算子程序</b></p><p><b>  LONG:</b></p>&

67、lt;p>  MOV A,BAIMI</p><p>  CJNE A,#09H,L1;和9相等就置0,不等就跳到L1</p><p>  MOV BAIMI, #00H</p><p>  INC QIANMI</p><p>  MOV A,QIANMI;千米加1</p><p>  CJNE

68、 A,#0AH,L2;等于10就置0,不等跳到L2</p><p>  MOV QIANMI,#00H</p><p>  INC SHIQIAN</p><p>  L1: INC BAIMI;百米加1</p><p><b>  L2:RET</b></p><p>

69、  ;-------------------------------------------------------------------------</p><p><b>  ;延時(shí)子程序</b></p><p>  DELAY: MOV R5,#05H ;延時(shí)2.5ms</p><p>  LOOP1: MO

70、V R6,#0FFH</p><p><b>  DJNZ R6,$</b></p><p>  DJNZ R5,LOOP1</p><p><b>  RET</b></p><p>  SEGTAB: DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4</p>

71、<p>  DB 6DH,7DH,07H,7FH,6FH ;5,6,7,8,9</p><p><b>  END</b></p><p><b>  五、心得體會(huì)</b></p><p>  作為一名電氣工程及自動(dòng)化專(zhuān)業(yè)的大三學(xué)生,我覺(jué)得做單片機(jī)課程設(shè)計(jì)是十分有意義的,而且是十分必要的。在已度過(guò)的大學(xué)時(shí)間里

72、,我們大多數(shù)接觸的是專(zhuān)業(yè)課。我們?cè)谡n堂上掌握的僅僅是專(zhuān)業(yè)課的理論知識(shí),如何去鍛煉我們的實(shí)踐能力?如何把我們所學(xué)的專(zhuān)業(yè)基礎(chǔ)課理論知識(shí)運(yùn)用到實(shí)踐中去呢?我想做類(lèi)似的課程設(shè)計(jì)就為我們提供了良好的實(shí)踐平臺(tái)。 開(kāi)始的第一天就自己做的是0到255的計(jì)數(shù)器,我們上課是只上到定時(shí)器那一章節(jié),對(duì)于后面的數(shù)碼管顯示沒(méi)有講到,但是這次卻要用到數(shù)碼管顯示數(shù)據(jù),所以開(kāi)始知識(shí)知道要用到定時(shí)器,在TH、TL里面放個(gè)初值,然后啟動(dòng)定時(shí)/計(jì)數(shù)器就可以開(kāi)始計(jì)

73、數(shù)了,然后到了255個(gè)后又重新開(kāi)始,但是怎么把所記的脈沖數(shù)顯示出來(lái)卻不懂。專(zhuān)門(mén)把書(shū)好好看了遍,數(shù)碼管顯示知道是怎么回事后就可以開(kāi)始了。 完成這次的單片機(jī)課程設(shè)計(jì)花費(fèi)將近一周時(shí)間,但是卻從理論到實(shí)踐,學(xué)到了很多的東西。同時(shí)不僅鞏固了以前所學(xué)過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在這次

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論