全球旧事资料 分类
单片机的键盘和显示实验报告
㈠实验目的
1掌握单片机IO的工作方式;2掌握单片机以串行口方式0工作的LED显示;3掌握键盘和LED显示的编程方法。
㈡实验器材
1G6W仿真器2MCS51实验板3PC机4电源
一台一台一台一台
㈢实验内容及要求
实验硬件线路图见附图从线路图可见,8051单片机的P1口作为8个按键的输入端,构成独立式键盘。四个LED显示器通过四个串并移位寄存器74LS164接口至8051的串行口,该串行口应工作在方式0发送状态下,RXD端送出要显示的段码数据,TXD则作为发送时钟来对显示数据进行移位操作。编写一个计算器程序,当某一键按下时可执行相应的加、减、乘、除运算方式,在四个显示器上显示数学算式和最终计算结果。注:①通过按键来选择加、减、乘、除四种运算方式。②输入两个数字均为一位十进制数,可预先放在内存中。
㈣实验框图见下页
㈤思考题
1当键盘采用中断方式时,硬件电路应怎样连接?
P14P17是键输出线,P10P13是扫描输入线。输入与门用于产生按键中断,其输
f入端与各列线相连,再通过上拉电阻接至5V电源,输出端接至8051的外部中断输入端。
274LS164移位寄存器的移位速率是多少?实验中要求计算的式子和结果之间相差一秒,移位寄存器的移位速率应该是每秒一位吧。其实这个问题确实不知道怎么回答。。。。。
开始
显示“0000”
P1口置输入
读P1口

是否有键
按下?

延迟消抖

是否有键按下?

读键码
加法运算
减法运算
除运算
LED显示用的段码与教科书所提供的不同,本实验采用如下段码:显示数符段码显示数符段码
f0
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
实验代码:ORG0000HAJMPMAINORG0030HMAINMOV41H0BBH
MOV42H0BBHMOV43H0BBHMOV44H0BBHMOVSCON00HLCALLDISPLAYKEYMOVR308HMOVR402HMOVP10FFHMOVAP1CPLAJZKEYLCALLDELAY1MOVAP1CPLAJZKEYPUSHAKEY1MOVAP1CPLAANLA0FHJNZKEY1LCALLDELAY1POPA
对几个存放地址进行初始化
初始化串行口控制寄存器,设置其为方式0初始化显示用来存放两个数据
初始化P1口读取按键状态取正逻辑,高电平表示有键按下A0时无键按下,重新扫描键盘消抖再次读取按键状态
再次判别是否有键按下
判别按键释放按键未释放,等待释放,延时去抖动
JBACC0ADD1JBACC1SUB1JBACC2MUL1JBACC3DIV1
K1按下转去ADD1K1按下转去SUB1K1按下转去MUL1K1按下转去DIV1
fLJMPKEY
ADD1LCALLBUFFER
显r
好听全球资料 返回顶部