微機原理與接口實驗41IO端口擴展-8255賴曉錚_第1頁
微機原理與接口實驗41IO端口擴展-8255賴曉錚_第2頁
微機原理與接口實驗41IO端口擴展-8255賴曉錚_第3頁
微機原理與接口實驗41IO端口擴展-8255賴曉錚_第4頁
微機原理與接口實驗41IO端口擴展-8255賴曉錚_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、QQ: 68046508理解可編程并行接口芯片理解可編程并行接口芯片82558255的基本工作原理。的基本工作原理。掌握掌握CPUCPU使用使用82558255芯片外擴芯片外擴IOIO端口的硬件架構(gòu)及編程方法。端口的硬件架構(gòu)及編程方法。注:跳出注:跳出“斷點斷點”后后,CPUCPU進入進入HLTHLT指令指令的的后續(xù)下一條指令的取指周期后續(xù)下一條指令的取指周期。#CS #RD #WR A1 A0操操 作作數(shù)數(shù) 據(jù)據(jù) 傳傳 送送 方方 式式 0 0 1 0 0讀讀 A 口口A口數(shù)據(jù)口數(shù)據(jù)數(shù)據(jù)總線數(shù)據(jù)總線 0 0 1 0 1讀讀 B 口口B口數(shù)據(jù)口數(shù)據(jù)數(shù)據(jù)總線數(shù)據(jù)總線 0 0 1 1 0讀讀 C

2、口口C口數(shù)據(jù)口數(shù)據(jù)數(shù)據(jù)總線數(shù)據(jù)總線 0 1 0 0 0寫寫 A 口口數(shù)據(jù)總線數(shù)據(jù)數(shù)據(jù)總線數(shù)據(jù)A口口 0 1 0 0 1寫寫 B 口口數(shù)據(jù)總線數(shù)據(jù)數(shù)據(jù)總線數(shù)據(jù)B口口 0 1 0 1 0寫寫 C 口口數(shù)據(jù)總線數(shù)據(jù)數(shù)據(jù)總線數(shù)據(jù)C口口 0 1 0 1 1寫控制口寫控制口數(shù)據(jù)總線數(shù)據(jù)數(shù)據(jù)總線數(shù)據(jù)控制口控制口 1 X X X X禁止訪問禁止訪問數(shù)據(jù)總線接口高阻態(tài)數(shù)據(jù)總線接口高阻態(tài)8255A控制端口控制端口功能功能圖圖匯編助記符匯編助記符注釋注釋(M地址:機器指令地址:機器指令)SET R0, 86H選選8255地址地址1000 xxxx控制端控制端A1A0=1100H:0011000001H:100001

3、10OUTA R0, AR02H:01010010SET R0, 99H控制字:控制字:PA輸入輸入/PB輸出輸出/PC輸入輸入03H:0011000004H:10011001OUT R0, PORT005H:01010000SET R0, 80H選選PA口:口:A1A0=0006H:0011000007H:10000000OUTA R0, PORT008H:01010010IN R1, PORT0PA口輸入口輸入09H:01000100HLT停機停機0AH:00000001匯編助記符匯編助記符注釋注釋(M地址:機器指令地址:機器指令)SET R0, 82H選選PB口:口:A1A0=010BH

4、:001100000CH:10000010OUTA R0, PORT00DH:01010010OUT R1, PORT0PB口輸出口輸出0EH:01010100LRC R10FH:10100111HLT10H:00000001JMP 0EH循環(huán)移位循環(huán)移位11H:0001000012H:00001110匯編助記符匯編助記符注釋注釋(M地址:機器指令地址:機器指令)SET R0, 86H選選8255地址地址1000 xxxx控制端控制端A1A0=1100H:0011000001H:10000110OUTA R0, PORT002H:01010010SET R0, 91H控制字:控制字:PA輸入輸

5、入/PB輸出輸出/PC高四位輸出低四位輸入高四位輸出低四位輸入03H:0011000004H:10010001OUT R0, PORT005H:01010000SET R0, 82H選選PB口:口:A1A0=0106H:0011000007H:10000010OUTA R0, PORT008H:01010010SET R0, FFH初始化初始化PB口,口,LED全滅全滅09H:001100000AH:11111111OUT R0, PORT00BH:01010000匯編助記符匯編助記符注釋注釋(M地址:機器指令地址:機器指令)SET R0, 84H選選PC口:口:A1A0=100CH:0011

