单片机实验上机--实验二十一8279键盘显示实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二十一8279键盘显示实验
一、实验目的
1.了解8279内部定时/计数器使用方法
2.学习计数器各种工作方式的用法
二、实验说明
键盘和八段显示器可以直接使用单片机89C51的并行口,或者用74LS273和74LS244、并行接口芯片8255或多功能接口芯片8155与微型计算机接口。用上述接口方法,对键盘和显示器的扫描是由软件实现的,不但程序比较复杂,更不利的是占用CPU很多时间。若采用专用的可编程键盘/显示控制器8279与微型计算机接口,则由8279对键盘和显示器进行自动扫描,充分地提高CPU的工作效率。
Inetel8279芯片是一种通用的可编程键盘显示器接口器件,单个芯片就能完成键盘输入和八段显示器显示控制两种功能。8279的内部结构如下图:
DB0~DB7——数据总线,三态,双向
CLK——时钟输入
Ao——数据选择,输入
RD、WR——读、写,输入,低电平有效
IRQ——中断请求信号,输出,高电平有效
SL0~SL3——扫描信号,输出
RL0~RL7——回复信号,输入
SHIFT——移位信号,输入,高电平有效
CNTL/STB——控制/选通信号,输入,高电平有效
OUTA3~OUTA0——A组显示信号,输出
OUTB3~OUTB0——B组显示信号,输出
BD——显示消隐信号,输出,低电平有效
三、实验内容及步骤
1、单片机最小应用系统1的 P0口接8279的DB0~DB7口,8279的Y0~Y7接动态扫描
显示的SMG1~SMG6口, OUTB0~OUTA3口接动态扫描显示的段码口;单片机最小应用系统1的WR、RD、P2.0、P2.7、ALE、RESET、INT0分别接8279的WR、RD、A0、CS、CLK、RESET、IRQ。
2、安装好伟福仿真器,用串行数据通信线连接计算机与仿真器,把87C52型仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头。
3、启动计算机,打开伟福仿真软件,进入仿真环境。选择仿真器型号、仿真头型号、CPU类型;选择通信端口,测试串行口。
4、打开8279.ASM源程序,编译无误后运行程序,按阵列式键盘,6LED显示键值。
5、可把源程序编译成可执行文件,烧录到89C51芯片中
四、源程序
ORG 0
AJMP START
ORG 16H
START: ;设置8279工作状态
MOV DPTR,#07FFFH ;命令口
MOV A,#0D1H ;清除显示寄存器A组、B组的输出
MOVX @DPTR,A
MOV A,#00H ;左端送入、8X8显示、双键锁定编码扫描
MOVX @DPTR,A
MOV A,#2AH ;10分频
MOVX @DPTR,A
MOV A,#0A0H ;不灭显示
MOVX @DPTR,A
MOV A,#90H ;写入显示RAM,从0地址开始,地址自动加1 MOVX @DPTR,A
MOV A,#50H ;读FIFO RAM,从0地址开始,地址自动加1 MOVX @DPTR,A
MOV DPTR,#07EFFH ;数据口
MOV A,#0 ;不显示送RAM
MOV R7,#8
AGAIN:MOVX @DPTR,A
DJNZ R7,AGAIN
NEXT: JNB IE0,$ ;等待键输入
CLR IE0
MOVX A,@DPTR ;读FIFO RAM中的按键代码
MOV DPTR,#KDT ;取七段码段码表首地址
MOVC A,@A+DPTR ;数字键代码转换为该数字的七段码
MOV DPTR,#07EFFH ;数据口
MOVX @DPTR,A ;写入显示RAM
AJMP NEXT
KDT: ;段码表
DB 3FH,06H,5BH,4FH,0,0,0,0
DB 66H,6DH,7DH,07H,0,0,0,0
DB 7FH,6FH,77H,7CH,0,0,0,0 DB 39H,5EH,79H,71H,0,0,0,0 END