版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 微機原理與接口技術</b></p><p><b> 課程設計</b></p><p> 題目: 模擬計算器設計 </p><p> 學 院: 電氣工程學院 </p><p> 專 業(yè): 測控技術及儀器 &
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> 三、軟件設計框圖 ………………………………………12 </p><p> 四、源程序 ………………………………………………13</p><p> 五、調試過程 ……………………………………………28</p><p>
5、 六、課程設計體會 ………………………………………28</p><p> 七、參考文獻 ……………………………………………29摘要:學了微型計算機原理與應用課程之后,為了鞏固和檢測所學知識,我選擇基于8088CPU的模擬計算器設計。要完成設計首先需要構建簡單的微型計算機應用系統(tǒng),其次是確定組成各部件的芯片,然后畫原理圖并且用仿真軟件仿真。仿真正確后再連接硬件電路,電路連接完成后進行調試。設計過程中我們用到了8
6、088CPU、可編程計時器8253、可編程并行輸入/輸出芯片8255A、74LS138、2*8矩陣式鍵盤、六位七段LED數(shù)碼管。原理圖設計完成之后用PROTUES仿真軟件對原理圖進行了仿真得到了預期的結果。我們的模擬計算器能實現(xiàn)5位十進制數(shù)以內的及減法運算和2位十進制數(shù)以內的乘除法運算。</p><p> 關鍵詞:模擬計算器,8088CPU,PROTUES,8255A,74LS138,8253</p>
7、;<p><b> 一、背景:</b></p><p> 隨著電子技術的發(fā)展,微型計算機的應用的日益廣泛和深入,接口技術有了迅速的發(fā)展,已成為直接影響微機系統(tǒng)功能和推廣應用的關鍵。微機接口技術是采用硬件與軟件相結合的方法,研究微處理器如何與“外部世界”進行最佳連接,以實現(xiàn)CPU與“外部世界”進行高效可靠的信息交換的一門技術。而如今接口技術正在逐漸改善著人們的學習、生活、工作
8、,因此開發(fā)本系統(tǒng)希望能夠給人們多帶來一點生活上的樂趣,接口技術與計算的結合不斷加深。</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位微處理器,內含29000個晶體管,時鐘頻率為4.77MHz,地址總線為20位,可使用1MB內存。8088內部數(shù)據(jù)總線都是16位,外部數(shù)據(jù)總線是8位。</p>&l
10、t;p><b> 鍵盤輸入模塊</b></p><p> 鍵盤是常用信息輸入元件,其實鍵盤也是由一個個按鈕組成,如果是獨立按鈕的話必須要需要一個I/O口對它進行檢測,而鍵盤往往這需要鍵盤按鈕數(shù)一半的I/O口數(shù)對它進行檢測,也許對一個比較簡單的系統(tǒng)I/O口數(shù)一般不是問題,但對于一個大型、復雜的系統(tǒng)來說I/O資源就顯得非常珍貴了,盡量減少I/O使用是非常利于降低成本,另外一方面鍵盤比用
11、獨立按鍵要美觀。我們設計時使用的是8*2行列式鍵盤,如圖2-1所示。</p><p> 圖中有8行2列,8根行線與PA口相連,2根列線與PC口的PC6、PC7相連。PA、PB口要么全部輸入或輸出。PC口可以進行輸入和輸出。按鍵設置在行、類交點處(數(shù)字或字符為其鍵號),行、列線分別連接到按鍵開關的兩端。當列線通過上拉電阻接+5V時,就被鉗位在高電平狀態(tài)。鍵盤中有無按鍵按下是由行線送入全掃描字、列線讀入行線狀態(tài)來判
12、斷。這就是:給航線所有I/O線均置成低電平,然后讀入列線電平狀態(tài)。如國有按鍵盤下,總會有一根列線電平被拉至低電平,從而使列線輸入不全為1。</p><p> 可編程并行通信接口芯片8255A</p><p> ?。?)并行輸入/輸出端口A,B,C</p><p> 8255A內部包括三個8位的輸入輸出端口,分別是端口A、端口B、端口C,相應信號線是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)構成A組;由A組控制部件實現(xiàn)控制功能。 端口B和端口C的低4位(PC3~PC0)構成B
14、組;由B組控制部件實現(xiàn)控制功能。 A組和B組利用各自的控制單元來接收讀寫控制部件的命令和CPU通過數(shù)據(jù)總線(D0~D7)送來的控制字,并根據(jù)他們來定義各個端口的操作方式。</p><p> (3)數(shù)據(jù)總線緩沖存儲器</p><p> 三態(tài)雙向8位緩沖器,是8255A與8086CPU之間的數(shù)據(jù)接口。與I/O操作有關的數(shù)據(jù)、控制字和狀態(tài)信息都是通過該緩沖器進行傳送。</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 復位信號:由CPU
16、輸入。RESET信號有效,清除8255A中所有控制字寄存器內容,并將各個端口置成輸入方式。</p><p> 定義工作方式控制字:</p><p> 工作方式0:8255A中各端口的基本輸入/輸出方式。</p><p> 可編程計數(shù)器/定時器</p><p> 8253具有3個獨立的計數(shù)通道,采用減1計數(shù)方式。在門控信號有效時,每輸入
17、1個計數(shù)脈沖,通道作1次計數(shù)操作。當計數(shù)脈沖是已知周期的時鐘信號時,計數(shù)就成為定時。 </p><p> (1)、8253內部結構 </p><p> 8253芯片有24條引腳,封裝在雙列直插式陶瓷管殼內。 </p><p> 1.數(shù)據(jù)總線緩沖器 </p><p> 數(shù)據(jù)總線緩沖器與系統(tǒng)總線連接,8位雙 向,與CP
18、U交換信息的通道。這是8253與CPU之間的數(shù)據(jù)接口,它由8位雙向三態(tài)緩沖寄存器構成,是CPU與8253之間交換信息的必經(jīng)之路。 </p><p><b> 2.讀/寫控制 </b></p><p> 讀/寫控制分別連接系統(tǒng)的IOR和IOW, 由CPU控制著訪問8253的內部通道。接收CPU送入的讀/寫控制信號, 并完成對芯片內部各功能部件的控制功能, 因此, 它
19、實際上是8253芯片內部的控制器。A1A0:端口選擇信號,由CPU輸入。8253內部有3個獨立的通道和一個控制字寄存器, 它們構成8253芯片的4個端口,CPU可對3個通道進行讀/寫操作3對控制字寄存器進行寫操作。 這4個端口地址由最低2位地址碼A1、A0來選擇。</p><p><b> 5、總原理圖</b></p><p> 三、軟件設計框圖: </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;調
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;設置
63、符號標志</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;設置符號標志</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;設置符號標志</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;設置符號標志</p><p><b> RET;返回</b></p><p> KEY=: MOV BH,01H;按鍵=號處理子程序</p><p> CMP BL,01H;是+號?</p><p> JZ K1;進行加法運算</p><
67、p> CMP BL,02H;是-號?</p><p> JZ K2;進行減法運算</p><p> CMP BL,03H;時*號?</p><p> JZ K3;進行乘法運算</p><p> CMP BL,04H;是/號?</p><p> JZ K4;進行除法運算&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> 五、調試過程:</b></p><p> 1.對設計原理圖進行電氣檢查。主要針對電路連接中的電氣
105、連接進行檢查,并生成對應電路的網(wǎng)表。特別是對電路節(jié)點的連接檢查。</p><p> 2.對設計的程序進行語法檢查。檢查程序中存在的語法錯誤。編譯連接并下載到芯片中。</p><p> 3.對設計進行綜合調試。對下載到芯片中的程序進行功能檢查。直到完成設計要求的功能。</p><p><b> 六、課程設計體會:</b></p>
106、<p> 這次微機原理課程設計歷時兩個星期,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。以前在上課的時候,老師經(jīng)常強調在寫一個程序的時候,一定要事先把程序原理方框圖化出來,但是我開始總覺得這樣做沒必要,很浪費時間。但是,這次課程設計完全改變了我以前的那種錯誤的認識,以前我接觸的那些程序都是很短、很基礎的,但是在課程設計
107、中碰到的那些需要很多代碼才能完成的任務,畫程序方框圖是很有必要的。因為通過程序方框圖,在做設計的過程中,我們每一步要做什么,每一步要完成什么任務都有一個很清楚的思路,而且在程序測試的過程中也有利于查錯。</p><p> 其次,以前對于編程工具的使用還處于一知半解的狀態(tài)上,但是經(jīng)過幾次在計算機上的實踐,對于怎么去排錯、查錯,怎么去看每一步的運行結果,怎么去了解每個寄存器的內容以確保程序的正確性上都有了很大程度的
108、提高。</p><p> 通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。<
109、/p><p> 這次課程設計終于順利完成了,同時,對給過我?guī)椭慕M員和曹老師再次表示忠心的感謝!</p><p><b> 七、參考文獻:</b></p><p> [1]許立梓、何小敏、陳瑋等.微型計算機原理及應用.北京:機械工業(yè)出版社出版,2003.</p><p> [2]康華光.電子技術基礎.北京:高等教育出
110、版社,1998</p><p> [3]白彩英.微型計算機常用芯片手冊.上海:上??茖W技術出版社,1984</p><p> [4]胡漢才.單片機原理及其接口技術.北京:清華大學出版社,2002</p><p> [5]電子工程手冊編委會.中外集成電路簡明速查手冊。北京:電子工業(yè)出版社,1997</p><p> [6]微機原理與接口
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機原理與接口技術課程設計
- 微機原理與接口技術課程設計
- 微機原理與接口技術課程設計.
- 微機原理與接口技術課程設計
- 微機原理與接口技術課程設計報告
- 微機原理與接口技術課程設計 --存儲器
- 微機接口技術課程設計
- 微機接口技術課程設計
- 微機原理與接口技術課程設計---智能搶答器
- 微機原理與接口技術課程設計--流水燈
- 微機原理與接口技術課程設計-----交通燈設計
- 《微機原理與接口技術》課程設計
- 微機原理與接口技術課程設計-鍵盤顯示控制器
- 電子表設計(微機原理與接口技術課程設計)
- 微機接口技術課程設計報告
- 微機原理與接口技術課程設計-交通燈
- 紅外通信-微機原理與接口技術課程設計報告
- 微機原理與接口技術課程設計報告書
- 微機原理與接口技術課程設計----數(shù)字信號發(fā)生器
- 《微機原理與接口技術》課程設計---搶答器
評論
0/150
提交評論