6、00000DH:10000100OUTA R0, PORT00EH:01010010SET R2, 0FHR2=00001111,列判斷用,列判斷用0FH:0011100010H:00001111OUT R2, PORT0 PC口口 置位置位00001111(高四位輸出(高四位輸出0000)11H:01011000SET R1, 3FHR1=00111111,行判斷用,行判斷用12H:0011010013H:00111111HLT該斷點后就可以按鍵,該斷點后就可以按鍵,按鍵要保持到下一個斷點才能松開!按鍵要保持到下一個斷點才能松開!14H:00000001IN R0, PORT0PC口輸入口輸

7、入 ; L115H:01000000XOR R0,R2無鍵按下,無鍵按下,R0是是00001111 ,R0=R2有鍵按下,有鍵按下,R0低四位低四位: 1110/1101/1011/ 011116H:10110010匯編助記符匯編助記符注釋注釋(M地址:機器指令地址:機器指令)JZ, 15H無鍵按下,跳轉(zhuǎn)無鍵按下,跳轉(zhuǎn) 到到 L1 (循環(huán)監(jiān)聽鍵盤輸入)(循環(huán)監(jiān)聽鍵盤輸入)17H:0001100018H:00010101MOV R3, R0R3=0000yyyy(yyyy是列編碼)是列編碼)19H:01101100OUT R1, PORT0PC口口 置位置位00111111(高四位輸出(高四位輸

8、出0011)1AH:01010100IN R0, PORT0PC口輸入口輸入1BH:01000000XOR R0, R1無鍵按下,無鍵按下,R0是是00111111,R0=R1有鍵按下,有鍵按下,R0低四位低四位1110/1101/1011/01111CH:10110001JZ 20H行輸出行輸出0011無鍵按下,無鍵按下,R2仍是仍是000011111DH:000110001EH:00100000MOV R2, R1行輸出行輸出0011有鍵按下,有鍵按下,R2賦值賦值001111111FH:01101001SHT(RRC) R1R1=10011111 (行判斷用)(行判斷用)20H:1010

9、0101OUT R1, PORT0PC口口 置位置位10011111(高四位輸出(高四位輸出1001)21H:01010100IN R0, PORT0PC口輸入口輸入22H:01000000匯編助記符匯編助記符注釋注釋(M地址:機器指令地址:機器指令)HLT按鍵要保持到此斷點后才能松開!按鍵要保持到此斷點后才能松開!23H:00000001XOR R0, R1無鍵按下,無鍵按下,R0是是10011111,R0=R1有鍵按下,有鍵按下,R0低四位低四位1110/1101/1011/011124H:10110001JZ 33H行輸出行輸出1001無鍵按下,跳轉(zhuǎn)無鍵按下,跳轉(zhuǎn) L2:25H:0001

10、100026H:00110011SUBI R2, 3FH判斷:判斷:R2是否是否0011111127H:1100100028H:00111111JZ 2FHR2是是00111111,即行輸出,即行輸出0011有鍵按下有鍵按下29H:000110002AH:00101111SET R2, 20HR2否,行輸出否,行輸出0011無鍵按下且無鍵按下且1001有鍵按下有鍵按下R2賦值賦值XXXX0000(XXXX是行編碼)是行編碼)2BH:001110002CH:00100000JMP 3DH判斷結(jié)束,跳轉(zhuǎn)判斷結(jié)束,跳轉(zhuǎn) L3: 2DH:000100002EH:00111101匯編助記符匯編助記符注釋

11、注釋(M地址:機器指令地址:機器指令)SET R2, 40H行輸出行輸出0011有鍵按下且有鍵按下且1001有鍵按下有鍵按下R2賦值賦值XXXX0000(XXXX是行編碼)是行編碼)2FH:0011100030H:01000000JMP 3DH判斷結(jié)束,跳轉(zhuǎn)判斷結(jié)束,跳轉(zhuǎn) L3: 31H:0001000032H:00111101SUBI R2,3FHL2: R2是否是否0011111133H:1100100034H:00111111JZ 3BHR2是是0011111,即行輸出,即行輸出0011有鍵按下有鍵按下35H:0001100036H:00111011SET R2, 10HR2否,行輸出否

12、,行輸出0011無鍵按下且無鍵按下且1001無鍵按下無鍵按下R2賦值賦值XXXX0000(XXXX是行編碼)是行編碼)37H:0011100038H:00010000JMP 3DH判斷結(jié)束,跳轉(zhuǎn)判斷結(jié)束,跳轉(zhuǎn) L3: 39H:000100003AH:00111101匯編助記符匯編助記符注釋注釋(M地址:機器指令地址:機器指令)SET R2, 80H行輸出行輸出0011有鍵按下且有鍵按下且1001無鍵按下無鍵按下R2賦值賦值XXXX0000(XXXX是行編碼)是行編碼)3BH:001110003CH:10000000HLTL3:3DH:00000001OR R2, R3R2=XXXXyyyy(高

13、四位行編碼低四位列編碼)(高四位行編碼低四位列編碼)3EH:11111011SET R3, 82H選選PB口:口:A1A0=013FH:0011110040H:10000010OUTA R3, PORT041H:01011110OUT R2, PORT0PB口輸出最終結(jié)果口輸出最終結(jié)果42H:01011000HLT43H:00000001請把本實驗的微程序版請把本實驗的微程序版“CPU+8255”“CPU+8255”電路改成硬布線版和電路改成硬布線版和流水線版流水線版“CPU+8255”“CPU+8255”電路,并且運行本實驗步驟所示的電路,并且運行本實驗步驟所示的8255_Cycle_LED

