1 / 30

8279 可编程键盘 / 显示控制器

8279 可编程键盘 / 显示控制器. —— 工作原理及其应用. 概述. Intel8279 是一种通用的可编程序的键盘、显示接口器件,单片器件就能够完成键盘输入和显示控制两种功能。 键盘部分提供扫描工作方式,可以连接 64 键的矩阵键盘,能自动消除按键抖动、识别键码以及对双键或 n 键同时按下实行保护。 显示部分以扫描方式工作,为 LED 数码管提供多路复用信号,可以显示多达 16 位的字符或数字。. 内部结构. 8279 内部结构. 8279 内部功能模块: 共用模块 数据缓冲器和输入 / 输出控制器 控制与定时寄存器 扫描计数器 键盘功能模块

crescent
Download Presentation

8279 可编程键盘 / 显示控制器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 8279可编程键盘/显示控制器 ——工作原理及其应用

  2. 概述 • Intel8279是一种通用的可编程序的键盘、显示接口器件,单片器件就能够完成键盘输入和显示控制两种功能。 • 键盘部分提供扫描工作方式,可以连接64键的矩阵键盘,能自动消除按键抖动、识别键码以及对双键或n键同时按下实行保护。 • 显示部分以扫描方式工作,为LED数码管提供多路复用信号,可以显示多达16位的字符或数字。

  3. 内部结构

  4. 8279内部结构 • 8279内部功能模块: • 共用模块 • 数据缓冲器和输入/输出控制器 • 控制与定时寄存器 • 扫描计数器 • 键盘功能模块 • FIFO/传感器 RAM • FIFO状态寄存器 • 回馈缓冲器、键盘消抖及编码控制 • 显示功能模块 • 显示RAM • 显示地址寄存器

  5. 8279内部结构--共用模块 • 数据缓冲器和输入/输出控制器 • 数据缓冲器是双向缓冲器,用于传送CPU和8279之间的命令或数据。 • 输入/输出控制器根据CS(片选)、WR(写)、RD(读)和A0信号状态,控制数据缓冲器输出或输入数据。其中控制线A0用于区别信息的状态。 • A0=1时,如CPU写操作:输入指令;如CPU读操作: 输出FIFO状态字。 • A0=0时,如CPU写操作: 输入显示数据;如CPU读操作,则可输出键值或在显示RAM中的显示数据;

  6. 8279内部结构--共用模块 • 控制与定时寄存器 控制与定时寄存器用于寄存键盘及显示的工作方式,以及由CPU编程的其它操作方式。 定时控制含有分频功能,分频值可在2-31之间由软件编程,以便将外部时钟CLK进行分频,得到内部所需要的100KHZ时钟信号,提供键盘逐行扫描频率和显示位扫描时间。 • 扫描计数器 扫描器有编码、译码两种工作方式。 扫描计数器在工作时,将计数值从扫描线SL0-SL3输出,为键盘和显示器提供扫描信号。 常用的是编码扫描方式。

  7. 8279内部结构—键盘功能模块 • FIFO/传感器 RAM FIFO/传感器RAM一个双重功能的8字节RAM,用于存储按键数据。每当有键按下时,采集到的键值顺序写入FIFO/传感器 RAM 单元,而每次读出时,总是按输入的顺序,将最先输入的数据读出。 • FIFO状态寄存器 FIFO状态寄存器用于记录FIFO /传感器RAM的工作状态。其所表示的状态信息有:RAM是满还是空;其中存有多少字符;是否操作出错等,并根据检测情况,输出中断申请信号。

  8. 8279内部结构—键盘功能模块 • 回馈缓冲器、键盘消抖及编码控制 来自RL0-RL7 8根回馈线的回馈信号,由回馈缓冲器缓冲并存入FIFO RAM。 在键盘矩阵工作方式中,回馈线搜索一行中闭合的键。当某一键闭合时,消抖动电路置位,延时100ms后,再检验该键是否是连续保持闭合。若闭合,则该键的地址和SHIFT、CTRL状态一起形成键值送入FIFO RAM。

  9. 8279内部结构—键盘功能模块 在FIFO存储器中的键盘数据格式如下: D7 D6 D5 D4 D3 D2 D1 D0 CTRL/STB SHIFT 扫描 回馈 • CTRL和SHIFT(D7和D6)的状态由两个独立的附加开关输入信号线CTRL/STB和SHIFT的状态来决定, • D5、D4、D3三位来自扫描计数器,是按键的行编码; • D2、D1、D0三位则是来自列计数器,它们是根据回馈信号而确定的按键的列编码。

  10. 8279内部结构—键盘功能模块 回馈信号(RL7-RL0)和回馈信号编码(D2-D0)的对应关系如下: RL7 – RL0 D2 – D0 11111110 000 11111101 001 11111011 010 11110111 011 11101111 100 11011111 101 10111111 110 01111111 111

  11. 8279内部结构—显示功能模块 • 显示RAM 显示RAM用来存储显示数据。该区具有16个字节,存储对应于16个数码管的显示信息。 • 显示地址寄存器 显示地址寄存器用来寄存由CPU进行读/写的显示RAM的地址,它可以由命令设定,也可以设置成每次读出或写入之后地址自动递增。

  12. 8279的引脚定义

  13. 8279的引脚定义 8279采用40引脚封装,各引脚定义可分为CPU连接线、数码管连接线键盘连接线和共用扫描信号线4组。 1、CPU连接线: • DB7-DB0(数据总线):双向、三态总线。 • CS(片选):输入,低有效。 • A0(缓冲器地址):输入。 • RD(读信号)和WR(写信号):输入,低有效。 • IRQ(中断请求):输出,高有效。 • CLK(系统时钟):输入 • RESET(复位):输入,高电平有效。

  14. 8279的引脚定义 2、键盘连接线: • RL0—RL7(回馈线):输入。它们是键盘矩阵的列信号输入线。 • SHIFT(换档信号):输入,高有效。可以用作键盘的上、下档功能键。 • CTRL/STB(控制/选通):输入。可作为控制功能键使用;

  15. 8279的引脚定义 3、数码管连接线: • OUTA0—OUTA3(A组4位显示代码信号):输出。 • OUTB0—OUTB3(B组4位显示代码信号):输出。 • BD(消隐显示):输出,低有效。在数字切换显示或使用显示消隐命令时,将显示消隐。 消隐信号的作用是当显示数据有更改时,暂时关闭显示,当数据更改完毕后再打开显示,以消除在显示数据变化过程中显示乱码的现象。 4、共用扫描信号线: SL0—SL3(扫描线):输出。为键盘和显示器提供扫描信号。

  16. 键盘显示电路设计举例

  17. 键盘显示电路设计举例 • SL3 – SL0输出0000 - 1111循环渐变的编码信号,此信号经4-16译码器产生16个数码管的位选信号,对应于某个数码管位选信号代码,OUT A3 – A0和 OUT B3-B0输出显示管显示段码,依次循环操作,则可显示16位数字或字符。 • SL2 – LS0信号经3-8译码器产生键盘行扫描信号,8279通过RL0 – RL7线不断采集键盘矩阵列信号,当有键按下,8279将SL2 – SL0行扫描编码值和RL0 – RL7列反馈编码值组合成键值存入 FIFO RAM,并向CPU发送中断申请信号。CPU响应中断后,进入中断服务处理程序,读取存在8279 FIFO RAM中的键值。

  18. 命令和状态字--键盘/显示方式设置命令 命令特征位:D7D6D5=000 命令格式:000DDKKK DD两位用来设定显示方式: 008个字符显示----左入 0116个字符显示----左入 108个字符显示----右入 1116个字符显示----右入 所谓的左入就是在显示时,显示字符是从左面向右面逐个排列。右入就是显示字符从右面向左面移动。 所对应的SL3 - SL0编码最小的位为显示的最高位。

  19. 命令和状态字--键盘/显示方式设置命令 KKK三位用来设定键盘工作方式: 000 编码扫描键盘----双键锁定 001 译码扫描键盘----双键锁定 010 编码扫描键盘----N键轮回 011 译码扫描键盘----N键轮回 100 编码扫描传感器矩阵 101 译码扫描传感器矩阵 110 选通输入,编码显示扫描 111 选通输入,译码显示扫描

  20. 命令和状态字--键盘/显示方式设置命令 双键锁定和N键轮回是两种不同的多键同时按下保护方式。 • 双键锁定为两键同时按下提供保护,在消抖动周期内,如果有两键同时被按下,则只有其中的一键弹起,而另一键在按下位置时,才能被认可。 • N键轮回为N键同时按下提供保护,当有若干个键同时按下时,键盘扫描能根据发现它们的次序,依次将它们的状态送入FIFO RAM。

  21. 命令和状态字--时钟编程命令 命令特征位:D7D6D5=001 命令格式:001PPPPP 将来自CLK的外部时钟进行PPPPP分频(2-31)。 8279内部时钟频率等于外部时钟频率除以分频数。

  22. 命令和状态字--读FIFO/传感器RAM命令 命令特征位:D7D6D5=010 命令格式:010 AI X AAA 该命令字只在传感器矩阵方式时使用,在读传感器数据之前设定将要读出的传感器RAM地址,AI为自动增量特征位。若AI=1,则每次读出传感器RAM后,地址将自动加1,使地址指针指向顺序的下一个存储单元。这样,下一次读数便从指针所指的地址读出,而不必重新设置读FIFO/传感器RAM命令。 在键盘矩阵工作方式中,由于键值读出操作严格按照先入先出的顺序,因此不必使用这条命令。

  23. 命令和状态字--读显示RAM命令 命令特征位:D7D6D5=011 命令格式:011 AI AAAA 在CPU读显示RAM之前,设定将要读出的显示RAM的地址,AAAA为显示地址的二进制代码。如果自动增量特征位AI=1,则每次读出后,地址自动加1,使地址指针指向下一个地址单元。这样,下一次读数便从指针所指的地址读出,而不必重新设置读显示RAM命令。

  24. 命令和状态字--写显示RAM命令 命令特征位:D7D6D5=100。 命令格式:100 AI AAAA 在CPU写显示RAM之前,设定将要写入的显示RAM的地址,四位二进制代码AAAA用来寻址显示RAM中的一个存储单元。如果自动增量特征位AI=1,则每次写入后,地址自动加1,使地址指针指向下一个地址单元。这样,下一次写数便从指针所指的地址写入,而不必重新设置写显示RAM命令。

  25. 命令和状态字--显示RAM禁止写入/消隐命令 命令特征位:D7D6D5=101。 命令格式:1 0 1 X IWa IWb BLa BLb • IWa、IWb用来掩蔽A组和B组显示RAM的写入。 • BLa、BLb位是消隐特征位,消隐A(B)组显示输出。若BLa(b)=1,则A(B)组的显示输出被消隐。若BLa(b)=0,则相应组恢复显示。

  26. 命令和状态字--清除命令 命令特征位:D7D6D5=110。 命令格式:1 1 0 CD2 CD1 CD0 CF CA 该命令字用来清除FIFO RAM和显示RAM。 • D4D3D2三位(CD2 – CD0)用来设定清除显示RAM的方式。其意义如下表:

  27. 命令和状态字--清除命令 • D1(CF)位用来清空FIFO存储器。D1=1时,执行清除命令后,FIFO RAM被清空,使中断IRQ复位。同时,传感器RAM的读出地址也被清0。 • D0(CA)位是总清的特征位,它兼有CD和CF的联合有效。在CA=1时,对显示RAM的清除方式由D3D2(CD1 CD0)的编码决定。 清除显示RAM大约需要100uS的时间。在此期间,FIFO状态字的最高位Du=1,表示显示无效。CPU不能向显示RAM写入数据。

  28. 命令和状态字--结束中断/错误方式设置命令 命令特征位:D7D6D5=111。 命令格式:1 1 1 E X X X X X 这个命令有两个不同的应用: ① 作为结束中断命令。在传感器工作方式中,设置E=1,结束传感器RAM的中断请求。 ②作为特定错误方式的设置命令。键盘扫描N键轮回工作方式下,若设置E=1,如有多个键被同时按下,则FIFO状态字中的错误特征位S/E将置位,并产生中断请求信号和阻止写入FIFO RAM。 错误特征位S/E只有在执行了CF=1的清除命令后才能复位。

  29. 8279状态寄存器(FIFO状态字) 8279状态寄存器(又称FIFO状态字)口地址与控制命令相同(A0=1),主要用于键盘和选通工作方式,以指示FIFO RAM中的字符数和是否有错误发生,其字位意义如下: Du S/E O U F NNN      Du:      Du=1显示无效 S/E:     传感器信号结束/错误特征码 O:       O=1出现溢出错误 U:       U=1出现不足错误 F:       F=1表示FIFO RAM已满 NNN:   FIFO RAM中的字符数

  30. 8279状态寄存器(FIFO状态字) 对FIFO RAM的操作可能出现两种错误:溢出和不足。 • 当FIFO RAM已满时,若有键盘数据企图写入,则出现溢出错误,状态字位“O”被置位。 • 当FIFO RAM已被清空时,若CPU还企图读出,则将会出现“不足”的错误,状态字位“U“被置位。 • 对于状态字的S/E位,在传感器工作方式下,若S/E=1,表示传感器的最后一个信号进入传感器RAM;当8279工作在特定错误方式时,若S/E=1,表示出现了多键同时下按的错误。 • 当显示RAM清除命令尚未完成时,状态字的最高位Du被置位。 在8279工作前,需用键盘/显示方式设置命令、时钟编程命令和清除命令初始化。

More Related