免费获取
|
论文天下网
|
原创毕业论文
|
论文范文
|
论文下载
|
计算机论文
|
论文降重
|
论文排版
|
外文翻译
|
免费论文
|
开题报告
|
心得体会
|
全站搜索
当前位置:
论文天下网
->
免费论文
->
电子专业
免费电子智能抢答器(单片机)(三)
9,A,B
DB 9CH,7AH,9EH,8EH ;C,D,+,-
END
DBUF EQU 30H ;三位显示缓冲区首址
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV SP,#60H
ACALL KEYSCAN ;调用键盘扫描子程序判断是加分或减分
CJNE A,#0EH,NEXT2 ;不是加分键,则转移判断是减分键?
NEXT1: ACALL KEYSZ ;是加分键,调用键盘设置子程序
ACALL DISPLAY ;调用串口静态显示子程序
SJMP MAIN
NEXT2: CJNE A,#0FH,MAIN ;都不是,则转MAIN
AJMP NEXT1 ;是减分键,调用键盘设置子程序
ORG 0100H
KEYSZ: PUSH PSW ;键盘设置子程序
PUSH ACC
SETB RS1
MOV R0,#DBUF ;R0指向显示缓冲区首地址
MOV R7,#3 ;设置键盘输入位数
L1: CLR RS1
ACALL KEYSCAN ;调用键盘扫描子程序取按下键的键号
SETB RS1
CJNE A,#0AH,L2 ;键入数合法性检测(是否大于9)
L2: JNC L1 ;大于9,重新键入
MOV R0,A ;键号送显示缓冲区
INC R0
DJNZ R7,L1 ;3位数值输入完否?未完继续,否则返回
POP ACC
POP PSW
CLR RS1
RET
KEYSCAN: MOV R3, #0F7H ;扫描初值(P0.3=0)
MOV R1, #00H ;取码指针
L3: MOV A, R3 ;开始扫描
MOV P0, A ;将扫描值输出至P1
MOV A, P0 ;读入P1值,判断是否有键按下
MOV R4, A ;存入R4,以判断按键是否放开
SETB C ;C=1
MOV R5, #04H ;扫描P1.4~P1.7
L4: RLC A ;将按键左移一位
JNC KEYIN ;判断C=0?有键按下则C=0,跳至KEYIN
INC R1 ;C=1,则无键按下,将取码指针值加1
DJNZ R5, L4 ;4列扫描完毕了吗?
MOV A, R3 ;扫描值载入
SETB C ;C=1
RRC A ;扫描下一行(P1.3~P1.0)
MOV R3, A ;存回扫描寄存器
JC L3 ;C=1?是则P1.0尚未扫描到
SJMP KEYSCAN ;C=0,则四行已扫描完毕
KEYIN: MOV R7, #60 ;延时消除抖动
D2: MOV R6, #248 ;
DJNZ R6, $ ;
DJNZ R7, D2 ;
D3: MOV A, P0 ;延时后再读入P1值
XRL A, R4 ;与上次读入值作比较
JZ D3 ;A=0,表示按键未放,等待按键释放
MOV A, R1 ;按键已放开,取码指针载入累加器
MOV DPTR,#TABLE ;键盘码表首地址送DPTR
MOVC A, @A+DPTR ;查键
首页
上一页
1
2
3
4
5
下一页
尾页
3
/5/5
相关论文
上一篇
:
步进电机控制系统上位机的意义和..
下一篇
:
免费超声波测距仪的设计
推荐论文
本专业最新论文
Tags:
免费
电子
智能
单片机
2010-03-29 22:25:01【
返回顶部
】
相关栏目
自动化相关
计算机论文
工程管理论文
法律论文
医学论文
人力资源
电子专业
电气工程
英语论文
行政管理
电子商务
社科文学
教育论文
物流专业
金融专业
财务管理
会计专业
化学化工材料科学
电子通信
环境科学
经济类
机械模具类
报告,总结,申请书
其他专业论文