freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

微機(jī)接口第九章8255a-資料下載頁

2025-01-06 03:54本頁面
  

【正文】 , 只要 CPU通過段控制端口送出段代碼 , 然后通過位控制端口送出位代碼 , 指定的數(shù)碼管便顯示相應(yīng)的數(shù)字 。如果 CPU順序地輸出段碼和位碼 , 依次讓每個(gè)數(shù)碼管顯示數(shù)字 , 并不斷地重復(fù) , 當(dāng)重復(fù)頻率達(dá)到一定程度 , 利用人眼的視覺暫留特性 , 從數(shù)碼管上便可見到相當(dāng)穩(wěn)定的數(shù)字顯示 。 程序設(shè)計(jì)時(shí)可以開辟一個(gè) BUFDATA緩沖區(qū) , 依次存放要顯示的數(shù)字 。 還需要建立一個(gè)顯示代碼表 TABLE, 依次存放 0~ F對(duì)應(yīng)的七段顯示代碼 。 顯示代碼是和硬件連接有關(guān)的 ,在圖 , 數(shù)字 0的顯示代碼為C0H, 1的顯示代碼為 F9H, … 。 下面是一段將 8位數(shù)碼管依次顯示一遍的子程序 。 MOV DI , OFFSET BUFDATA 。指向數(shù)字緩沖區(qū) MOV CL , 0FEH 。 指向最右邊數(shù)碼管 DISP: MOV AL , [ DI ] 。 取出數(shù)字 MOV BX , OFFSET TABLE 。指向顯示代碼表 XLAT 。得到顯示代碼 MOV DX , SEGPORT 。 SEGPORT為段控制 端口 OUT DX , AL 。 送出段碼 MOV AL , CL 。 取出位顯示代碼 MOV DX , BITPORT 。 BITPORT為位控制端口 OUT DX , AL 。 送出位碼 CALL DELAY 。 延時(shí) 1ms, 讓數(shù)碼管有充分的點(diǎn) 亮?xí)r間 INC DI 。 指向下一個(gè)數(shù)字 ROL CL , 1 。 指向下一個(gè)數(shù)碼管 CMP CL , 0FEH 。 是否指向最右邊的數(shù)碼管 JNZ DISP 。 沒有 , 顯示下一個(gè)數(shù)字 RET 。 8位數(shù)碼管都顯示一遍 , 返回 TABLE DB 0C0H , 0F9H , 0A4H , 0B0H 。顯示代碼表 DB 99H , 92H , 82H , 0F8H DB 80H , 98H , 88H , 83H DB 0C6H , 0A1H , 86H , 8EH BUFDATA DB 8 DUP ( 0 ) 。數(shù)字緩沖區(qū) 例 :設(shè) 8255A的端口地址為 344H~347H。 由 16個(gè)按鍵組成 4?4矩陣式鍵盤 , 編寫程序讀取按鍵 (定義鍵值為 0~F)將鍵值寫入輸出口 , 在數(shù)碼管上顯示 , 以觀察輸入的鍵位 。 電路圖如圖所示。 四、 8255A與鍵盤 /LED接口 8255A與鍵盤和 LED連接電路 8255A PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 LED3 LED2 LED1 LED0 +5V D0~ D7 D0~ D7 RD WR A0 A1 RST CS IOR IOW A0 A1 Reset Y1 程序流程如下: 開始 在 CRT上顯示提示信息 寫 8255A控制字 80H 字型碼送 B口 延時(shí)且關(guān)指示燈 寫 8255A控制字 88H 有鍵按下 行掃描鍵盤 列掃描鍵盤 延時(shí)消抖等待釋放 S1~S4按下否 退 出 Y N N Y 流程圖 相應(yīng)程序如下: DATA SEGMENT disc DB 0BBH, 0A0H, 097H, 0B5H, 0ACH, 3DH DB 3FH, 0A1H, 0BFH, 0BDH, 0AFH, 3EH, 0B6H DB 1FH, 0FH 。 0~f 顯示段碼表 DISO DB ? Press any of the keys to quit !?. 24H 。 提示信息 D DB 0 DATA Ends CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE DS:DATA START: MOV AL, 3 ; 清屏幕 MOV AH, 0 INT 10H MOV AX, DATA ;顯示提示信息 MOV DS, AX MOV AH, 2 ;光標(biāo)定位 MOV BH, 0 MOV DX, 0614H INT 10H MOV DX, OFFSET DISO;顯示:“ Press……” QWE: MOV DX, 347H ; 8255A控制寄存器初始化 MOV AL, 80H ; B口、 C口設(shè)為輸出 OUT DX, AL MOV DX, 345H 。 345H為 8255A的 B口地址 MOV BL, D MOV BH, 0 MOV DI, BX MOV AL, [DI] ;取‘ 0~F’顯示字形碼 OUT DX, AL ;將顯示字形碼送 B口 MOV DX, 346H ; 8255A C口地址 MOV AL, 0E0H OUT DX, AL ; MOV BX, DLYC1 LPO: MOV CX, DLYC2 ;延時(shí) LP1: LOOP LP1 DEC BX JNZ LPO KS: MOV DX, 350H ;指示燈顯示 MOV AL, D ;按下鍵的二進(jìn)制值 OUT DX, AL MOV DX, 347H ; 8255A初始化,寫控制字 88H MOV AL, 88H 。 PC0~PC3為輸出, PC4~PC7為輸入 OUT DX, AL 。 B口輸出,方式 0, A口輸出。 KSLP: MOV DX, 346H ; 讀鍵盤 IN AL, DX AND AL, 0F0H CMP AL, 0F0H JNE KP ;有鍵按下,轉(zhuǎn)處理判別 MOV DX, 350H ;若鍵未按,查 S1~S4鍵是否退出 IN AL, DX AND AL, 0F0H CMP AL, 0F0H JNE KPR ; S1~S4任一健按下,則轉(zhuǎn) KPR退出 JMP KSLP KP: MOV CX, 0F000H ;掃描鍵盤 KP0: LOOP KP0 ;消抖延時(shí) MOV DX, 346H IN AL, DX AND AL, 0F0H CMP AL, 0F0H JE KSLP ;消抖后無鍵按下,則轉(zhuǎn)回,視作干擾 MOV CX, 0004H ;掃描 4行 MOV DX, 346H MOV BX, 0F700H ; BH掃描輸出行碼,先掃第 0行 (PC3=0) ; BL鍵值 KP1: MOV AL, BH 。 行掃描 OUT DX, AL IN AL, DX AND AL, 0F0H CMP AL, 0F0H JNE KP2 。 是這一行的鍵按下,轉(zhuǎn)出判斷列 ADD BL, 04H 。 鍵值加 4 ROR BH, 1 。 準(zhǔn)備掃描下一行 LOOP KP1 JMP QWE ; 4行掃 完 未找到,轉(zhuǎn)顯示 KP2: MOV CX, 0004H ;掃描 4列 KP3: ROL AL, 1 ;列掃描 TEST AL, 01 JZ KP4 ; AL=0,即是此列,轉(zhuǎn)出 INC BL ;鍵值加 1 LOOP KP3 KP4: MOV D, BL ; 鍵盤送顯示緩存 KS5: MOV DX, 346H ; 等待鍵釋放 IN AL, DX AND AL, 0F0H CMP AL, 0F0H JNE KS5 ; 仍按下,繼續(xù)等待 MOV CX, 0F000H KP6: LOOP KP6 ;消抖延時(shí) MOV DX, 346H IN AL, DX AND AL, 0F0H CMP AL, 0F0H JNE KS5 JMP QWE ;鍵處理結(jié)束 KPR: MOV AL, 0 ;退出 MOV DX, 0350H ;關(guān)所有的 LED燈 OUT DX, AL MOV AX, 4C00H INT 21H Main ENDP CODE ENDS END START
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1