版權(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ì)資料袋</b></p><p> 題 目 對(duì)外部脈沖計(jì)數(shù)及出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì) </p><p> 起止日期 2013 年 12 月 9 日~ 2013 年 12 月 22 日</p><p> 目 錄 清 單<
2、/p><p><b> 課程設(shè)計(jì)任務(wù)書(shū)</b></p><p> 2013 —2014學(xué)年第 1 學(xué)期</p><p> 電氣與信息工程 學(xué)院(系、部) 電氣工程及自動(dòng)化 專(zhuān)業(yè) 1102 班級(jí)</p><p> 課程名稱(chēng): 單片機(jī)應(yīng)用系統(tǒng)
3、 </p><p> 設(shè)計(jì)題目: 對(duì)外部脈沖計(jì)數(shù)及出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì) </p><p> 完成期限:自 2013 年 12 月 9 日至 2013 年 12 月 22 日共 2 周</p><p> 指導(dǎo)教師(簽字):
4、 年 月 日</p><p> 系(教研室)主任(簽字): 年 月 日</p><p><b> 一、設(shè)計(jì)任務(wù):</b></p><p> 1.1 外部脈沖自動(dòng)計(jì)數(shù),自動(dòng)顯示。</p><p>
5、 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><p> 起
6、步價(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ì)原理及思路</b>&
7、lt;/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)制數(shù)的十位,余數(shù)即相應(yīng)的十進(jìn)制
8、的個(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> ;入口:HT1,TL1中是
9、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> 起步價(jià)為5元(2km
10、以?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> 三、PROTEUS
11、硬件電路圖</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><b> 1.
12、255計(jì)數(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上電復(fù)位后要延時(shí)25ms</p><p> MOV DATA_OUT,#10100100B ;發(fā)復(fù)位指令</p><p><b> CALL SEND&
17、lt;/b></p><p> SETB CS ;復(fù)位CS為高電平</p><p> MOV TMOD,#05H ;定時(shí)器 T0初始化(計(jì)數(shù))</p><p> SETB TR0 ;啟動(dòng)T0</p><p> MAIN: MOV A,TL0
18、 </p><p> CALL BCD ;數(shù)據(jù)BCD轉(zhuǎn)換</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碼調(diào)整子程序</p><p> ;****************************************
27、***</p><p> BCD: ;BCD碼調(diào)整子程序</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> ; 長(zhǎng)延時(shí)子程序</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、> ; 短延時(shí)子程序</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> ; 啟動(dòng)延時(shí)子程序</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計(jì)數(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上電復(fù)位后要延時(shí)25ms</p><p> MOV DATA_OUT,#10100100B ;發(fā)復(fù)位指令</p><p><b> CALL SEND</b></p>
44、<p> SETB CS ;復(fù)位CS為高電平</p><p> MOV TMOD,#05H ;定時(shí)器 T0初始化(計(jì)數(shù))</p><p> SETB TR0 ;啟動(dòng)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轉(zhuǎn)換</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碼調(diào)整子程序</p><p> ;******
58、*************************************</p><p> BCDA: ;BCD碼調(diào)整子程序 低八位</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、個(gè)位</p><p><b> RET</b></p><p> BCDB: ;BCD碼調(diào)整子程序 高八位</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> ;高八位實(shí)際BCD碼調(diào)整</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> ; 長(zhǎng)延時(shí)子程序</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> ; 短延時(shí)子程序</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> ; 啟動(dòng)延時(shí)子程序</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.出租車(chē)計(jì)費(fèi)系統(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個(gè)數(shù)b*/</p><p><b> {</b></p><p> sendbyte(a);</p><p> sendbyte(b);</p><p><b> }</b></p><p> void bcd()/*調(diào)整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); /*復(fù)位*/</p><p><b> CS=1;</b>&l
117、t;/p><p> TMOD=0X05; /*開(kāi)工作方式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> 五、心得體會(huì)</b></p><p> 作為一名電氣工程及自動(dòng)化專(zhuān)業(yè)的大三學(xué)生,我覺(jué)得做單片機(jī)課程設(shè)
121、計(jì)是十分有意義的,而且是十分必要的。在已度過(guò)的大學(xué)時(shí)間里,我們大多數(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í)器,在
122、TH、TL里面放個(gè)初值,然后啟動(dòng)定時(shí)/計(jì)數(shù)器就可以開(kāi)始計(jì)數(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ì)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)--對(duì)外部脈沖計(jì)數(shù)及出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--對(duì)外部脈沖計(jì)數(shù)及出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---對(duì)外部脈沖計(jì)數(shù)及出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---對(duì)外部脈沖計(jì)數(shù)及出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--對(duì)外部脈沖計(jì)數(shù)及出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---對(duì)外部脈沖計(jì)數(shù)及出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)
- 出租車(chē)自動(dòng)計(jì)費(fèi)系統(tǒng)eda課程設(shè)計(jì)
- sopceda綜合課程設(shè)計(jì)---出租車(chē)計(jì)費(fèi)系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---出租車(chē)計(jì)費(fèi)系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)--出租車(chē)計(jì)費(fèi)系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)---出租車(chē)計(jì)費(fèi)系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)--出租車(chē)計(jì)費(fèi)系統(tǒng)
- eda課程設(shè)計(jì)---出租車(chē)計(jì)費(fèi)器系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)-- 出租車(chē)計(jì)費(fèi)系統(tǒng)
- eda課程設(shè)計(jì)---出租車(chē)計(jì)費(fèi)器設(shè)計(jì)
- eda 課程設(shè)計(jì)--出租車(chē)計(jì)費(fèi)器設(shè)計(jì)
- eda課程設(shè)計(jì)出租車(chē)計(jì)費(fèi)器
- eda課程設(shè)計(jì)--出租車(chē)計(jì)費(fèi)器
- 課程設(shè)計(jì)-出租車(chē)自動(dòng)計(jì)費(fèi)器設(shè)計(jì)
- 出租車(chē)計(jì)費(fèi)器課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論