2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  課程設計資料袋</b></p><p>  題 目 對外部脈沖計數(shù)及出租車計費系統(tǒng)的設計 </p><p>  起止日期 2013 年 12 月 9 日~ 2013 年 12 月 22 日</p><p>  目 錄 清 單<

2、/p><p><b>  課程設計任務書</b></p><p>  2013 —2014學年第 1 學期</p><p>  電氣與信息工程 學院(系、部) 電氣工程及自動化 專業(yè) 1102 班級</p><p>  課程名稱: 單片機應用系統(tǒng)

3、 </p><p>  設計題目: 對外部脈沖計數(shù)及出租車計費系統(tǒng)的設計 </p><p>  完成期限:自 2013 年 12 月 9 日至 2013 年 12 月 22 日共 2 周</p><p>  指導教師(簽字):

4、 年 月 日</p><p>  系(教研室)主任(簽字): 年 月 日</p><p><b>  一、設計任務:</b></p><p>  1.1 外部脈沖自動計數(shù),自動顯示。</p><p> 

5、 1.1.1設計一個255計數(shù)器:0-255計數(shù),計滿后自動清0,重新計數(shù)(在數(shù)碼管中顯示)。</p><p>  1.1.2設計一個50000計數(shù)器:0-50000計數(shù),計滿后自動清0,重新計數(shù)(在數(shù)碼管中顯示)。</p><p>  1.2 設計一個出租車計費系統(tǒng): </p><p>  起

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

7、lt;/p><p>  1. 設計一個255計數(shù)器:0-255計數(shù),計滿后自動清0,重新計數(shù)(在數(shù)碼管中顯示)。</p><p>  原理:255可用8位二進制數(shù)表示,故本設計可直接采用可以重裝載的計數(shù)器T1模式二進行計數(shù)。然后對TL1的內容進行相應的二進制---十進制轉換:首先TL1的內容除以64H,所的商就是十進制的百位,然后用余數(shù)除以0AH,所得的商就是十進制數(shù)的十位,余數(shù)即相應的十進制

8、的個位。接著將相應的十進制數(shù)進行譯碼,并在LED數(shù)碼管上顯示出來。每來一個脈沖其顯示的結果加一,直加至255然后T1重新開始計數(shù)。</p><p>  2設計一個50000計數(shù)器:0-50000計數(shù),計滿后自動清0,重新計數(shù)(在數(shù)碼管中顯示)。</p><p>  原理: 將TH1和TL1中的十六進制數(shù)轉為BCD碼,</p><p>  ;入口:HT1,TL1中是

