伪定义
KEYBUF EQU 30H ;键值暂存单元,查表时用
;*************************************
;* *
;* 主程序和中断程序入口 *
;* *
;*************************************
ORG 0000H ;程序执行开始地址
AJMP MAIN ;跳至MAIN执行
;*************************************
;* *
;* 主 程 序 *
;* *
;*************************************
ORG 0040H
MAIN: MOV P1,#0FFH
CLR P2.0
LCALL KEYSCAN ;主体程序。调用查键子程序
LJMP MAIN ;转MAIN循环
NOP ;软件陷阱
NOP
NOP
LJMP MAIN
;*************************************
;* *
;* 键盘工作子程序(4 * 4 阵列) *
;* 出口为各键工作程序入口 P1口 *
;*************************************
KEYSCAN:
MOV P1,#0FFH;清P1口,初始化键低电平有效
CLR P1.4;清P1.4口
MOV A,P1;读P1口状态
ANL A,#0FH;清高4位,保留低四位低电平有效
XRL A,#0FH;异或相同则为0不同结果为1,为0则表示无键被按下(这一行)
JZ NOKEY1;为0则转下一行键值处理
LCALL DL10MS;有键按下则延时10ms再测一次抗干扰
MOV A,P1
ANL A,#0FH
XRL A,#0FH
JZ NOKEY1;是干扰则转下一行键值处理程序
MOV A,P1
ANL A,#0FH;保留低四?
KB1:
CJNE A,#0EH,KB2;如果值为#0E则为P1.4与P1.0组合的键
MOV KEYBUF,#0;赋键值
LJMP KEYWORK;转键处理
KB2: CJNE A,#0DH,KB3;如果值为#0D则为P1.4与P1.1组合的键
MOV KEYBUF,#1
LJMP KEYWORK
KB3: CJNE A,#0BH,KB4;如果值为#0B则为P1.4与P1.2组合的
MOV KEYBUF,#2
LJMP KEYWORK
KB4: CJNE A,#07H,KB5;如果值为#07则为P1.4与P1.3组合的
MOV KEYBUF,#3
LJMP KEYWORK
KB5: NOP
NOKEY1:
MOV P1,#0FFH
CLR P1.5
MOV A,P1
ANL A,#0FH
XRL A,#0FH
JZ NOKEY2
LCALL DL10MS
MOV A,P1
ANL A,#0FH
XRL A,#0FH
JZ NOKEY2
MOV A,P1
ANL A,#0FH
CJNE A,#0EH,KB6
MOV KEYBUF,#4
LJMP KEYWORK
KB6: CJNE A,#0DH,KB7
MOV KEYBUF,#5
LJMP KEYWORK
KB7: CJNE A,#0BH,KB8
MOV KEYBUF,#6
LJMP KEYWORK
KB8: CJNE A,#07H,KB9
MOV KEYBUF,#7
LJMP KEYWORK
KB9: NOP
NOKEY2:
MOV P1,#0FFH
CLR P1.6
MOV A,P1
ANL A,#0FH
XRL A,#0FH
JZ NOKEY3
LCALL DL10MS
MOV A,P1
ANL A,#0FH
XRL A,#0FH
JZ NOKEY3
MOV A,P1
ANL A,#0FH
CJNE A,#0EH,KB10
MOV KEYBUF,#8
LJMP KEYWORK
KB10: CJNE A,#0DH,KB11
MOV KEYBUF,#9
LJMP KEYWORK
KB11: CJNE A,#0BH,KB12
MOV KEYBUF,#10
LJMP KEYWORK
KB12: CJNE A,#07H,KB13
MOV KEYBUF,#11
LJMP KEYWORK
KB13: NOP
NOKEY3:
MOV P1,#0FFH
CLR P1.7
MOV A,P1
ANL A,#0FH
XRL A,#0FH
JZ NOKEY4
LCALL DL10MS
MOV A,P1
ANL A,#0FH
XRL A,#0FH
JZ NOKEY4
MOV A,P1
ANL A,#0FH
CJNE A,#0EH,KB14
MOV KEYBUF,#12
LJMP KEYWORK
KB14: CJNE A,#0DH,KB15
MOV KEYBUF,#13
LJMP KEYWORK
KB15: CJNE A,#0BH,KB16
MOV KEYBUF,#14
LJMP KEYWORK
KB16: CJNE A,#07H,KB17
MOV KEYBUF,#15
LJMP KEYWORK
KB17: NOP
NOKEY4:
LJMP MAIN
KEYWORK:
MOV A,KEYBUF;得到键值
MOV DPTR,#TABLE
MOVC A,@A+DPTR;查行键值送ACC
MOV P0,A;
WAITFREE:
MOV A,P1;以下程序等待键释放
MOV KEYBUF,#00H
ANL A,#0FH
XRL A,#0FH
JNZ WAITFREE
RET
;
;*************************************
;* *
;* 延时513 us *
;* *
;*************************************
;
;513微秒延时程序
DELAY: MOV R2,#0FEH
DELAY1: DJNZ R2,DELAY1
RET
;
;
;
;*************************************
;* *
;* 延时10ms *
;* *
;*************************************
;
;10毫秒延时程序
DL10MS: MOV R3,#14H
DL10MS1: LCALL DELAY
DJNZ R3,DL10MS1
RET
;
TABLE: ;七段显示器数据定义
DB 0C0H, 0F9H, 0A4H, 0B0H, 99H ; 01234
DB 92H, 82H, 0F8H, 80H, 90H ; 56789
DB 88H, 83H, 0C6H, 0A1H, 86H ; ABCDE
DB 8EH ; F
END ;程序结束
没有合适的资源?快使用搜索试试~ 我知道了~
(单片机Proteus案例)Proteus单片机仿真实例之键盘系列
共64个文件
hex:7个
dsn:6个
pwi:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 152 浏览量
2024-05-16
12:19:00
上传
评论
收藏 530KB ZIP 举报
温馨提示
(单片机Proteus案例)Proteus单片机仿真实例之键盘系列
资源推荐
资源详情
资源评论
收起资源包目录
(单片机Proteus案例)Proteus单片机仿真实例之键盘系列.zip (64个子文件)
(单片机Protues案例)Proteus单片机仿真实例之键盘系列
4x4键盘
14 4x4键盘
14.hex 1022B
14.LST 11KB
14.Uv2 2KB
14.plg 0B
14.OBJ 2KB
14.PWI 653B
14.Opt 970B
14.lnp 21B
14.M51 8KB
14 2KB
14.a51 4KB
14.DSN 108KB
(单片机Protues案例)Proteus单片机仿真实例之设计音乐系列
播放音乐
Last Loaded PlayMusic.DBK 75KB
PlayMusic.BMP 1.34MB
PlayMusic.DSN 75KB
Keil
PlayMusic_Opt.Bak 1KB
PlayMusic.lnp 50B
PlayMusic.plg 11KB
PlayMusic_Uv2.Bak 2KB
SoundPlay.h 5KB
MusicEncode.exe 220KB
PlayMusic.c 9KB
PlayMusic.LST 11KB
PlayMusic.M51 12KB
PlayMusic.OBJ 12KB
PlayMusic.hex 6KB
_desktop.ini 10B
PlayMusic.Opt 2KB
PlayMusic.Uv2 2KB
PlayMusic 11KB
lpk.dll 43KB
_desktop.ini 10B
PlayMusic.PWI 386B
电子琴和倒计时播放音乐
电子琴和倒计时播放音乐
ZHONGHE.HEX 6KB
ZHONGHE.ASM 25KB
DAM POAN JI.DSN 145KB
DAM POAN JI.PWI 742B
4X4键盘显示
4X4键盘显示.PWI 742B
Last Loaded 4X4键盘显示.DBK 45KB
4X4键盘显示.DSN 45KB
4X4键盘显示程序
简易的计算器.ASM 8KB
4X4键盘和显示.ASM 7KB
5位显示.HEX 272B
4X4键盘和显示.HEX 1KB
简易的计算器.HEX 1KB
5位显示.ASM 1KB
4×4键盘按键显示对应键值程序.txt 4KB
16_16(12)
16_16(12)
16_16(12).DSN 185KB
Text1.OBJ 4KB
Text1.C 2KB
16_16(12).Uv2 2KB
temp.PWI 432B
16_16(12)_Opt.Bak 1KB
Text1.LST 4KB
Last Loaded 16_16(12).DBK 185KB
16_16(12) 4KB
16_16(12).plg 2KB
Last Loaded temp.DBK 143KB
temp.DSN 143KB
16_16(12).Opt 1KB
16_16(12).PWI 768B
16_16(12)_Uv2.Bak 2KB
16_16(12).hex 1KB
16_16(12).M51 4KB
共 64 条
- 1
资源评论
DRobot
- 粉丝: 942
- 资源: 150
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功