资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
1IIC 程序 :SDA BIT P0.0;IIC 的数据端 IICSV EQU 7DH;IIC 存储单元首址 SCL BIT P0.1;IIC 的时钟端 DTSV EQU 77H;数据存储单元首址 KV EQU 7FH;键值存储区 KEYNUM EQU 70H;按键次数存储 SV EQU 7FH;行扫描字哲存 SLA EQU 6FH;IIC 器件的寻址字节NUM EQU 6EH;DTSV 修整控制字 SUBA EQU 6DH;存放器件子地址 MOV R5,A;行,列计数器清零 KS BIT P2.7;开锁电路位 MOV R3,#0FEH;R3 为行扫描字哲存 BUZZER BIT P2.0;蜂鸣器位 SKEY1:MOV A, R3 CLR P2.7 MOV SV, R3;行扫描字送 SV 暂存 ORG 0000H MOV P1,A;扫描字送 P1 口 SJMP MAIN NOP ORG 0030H NOP MAIN: NOP MOV R2,#20 NOP MOV R1,#7FH NOP;稳定 P1 口输出 CLRR: CLR A MOV A, P1;读列值 MOV R1, A CJNE A, SV,SKEY3;有键按下跳转 DEC R1 INC R4 DJNZ R2,CLR R;初始化各存储单元 SETB C;准备将行扫描左移一位 MOV R3,#6 MOV A, R3MOV R1,#DTSV RLC A DEC R1 MOV R3,A CCLR: MOV R1,#15 MOV A,R4 DEC R1 CJNE A,#4,SKEY1 DJNZ R3,CCLR00;DTSV 初值附为 15 SJMP KEY MOV SUBA,#00H;器件子地址存入 SKEY3:JNB ACC.4,SKEY5 SUBA JNB ACC.5,SKEY6 STALP:MOV R2,#6 JNB ACC.6,SKEY7 SCAN: MOV A , #78H JNB ACC.7,SKEY8 MOV SBUF, A SJMP KEY JNB TI, $ SKEY5:MOV A, #0 CLR TI MOV R2,A DJNZ R2,SCAN;调显示 AJMP DKEY *键扫主程序* SKEY6:MOV A, #1 KEY: MOV P1,#0F0H;令所有行为低电平 MOV R2,A MOV R7,#0FFH;设置计数常数 AJIMP DKEY DJNZ R7,$;延时 SKEY7:MOV A, #2 MOV A,P1;读取 P1 口列值 MOV R2, A CJNE A, #0F0H, EKEY1 AJMP DKEY SJMP KEY;无键按下返回 SKEY8: MOV A, #3 EKEY: MOV R2, A LCALL D20MS DKEY: MOV A, R4 CJNE A, #0F0H, EKEY1 LCALL DECODE2SJMP KEY;无键按下返回 ;*调整键值* EKEY1:CLR BUZZER DECODE:MOV A, R4 SKEY: MOV A,#0;下面进行行扫描 MOV B, #4 MOV R4,A MUL AB RET ADD A, R2;R2 为列值 RESV: MOV DPTR,#TAB;数字表头始址送 DPTR MOV SNUF, A MOVC A,A+DPTR JNB TI, $ MOV SBUF, A CLR TI JNB TI, $ DEC R0 CLR TI DJNZ R2,SCANI;调显示 RET AJMP KEY *判断功能键* ENT: CJNE A, #14,RESV1 CJNE A, #15,ENT;是否是修改 IIC 键 LCALL DKEY1 LCALL DKEY1;关提示音 MOV A, KEYNUM;按键次数标志位送 A MOV A,KEYNUM;按键次数标志位送 A CJNE A, #0,RDIIC CJNE A,#0,WRBB AJMP STALP AJMP STALP RDIIC: MOV DTSV, #20H WRBB: MOV SLA, #0A0H MOV SLA,#0A0H;送总线寻址字节 MOV R3,KEYNUM MOV DTSV, #20H MOV KEYNUM, #01H MOV R3,KEYNUM LCALL WRBYTE;读取 IIC 中数据 INC KEYNUM MOV SLA, #0A1H LCALL WRBYTE MOV KEYNUM,R3 MOV KEYNUM, R3 LCALL RDBYTE MOV R6,#0A0H MOV KEYNUM,R3;按键次数送 R3 DL0:MOV R7,#0FAH MOV R3,#6 DL1:NOP MOV R0, #IICSV;IIC 存储首址 NOP MOV R1, #DTSV;输入数据存储首 址 DJNZ R7,DL1 DEC R1 DJNZ R6,DL0 COMP: MOV A, R0 INT: MOV R1,#DTSV MOV SLA, R1;SLA 中暂存数据地 址 DEC R1 CJNE A, SLA, INT MOV R2,#6 DEC R0 INTI1: MOV R1, #15 DEC R1 DEC R1 DJNZ R3,COMP DJNZ R2,INTI1;DTSV 初值附为 15 CLR KS MOV KEYNUM,#0;清按键次数标志位 CLR P0.4 MOV NUM,#0;清 DTSV 修整位 LCALL D1M MOV R2,#6 SETB KS MOV R0,#DTSV SETB P0.4 DEC R0
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号