9、16 位二進制數(shù),其中TH1中是高 8 位;</p><p>  ;出口:R2 R3 R4 中是 BCD 碼,其中R2中是萬位,R3中是千、百位,R4中是十、個位。</p><p>  再轉為對應的個.十.百.千.萬位。送到緩沖區(qū)。接著調用顯示子程序。</p><p>  3.設計一個出租車計費系統(tǒng):</p><p>  起步價為5元(2km

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

11、硬件電路圖</p><p><b>  1.255計數(shù)器</b></p><p>  2.50000計數(shù)器</p><p>  3. 出租車計費系統(tǒng) </p><p><b>  四、調試程序</b></p><p><b>  1.

12、255計數(shù)器</b></p><p>  BIT_COUNT DATA 07FH</p><p>  TIMER DATA 07EH</p><p>  TIMER1 DATA 07DH</p><p>  SHIWEI_DATA DATA 07CH</p><p>  BAI

13、 DATA 07BH</p><p>  SHI DATA 07AH</p><p>  GEWEI DATA 079H</p><p>  DATA_IN DATA 020H</p><p>  DATA_OUT DATA 021H</p><p>  KEY B

14、IT P1.3 ;7279的KEY連接于P1.3</p><p>  CLK BIT P1.6 ;7279的CLK連接于P1.6</p><p>  DAT BIT P1.7 ;7279的DATA連接于P1.7</p><p>  CS BIT P2.7 ;

15、7279的CS連接于P2.7</p><p>  ORG 000H</p><p>  JMP START</p><p>  ORG 100H</p><p>  START: MOV SP,#2FH ;定義堆棧</p><p>  MOV P1,#1101

16、1011B ;I/O口初始化</p><p>  MOV TIMER,#50</p><p>  CALL START_DELAY ;7279上電復位后要延時25ms</p><p>  MOV DATA_OUT,#10100100B ;發(fā)復位指令</p><p><b>  CALL SEND&

17、lt;/b></p><p>  SETB CS ;復位CS為高電平</p><p>  MOV TMOD,#05H ;定時器 T0初始化(計數(shù))</p><p>  SETB TR0 ;啟動T0</p><p>  MAIN: MOV A,TL0

18、 </p><p>  CALL BCD ;數(shù)據(jù)BCD轉換</p><p>  CALL DISP ;數(shù)碼管顯示</p><p><b>  JMP MAIN</b></p><p>  ;*******************************************<

19、;/p><p>  ; 發(fā)送子程序</p><p>  ;*******************************************</p><p>  SEND: MOV BIT_COUNT,#8</p><p><b>  CLR CS</b></p>

20、<p>  CALL LONG_DELAY</p><p>  SEND_LOOP: MOV C,DATA_OUT.7</p><p>  MOV DAT,C</p><p><b>  SETB CLK</b></p><p>  MOV A,DATA_OUT</p><

21、;p><b>  RL A</b></p><p>  MOV DATA_OUT,A</p><p>  CALL SHORT_DELAY</p><p><b>  CLR CLK</b></p><p>  CALL SHORT_DELAY</p><

22、p>  DJNZ BIT_COUNT,SEND_LOOP</p><p><b>  CLR DAT</b></p><p><b>  RET</b></p><p>  ;*******************************************</p><p>  ;

23、 接收子程序</p><p>  ;*******************************************</p><p>  RECEIVE: MOV BIT_COUNT,#8</p><p>  SETB DAT</p><p>  CALL LONG_DELAY</p>

24、<p>  RECEIVE_LOOP: SETB CLK</p><p>  CALL SHORT_DELAY</p><p>  MOV A,DATA_IN</p><p><b>  RL A</b></p><p>  MOV DATA_IN,A</p><

25、p>  MOV C,DAT</p><p>  MOV DATA_IN.0,C</p><p>  CLR CLK</p><p>  CALL SHORT_DELAY</p><p>  DJNZ BIT_COUNT,RECEIVE_LOOP</p><p>  CLR DAT&

26、lt;/p><p><b>  RET</b></p><p>  ;*******************************************</p><p>  ; BCD碼調整子程序</p><p>  ;****************************************

27、***</p><p>  BCD: ;BCD碼調整子程序</p><p>  MOV B,#64H</p><p><b>  DIV AB</b></p><p>  MOV BAI,A ;保存百位</p><p><b>  MOV A,B

28、</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p>  MOV SHI,A ;保存十位</p><p>  MOV GEWEI,B ;保存?zhèn)€位</p><p><b>  RET&l

29、t;/b></p><p>  ;*******************************************</p><p>  ; 顯示子程序</p><p>  ;*******************************************</p><p>  DISP:

30、 CLR CS ;顯示子程序</p><p>  MOV DATA_OUT,#10000010B</p><p><b>  CALL SEND</b></p><p>  MOV DATA_OUT,BAI</p><p><b>  CALL SEND</b></p&

31、gt;<p>  MOV DATA_OUT,#10000001B</p><p><b>  CALL SEND</b></p><p>  MOV DATA_OUT,SHI</p><p><b>  CALL SEND</b></p><p>  MOV DATA_OUT,#

32、10000000B</p><p><b>  CALL SEND</b></p><p>  MOV DATA_OUT,GEWEI</p><p><b>  CALL SEND</b></p><p><b>  SETB CS</b></p><p

33、><b>  RET</b></p><p>  ;*******************************************</p><p>  ; 長延時子程序</p><p>  ;*******************************************</p><

34、p>  LONG_DELAY: MOV TIMER,#80</p><p>  DELAY_LOOP: DJNZ TIMER,DELAY_LOOP</p><p><b>  RET</b></p><p>  ;*******************************************</p><p

35、>  ; 短延時子程序</p><p>  ;*******************************************</p><p>  SHORT_DELAY:MOV TIMER,#6</p><p>  SHORT_LP: DJNZ TIMER,SHORT_LP</p><p><

36、;b>  RET </b></p><p>  ;*******************************************</p><p>  ; 啟動延時子程序</p><p>  ;*******************************************</p><p>

37、  START_DELAY: MOV TIMER1,#255</p><p>  START_DELAY1:DJNZ TIMER1,START_DELAY1</p><p>  DJNZ TIMER,START_DELAY</p><p><b>  RET </b></p><p><b>  END<

