整理8279键盘显示Word文档格式.docx
- 文档编号:17417651
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:21
- 大小:1.42MB
整理8279键盘显示Word文档格式.docx
《整理8279键盘显示Word文档格式.docx》由会员分享,可在线阅读,更多相关《整理8279键盘显示Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
(3)设计要求:
1)实验电路及连线。
2)给出实验程序设计框图及程序清单。
3)验证实验的可靠性。
一、8279芯片
8279是一种可编程的键盘/显示器接口芯片。
(1)8279的内部结构图
(2)8279的内部结构及功能
按其功能分为:
键盘功能块;
显示功能块;
控制功能块;
与CPU接口功能块
控制功能块:
控制和定时寄存器,定时和控制,扫描计数器三部分,它主要是用来控制键盘和
显示功能块工作的.
控制和定时寄存器:
用于存贮来自CPU的编程命令,CPU对8279编程以确定键
盘与显示器工作方式和其它工作条件时,先把命令控制数据放到数据总线上,然
后使A0=1,WR=0CS=0,并在WR上升沿把命令键存在控制和定时寄存器中,并经译
码,建立适当的功能.
定时和控制:
它含基本的定时计数器,第一个计数器是一个分频系数为2-31的
前置定时器,分频系数可由程序预置,使内部频率为100KHz,从而能给出5.1ms
键盘扫描时间和10.3ms反跳时间,其它计数器将此基本频率分频后,提供适当的
按键扫描.行扫描.键盘阵列扫描.以及显示器扫描次数.
扫描计数器:
扫描计数器有两种工作方式,在编码工作方式时,计数器提供一种二
进制计数,通过管脚SL0-SL3输出后经外部译码才能提供给键盘和显示器的扫描
作用,在译码工作方式时,扫描计数器对最低二位进行译码,SL0-SL3输出4选1
的译码信号,作为显示器和键盘的译码扫描.
键盘功能块:
返回缓冲器,键盘反跳及控制,8x8FIFO传感器RAM,FIFO/传感器RAM状态.
返回缓冲器与键盘反跳及控制:
8条返回线被返回缓冲器缓冲,在键盘工作方式
中,这几条线被逐个检测,以找出该行键中闭合的键,如果反跳电路测知某键闭合,
则它等待10.3ms,然后重核此键是否仍然闭合,如果仍闭合,那么该键在矩阵中
的行列地址以及SHIFT和CNTL的状态一起被送到FIFORAM中,其在FIFORAM中
的数据格式如下:
D7D6D5D4D3D2D1D0
CNTLSHIFTSCANRETURN
数据格式中,最高位CNTL,次高位为SHIFT状态,D5-D3来自扫描计数器,D2-D0
来自返回计数器,扫描线计数器和回扫线计数器的值分别反映出被按下键的行.
列的值,如果在传感器阵列中,返回线上的数据直接进入传感器RAM中相应于阵
列中正被扫中的那行,这样每个开关位置就直接反映为一个传感器RAM的位置
FIFO/传感器RAM:
一个8x8RAM,在键盘方式和选通方式中它是一个先入先出
(FIFO)存贮器,每一条新的信息顺次写入,然后又按写入的顺序读出,在传感器阵
列扫描方式时,存贮器作为传感器RAM,这时RAM中的各行存着传感器阵列中相
应行的状态.
FIF0/传感器RAM状态:
在键盘或选通方式中,FIFO状态跟踪FIFO中的字符数量
注意它是"
满"
还是"
空"
写入或读出过多均被认作出错,当FIFO非空时,状态逻
辑提供一个中断申请IRQ信号,在传感器阵列扫描方式中,若测知某一传感器变
化时,IRQ则为有效高电平.FIFO状态字的低3位表示FIFO中的字符数,F表示
FIFORAM已满;
O(overmn)表示越限错误,即试图向已满的FIFO送另一字
符;
U(Underdone)表示取空错误,即试图读取已空的FIFO.S/F有两种含义:
在传
感器扫描方式时,S/F表示在传感器RAM中至少包含了一个传感器闭合指示,在
特殊错误方式时S/F位是出错标志,用来指示是否发生了多路同时闭合错误,Du
位表示由于CLEARDISPLAY或CLEARALL命令尚末完成其消除操作而使显示
RAM尚不可用.
显示功能块:
显示功能块包括:
显示寄存器,16X8显示RAM,显示地址寄存器.
显示RAM和显示寄存器:
8279内部有16X8的显示RAM,通过显示寄存器和两个四
位端口0UTA0-3,0UTBO-3来刷新显示,显示器可以是白炽灯,也可以是8段数
码管,显示RAM可以是16X8的形式,也可以构成两个16x4的RAM形式,显示RAM
可由CPU进行读写,被读写的RAM字节地址由显示地址寄存器指示.
显示地址寄存器:
显示地址寄存器保存当前CPU读或写的那个RAM地址,以及正
显示着的那两个4位半字节的地址,读写地址由CPU命令编程,也可置为每次读
写后地址自动加1的工作方式,在设置了正确的工作方式后,显示RAM可直接由
CPU读出,半字节A和半字节B地址自动由8279更新,以适应由CPU送入的数
据,A和B半字节可独立送入,也可作为一个字送入,随CPU所设置的工作方式而
定
I/O接口功能块:
8279通过数据缓冲器与I/O控制,使8279与CPU系统总线接口,I/O控制部分用
CS.A0.RD和WR四条线控制CPU与8279之间的数据交换,数据缓冲器是数据交
换的双向通道,控制信号与数据交换间的逻辑关系见下表:
CSA0WRRD
10CPU从8279读状态
0101CPU向8279写状态
10CPU从8279读数据
001CPU向8279写数据
1XXX数据缓冲器输出呈三态
x为任意数(0或1)
(3)8279的引脚及其功能
引脚图
8279:
采用单一+5V电源供电,40脚封装。
DB0~DB7:
双向数据总线,用来传送8279与CPU之间的数据和命令。
CLK:
时钟输入线,用以产生内部定时的时钟脉冲。
RESET:
复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。
CS:
片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。
A0:
缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。
RD:
读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。
WR:
写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。
RL2—140--VCC
RL3—239--RL1
CLK--338--RL0
IRQ—437--CNTL/STB
RL4--536--SHIFT
RL5--635--SL3
RL6--734--SL2
RL7--833--SL1
RESRT—932--SL0
RD—1031--OUTB0
WR—1130--OUTB1
DB0—1229--OUTB2
DB1—1328--OUTB3
DB2--1427--OUTA0
DB3—1526--OUTA1
DB4--1625--OUTA2
DB5--1724--OUTA3
DB6—1823--BD
DB7--1922--CS
VSS—2021--A0
IRQ:
中断请求输出线,高电平有效,在键盘工作方式下,当FIFO
传感器RAM中有数据时,此中断线变为高电平,在FIFO/传感器RAM每次读
时,中断线就下降为低电平,若在RAM中还有信息,则此线重又变为高电平
在传感器工作方式中,每当探测到传感器信号变化时,中断线就变为高电平。
SL0~SL3:
扫描线,用来扫描按键开关,传感器阵列和显示数字,这些可
被编程或被译码。
RL0~RL7:
回送线,经过按键或传感器开关与扫描线联接,这些回送线内
部设置有上拉电路,使之保持为高电平,只有当一个按闭合时,对应的返回线
变为低电平;
无按键闭合时,均保持高电平。
SHIFT:
换位功能,当有开关闭合时被拉为低电平,没有按下SHIFT开关
时,SHIFT输入端保持高电平,在键盘扫描方式中,按键一闭合,按键位置和换位输入状态一起被存贮起来。
CNTL/STB:
当CNTL/STB开关闭合时将其拉到低电平,否则始终保持高电平,
对于键盘输入方式,此线用作控制输入端,当键被按下时,按键位置就和控制
输入状态一起被存贮起来,在选通输入方式中,作选通用,把数据存入FIFO
RAM中。
OUTA3~OUTA0及OUTB3~OUTB0:
显示输出A口及B口,这两个口是16×
4切换
的数字显示。
这两个端口可被独立控制,也可看成一个8位端口。
BD:
空格显示,此输出端信号用于在数字转换时将显示空格或者用显示空格命令控制其显示空格字符。
VCC:
+5V电源输入线。
VSS:
地线输入线。
(4)8279的编程命令
a.键盘/显示器方式设置
最高位最低位
命令代码000DDKKK
其中DD为显示方式,KKK为键盘方式
DD
008个8位字符显示--左端传入
0116个8位字符显示--左端送入
108个8位字符显示--右端送入
1116个8位字符显示--右端送入
所谓左端送入是显示器根据用户送的先后,从左端一位开始,向右逐位排列,到最右端一位
后,下一位再从最左端显示,在这种显示方式中,显示器的每个显示管和8279中的显示RAM
单元一一对应,RAM中的O地址对应最左面的显示字符,而15号单元对应最右端的显示字符
而右端送入方式是电子计算器中常用的显示方式,第一个送入的数在最右端的显示字符上
而以后每送入一个新数,显示先左移一位然后把送入的数仍放在最右端显示字符上.
KKK
000编码扫描键盘--2键连锁
001译码扫描键盘--2键连锁
010编码扫描键盘--N键巡回
011译码扫描键盘--N键巡回
100编码扫描传感器阵列
101译码扫描传感器阵列
110选通输入,编码显示扫描
111选通输入,译码显示扫描
其中2键连锁和N键巡回是8279对键盘中被按下键的两种处理方式,编码扫描和译码扫描
是SL0-SL3对链盘和显示器的两种扫描形式.
b.程序时钟
命令代码001PPPPP
此命令确定定时和控制中的前置定标器的分频系数,代码PPPPP可形成2-31的数,前置定标
器可对外部时钟分频,以得到内部基频,选基频为100KHZ,可得到前面规定的扫描和反跳时
间,则分频系数为;
外部时钟100KHZ复位脉冲过后若无代码送入则自动为31.
c.读FIF0/传感器RAM
命令代码:
010AIXAAAX=任意
此命令用于确定CPU读操作的对象是8279中的FIF0/传感器RAM,并确定8个RAM字节中
哪一个被读,其中AAA表示CPU要读的行,AI为自动加1特征位,在键盘扫描方式中这两者
互不相干,对随后的每次读取8279都按照数据第一次进入的FIF0的同一顺序自动送出数据,
所有随后发生的读,都是读自FIFO,直到写入新命令为止.
在传感器阵列方式中,AAA选择传感器RAM8行中的一行若AI=1,则下一次读取便读自传感
器RAM中的下一行.
d.读显示器RAM
011AIAAAA
CPU对8279写此命令,则确定了CPU以显示器RAM为数据源进行读操作,其中AAAA为显示
器RAM的地址,AI为自动加1特征位,若AI=1,则每读一行RAM之后,行地址自动加1
e.写显示器RAM
100AIAAAA
CPU向8279写此命令,规定了下一步要对8279的显示RAM进行写,寻址方式和自动加1功能均与读显示器RAM相同
f.显示器写入禁止/空格
101XIWIWBLBLX=任意
ABAB
此命令用于屏蔽A或B端口输出及使显示器显示空格,如果显示器用作双排4位显示,则必
须把其中一个4位屏蔽掉这样CPU送入显示器的信息就不会影响另一半,IW为屏蔽特征位,
若对某一端口设置IW=1,则该端口就被屏蔽,有必要注意的是:
B0与D0对应,BL为显示空格
标志位,若某一端口的BL置1,则此端口显示空格.当要使一个单8位输出格式的显示器空
格时,则必须使两个BL标志全都置位,以使显示完全空格.
g.消除
110CDCDCDCFCA
此命令用于按一定格式清显示器RAM的FIF0状态,其中CD规定清除格式:
CDCDCD
0X全"
0"
(x为任意)
10AB=16进制
1020(0O100000)
11全册"
1"
当为"
时允许清除显示器(或用CA=1)
CF清除FIFO状态(包括中断),若CF=1,则清除FIF0
状态,并对中断线复位自传感器RAM的指示器亦被置于0行CA为总清,其效果相当于CD和
CF的合成,当CA=1时,利用CD指示的清除格式清除显示器RAM,并清除FIF0状态,C孔也使
内部定时重新同步.在显示器RAM被清除期间(约16us)不能写入,同时在此期间FIFO的最
高有效位被置"
当显示RAM再度变为可用时即自动复位.
h.中断结束/出错方式设置
111EXXXXX=任意
在传感器阵列方式时,此命令使IRQ线变低,并允许对RAM再写(检测到一个传感器位变化
时,IRQ线可能已升高了,因此这样做可阻止在其复位以前把信息再度写入RAM).在N键巡回
工作方式,若E位被编程为"
则芯片电路将在特殊出错方式下运行.
在N键巡回方式的特殊出错方式下主要用于检查键的多重按下,若在一个回弹周期中发现两
个键被按下,即可看成同时多重按下,并建立出错标志,阻止任何对FIF0的进一步写入,同时
设置中断(如中断尚末设置的话),在此方式中,可用读FIFO状态字命令读出错误标志,而发
CF=1的清除命令,可使出错标志复位.
(5)8279芯片的工作特点
(1)可同时进行键盘扫描及文字显示
(2)键盘扫描模式(ScannedKeyboardMode);
(3)传感器扫描模式(ScannedSensorMode);
(4)激发输入模式(StrobeInputEntryMode);
(5)8乘8键盘FIFO(先进先出);
(6)具有接点消除抖动,2键锁定及N键依此读出模式;
(7)双排8位数或双排16位数的显示器;
(8)右边进入或左边进入。
16位字节显示存储器。
二.实验过程
(1)实验线路图
8*8键盘,16位led显示
(2)实验程序框图
(3)程序清单
1)汇编程序
ORG0000H
SJMPMAIN
ORG0003H
AJMPINT_0
MAIN:
MOVSP,#60H
CLREA
MOVDPTR,#2FFFH
MOVA,#00H
MOVX@DPTR,A
MOVA,#2AH
MOVX@DPTR,A
MOVA,#40H
MOVA,#0DFH
WAIT:
MOVXA,@DPTR
JBACC.7,WAIT
CLRF0
CLR76H
SETBIT0
SETBEA
SETBEX0
MOVR0,#30H
MOVR7,#14H
ATT:
LCALLRDKEY
JB76H,KEYOUT
MOV@R0,A
INCR0
DJNZR7,ATT
SETB76H
KEYOUT:
MOV44H,A
SJMPATT
INT_0:
MOVDPTR,#2FFEH
MOVXA,@DPTR
ANLA,#3FH
SETBF0
RETI
RDKEY:
JBF0,K1
SJMPRDKEY
K1:
CLRF0
CLREX0
RET
3)C语言程序
#include<
reg51.h>
tstfactr.h>
/*-------------8279中断处理程序--------------*/
voidint1(void)interrupt2using0
{
COM8279=0x40;
_nop_();
keyval=DATA8279;
keyflag=1;
}
/*-------------------主程序-----------------*/
voidmain()
{uchari=0,m;
CPU_init();
show();
while
(1)
{
if(keyflag)
P1=keyval;
m=matchkey(keyval);
keyval=0;
showkey[6]=duanma[m/10];
showkey[7]=duanma[m%10];
m=0;
keyflag=0;
}
for(i=0;
i<
16;
i++)
{DATA8279=showkey[i];
delay(10);
(4)仿真结果
(5)实验结论
可靠
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 8279 键盘 显示