14、8255_Cycle_LED和和keyboardkeyboard程序。請問上述程序在硬布線程序。請問上述程序在硬布線或流水線版本中需要修改么或流水線版本中需要修改么? ? 若需要,請修改并測試若需要,請修改并測試。OP碼碼( I7 I6 I5 I4 )指令助記符指令助記符OP碼碼( I7 I6 I5 I4 )指令助記符指令助記符0111IRET1111OR/ORI0110MOV1110AND/ANDI0101OUT/OUTA1101ADD/ADDI0100IN1100SUB/SUBI0011SET1011XOR/XORI0010SOP (INC/DEC/NOT/THR)1010SHT (RLC

15、/ LLC/ RRC/ LRC)0001JMP/JMPR/Jx/JxR1001STO/PUSH0000NOP/HLT1000LAD/POP一、系統(tǒng)指令:一、系統(tǒng)指令:匯編語言匯編語言功能功能I7 I6 I5 I4 I3 I2I1 I0NOP;無操作(延時無操作(延時4個個T)00000/0 x/0HLT;停機(斷點)停機(斷點)00000/0 x/1IRET;中斷返回中斷返回BP_PCPC;BP_PSWPSW01110/0 x/x匯編語言匯編語言注釋注釋I7 I6 I5 I4 I3 I2I1 I0MOV RA, RB;(RB)RA0110RARBSET RA, IMM;IMMRA0011RAx

16、/xIMM二、二、寄存器及寄存器及I/O操作操作指令:指令:匯編語言匯編語言功能功能I7 I6 I5 I4 I3 I2I1 I0IN RA, PORTx;(PORTx)RA0100RAPORTxOUT RA, PORTx;(RA)PORTx0101RA0/PORTxOUTA RA, PORTx;(RA)PORTx0101RA1/PORTx匯編語言匯編語言功能功能I7 I6 I5 I4I3 I2I1 I0LAD RA, ADDR;ADDRRA1000RA0/0ADDRPOP RA, RB;RBRA1000RARBSTO RA, ADDR;(RA)ADDR1001RA0/0ADDRPUSH RA,

17、 RB;(RA)RB1001RARB三、三、存儲器及堆棧操作指令存儲器及堆棧操作指令:匯編語言匯編語言功能功能I7 I6 I5 I4I3 I2I1 I0JMP ADDR;ADDRPC00010/00/0ADDRJMPR RB;(RB)PC00010/0RBJC ADDR;IF CF=1, ADDRPC00010/10/0ADDRJCR RB;IF CF=1, (RB)PC00010/1RBJZ ADDR;IF ZF=1, ADDRPC00011/00/0ADDRJZR RB;IF ZF=1, (RB)PC00011/0RBJS ADDR;IF SF=1, ADDRPC00011/10/0ADD

18、RJSR RB;IF SF=1, (RB)PC00011/1RB四、四、跳轉(zhuǎn)系列指跳轉(zhuǎn)系列指令:令:五、五、算術(shù)邏輯運算指令算術(shù)邏輯運算指令:匯編語言匯編語言功能功能I7 I6 I5 I4I3 I2 I1 I0RLC RA;(RA)右邏輯移位右邏輯移位1010RA0/0LLC RA;(RA)左邏輯移位左邏輯移位1010RA1/0RRC RA;(RA)右循環(huán)移位右循環(huán)移位1010RA0/1LRC RA;(RA)左循環(huán)移位左循環(huán)移位1010RA1/1匯編語言匯編語言功能功能I7 I6 I5 I4I3 I2I1 I0INC RA;(RA)1RA0010RA0/0DEC RA;(RA)1RA0010RA0/1NOT RA;#(RA)RA0010RA1/0THR RA;(RA)RA0010RA1/1五、五、算術(shù)邏輯運算指令算術(shù)邏輯運算指令:匯編語言格式匯編語言格式功能功能I7 I6 I5 I4I3 I2I1 I0ADD RA, RB;(RA) (RB)RA1101RA

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論