38、;/b></p><p>  2.50000計數(shù)器</p><p>  BIT_COUNT DATA 07FH</p><p>  TIMER DATA 07EH</p><p>  TIMER1 DATA 07DH</p><p>  JL_HDATA DATA 07CH<

39、/p><p>  JL_LDATA DATA 07BH</p><p>  WAN DATA 07AH</p><p>  QIAN DATA 079H</p><p>  BAI DATA 078H</p><p>  SHI DATA 077H</p

40、><p>  GEWEI DATA 076H</p><p>  YICHU DATA 075H</p><p>  DATA_IN DATA 020H</p><p>  DATA_OUT DATA 021H</p><p>  KEY BIT P1.3

41、;7279的KEY連接于P1.3</p><p>  CLK BIT P1.6 ;7279的CLK連接于P1.6</p><p>  DAT BIT P1.7 ;7279的DATA連接于P1.7</p><p>  CS BIT P2.7 ;7279的CS連接于P2.7</p

42、><p>  ORG 000H</p><p>  JMP START</p><p>  ORG 100H</p><p>  START: MOV SP,#2FH ;定義堆棧</p><p>  MOV P1,#11011011B ;I/O口初始化

43、</p><p>  MOV TIMER,#50</p><p>  CALL START_DELAY ;7279上電復位后要延時25ms</p><p>  MOV DATA_OUT,#10100100B ;發(fā)復位指令</p><p><b>  CALL SEND</b></p>

44、<p>  SETB CS ;復位CS為高電平</p><p>  MOV TMOD,#05H ;定時器 T0初始化(計數(shù))</p><p>  SETB TR0 ;啟動T0</p><p>  ; MOV TL0,#4DH</p><p>  ; MOV TH0,#0C3H&l

45、t;/p><p>  MAIN: MOV GEWEI,#00H</p><p>  MOV SHI,#00H</p><p>  MOV BAI,#00H</p><p>  MOV QIAN,#00H</p><p>  MOV WAN,#00H</p><p>  MOV Y

46、ICHU,#00H</p><p>  ; MOV A,TL0</p><p><b>  ;INC A</b></p><p>  ;MOV TL0,A</p><p>  MOV A,TL0</p><p><b>  CALL BCDA</b></p>

47、<p>  ;MOV A,GEWEI</p><p>  ;MOV A,SHI</p><p>  ;MOV A,BAI</p><p>  ;MOV A,#0C3H</p><p>  MOV A,TH0</p><p><b>  CALL BCDB</b></p>

48、<p><b>  ;數(shù)據(jù)BCD轉換</b></p><p>  CALL DISP ;數(shù)碼管顯示</p><p><b>  MOV A,TL0</b></p><p><b>  MOV A,TH0</b></p><p>  ; MOV A,GEWEI<

49、;/p><p>  ; MOV A,SHI</p><p>  ; MOV A,BAI</p><p>  ; MOV A,QIAN</p><p>  ;MOV A,WAN</p><p><b>  JMP MAIN</b></p><p>  ;************

50、*******************************</p><p>  ; 發(fā)送子程序</p><p>  ;*******************************************</p><p>  SEND: MOV BIT_COUNT,#8</p><p><b&

51、gt;  CLR CS</b></p><p>  CALL LONG_DELAY</p><p>  SEND_LOOP: MOV C,DATA_OUT.7</p><p>  MOV DAT,C</p><p><b>  SETB CLK</b></p><p>

52、;  MOV A,DATA_OUT</p><p><b>  RL A</b></p><p>  MOV DATA_OUT,A</p><p>  CALL SHORT_DELAY</p><p><b>  CLR CLK</b></p><p> 

53、 CALL SHORT_DELAY</p><p>  DJNZ BIT_COUNT,SEND_LOOP</p><p><b>  CLR DAT</b></p><p><b>  RET</b></p><p>  ;**********************************

54、*********</p><p>  ; 接收子程序</p><p>  ;*******************************************</p><p>  RECEIVE: MOV BIT_COUNT,#8</p><p>  SETB DAT</p><

55、p>  CALL LONG_DELAY</p><p>  RECEIVE_LOOP: SETB CLK</p><p>  CALL SHORT_DELAY</p><p>  MOV A,DATA_IN</p><p><b>  RL A</b></p><p>

56、  MOV DATA_IN,A</p><p>  MOV C,DAT</p><p>  MOV DATA_IN.0,C</p><p>  CLR CLK</p><p>  CALL SHORT_DELAY</p><p>  DJNZ BIT_COUNT,RECEIVE_LOOP

