实验五键盘显示控制器8279应用实验一、实验目的1、掌握51系统中,扩展8279键盘显示接口的方法。2、掌握8279工作原理和编程方法。二、预备知识8279A是一种通用的可编程键盘/显示器接口器件,可对64个开关矩阵组成的键盘进行自动扫描,接收键盘上的输入信息,存入内部的FIFO寄存器,并在有键输入时,CPU请求中断。8279A内部还有一个16×8的显示缓冲器,能对8位或16位LED自动扫描,使显示缓冲器的内容在LED上显示出来。1、引脚功能DB0~DB7:双向数据总线,以便和CPU之间传递命令、数据和状态。CLK:时钟输入线,以产生内部时钟。RESET:复位线,高电平有效。复位后,8279A置为16位显示左边输入,编码扫描键盘,时钟系数为31。/CS:片选,低电平有效。A0:地址输入线,用以区分数据线传送的是数据还是命令。A0=0传送的是数据;A0=1传送的是命令。/RD:读信号线,低有效,内部缓冲器信息送DB0~DB7。/WR:写信号线,低有效。收数据总线上的信息写入内部缓冲区。IRQ:中断请求输出线,高有效。当FIFORAM中有键输入数据时,IRQ升为高电平,向CPU请求中断。CPU读出FIFORAM时,IRQ变为低电平,若RAM中数据还有,IRQ又返回高电平,直至RAM中为空,IRQ才保持低电平。SL0~SL3:输出扫描线,用以对键盘/传感器矩阵和显示器进行扫描。RL0~RL7:键盘/传感器矩阵的行(列)数据输入线。其内部有拉高电阻,使之保持高电平。SHIFT:换档输入线,内部有拉高电阻,使之保持高电平。CNTL/STB:控制/选通输入线,内部有拉高电阻,使之保持高电平。OUTA0~OUTA3:四位输出口。OUTB0~OUTB3:四位输出口。这两个口是16×4显示器更新寄存器的输出端,输出的数据和SL0~SL3上信号同步,用于多位显示器显示。/BD:显示消隐输出线,低电平有效。Vcc:地。2、8279A内部结构(1)8279A内部具有时序控制逻辑,通过控制和时序寄存器存放键盘和显示器的工作方式和其他状态信息。内部还包含有N分频器,分频系数为N,由2~31之间任一数可编程确定,对CLK上时钟进行N分频以产生基本的100KHZ的内部计数信号(扫描时间为5.1ms,去抖动时间为10.3ms)。(2)8279A内部的扫描计数器有两种工作方式:一是编码方式,计数器以二进制方式计数,4位计数器的状态直接从SL0~SL3上输出,由外部译码对SL0~SL3译码产生键盘和显示的扫描信号,高电平有效;二是译码方式,对计数器的低二位译码后从SL0~SL3上输出,作为4×8键盘和4位显示器的扫描信号,低电平有效。(3)8279A在键盘工作时,由输入缓冲区锁存RL0~RL7上的信息,以确定键入情况,其内部有去抖动电路(10ms)。(4)FIFO/传感器RAM:它是一个双功能8×8RAM,在键盘和选通输入方式中,它是一个先进先出的数据缓冲器。当/CS=0,A0=1,/RD=0时,读出FIFO的内容,FIFO中有数据时,由控制电路发IRQ信号,在传感方式中,8×8RAM用作传感器RAM,当检测到某个传感器发生变化时,IRQ上升为高电平。(5)显示地址寄存器和显示RAM:用于存放CPU当前正在读写的显示RAM单元地址,以及正在显示的两个4位半字节地址。在选定了工作方式和地址后,CPU可直接读出显示RAM中的内容。3、8279A的控制命令(1)键盘显示器方式设置命令76543210000DDKKK位2~0:数据输入及扫描方式000:编码扫描,键盘输入,2键无锁*001:译码扫描,键盘输入,2键无锁010:编码扫描,键盘输入,多键有效011:译码扫描,键盘输入,多键有效100:编码扫描,传感器陈列检测101:译码扫描,传感器陈列检测110:编码扫描,选通输入111:译码扫描,选通输入带*表示复位以后的值位4~3:显示方式00:8字符显示,左端输入*01:16字符,左端输入10:8字符显示11:16字符显示,右端输入带*表示复位以后设定为该种方式(2)扫描频率控制命令76543210001P4P3P2P1P0P4-P0:设置值0-31,对外部时钟的分频系数,使fclk÷分频系数=100KHZ复位以后,P4~P0=31(fclk为外部接入时钟)(3)读FIFO前设置的读地址命令76543210010AIA2A1A0A2~A0:8×8位的FIFO的地址000~111AI:AI=1自动增1;AI=0不自动增1(4)读显示RAM前设置的读地址命令76543210011AIA3A2A1A0A3~A0:16×8位的显示RAM的地址0000~1111AI:AI=1自动增1;AI=0不自动增1(5)写显示RAM前设置的...