版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 微機(jī)原理與接口技術(shù)</b></p><p><b> 課程設(shè)計</b></p><p> 題目: 模擬計算器設(shè)計 </p><p> 學(xué) 院: 電氣工程學(xué)院 </p><p> 專 業(yè): 測控技術(shù)及儀器 &
2、lt;/p><p> 班 級: 09表2 </p><p><b> 成績評定表</b></p><p><b> 目 錄</b></p><p> 一、背景 ……………………………………………………4</p><p> 二、硬件電
3、路 ………………………………………………4</p><p> 2.1、CPU控制模塊………………………………………4</p><p> 2.2、鍵盤輸入模塊………………………………………7</p><p> 2.3、可編程并行通信接口芯片8255A …………………7</p><p> 2.4、可編程計數(shù)器/定時器……………………………
4、10</p><p> 2.5、總原理圖…………………………………………11</p><p> 三、軟件設(shè)計框圖 ………………………………………12 </p><p> 四、源程序 ………………………………………………13</p><p> 五、調(diào)試過程 ……………………………………………28</p><p>
5、 六、課程設(shè)計體會 ………………………………………28</p><p> 七、參考文獻(xiàn) ……………………………………………29摘要:學(xué)了微型計算機(jī)原理與應(yīng)用課程之后,為了鞏固和檢測所學(xué)知識,我選擇基于8088CPU的模擬計算器設(shè)計。要完成設(shè)計首先需要構(gòu)建簡單的微型計算機(jī)應(yīng)用系統(tǒng),其次是確定組成各部件的芯片,然后畫原理圖并且用仿真軟件仿真。仿真正確后再連接硬件電路,電路連接完成后進(jìn)行調(diào)試。設(shè)計過程中我們用到了8
6、088CPU、可編程計時器8253、可編程并行輸入/輸出芯片8255A、74LS138、2*8矩陣式鍵盤、六位七段LED數(shù)碼管。原理圖設(shè)計完成之后用PROTUES仿真軟件對原理圖進(jìn)行了仿真得到了預(yù)期的結(jié)果。我們的模擬計算器能實現(xiàn)5位十進(jìn)制數(shù)以內(nèi)的及減法運(yùn)算和2位十進(jìn)制數(shù)以內(nèi)的乘除法運(yùn)算。</p><p> 關(guān)鍵詞:模擬計算器,8088CPU,PROTUES,8255A,74LS138,8253</p>
7、;<p><b> 一、背景:</b></p><p> 隨著電子技術(shù)的發(fā)展,微型計算機(jī)的應(yīng)用的日益廣泛和深入,接口技術(shù)有了迅速的發(fā)展,已成為直接影響微機(jī)系統(tǒng)功能和推廣應(yīng)用的關(guān)鍵。微機(jī)接口技術(shù)是采用硬件與軟件相結(jié)合的方法,研究微處理器如何與“外部世界”進(jìn)行最佳連接,以實現(xiàn)CPU與“外部世界”進(jìn)行高效可靠的信息交換的一門技術(shù)。而如今接口技術(shù)正在逐漸改善著人們的學(xué)習(xí)、生活、工作
8、,因此開發(fā)本系統(tǒng)希望能夠給人們多帶來一點(diǎn)生活上的樂趣,接口技術(shù)與計算的結(jié)合不斷加深。</p><p><b> 二、硬件電路:</b></p><p> 硬件電路 鍵盤輸入及LED數(shù)碼管通過8255A接口與系統(tǒng)總線連接,鍵盤的16個按鍵組成8*2矩陣,其中8根矩陣線作為8255A的輸出線與PB7~PB0連接,2根矩陣線作為8255A的輸入線與PC7、PC6連接。
9、鍵盤采用逐次掃描原理,16個按鍵中0~9座位數(shù)字健,+、-、*、/、=作為加、減、乘、除和等號功能鍵,C為清零鍵。</p><p><b> CPU控制模塊</b></p><p> 16位微處理器,內(nèi)含29000個晶體管,時鐘頻率為4.77MHz,地址總線為20位,可使用1MB內(nèi)存。8088內(nèi)部數(shù)據(jù)總線都是16位,外部數(shù)據(jù)總線是8位。</p>&l
10、t;p><b> 鍵盤輸入模塊</b></p><p> 鍵盤是常用信息輸入元件,其實鍵盤也是由一個個按鈕組成,如果是獨(dú)立按鈕的話必須要需要一個I/O口對它進(jìn)行檢測,而鍵盤往往這需要鍵盤按鈕數(shù)一半的I/O口數(shù)對它進(jìn)行檢測,也許對一個比較簡單的系統(tǒng)I/O口數(shù)一般不是問題,但對于一個大型、復(fù)雜的系統(tǒng)來說I/O資源就顯得非常珍貴了,盡量減少I/O使用是非常利于降低成本,另外一方面鍵盤比用
11、獨(dú)立按鍵要美觀。我們設(shè)計時使用的是8*2行列式鍵盤,如圖2-1所示。</p><p> 圖中有8行2列,8根行線與PA口相連,2根列線與PC口的PC6、PC7相連。PA、PB口要么全部輸入或輸出。PC口可以進(jìn)行輸入和輸出。按鍵設(shè)置在行、類交點(diǎn)處(數(shù)字或字符為其鍵號),行、列線分別連接到按鍵開關(guān)的兩端。當(dāng)列線通過上拉電阻接+5V時,就被鉗位在高電平狀態(tài)。鍵盤中有無按鍵按下是由行線送入全掃描字、列線讀入行線狀態(tài)來判
12、斷。這就是:給航線所有I/O線均置成低電平,然后讀入列線電平狀態(tài)。如國有按鍵盤下,總會有一根列線電平被拉至低電平,從而使列線輸入不全為1。</p><p> 可編程并行通信接口芯片8255A</p><p> ?。?)并行輸入/輸出端口A,B,C</p><p> 8255A內(nèi)部包括三個8位的輸入輸出端口,分別是端口A、端口B、端口C,相應(yīng)信號線是PA7~PA0
13、、PB7~PB0、PC7~PC0。端口都是8位,都可以作為輸入或輸出。通常將端口A和端口B定義為輸入/輸出的數(shù)據(jù)端口,而端口C則既可以作數(shù)據(jù)端口,又可以作為端口A和端口B的狀態(tài)和控制信息的傳送端口。</p><p> ?。?)A組和B組控制部件</p><p> 端口A和端口C的高4位(PC7~PC4)構(gòu)成A組;由A組控制部件實現(xiàn)控制功能。 端口B和端口C的低4位(PC3~PC0)構(gòu)成B
14、組;由B組控制部件實現(xiàn)控制功能。 A組和B組利用各自的控制單元來接收讀寫控制部件的命令和CPU通過數(shù)據(jù)總線(D0~D7)送來的控制字,并根據(jù)他們來定義各個端口的操作方式。</p><p> ?。?)數(shù)據(jù)總線緩沖存儲器</p><p> 三態(tài)雙向8位緩沖器,是8255A與8086CPU之間的數(shù)據(jù)接口。與I/O操作有關(guān)的數(shù)據(jù)、控制字和狀態(tài)信息都是通過該緩沖器進(jìn)行傳送。</p>
15、<p> (4) 讀/寫控制部件</p><p> 8255A完成讀/寫控制功能的部件。能接收CPU的控制命令,并根據(jù)控制命令向各個功能部件發(fā)出操作指令。</p><p> CS 片選信號:由CPU輸入,有效時表示該8255A被選中。 RD, WR 讀、寫控制信號:由CPU輸入。RD有效表示CPU讀8255A,WR有效表示CPU寫8255A。RESET 復(fù)位信號:由CPU
16、輸入。RESET信號有效,清除8255A中所有控制字寄存器內(nèi)容,并將各個端口置成輸入方式。</p><p> 定義工作方式控制字:</p><p> 工作方式0:8255A中各端口的基本輸入/輸出方式。</p><p> 可編程計數(shù)器/定時器</p><p> 8253具有3個獨(dú)立的計數(shù)通道,采用減1計數(shù)方式。在門控信號有效時,每輸入
17、1個計數(shù)脈沖,通道作1次計數(shù)操作。當(dāng)計數(shù)脈沖是已知周期的時鐘信號時,計數(shù)就成為定時。 </p><p> (1)、8253內(nèi)部結(jié)構(gòu) </p><p> 8253芯片有24條引腳,封裝在雙列直插式陶瓷管殼內(nèi)。 </p><p> 1.數(shù)據(jù)總線緩沖器 </p><p> 數(shù)據(jù)總線緩沖器與系統(tǒng)總線連接,8位雙 向,與CP
18、U交換信息的通道。這是8253與CPU之間的數(shù)據(jù)接口,它由8位雙向三態(tài)緩沖寄存器構(gòu)成,是CPU與8253之間交換信息的必經(jīng)之路。 </p><p><b> 2.讀/寫控制 </b></p><p> 讀/寫控制分別連接系統(tǒng)的IOR和IOW, 由CPU控制著訪問8253的內(nèi)部通道。接收CPU送入的讀/寫控制信號, 并完成對芯片內(nèi)部各功能部件的控制功能, 因此, 它
19、實際上是8253芯片內(nèi)部的控制器。A1A0:端口選擇信號,由CPU輸入。8253內(nèi)部有3個獨(dú)立的通道和一個控制字寄存器, 它們構(gòu)成8253芯片的4個端口,CPU可對3個通道進(jìn)行讀/寫操作3對控制字寄存器進(jìn)行寫操作。 這4個端口地址由最低2位地址碼A1、A0來選擇。</p><p><b> 5、總原理圖</b></p><p> 三、軟件設(shè)計框圖: </p&
20、gt;<p><b> 四、源程序:</b></p><p><b> 源程序</b></p><p> STACK SEGMENT STCAK</p><p> DB 64 DUP(?)</p><p> STACK ENDS </p><p>
21、DATA SEGMENT</p><p><b> ORG 3000H</b></p><p> VAR1 DB 00H,01H,02H,03H,04H</p><p> VAR2 DB 3FH, 3FH, 3FH, 3FH, 3FH, 3FH, 3FH, 3FH, 3FH, 3FH</p><p> VAR3
22、 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> VAR4 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,7
23、9H,</p><p><b> 71H</b></p><p> DATA ENDS</p><p> CODE SEGMENT</p><p> ASSUME CS:CODE,DS:DATA,SS:STACK</p><p> START:MOV AX,DATA</p>
24、;<p><b> MOV DS,AX</b></p><p> MOV AL,88H</p><p> OUT 63H,AL ;82255A初始化</p><p> MOV BX,0000H;BX清零</p><p> STT: MOV
25、 AL,00H;鍵盤測試</p><p> OUT 61H.AL</p><p> NEXT: IN AL,62H</p><p> AND AL,0C0H</p><p> CMP AL,0C0H</p><p> JNZ KEYABC</p><p> CALL DISP;調(diào)
26、用顯示程序</p><p><b> JMP STT</b></p><p> KEYABC:CALL TIME;延時,去抖動</p><p> IN AL,62H</p><p> AND AL,0C0H</p><p> CMP AL,0C0H</p>&l
27、t;p><b> JNZ KEY</b></p><p><b> JMP STT</b></p><p> KEY: MOV AL,0FEH;鍵盤掃描識別</p><p> OUT 61H,AL</p><p> IN AL,62H</p><
28、p> TEST AL,80H</p><p> JNZ KEY_0</p><p><b> CALL KEY8</b></p><p><b> JMP STTK</b></p><p> KEY_0: TEST AL,40H</p><p> JNZ
29、 KEY_9</p><p><b> CALL KEY0</b></p><p><b> JMP STTK</b></p><p> KEY_9: MOV AL,0FDH</p><p> OUT 61H,AL</p><p> IN AL,62H&
30、lt;/p><p> TEST AL,80H</p><p> JNZ KEY_1</p><p><b> CALL KEY9</b></p><p><b> JMP STTK</b></p><p> KEY_1: TEST AL,40H</p>
31、<p> JNZ KEY_A</p><p><b> CALL KEY1</b></p><p><b> JMP STTK</b></p><p> KEY_A: MOV AL,0FBH</p><p> OUT 61H,AL</p><p>
32、; IN AL,62H</p><p> TEST AL,80H</p><p> JNZ KEY_2</p><p><b> CALL KEYA</b></p><p><b> JMP STTK</b></p><p> KEY_2: TEST AL
33、,40H</p><p> JNZ KEY_B</p><p><b> CALL KEY2</b></p><p><b> JMP STTK</b></p><p> KEY_B: MOV AL,0F7H</p><p> OUT 61H,AL</
34、p><p> IN AL,62H</p><p> TEST AL,80H</p><p> JNZ KEY_3</p><p><b> CALL KEYB</b></p><p><b> JMP STTK</b></p><p>
35、 KEY_3: TEST AL,40H</p><p> JNZ KEY_C</p><p><b> CALL KEY3</b></p><p><b> JMP STTK</b></p><p> KEY_C: MOV AL,0EFH</p><p> O
36、UT 61H,AL</p><p> IN AL,62H</p><p> TEST AL,80H</p><p> JNZ KEY_4</p><p><b> CALL KEYC</b></p><p><b> JMP STTK</b></p&
37、gt;<p> KEY_4: TEST AL,40H</p><p> JNZ KEY_D</p><p><b> CALL KEY4</b></p><p><b> JMP STTK</b></p><p> KEY_D: MOV AL,0DFH</p>
38、;<p> OUT 61H,AL</p><p> IN AL,62H</p><p> TEST AL,80H</p><p> JNZ KEY_5</p><p><b> CALL KEYD</b></p><p><b> JMP STTK&l
39、t;/b></p><p> KEY_5: TEST AL,40H</p><p> JNZ KEY_D</p><p><b> CALL KEY5</b></p><p><b> JMP STTK</b></p><p> KEY_E: MOV A
40、L,0BFH</p><p> OUT 61H,AL</p><p> IN AL,62H</p><p> TEST AL,80H</p><p> JNZ KEY_6</p><p><b> CALL KEYE</b></p><p><b&g
41、t; JMP STTK</b></p><p> KEY_6: TEST AL,40H</p><p> JNZ KEY_F</p><p><b> CALL KEY6</b></p><p><b> JMP STTK</b></p><p>
42、 KEY_F: MOV AL,07FH</p><p> OUT 61H,AL</p><p> IN AL,62H</p><p> TEST AL,80H</p><p> JNZ KEY_7</p><p><b> CALL KEYF</b></p>&
43、lt;p><b> JMP STTK</b></p><p> KEY_7: TEST AL,40H</p><p> JNZ KEY_71</p><p><b> CALL KEY7</b></p><p><b> JMP STTK</b></
44、p><p> KEY_71:JMP STTK</p><p> KEY9: CMP BH,00H;按鍵9處理子程序</p><p> JZ KEY9_1;未按過符號鍵,不清零</p><p> CALL CLEAR;已按過符號鍵,清零</p><p> KEY9_1:CALL LP1;低4位字節(jié)
45、前移</p><p> MOV AL,6FH;最低字節(jié)輸入一個數(shù)據(jù)</p><p> MOV [SI+4],AL</p><p> MOV AL,09H</p><p> MOV [DI+4],AL</p><p> CALL DISP;顯示</p><p><b&g
46、t; RET;返回</b></p><p> KEY8: CMP BH,00H;按鍵8處理子程序</p><p> JZ KEY8_1</p><p> CALL CLEAR</p><p> KEY8_1:CALL LP1</p><p> MOV AL,7FH</p>
47、;<p> MOV [SI+4],AL</p><p> MOV AL,08H</p><p> MOV [DI+4],AL</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p> KE
48、Y7: CMP BH,00H;按鍵7處理子程序</p><p> JZ KEY7_1</p><p> CALL CLEAR</p><p> KEY7_1:CALL LP1</p><p> MOV AL,07H</p><p> MOV [SI+4],AL</p><p&
49、gt; MOV AL,07H</p><p> MOV [DI+4],AL</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p> KEY6: CMP BH,00H;按鍵6處理子程序</p><p>
50、; JZ KEY6_1</p><p> CALL CLEAR</p><p> KEY6_1:CALL LP1</p><p> MOV AL,7DH</p><p> MOV [SI+4],AL</p><p> MOV AL,06H</p><p> MOV [D
51、I+4],AL</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p> KEY5: CMP BH,00H;按鍵5處理子程序</p><p> JZ KEY5_1</p><p> CALL CLEA
52、R</p><p> KEY5_1:CALL LP1</p><p> MOV AL,6DH</p><p> MOV [SI+4],AL</p><p> MOV AL,05H</p><p> MOV [DI+4],AL</p><p><b> CALL DI
53、SP</b></p><p><b> RET</b></p><p> KEY4: CMP BH,00H;按鍵4處理子程序</p><p> JZ KEY4_1</p><p> CALL CLEAR</p><p> KEY4_1:CALL LP1</p&
54、gt;<p> MOV AL,66H</p><p> MOV [SI+4],AL</p><p> MOV AL,04H</p><p> MOV [DI+4],AL</p><p><b> CALL DISP</b></p><p><b> RE
55、T</b></p><p> KEY3: CMP BH,00H;按鍵3處理子程序</p><p> JZ KEY3_1</p><p> CALL CLEAR</p><p> KEY3_1:CALL LP1</p><p> MOV AL,4FH</p><p&g
56、t; MOV [SI+4],AL</p><p> MOV AL,03H</p><p> MOV [DI+4],AL</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p> KEY2: CMP
57、BH,00H;按鍵2處理子程序</p><p> JZ KEY2_1</p><p> CALL CLEAR</p><p> KEY2_1:CALL LP1</p><p> MOV AL,5BH</p><p> MOV [SI+4],AL</p><p> MOV
58、AL,02H</p><p> MOV [DI+4],AL</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p> KEY1: CMP BH,00H;按鍵1處理子程序</p><p> JZ KE
59、Y1_1</p><p> CALL CLEAR</p><p> KEY1_1:CALL LP1</p><p> MOV AL,06H</p><p> MOV [SI+4],AL</p><p> MOV AL,01H</p><p> MOV [DI+4],AL<
60、;/p><p><b> CALL DISP</b></p><p><b> RET</b></p><p> KEY0: CMP BH,00H;按鍵0處理子程序</p><p> JZ KEY0_1</p><p> CALL CLEAR</p>
61、;<p> KEY0_1:CALL LP1</p><p> MOV AL,3FH</p><p> MOV [SI+4],AL</p><p> MOV AL,00H</p><p> MOV [DI+4],AL</p><p><b> CALL DISP</b&g
62、t;</p><p><b> RET</b></p><p> KEY+: CMP BH,00H;按鍵+號處理子程序</p><p> JNZ KEYA_1</p><p> CALL LP3;保存輸入的數(shù)據(jù)</p><p> KEYA_1:MOV BX,0101H;設(shè)置
63、符號標(biāo)志</p><p><b> RET;返回</b></p><p> KEY-: CMP BH,00H;按鍵-號處理子程序</p><p> JNZ KEYB_1</p><p> CALL LP3;保存輸入的數(shù)據(jù)</p><p> KEYB_1:MOV BX,01
64、02H;設(shè)置符號標(biāo)志</p><p><b> RET;返回</b></p><p> KEY*: CMP BH,00H;按鍵*號處理子程序</p><p> JNZ KEYC_1</p><p> CALL LP3;保存輸入的數(shù)據(jù)</p><p> KEYC_1:MOV
65、 BX,0103H;設(shè)置符號標(biāo)志</p><p><b> RET;返回</b></p><p> KEY/: CMP BH,00H;按鍵/號處理子程序</p><p> JNZ KEYD_1</p><p> CALL LP3;保存輸入的數(shù)據(jù)</p><p> KEY
66、D_1:MOV BX,0104H;設(shè)置符號標(biāo)志</p><p><b> RET;返回</b></p><p> KEY=: MOV BH,01H;按鍵=號處理子程序</p><p> CMP BL,01H;是+號?</p><p> JZ K1;進(jìn)行加法運(yùn)算</p><
67、p> CMP BL,02H;是-號?</p><p> JZ K2;進(jìn)行減法運(yùn)算</p><p> CMP BL,03H;時*號?</p><p> JZ K3;進(jìn)行乘法運(yùn)算</p><p> CMP BL,04H;是/號?</p><p> JZ K4;進(jìn)行除法運(yùn)算&l
68、t;/p><p> STTE: RET</p><p> K1: CALL ADD1</p><p><b> JMP STTE</b></p><p> K2: CALL SUB1</p><p><b> JMP STTE</b></p>
69、;<p> K3: CALL MUL1</p><p><b> JMP STTE</b></p><p> K4: CALL DIV1</p><p><b> JMP STTE</b></p><p> KEYON/C: CALL CLEAR;按鍵C(
70、清零)處理子序</p><p><b> RET</b></p><p> CLEAR: MOV SI,OFFSET VAR2;數(shù)據(jù)清零子程序</p><p> MOV DI,OFFSET VAR3</p><p> MOV CX,000AH</p><p> CLEAR1:MO
71、V AL,3FH</p><p> MOV [SI],AL</p><p> MOV AL,00H</p><p> MOV [DI],AL</p><p><b> INC SI </b></p><p><b> INC DI</b></p&g
72、t;<p> LOOP CLEAR1</p><p> MOV BH,00H</p><p><b> RET</b></p><p> ADD1: MOV SI,OFFSET VAR3;;加法子程序</p><p> MOV DI,OFFSET VAR4</p><
73、p><b> CLC</b></p><p> MOV CX,0005H</p><p> ADD_1: MOV AL,[DI]</p><p> ADC AL,[SI]</p><p><b> AAA</b></p><p> MOV [DI],
74、AL</p><p><b> INC SI</b></p><p><b> INC DI</b></p><p> LOOP ADD_1</p><p> CALL CHANGE</p><p><b> CALL DISP</b>&l
75、t;/p><p><b> RET</b></p><p> SUB1: MOV SI,OFFSET VAR3;減法子程序</p><p> MOV DI,OFFSET VAR4</p><p><b> CLC</b></p><p> MOV CX,000
76、5H</p><p> SUB_1: MOV AL,[DI]</p><p> MOV CL,[SI]</p><p><b> AAS</b></p><p> MOV [DI],AL</p><p><b> INC SI</b></p>
77、<p><b> INC DI</b></p><p> LOOP SUB_1</p><p> CALL CHANGE</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p>
78、; MUL1: MOV SI,OFFSET VAR3;乘法子程序</p><p> MOV DI,OFFSET VAR4</p><p> MOV AL,[DI]</p><p> MOV CL,[SI]</p><p><b> MUL CL</b></p><p>&l
79、t;b> AAM</b></p><p> MOV [DI+5],AX</p><p> MOV AL,[DI+1]</p><p><b> MUL CL</b></p><p><b> AAM </b></p><p> ADD A
80、L,[DI+6]</p><p><b> AAA</b></p><p> MOV [DI+6],AX</p><p> MOV AL,[DI]</p><p> MOV CL,[SI+1]</p><p><b> MUL CL</b></p>
81、;<p><b> AAM</b></p><p> MOV [SI+5],AX</p><p> MOV AL,[DI+1]</p><p><b> MUL CL</b></p><p><b> AAM</b></p><
82、p> ADD AL,[SI+6]</p><p><b> AAA</b></p><p> MOV [SI+6],AX</p><p> MOV AL,[DI+5]</p><p> MOV [DI],AL</p><p> MOV AL,[DI+6]</p&g
83、t;<p> ADD AL,[SI+5]</p><p><b> AAA</b></p><p> MOV [DI+1],AL</p><p> MOV AL,[DI+7]</p><p> ADC AL,[SI+6]</p><p><b> AAA
84、</b></p><p> MOV [DI+2],AL</p><p> MOV AL.00H</p><p> ADC AL,[SI+7]</p><p><b> AAA</b></p><p> MOV [DI+3],AL</p><p>
85、; CALL CHANGE</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p> DIV1: MOV SI,OFFSET VAR3;除法子程序</p><p> MOV DI,OFFSET VAR4</p>
86、<p> MOV AH,00H</p><p> MOV AL,[DI+1]</p><p> MOV CK,[SI]</p><p><b> DIV CL</b></p><p> MOV [DI+1],AL</p><p> MOV AL,[DI]</
87、p><p><b> AAD </b></p><p><b> DIV CL</b></p><p> MOV [DI],AL</p><p> CALL CHANGE</p><p><b> CALL DISP</b></p>
88、;<p><b> RET</b></p><p> LP1: MOV CX,0004H;數(shù)據(jù)移位保存子程序(4位)</p><p> MOV SI,OFFSET VAR2</p><p> MOV DI,OFFSET VAR3</p><p> LP2: MOV AL,[SI+
89、3]</p><p> MOV [SI+4],AL</p><p> MOV AL,[DI+3]</p><p> MOV [DI+4],AL</p><p><b> DEC SI</b></p><p><b> DEC DI</b></p>
90、;<p><b> LOOP LP2</b></p><p><b> RET</b></p><p> LP3: MOV CX,0005H;保存上一次數(shù)據(jù)子程序</p><p> MOV SI,OFFSET VAR3</p><p> MOV DI,OFFSE
91、T VAR4</p><p> LP4: MOV AL,[SI]</p><p> MOV [DI],AL</p><p><b> DEC SI</b></p><p><b> DEC DI</b></p><p><b> LOOP LP
92、4</b></p><p><b> RET</b></p><p> CHANGE:MOV SI,OFFSET VAR2</p><p> MOV DI,OFFSET VAR3</p><p> MOV BX,OFFSET TABLE</p><p> MOV CX
93、,0005H</p><p> COMP0: MOV AL,[DI]</p><p><b> XLAT</b></p><p> MOV [SI],AL</p><p><b> INC SI</b></p><p><b> INC DI<
94、;/b></p><p> LOOP COMP0</p><p><b> RET</b></p><p> DISP: MOV SI,OFFSET VAR1</p><p> MOV DI,OFFSET VAR2</p><p> MOV DL,[DI+4]</p&
95、gt;<p><b> CMP 3FH</b></p><p><b> JNZ DIR4</b></p><p> MOV DL,[DI+3]</p><p> CMP DL,3FH</p><p><b> JNZ DIR3</b><
96、/p><p> MOV DL,[DI+2]</p><p> CMP DL,3EH</p><p><b> JNZ DIR2</b></p><p> MOV DL,[DI+1]</p><p> CMP DL,3FH</p><p><b>
97、 JNZ DIR1</b></p><p><b> JMP DIR0</b></p><p> DIR4: MOV CX,0005H</p><p><b> JMP DIR</b></p><p> DIR3: MOV CX,0004H</p>&
98、lt;p><b> JMP DIR</b></p><p> DIR2: MOV CX,0003H</p><p> JMP DIR </p><p> DIR1: MOV CX,0002H</p><p><b> JMP DIR</b></p>
99、;<p> DIR0: MOV CX,0001H</p><p> DIR: MOV AL,[SI]</p><p> OUT 62H,AL</p><p> MOV AL,[DI]</p><p> OUT 60H,AL</p><p><b> CALL TIME
100、</b></p><p><b> INC SI</b></p><p><b> INC DI</b></p><p><b> LOOP DIR</b></p><p><b> RET</b></p><p
101、> TIME: PUSH AX</p><p><b> PUSH CX</b></p><p> MOV CX,0040H</p><p> TIME1: MOV AX,0300H</p><p> TIME2: DEC AX</p><p> JNZ TIME2&l
102、t;/p><p> LOOP TIME1</p><p><b> POP CX</b></p><p><b> POP AX</b></p><p><b> RET</b></p><p> STTK: CALL DISP;放鍵測試程
103、序</p><p> MOV AL,00H</p><p> OUT 61H,AL</p><p> IN AL,62H</p><p> AND AL,0C0H</p><p> CMP AL,0C0H</p><p><b> JNZ STTK</b
104、></p><p><b> JMP STT</b></p><p> CODE ENDS</p><p> END START</p><p><b> 五、調(diào)試過程:</b></p><p> 1.對設(shè)計原理圖進(jìn)行電氣檢查。主要針對電路連接中的電氣
105、連接進(jìn)行檢查,并生成對應(yīng)電路的網(wǎng)表。特別是對電路節(jié)點(diǎn)的連接檢查。</p><p> 2.對設(shè)計的程序進(jìn)行語法檢查。檢查程序中存在的語法錯誤。編譯連接并下載到芯片中。</p><p> 3.對設(shè)計進(jìn)行綜合調(diào)試。對下載到芯片中的程序進(jìn)行功能檢查。直到完成設(shè)計要求的功能。</p><p><b> 六、課程設(shè)計體會:</b></p>
106、<p> 這次微機(jī)原理課程設(shè)計歷時兩個星期,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。以前在上課的時候,老師經(jīng)常強(qiáng)調(diào)在寫一個程序的時候,一定要事先把程序原理方框圖化出來,但是我開始總覺得這樣做沒必要,很浪費(fèi)時間。但是,這次課程設(shè)計完全改變了我以前的那種錯誤的認(rèn)識,以前我接觸的那些程序都是很短、很基礎(chǔ)的,但是在課程設(shè)計
107、中碰到的那些需要很多代碼才能完成的任務(wù),畫程序方框圖是很有必要的。因為通過程序方框圖,在做設(shè)計的過程中,我們每一步要做什么,每一步要完成什么任務(wù)都有一個很清楚的思路,而且在程序測試的過程中也有利于查錯。</p><p> 其次,以前對于編程工具的使用還處于一知半解的狀態(tài)上,但是經(jīng)過幾次在計算機(jī)上的實踐,對于怎么去排錯、查錯,怎么去看每一步的運(yùn)行結(jié)果,怎么去了解每個寄存器的內(nèi)容以確保程序的正確性上都有了很大程度的
108、提高。</p><p> 通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨(dú)立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。<
109、/p><p> 這次課程設(shè)計終于順利完成了,同時,對給過我?guī)椭慕M員和曹老師再次表示忠心的感謝!</p><p><b> 七、參考文獻(xiàn):</b></p><p> [1]許立梓、何小敏、陳瑋等.微型計算機(jī)原理及應(yīng)用.北京:機(jī)械工業(yè)出版社出版,2003.</p><p> [2]康華光.電子技術(shù)基礎(chǔ).北京:高等教育出
110、版社,1998</p><p> [3]白彩英.微型計算機(jī)常用芯片手冊.上海:上海科學(xué)技術(shù)出版社,1984</p><p> [4]胡漢才.單片機(jī)原理及其接口技術(shù).北京:清華大學(xué)出版社,2002</p><p> [5]電子工程手冊編委會.中外集成電路簡明速查手冊。北京:電子工業(yè)出版社,1997</p><p> [6]微機(jī)原理與接口
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)原理與接口技術(shù)課程設(shè)計
- 微機(jī)原理與接口技術(shù)課程設(shè)計
- 微機(jī)原理與接口技術(shù)課程設(shè)計.
- 微機(jī)原理與接口技術(shù)課程設(shè)計
- 微機(jī)原理與接口技術(shù)課程設(shè)計報告
- 微機(jī)原理與接口技術(shù)課程設(shè)計 --存儲器
- 微機(jī)接口技術(shù)課程設(shè)計
- 微機(jī)接口技術(shù)課程設(shè)計
- 微機(jī)原理與接口技術(shù)課程設(shè)計---智能搶答器
- 微機(jī)原理與接口技術(shù)課程設(shè)計--流水燈
- 微機(jī)原理與接口技術(shù)課程設(shè)計-----交通燈設(shè)計
- 《微機(jī)原理與接口技術(shù)》課程設(shè)計
- 微機(jī)原理與接口技術(shù)課程設(shè)計-鍵盤顯示控制器
- 電子表設(shè)計(微機(jī)原理與接口技術(shù)課程設(shè)計)
- 微機(jī)接口技術(shù)課程設(shè)計報告
- 微機(jī)原理與接口技術(shù)課程設(shè)計-交通燈
- 紅外通信-微機(jī)原理與接口技術(shù)課程設(shè)計報告
- 微機(jī)原理與接口技術(shù)課程設(shè)計報告書
- 微機(jī)原理與接口技術(shù)課程設(shè)計----數(shù)字信號發(fā)生器
- 《微機(jī)原理與接口技術(shù)》課程設(shè)計---搶答器
評論
0/150
提交評論