57、</p><p>  CLR DAT</p><p><b>  RET</b></p><p>  ;*******************************************</p><p>  ; BCD碼調整子程序</p><p>  ;******

58、*************************************</p><p>  BCDA: ;BCD碼調整子程序 低八位</p><p>  MOV B,#64H</p><p><b>  DIV AB</b></p><p>  MOV BAI,A ;保存百位

59、</p><p><b>  MOV A,B</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p>  MOV SHI,A ;保存十位</p><p>  MOV GEWEI,B ;保存

60、個位</p><p><b>  RET</b></p><p>  BCDB: ;BCD碼調整子程序 高八位</p><p>  MOV R2,00H</p><p>  MOV R3,00H</p><p>  MOV R4,00H</p><p

61、>  MOV B,#64H</p><p><b>  DIV AB</b></p><p>  MOV R2,A ;保存百位</p><p><b>  MOV A,B</b></p><p>  MOV B,#0AH</p><p><b>

62、  DIV AB</b></p><p>  MOV R3,A ;保存十位</p><p>  MOV R4,B ;保存?zhèn)€位</p><p>  ;高八位實際BCD碼調整</p><p><b>  MOV A,R4</b></p><p>  MOV B,

63、#06H</p><p><b>  MUL AB</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  ADD A,SHI</b></p><p><b>  MOV

64、SHI,A</b></p><p><b>  MOV R7,B</b></p><p><b>  MOV A,R7</b></p><p>  ADD A,GEWEI</p><p>  MOV GEWEI,A</p><p><b>  MOV A

65、,R4</b></p><p>  MOV B,#05H</p><p><b>  MUL AB</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  ADD A,BAI<

66、/b></p><p><b>  MOV BAI,A</b></p><p><b>  MOV R7,B</b></p><p><b>  MOV A,R7</b></p><p><b>  ADD A,SHI</b></p>

67、<p><b>  MOV SHI,A</b></p><p><b>  MOV A,R4</b></p><p>  MOV B,#02H</p><p><b>  MUL AB</b></p><p>  MOV B,#0AH</p><p

68、><b>  DIV AB</b></p><p>  ADD A,QIAN</p><p>  MOV QIAN,A</p><p><b>  MOV R7,B</b></p><p><b>  MOV A,R7</b></p><p>&l

69、t;b>  ADD A,BAI</b></p><p><b>  MOV BAI,A</b></p><p><b>  MOV A,R3</b></p><p>  MOV B,#06H</p><p><b>  MUL AB</b></p>

70、<p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  ADD A,BAI</b></p><p><b>  MOV BAI,A</b></p><p><b>  MOV R7,B</b&

71、gt;</p><p><b>  MOV A,R7</b></p><p><b>  ADD A,SHI</b></p><p><b>  MOV SHI,A</b></p><p><b>  MOV A,R3</b></p><

72、;p>  MOV B,#05H</p><p><b>  MUL AB</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p>  ADD A,QIAN</p><p>  MOV QIAN,A</p&

73、gt;<p><b>  MOV R7,B</b></p><p><b>  MOV A,R7</b></p><p><b>  ADD A,BAI</b></p><p><b>  MOV BAI,A</b></p><p><

74、b>  MOV A,R3</b></p><p>  MOV B,#02H</p><p><b>  MUL AB</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  A

75、DD A,WAN</b></p><p><b>  MOV WAN,A</b></p><p><b>  MOV R7,B</b></p><p><b>  MOV A,R7</b></p><p>  ADD A,QIAN</p><p&

76、gt;  MOV QIAN,A</p><p><b>  MOV A,R2</b></p><p>  MOV B,#06H</p><p><b>  MUL AB</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB<

77、;/b></p><p>  ADD A,QIAN</p><p>  MOV QIAN,A</p><p><b>  MOV R7,B</b></p><p><b>  MOV A,R7</b></p><p><b>  ADD A,BAI</b

78、></p><p><b>  MOV BAI,A</b></p><p><b>  MOV A,R2</b></p><p>  MOV B,#05H</p><p><b>  MUL AB</b></p><p>  MOV B,#0AH&

79、lt;/p><p><b>  DIV AB</b></p><p><b>  ADD A,WAN</b></p><p><b>  MOV WAN,A</b></p><p><b>  MOV R7,B</b></p><p>

80、<b>  MOV A,R7</b></p><p>  ADD A,QIAN</p><p>  MOV QIAN,A</p><p><b>  MOV A,R2</b></p><p>  MOV B,#02H</p><p><b>  MUL AB<

