单片机键盘显示实验报告Word文档格式.docx
- 文档编号:5554582
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:10
- 大小:37.73KB
单片机键盘显示实验报告Word文档格式.docx
《单片机键盘显示实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机键盘显示实验报告Word文档格式.docx(10页珍藏版)》请在冰点文库上搜索。
。
LED显示用的段码与教科书所提供的不同,本实验采用如下段码:
显示数符
段码
BBH
A
DBH
1
09H
B
F1H
2
EAH
C
B2H
3
6BH
D
E9H
4
59H
E
F2H
5
73H
F
D2H
6
F3H
—
40H
7
0BH
.
04H
8
FBH
┗┛
A1H
9
7BH
1AH
灭
00H
P
DAH
实验代码:
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
MOV41H,#0BBH;
对几个存放地址进行初始化
MOV42H,#0BBH
MOV43H,#0BBH
MOV44H,#0BBH
MOVSCON,#00H;
初始化串行口控制寄存器,设置其为方式0
LCALLDISPLAY;
初始化显示
KEY:
MOVR3,#08H;
用来存放两个数据
MOVR4,#02H
MOVP1,#0FFH;
初始化P1口
MOVA,P1;
读取按键状态
CPLA;
取正逻辑,高电平表示有键按下
JZKEY;
A=0时无键按下,重新扫描键盘
LCALLDELAY1;
消抖
再次读取按键状态
CPLA
再次判别是否有键按下
PUSHA
KEY1:
MOVA,P1
ANLA,#0FH;
判别按键释放
JNZKEY1;
按键未释放,等待
释放,延时去抖动
POPA
JB,ADD1;
K1按下转去ADD1
JB,SUB1;
K1按下转去SUB1
JB,MUL1;
K1按下转去MUL1
JB,DIV1;
K1按下转去DIV1
LJMPKEY
ADD1:
LCALLBUFFER;
显示加数和被加数
MOV43H,#049H
显示加号
MOVA,R3
ADDA,R4
DAA
MOVR3,A;
相加结果放入R6
ANLA,#0FH
MOVR4,A;
结果个位放入R7
SWAPA;
半字节交换,高四位放入低四位
结果的高位放入R6
LCALLL;
显示缓存区设置
LCALLDELAY2;
延时一秒后显示
LCALLDISPLAY
SUB1:
显示减数和被减数
MOV43H,#40H
显示减号
CLRCY;
CY清零
SUBBA,R4;
做减法
RLCA;
带进位循环左移,最高位放入CY
JCF;
判断最高位,若为1则跳转到负数
ZHENG:
MOVR4,A
MOVR3,#00H;
高位清零
SJMPOUT
FU:
POPA
取绝对值
INCA
MOVR3,#11H;
显示负号
OUT:
LCALLL;
LCALLDELAY2;
延时1s后显示
MUL1:
LCALLBUFFER;
显示两位乘数
MOV43H,#99H
LCALLDISPLAY;
显示乘号
MOVB,R4
MULAB;
结果放入AB,A中是低8位,B中是高8位
MOVB,#0AH
DIVAB;
十进制转换
MOVR4,B;
MOVR3,A;
结果的十位放入R6
LCALLL
LCALLDELAY2
DIV1:
显示除数和被除数
MOV43H,#62H
显示除号
A除以B
余数放在R4中
商放在R3中
MOVA,R4
MOVCA,@A+DPTR;
调用段选号
MOV41H,A;
显示余数
MOVCA,@A+DPTR
MOV43H,A;
显示商
MOV42H,#00H
MOV44H,#00H
LCALLDELAY2;
延时1S后显示
BUFFER:
MOV41H,#22H;
显示初始化,在做计算之前显示两个操作数,显示等号
MOVDPTR,#TABL
MOV42H,A
MOV44H,A
RET
DISPLAY:
MOVR5,#04H;
共四位需要显示
MOVR0,#41H
DISPLAY1:
MOVA,@R0
MOVSBUF,A
DISPLAY2:
JNBTI,DISPLAY2;
是否传完了
CLRTI
INCR0
DJNZR5,DISPLAY1
L:
MOVA,R4
R4对应的段码
MOV42H,A;
R3对应的段码
MOV43H,#00H
DELAY1:
;
普通延时
MOVR1,#20H
DS1:
MOVR2,#0FFH
DS2:
DJNZR2,DS2
DJNZR1,DS1
RET
DELAY2:
MOVR6,#14H;
定时1S
MOVTMOD,#01H
DS3:
MOVTH0,#3CH
MOVTL0,#0B0H;
50ms
SETBTR0
LOOP:
JNBTF0,LOOP
CLRTF0
CLRTR0
DJNZR6,DS3;
1s到,中断返回
TABL:
DB0BBH09H0EAH6BH;
段码表
DB59H73H0F3H0BH
DB0FBH7BH00H0DBH
DB0F1H0B2H0E9H0F2H
DB0D2H40H
实验结果及分析
按键1:
8+2=结果:
10
按键2:
8-2=结果:
6
按键3:
8*2=结果:
16
按键4:
8/2=结果:
从上面的结果可以看出,本次实验基本完成了实验要求。
本次实验主要运用了键盘接口和LED显示方面的知识,
掌握了如何读取键盘状态和消抖:
MOVP1,#0FFH;
在计算过程的显示中复习了定时器的知识:
对于缓存区的设置这一块儿掌握的还不是很好,希望经过多次练习可以加深理解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 键盘 显示 实验 报告