版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì)</p><p><b> 資 料 袋</b></p><p> 題 目 出租車計(jì)費(fèi)系統(tǒng) </p><p> 成 績(jī)
2、起止日期 2013 年 11 月 11 日~ 2013 年 11 月 22 日</p><p> 目 錄 清 單</p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 2013—2014學(xué)年第一學(xué)期</p><p> 電氣與信息工程 學(xué)院(系、部) 自動(dòng)化 專
3、業(yè) 1102班 班級(jí)</p><p> 課程名稱: 單片機(jī)應(yīng)用系統(tǒng) </p><p> 設(shè)計(jì)題目: 出租車計(jì)費(fèi)系統(tǒng)
4、 </p><p> 完成期限:自 2013 年 11 月 11 日至 2013 年 11 月 22 日共 2 周</p><p> 指導(dǎo)教師(簽字): 年 月 日</p><p> 系(教研室)主任(簽字):
5、 年 月 日</p><p><b> 摘 要</b></p><p> 單片機(jī)是單片微型計(jì)算機(jī)(CPU)的簡(jiǎn)稱,是集CPU、讀寫寄存器、定時(shí)器、計(jì)數(shù)器和多種接口于一體的微控制器。它體積小,功耗小,成本低,功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動(dòng)化控制領(lǐng)域。而51系列單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次課程設(shè)計(jì)的目的就是要通過對(duì)它的學(xué)習(xí)應(yīng)用
6、,從而達(dá)到學(xué)習(xí)、設(shè)計(jì)、開發(fā)單片機(jī)軟硬件的能力。此次設(shè)計(jì)的出租車計(jì)費(fèi)系統(tǒng),是基于單片機(jī)最小系統(tǒng)設(shè)計(jì)的,利用外圍的一些邏輯電路和數(shù)碼管,來(lái)模擬顯示出租車計(jì)費(fèi)系統(tǒng)。最后由Protues 軟件仿真。</p><p> 關(guān)鍵詞:?jiǎn)纹瑱C(jī)最小系統(tǒng),出租車計(jì)費(fèi)</p><p> 單片機(jī)最小系統(tǒng)硬件資源介紹 </p><p> 單片機(jī)系統(tǒng)數(shù)碼管和鍵盤接口電路</p>
7、<p> 2.八位數(shù)碼管與鍵盤管理芯片Hd7972</p><p> Hd7279A是一片具有串行接口的,可同時(shí)驅(qū)動(dòng) 8 位共陰式數(shù)碼管(或 64 只獨(dú)立LED)的智能顯示驅(qū)動(dòng)芯片,該芯片同時(shí)還可連接多達(dá) 64 鍵的鍵盤矩陣。單片即可完成LED顯示鍵盤接口的全部功能。</p><p> Hd7279A內(nèi)部含有譯碼器,可直接接受 BCD 碼或 16 進(jìn)制碼,并同時(shí)具有 2
8、 種譯碼方式。此外,還具有多種控制指令如消隱、閃爍、左移、右移、段尋址等。</p><p> Hd7279A具有片選信號(hào),可方便地實(shí)現(xiàn)多于 8 位的顯示或多于 64鍵的鍵盤接口。</p><p><b> 特點(diǎn):</b></p><p> 串行接口,無(wú)需外圍元件可直接驅(qū)動(dòng)LED</p><p> 各位獨(dú)立控制譯
9、碼/不譯碼及消影閃爍等</p><p> 循環(huán)左移和循環(huán)右移指令等</p><p> 具有段尋址指令,方便控制獨(dú)立LED</p><p> 64鍵鍵盤控制器,內(nèi)含去抖電路</p><p> 具有DIP和SOIC兩種封裝形式供選擇</p><p> ?。℉d7279A引腳圖)</p><p&g
10、t;<b> 軟件設(shè)計(jì)</b></p><p><b> 一、設(shè)計(jì)任務(wù):</b></p><p> 1.1 外部脈沖自動(dòng)計(jì)數(shù),自動(dòng)顯示。</p><p> 1.1.1設(shè)計(jì)一個(gè)255計(jì)數(shù)器:0-255計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。</p><p> 1.1.2設(shè)計(jì)一個(gè)50
11、000計(jì)數(shù)器:0-50000計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。</p><p> 1.2 設(shè)計(jì)一個(gè)出租車計(jì)費(fèi)系統(tǒng): </p><p> 起步價(jià)為5元(2km以內(nèi)),2km后,0.8元/0.5km;要求每500m刷新計(jì)費(fèi)一次,在8位數(shù)碼管中,前3位顯示數(shù)碼管顯示里程數(shù),后3位數(shù)碼管顯示價(jià)錢(角,元,十
12、元,百元)</p><p> 注:要求首先采用PROTEUS完成單片機(jī)最小系統(tǒng)的硬件電路設(shè)計(jì)及仿真;程序仿真測(cè)試通過后,再下載到單片機(jī)實(shí)訓(xùn)板上執(zhí)行。</p><p><b> 設(shè)計(jì)思路:</b></p><p><b> (1)255計(jì)數(shù):</b></p><p> 255可用8位二進(jìn)制數(shù)表
13、示,故本設(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)制的個(gè)位。接著將相應(yīng)的十進(jìn)制數(shù)進(jìn)行譯碼,并在LED數(shù)碼管上顯示出來(lái)。每來(lái)一個(gè)脈沖其顯示的結(jié)果加一,直加至255然后T1重新開始計(jì)數(shù)。</p><p> 圖3 255計(jì)數(shù)程序流程圖<
14、;/p><p> (2)0-5000計(jì)數(shù)顯示</p><p> 由于50000計(jì)數(shù)采用八位寄存器顯然會(huì)一處,因此設(shè)計(jì)時(shí)數(shù)器T0采用工作方式1外部計(jì)數(shù),16位寄存器技術(shù)范圍到65536,符合50000計(jì)數(shù)的需要。然后通過數(shù)據(jù)轉(zhuǎn)換,將計(jì)數(shù)器的值轉(zhuǎn)換成為十進(jìn)制數(shù),由單片機(jī)指令發(fā)送給Hd7279A進(jìn)行方式1譯碼,通過數(shù)碼管顯示</p><p><b> 出租車計(jì)
15、數(shù)器:</b></p><p> 出租車計(jì)數(shù)器設(shè)計(jì)思路跟50000計(jì)數(shù)器設(shè)計(jì)思路大致相同,定時(shí)器采用工作方式1進(jìn)行外部計(jì)數(shù),每接收到一個(gè)計(jì)數(shù)脈沖信號(hào)時(shí),歷程累加500M,實(shí)現(xiàn)了500M一跳,再通過算數(shù)轉(zhuǎn)換將歷程值轉(zhuǎn)換成為錢數(shù)。</p><p><b> 設(shè)計(jì)程序及調(diào)試:</b></p><p><b> ?。?)255
16、計(jì)數(shù):</b></p><p> BIT_COUNT DATA 07FH</p><p> TIMER DATA 07EH</p><p> TIMER1 DATA 07DH</p><p> YTF_DATA DATA 07CH</p><p> BAI D
17、ATA 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 BIT P1.
18、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 ;7279的C
19、S連接于P2.7</p><p> ORG 000H</p><p> JMP START</p><p> ORG 100H</p><p> START: MOV SP,#2FH ;定義堆棧</p><p> MOV P1,#11011011B
20、 ;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</b&
21、gt;</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 <
22、/p><p> CALL BCD ;數(shù)據(jù)BCD轉(zhuǎn)換</p><p> CALL DISP ;數(shù)碼管顯示</p><p><b> JMP MAIN</b></p><p> ;*******************************************</p>
23、;<p> ; 發(fā)送子程序</p><p> ;*******************************************</p><p> SEND: MOV BIT_COUNT,#8</p><p><b> CLR CS</b></p><p
24、> 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><p>
25、<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><p>
26、 DJNZ BIT_COUNT,SEND_LOOP</p><p><b> CLR DAT</b></p><p><b> RET</b></p><p> ;*******************************************</p><p> ;
27、 接收子程序</p><p> ;*******************************************</p><p> RECEIVE: MOV BIT_COUNT,#8</p><p> SETB DAT</p><p> CALL LONG_DELAY</p><
28、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><p>
29、 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</p&
30、gt;<p><b> RET</b></p><p> ;*******************************************</p><p> ; BCD碼調(diào)整子程序</p><p> ;*******************************************<
31、;/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</b
32、></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</b&g
33、t;</p><p> ;*******************************************</p><p> ; 顯示子程序</p><p> ;*******************************************</p><p> DISP: CL
34、R 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>&
35、lt;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,#100000
36、00B</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>&l
37、t;b> RET</b></p><p> ;*******************************************</p><p> ; 長(zhǎng)延時(shí)子程序</p><p> ;*******************************************</p><p>
38、 LONG_DELAY: MOV TIMER,#80</p><p> DELAY_LOOP: DJNZ TIMER,DELAY_LOOP</p><p><b> RET</b></p><p> ;*******************************************</p><p>
39、; 短延時(shí)子程序</p><p> ;*******************************************</p><p> SHORT_DELAY:MOV TIMER,#6</p><p> SHORT_LP: DJNZ TIMER,SHORT_LP</p><p><b>
40、 RET </b></p><p> ;*******************************************</p><p> ; 啟動(dòng)延時(shí)子程序</p><p> ;*******************************************</p><p> STAR
41、T_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</b>
42、;</p><p> ?。?)0-50000計(jì)數(shù)顯示:</p><p><b> ORG 0000H</b></p><p> SJMP START</p><p><b> ORG 0030H</b></p><p> START : MOV DPTR,#0CFE9
43、H //擦出數(shù)據(jù)</p><p> MOV A,#0D1H</p><p> MOVX @DPTR,A</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b>&
44、lt;/p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b
45、></p><p> MOV TL1,#0FFH //賦初始值及工作方式</p><p> MOV TH1,#0FFH</p><p> MOV TMOD,#50H </p><p><b> SETB TR1</b></p><p> LOOP:MOV
46、R0, TL1 </p><p> MOV R1, TH1</p><p> LJMP HEXTOBCD //16進(jìn)制轉(zhuǎn)10進(jìn)制字程序</p><p> CAOZUO:MOV A, R4 //把萬(wàn)千百十個(gè)位分別存入R4 R3 R2 R1 R0。</p>
47、<p> MOV B, #16</p><p><b> DIV AB</b></p><p> MOV R1, A</p><p> MOV R0, B</p><p> MOV A, R2</p><p> MOV R4, A</p>
48、<p> MOV A, R3</p><p> MOV B, #16</p><p><b> DIV AB</b></p><p> MOV R3, A</p><p> MOV R2, B</p><p> IGHTA:MOV DPTR,#0CF
49、E9H //選擇數(shù)碼管第一個(gè)燈并顯示出萬(wàn)位</p><p> MOV A,#80H</p><p> MOVX @DPTR,A</p><p> MOV DPTR,#TAB</p><p><b> MOV A,R4</b></p><p> MOVC A,@A+DPTR<
50、;/p><p> MOV DPTR,#0CFE8H</p><p> MOVX @DPTR,A</p><p><b> CLR A</b></p><p> LIGHTB:MOV DPTR,#0CFE9H // 選擇數(shù)碼管第二個(gè)燈并顯示出千位</p><p> MOV
51、A,#81H</p><p> MOVX @DPTR,A</p><p> MOV DPTR,#TAB</p><p><b> MOV A,R3</b></p><p> MOVC A,@A+DPTR</p><p> MOV DPTR,#0CFE8H</p><p
52、> MOVX @DPTR,A</p><p><b> CLR A</b></p><p> LIGHTC:MOV DPTR,#0CFE9H // 選擇數(shù)碼管第三個(gè)燈并顯示出百位</p><p> MOV A,#82H</p><p> MOVX @DPTR,A</p><
53、p> MOV DPTR,#TAB</p><p><b> MOV A,R2</b></p><p> MOVC A,@A+DPTR</p><p> MOV DPTR,#0CFE8H</p><p> MOVX @DPTR,A</p><p><b> CLR A&l
54、t;/b></p><p> LIGHTD:MOV DPTR,#0CFE9H // 選擇數(shù)碼管第四個(gè)燈并顯示出十位</p><p> MOV A,#83H</p><p> MOVX @DPTR,A</p><p> MOV DPTR,#TAB</p><p><b>
55、 MOV A,R1</b></p><p> MOVC A,@A+DPTR</p><p> MOV DPTR,#0CFE8H</p><p> MOVX @DPTR,A</p><p><b> CLR A</b></p><p> LIGHTE:MOV DPTR,#0C
56、FE9H //選擇數(shù)碼管第五個(gè)燈并顯示出個(gè)位</p><p> MOV A,#84H</p><p> MOVX @DPTR,A</p><p> MOV DPTR,#TAB</p><p><b> MOV A,R0</b></p><p> MOVC A,@A+DPTR
57、</p><p> MOV DPTR,#0CFE8H</p><p> MOVX @DPTR,A </p><p><b> CLR A</b></p><p><b> LJMP LOOP</b></p><p> TAB:DB 3FH,06H,5BH,4
58、FH,66H,6DH,7DH,07H,7FH,6FH </p><p><b> HEXTOBCD:</b></p><p> CLR A //清零</p><p> MOV R2, A </p><p> MOV R3, A</p>&
59、lt;p> MOV R4, A</p><p> MOV R5, #16 //共轉(zhuǎn)換十六位數(shù)</p><p><b> ZH:</b></p><p><b> CLR C</b></p><p> MOV A, R0 //從待轉(zhuǎn)換
60、數(shù)的高端移出一位到Cy </p><p><b> RLC A</b></p><p> MOV R0, A</p><p> MOV A, R1</p><p><b> RLC A</b></p><p> MOV R1, A</p&g
61、t;<p> MOV A, R4 // 送到BCD碼的低端 </p><p> ADDC A, R4 // 帶進(jìn)位加。自身相加,相當(dāng)于左移一位 </p><p> DA A //十進(jìn)制調(diào)整,變成BCD碼 </p><p> MOV R4, A</p>
62、<p> MOV A, R3</p><p> ADDC A, R3</p><p><b> DA A</b></p><p> MOV R3, A</p><p> MOV A, R2</p><p> ADDC A, R2</p>
63、;<p> MOV R2, A</p><p> DJNZ R5, ZH //共轉(zhuǎn)換十六位數(shù)</p><p> LJMP CAOZUO //已經(jīng)把TH1 TL1中的數(shù)字,轉(zhuǎn)換成BCD碼,送到了R2 R3 R4</p><p> ?。?)出租車計(jì)費(fèi)系統(tǒng):</p><p><b> ORG 0000
64、H</b></p><p> lJMP START</p><p><b> ORG 0060H</b></p><p> START:MOV 60H,#00H ;給準(zhǔn)備使用的寄存地址賦初值</p><p> MOV 61H,#00H</p>
65、<p> MOV 62H,#00H</p><p> MOV 70H,#00H</p><p> MOV 71H,#00H</p><p> MOV 72H,#00H</p><p> MOV TMOD,#60H ;選擇定時(shí)器/計(jì)數(shù)器使用方式為方式2</p><p>
66、 MOV TH1,#0FFH ;給T1引腳特殊功能寄存器賦初值 </p><p> MOV TL1,#0FFH</p><p> SETB TR1 ;啟動(dòng)定時(shí)器/計(jì)數(shù)器</p><p> L1:JNB TF1,L2
67、;判定TF1是否為0</p><p> CLR TF1 ;清零TF1</p><p> LCALL KM ;調(diào)用里程</p><p> LCALL PRICE ;調(diào)用價(jià)格</p><p
68、> L2:LCALL DISPLAY ;調(diào)用顯示</p><p><b> SJMP L1</b></p><p> KM:MOV A,60H ;分別把不同地址中的數(shù)據(jù)傳送到A累加器中</p><p> ADD A,#01H
69、 ;每一次脈沖使60H中數(shù)據(jù)加一</p><p> MOV 60H,A </p><p> CJNE A,#0AH,BTOM ;對(duì)60H中數(shù)據(jù)進(jìn)行與10對(duì)比</p><p> MOV 60H,#00H ;給60
70、H清零</p><p> INC 61H ;給61H加一</p><p> MOV A,61H ;再把61H完成60H的同一操作</p><p> CJNE A,#0AH,BTOM</p><p> MOV 61H,#00H&l
71、t;/p><p><b> INC 62H</b></p><p><b> MOV A,62H</b></p><p> CJNE A,#0AH,BTOM</p><p> MOV 62H,#00H</p><p><b> BTOM:RET</b&g
72、t;</p><p> PRICE:MOV A,62H ;分別把不同地址中的數(shù)據(jù)傳送到A累加器中</p><p> CJNE A,#00H,SUB111 ;對(duì)62H中數(shù)據(jù)進(jìn)行與00對(duì)比 </p><p><b> MOV A,61H</b></p
73、><p> CJNE A,#04H,SUB1 ;對(duì)61H中數(shù)據(jù)進(jìn)行與04對(duì)比</p><p> SJMP FIVEY ;跳轉(zhuǎn)到FIVEY</p><p> SUB111:MOV A,61H </p><p&g
74、t; CJNE A,#00H,SUB1 ;對(duì)61H中數(shù)據(jù)進(jìn)行與00對(duì)比</p><p> SJMP SUB11 ;跳轉(zhuǎn)到SUBB11</p><p> SUB1:JC FIVEY ;比較C位是否為0</p><p> MO
75、V A,60H </p><p> CJNE A,#00H,BTOM2 ;比較60H是否為00</p><p> SJMP SUB11</p><p> SUB11:MOV A,70H ;給70H單元加05H的起始價(jià)格顯示<
76、;/p><p> ADD A,#05H</p><p><b> MOV 70H,A</b></p><p> CJNE A,#0AH,SUB2 ;比較70H單元中數(shù)據(jù)是否為10 SJMP SUB3</p><p> SUB2:JC BTOM2</p><
77、;p> SUB3:SUBB A,#0AH ;進(jìn)行70H,71H,72H中數(shù)據(jù)與里程類似的進(jìn)位選擇</p><p><b> MOV 70H,A</b></p><p><b> INC 71H</b></p><p><b> MOV A,71H</b></p>
78、<p> CJNE A,#0AH,BTOM2</p><p> MOV 71H,#00H</p><p><b> INC 72H</b></p><p><b> MOV A,72H</b></p><p> CJNE A,#0AH,BTOM2</p><
79、;p> MOV 72H,#00H</p><p> SJMP BTOM2</p><p> FIVEY:MOV 71H,#05H</p><p><b> BTOM2:RET</b></p><p> DISPLAY:MOV R0,#72H</p><p> MOV R3,#00
80、H</p><p> MOV R1,#62H</p><p> MOV R5,#80H</p><p> MOV R6,#03H</p><p> MOV DPTR,#TAB</p><p> LOOP1:MOV DPTR,#0CFE9H ;進(jìn)行里程最高位數(shù)據(jù)的顯示&l
81、t;/p><p><b> MOV A,R5</b></p><p> MOVX @DPTR,A</p><p> MOV DPTR,#TAB</p><p><b> MOV A,@R1</b></p><p> MOVC A,@A+DPTR</p>&
82、lt;p> MOV DPTR,#0CFE8H</p><p> MOVX @DPTR,A</p><p><b> INC R5</b></p><p><b> DEC R1</b></p><p> LOOP2:MOV DPTR,#0CFE9H
83、 ;進(jìn)行里程第二位數(shù)據(jù)的顯示</p><p><b> MOV A,R5</b></p><p> MOVX @DPTR,A</p><p> MOV DPTR,#TABTWO</p><p><b> MOV A,@R1</b></p><p> MOVC A
84、,@A+DPTR</p><p> MOV DPTR,#0CFE8H</p><p> MOVX @DPTR,A</p><p><b> INC R5</b></p><p><b> DEC R1</b></p><p> LOOP3:MOV DPTR,#0CF
85、E9H ;進(jìn)行里程第三位數(shù)據(jù)的顯示</p><p><b> MOV A,R5</b></p><p> MOVX @DPTR,A</p><p> MOV DPTR,#TAB</p><p><b> MOV A,@R1</b></p>
86、<p> MOVC A,@A+DPTR</p><p> MOV DPTR,#0CFE8H</p><p> MOVX @DPTR,A</p><p><b> INC R5</b></p><p> MOV DPTR,#0CFE9H ;進(jìn)行價(jià)格第一位數(shù)據(jù)的顯
87、示 </p><p><b> MOV A,R5</b></p><p> MOVX @DPTR,A</p><p> MOV DPTR,#TAB</p><p><b> MOV A,@R0</b></p><p> MOVC A,@A+DPTR<
88、/p><p> MOV DPTR,#0CFE8H</p><p> MOVX @DPTR,A</p><p><b> INC R5</b></p><p><b> DEC R0</b></p><p> MOV DPTR,#0CFE9H
89、 ;進(jìn)行價(jià)格第二位數(shù)據(jù)的顯示</p><p><b> MOV A,R5</b></p><p> MOVX @DPTR,A</p><p> MOV DPTR,#TABTWO</p><p><b> MOV A,@R0</b></p><p> MOV
90、C A,@A+DPTR</p><p> MOV DPTR,#0CFE8H</p><p> MOVX @DPTR,A</p><p><b> INC R5</b></p><p><b> DEC R0</b></p><p> MOV DPTR,#0CFE9H
91、 ;進(jìn)行價(jià)格第三位數(shù)據(jù)的顯示</p><p><b> MOV A,R5</b></p><p> MOVX @DPTR,A</p><p> MOV DPTR,#TAB</p><p><b> MOV A,@R0</b></p>&
92、lt;p> MOVC A,@A+DPTR</p><p> MOV DPTR,#0CFE8H</p><p> MOVX @DPTR,A</p><p><b> RET</b></p><p> TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH</p
93、><p> TABTWO:DB 0BFH,86H,0DH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH</p><p><b> END</b></p><p><b> 心得體會(huì):</b></p><p> 單片機(jī)是一門實(shí)踐性很強(qiáng)的學(xué)科,只學(xué)習(xí)理論知識(shí),不進(jìn)行實(shí)驗(yàn)是不可能
94、學(xué)好單片機(jī)這門課程的。在沒有學(xué)習(xí)單片機(jī)這門課程時(shí),就聽說(shuō)過單片機(jī)這門課很有用,一直很想好好學(xué)習(xí)這門課。從一開始,就不斷暗示自己要好好學(xué)習(xí)這門課。在學(xué)習(xí)過程中,漸漸地發(fā)現(xiàn)單片機(jī)課程更側(cè)重于實(shí)驗(yàn),講求從實(shí)驗(yàn)中掌握知識(shí)。在單片機(jī)的學(xué)習(xí)過程中,特別是實(shí)驗(yàn)和課程設(shè)計(jì)中,學(xué)到了許多課本之外的東西。</p><p> 這次課程設(shè)計(jì)任務(wù)有兩個(gè):一個(gè)是255計(jì)數(shù)的實(shí)現(xiàn);另外一個(gè)是出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)。在接到這個(gè)課程設(shè)計(jì)任務(wù)時(shí),有
95、些茫然和不知所措,曾經(jīng)幾度不知如何動(dòng)筆。利用匯編語(yǔ)言,對(duì)于一些簡(jiǎn)單的設(shè)計(jì)還可以游刃有余,但是這次的課程設(shè)計(jì),對(duì)于我來(lái)說(shuō)確實(shí)難度很大。曾經(jīng)一度想放棄,但是后來(lái)還是堅(jiān)持把這個(gè)課程設(shè)計(jì)完成了?! ?lt;/p><p> 經(jīng)過我和同組同學(xué)的共同努力,通過討論,查閱資料,分工合作,最終完成了流程圖和程序。接著通過查閱資料并分析,畫出了兩個(gè)設(shè)計(jì)的硬件仿真圖。雖然,按照實(shí)驗(yàn)要求把圖畫了出來(lái),但是有的時(shí)候加載程序以后卻不能正常運(yùn)行
96、,改了好多次都沒有成功。同學(xué)們電腦上軟件的版本差異也影響了交流。有些元件的型號(hào)不同,但在選用時(shí)圖形確很相似,致使選錯(cuò)了元件,影響了結(jié)果?! ∵@次的課程設(shè)計(jì)真的使我感覺比較吃力,程序里面的好多內(nèi)容不懂,自己非常清楚,憑自己現(xiàn)在的知識(shí)儲(chǔ)備和能力還不足以完全設(shè)計(jì)出這個(gè)課程設(shè)計(jì)。但是很多時(shí)候只能硬著頭皮去設(shè)計(jì),但在學(xué)習(xí)過程中也充滿了樂趣,當(dāng)看懂了程序的一些語(yǔ)句,那我喜悅那種成就感油然而生。</p><p> 在這次的
97、課程設(shè)計(jì)中,使我受益匪淺,獲益良多。通過這次課程設(shè)計(jì),使我對(duì)單片機(jī)這門課程有了更深的理解,尤其是程序設(shè)計(jì),感觸良多。通過課程設(shè)計(jì)也進(jìn)一步促進(jìn)了理論知識(shí)的學(xué)習(xí),同時(shí),也讓我明白了單片機(jī)開發(fā)的流程。更重要的是,在做課程設(shè)計(jì)中,培養(yǎng)了我發(fā)現(xiàn)問題和解決問題的能力,以及團(tuán)結(jié)合作精神?!⊥ㄟ^本次課程中,充分地認(rèn)識(shí)到自己的不足之處:主要有:</p><p> 1、對(duì)單片機(jī)這門課,基礎(chǔ)不扎實(shí)。之前并沒有接觸過這門課程,匯編語(yǔ)
98、言和C語(yǔ)言相關(guān)知識(shí)也沒有學(xué)習(xí)過,所以導(dǎo)致在寫程序時(shí)經(jīng)常是束手無(wú)策。</p><p> 2、對(duì)keil和proteus等仿真軟件不熟練。有時(shí)候需要需要求助別人,有時(shí)候是一個(gè)一個(gè)去嘗試。</p><p> 3、不夠細(xì)心。在課程設(shè)計(jì)過程中,特別是寫程序和硬件仿真時(shí),經(jīng)常出錯(cuò)。有時(shí)候把程序加載到硬件,但是就是不能實(shí)現(xiàn)所設(shè)計(jì)的功能。</p><p> 通過單片機(jī)課程設(shè)計(jì)
99、,我不僅加深了對(duì)單片機(jī)理論的理解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,而且我還學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要我們學(xué)會(huì)將理論很好地聯(lián)系實(shí)際,并不斷地去開動(dòng)自己的大腦,從為人類造福的意愿出發(fā),做自己力所能及的,別人卻沒想到的事。使之不斷地戰(zhàn)勝別人,超越前人。同時(shí),更重要的是,我在這一設(shè)計(jì)過程中,學(xué)會(huì)了堅(jiān)持不懈,不輕易言棄。設(shè)計(jì)過程,也好比是我們?nèi)祟惓砷L(zhǎng)的歷程,常有一些不如意,也許這就是在對(duì)我們提出了挑戰(zhàn),
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--出租車計(jì)費(fèi)系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)---出租車計(jì)費(fèi)系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)--出租車計(jì)費(fèi)系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)-- 出租車計(jì)費(fèi)系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)---出租車計(jì)費(fèi)系統(tǒng) (2)
- 單片機(jī)課程設(shè)計(jì)報(bào)告-- 出租車計(jì)費(fèi)系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---- 出租車計(jì)費(fèi)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)——出租車計(jì)費(fèi)器
- pic單片機(jī)的出租車計(jì)費(fèi)系統(tǒng)(1)
- 基于單片機(jī)的出租車自動(dòng)計(jì)費(fèi)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--出租車計(jì)價(jià)器
- 微機(jī)原理單片機(jī)課程設(shè)計(jì)--出租車計(jì)價(jià)
- 單片機(jī)課程設(shè)計(jì)--出租車計(jì)價(jià)器
- 單片機(jī)課程設(shè)計(jì)---出租車計(jì)價(jià)器
- 單片機(jī)課程設(shè)計(jì)--出租車計(jì)價(jià)器
- pic單片機(jī)出租車計(jì)費(fèi)系統(tǒng)大學(xué)設(shè)計(jì)課題論文
- 單片機(jī)課程設(shè)計(jì)--對(duì)外部脈沖計(jì)數(shù)及出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)出租車計(jì)價(jià)器
- 單片機(jī)課程設(shè)計(jì)----出租車計(jì)價(jià)器
- 單片機(jī)課程設(shè)計(jì)-出租車計(jì)價(jià)器
評(píng)論
0/150
提交評(píng)論