81、/b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p>  ADD A,YICHU</p><p>  MOV YICHU,A</p><p><b>  MOV R7,B</b></p><

82、;p><b>  MOV A,R7</b></p><p><b>  ADD A,WAN</b></p><p><b>  MOV WAN,A</b></p><p>  MOV A,GEWEI</p><p>  MOV B,#0AH</p><

83、p><b>  DIV AB</b></p><p><b>  ADD A,SHI</b></p><p><b>  MOV SHI,A</b></p><p>  MOV GEWEI,B</p><p><b>  MOV A,SHI</b>&

84、lt;/p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  ADD A,BAI</b></p><p><b>  MOV BAI,A</b></p><p><b>  MOV SH

85、I,B</b></p><p><b>  MOV A,BAI</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p>  ADD A,QIAN</p><p>  MOV QIAN,A</p>

86、;<p><b>  MOV BAI,B</b></p><p>  MOV A,QIAN</p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p><b>  ADD A,WAN</b></p>&

87、lt;p><b>  MOV WAN,A</b></p><p>  MOV QIAN,B</p><p><b>  MOV A,WAN</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p><p

88、>  ADD A,YICHU</p><p>  MOV YICHU,A</p><p><b>  MOV WAN,B</b></p><p><b>  RET</b></p><p>  ;*******************************************</p

89、><p>  ; 顯示子程序</p><p>  ;*******************************************</p><p><b>  DISP:</b></p><p><b>  CLR CS</b></p><p>

90、;  MOV DATA_OUT,#10000100B</p><p><b>  CALL SEND</b></p><p>  MOV DATA_OUT,WAN</p><p><b>  CALL SEND</b></p><p>  MOV DATA_OUT,#10000011B<

91、/p><p><b>  CALL SEND</b></p><p>  MOV DATA_OUT,QIAN</p><p><b>  CALL SEND</b></p><p>  MOV DATA_OUT,#10000010B</p><p><b>  CA

92、LL SEND</b></p><p>  MOV DATA_OUT,BAI</p><p><b>  CALL SEND</b></p><p>  MOV DATA_OUT,#10000001B</p><p><b>  CALL SEND</b></p>&l

93、t;p>  MOV DATA_OUT,SHI</p><p><b>  CALL SEND</b></p><p>  MOV DATA_OUT,#10000000B</p><p><b>  CALL SEND</b></p><p>  MOV DATA_OUT,GEWEI<

94、;/p><p><b>  CALL SEND</b></p><p><b>  SETB CS</b></p><p><b>  MOV A,WAN</b></p><p>  CJNE A,#5,LOOPL</p><p>  LOOPL: JC L

95、OOP</p><p>  ; MOV R6,TL0</p><p>  ; MOV A,TH0</p><p>  ; CJNE A,#0C3H,LOOP</p><p>  ;CJNE R6,#50H,LOOP</p><p>  MOV TH0,#00H</p><p>  MOV TL0

96、,#00H</p><p><b>  LOOP:RET</b></p><p>  ;*******************************************</p><p>  ; 長延時子程序</p><p>  ;*******************************

97、************</p><p>  LONG_DELAY: MOV TIMER,#80</p><p>  DELAY_LOOP: DJNZ TIMER,DELAY_LOOP</p><p><b>  RET</b></p><p>  ;********************************

98、***********</p><p>  ; 短延時子程序</p><p>  ;*******************************************</p><p>  SHORT_DELAY:MOV TIMER,#6</p><p>  SHORT_LP: DJNZ TIMER,SHOR

99、T_LP</p><p><b>  RET</b></p><p>  ;*******************************************</p><p>  ; 啟動延時子程序</p><p>  ;*************************************

100、******</p><p>  START_DELAY: MOV TIMER1,#255</p><p>  START_DELAY1:DJNZ TIMER1,START_DELAY1</p><p>  DJNZ TIMER,START_DELAY</p><p><b>  RET</b></p>

101、<p><b>  END</b></p><p><b>  3.出租車計費系統(tǒng)</b></p><p>  #include <reg51.h></p><p>  #include <intrins.h></p><p>  #define uint unsi

102、gned int</p><p>  #define uchar unsigned char</p><p>  #define PIN 0x80</p><p>  sbit KEY=P1^3;</p><p>  sbit CLK=P1^6;</p><p>  sbit DAT=P1^7;</p>

103、<p>  sbit CS=P2^7;</p><p>  uchar data_out,dianli,shili,li,yuan,shiyuan,jiao;</p><p>  uint licheng,zongjia;</p><p>  void long_delay()</p><p><b>  {</

104、b></p><p><b>  uchar a;</b></p><p>  for(a=0;a<=50;a++)</p><p><b>  {</b></p><p><b>  _nop_();</b></p><p><b&g

105、t;  }</b></p><p><b>  }</b></p><p>  void short_delay()</p><p><b>  {</b></p><p><b>  uchar b;</b></p><p>  for(b

106、=0;b<=8;b++)</p><p><b>  {</b></p><p><b>  _nop_();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  voi

107、d sendbyte(uchar data_out)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p><b>  CS=0;</b></p><p>  long_delay();</p><p&

108、gt;  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>  if(data_out&0x80)</p><p><b>  DAT=1;</b></p><p><b>  else</b></p><

109、;p><b>  DAT=0;</b></p><p><b>  CLK=1;</b></p><p>  short_delay();</p><p><b>  CLK=0;</b></p><p>  short_delay();</p><p

110、>  data_out=data_out<<1;</p><p><b>  }</b></p><p><b>  DAT=0;</b></p><p><b>  }</b></p><p>  void xianshi_7279(uchar a, uch

111、ar b) /*顯示第a個數(shù)b*/</p><p><b>  {</b></p><p>  sendbyte(a);</p><p>  sendbyte(b);</p><p><b>  }</b></p><p>  void bcd()/*調整bcd碼*

112、/</p><p><b>  {</b></p><p>  shili=(licheng%1000)/100;</p><p>  li=(licheng%100)/10;</p><p>  dianli=licheng%10;</p><p>  shiyuan=zongjia/1000;

113、</p><p>  yuan=(zongjia%1000)/100;</p><p>  jiao=(zongjia%100)/10;</p><p><b>  }</b></p><p>  void display()</p><p><b>  {</b></

114、p><p>  xianshi_7279(PIN+5,shili);</p><p>  xianshi_7279(PIN+4,li+128);</p><p>  xianshi_7279(PIN+3,dianli);</p><p>  xianshi_7279(PIN+2,shiyuan);</p><p>  xi

115、anshi_7279(PIN+1,yuan+128);</p><p>  xianshi_7279(PIN,jiao);</p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p><b&

116、gt;  uint t;</b></p><p><b>  P1=0xdb;</b></p><p>  for (t=0;t<0x2000;t++) ;</p><p>  sendbyte(0xa4); /*復位*/</p><p><b>  CS=1;</b>&l

117、t;/p><p>  TMOD=0X05; /*開工作方式0*/</p><p><b>  TR0=1;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  licheng=(T

118、H0*256+TL0)*5;</p><p>  if(licheng<=20)zongjia=500;</p><p><b>  else</b></p><p><b>  {</b></p><p>  zongjia=(licheng-20)*16+500;</p>&

119、lt;p><b>  }</b></p><p>  if(zongjia>=10000)</p><p><b>  {TH0=0;</b></p><p><b>  TL0=0;}</b></p><p><b>  bcd();</b>

120、</p><p>  display();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  五、心得體會</b></p><p>  作為一名電氣工程及自動化專業(yè)的大三學生,我覺得做單片機課程設

121、計是十分有意義的,而且是十分必要的。在已度過的大學時間里,我們大多數(shù)接觸的是專業(yè)課。我們在課堂上掌握的僅僅是專業(yè)課的理論知識,如何去鍛煉我們的實踐能力?如何把我們所學的專業(yè)基礎課理論知識運用到實踐中去呢?我想做類似的課程設計就為我們提供了良好的實踐平臺。 開始的第一天就自己做的是0到255的計數(shù)器,我們上課是只上到定時器那一章節(jié),對于后面的數(shù)碼管顯示沒有講到,但是這次卻要用到數(shù)碼管顯示數(shù)據(jù),所以開始知識知道要用到定時器,在

122、TH、TL里面放個初值,然后啟動定時/計數(shù)器就可以開始計數(shù)了,然后到了255個后又重新開始,但是怎么把所記的脈沖數(shù)顯示出來卻不懂。專門把書好好看了遍,數(shù)碼管顯示知道是怎么回事后就可以開始了。 完成這次的單片機課程設計花費將近一周時間,但是卻從理論到實踐,學到了很多的東西。同時不僅鞏固了以前所學過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會

溫馨提示

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

評論

0/150

提交評論