键盘显示器接口8279

合集下载

8279的资料

8279的资料

第九节键盘与LED显示电路应用设计键盘与显示器是机电一体化系统中典型的人-机接口。

通过键盘,操作者可向控制系统发出指令或输入数据,系统的各种信息又可通过显示设备反馈给操作者。

键盘与显示器是实现人-机交互的关键部件。

键盘主要有独立式和矩阵式两种,显示器主要有LED、LCD和CRT等。

本节主要介绍矩阵式键盘与LED显示器。

2.软件设计Intel公司的8279芯片就显示出了其独特的优点。

Intel 8279是一种通用的可编程键盘、显示器接口芯片,它能完成键盘输入和显示控制两种功能。

键盘部分提供扫描工作方式,可与64个按键的矩阵键盘进行连接,能对键盘实行不间断的自动扫描,自动消除抖动,自动识别按键并给出键值。

显示部分为发光二极管、荧光管等显示器件提供了按扫描方式工作的接口电路,它为显示器提供多路复用信号,可显示多达16位的字符。

1.8279的引脚功能8279的引脚按其功能可分为三部分:第一部分面向CPU,第二部分面向键盘,第三部分面向显示器,如图5-63所示。

2.8279的键盘管理(1)SL3~SL0采用译码扫描当设定8279的扫描线SL3~SL0工作在译码扫描方式时,SL3~SL0四个引脚轮流输出负脉冲。

组成矩阵键盘时可将这四根输出线作为行扫描线,如图5-64所示。

采用译码扫描时,提供的行线最多只有4根,与8根列线相交,只能得到32个按键,键的个数不多。

在图5-64中,矩阵键盘由4行6列组成,共有24个键,键值计算如下:其中:CNTL=SHIFT=0(图中已将此二引脚接地);NNN表示行的位置,其值为SL i=0时的标号i,即NNN=i(写成二进制);KKK表示列的位置,其值为RL j=0时的标号j,即KKK=j (写成二进制)。

图5-65 8279扫描线编码扫描管理键盘3.8279的显示管理8279可用来管理16位×8段的LED或荧光管。

它的内部有专门用于存储显示数据的RAM区(显示RAM),共有16个字节,地址排列从00H到0FH。

单片机芯片8279用法讲解

单片机芯片8279用法讲解

0:写入后地址不变 1:每次写入地址自动加
键盘显示接口芯片8279
⑥ 禁写显示RAM/消隐命令
1 0 1 IWA IWB BLA BLB
特征 无 A组 B组 A组 B组

效 禁写 禁写 消隐 消隐
IWA:禁止A组显示 RAM写。D3=1,A组禁写;D3=0,允许A组写。
OUTA3~OUTA0与OUTB3~OUTB0单独使用时,若只想改变B组的输出 值而A组的输出不受影响,就可以让D3=1即禁止向A组显示RAM写数据,这 样在向显示RAM的一个单元写入8位字节数据时就只写入字节的低4位而字节 的高4位不写入RAM单元。
3.8279的工作方式
8279有三种工作方式——键盘输入(键扫描)、传感器扫描、选通输入 键盘输入方式:有键按下时,回复缓冲器缓冲并锁存行列式键盘的列输入线。在
逐行列扫描时,回复线用来搜寻每一行列中闭合的键,当某一键闭合时,去抖 电路被置位,延时等待10ms后,再检查该键是否仍处在闭合状态,如不是闭合, 则当做干扰信号不予理睬;如是闭合,则将该键的列扫描码、行回复码、引脚 CNTL和引脚SHIFT的状态(两个独立附加的开关)一起形成键盘数据被送入 8279内部的FIFO(先进先出)存储器。键盘数据格式如下:
FIFO RAM的状态寄存器: (a)键盘输入方式或选通输入方式,寄存FIFO RAM的工作状态,FIFO
RAM不空时,会使IRQ变高; (b) 传感器方式,若检测出传感器的状态发生了变化,会使IRQ变高
⑥ 显示RAM及显示地址寄存器
显示RAM:16×8位,存储字符的字形码,显示时,从OUTA3~0和OUTB3~0输出
8个数码管从左至右依次 0 1 2 3 4 5 6 7
显示RAM地址单元

8279资料

8279资料

8279预习资料一、8279的功能及工作原理8279是Intel公司生产的通用可编程键盘和显示器I/O接口部件。

利用8279,可实现对键盘/显示器的自动扫描,并识别键盘上闭合键的键号,不仅可以大大节省CPU对键盘/显示器的操作时间,从而减轻CPU的负担,而且显示稳定,程序简单,不会出现误动作,由于这些优点,8279芯片日益被设计者所采用。

1.8279的引脚及内部结构8279的引脚如图1所示。

8279主要由下列部件组成,各部件的作用以及引脚的作用如下:(1) I/O控制和数据缓冲器双向的三态数据缓冲器将内部总线和外部总线DBo —DB7,用于传送CPU和8279之间的命令,数据和状态。

SC为片选信号。

当SC为低电平时,CPU才选中8279读写。

A。

用以区分信息的特性。

当A。

为1时,CPU写入8279的信息为命令,CPU从 8279读出的信息为8279的状态。

当A。

为0时,I/O信息都为数据。

图1 8279的引脚图(2) 控制逻辑控制与定时寄存器用以寄存键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279的各个部件完成一定的控制功能。

定时控制含有一些计数器,其中有一个可编程的5位计数器,对外部输入时钟信号进行分频,产生100kHz的内部定时信号。

外部时钟输入信号的周期不小于500ns。

(3) 扫描计数器扫描计数器有两种输出方式。

一种为外部译码方式(也称编码方式),计数器以二进制方式计数,4位计数状态从扫描线SL。

~SL3输出,经外部译码器译码出16位扫描线,另一种为内部译码方式(也称译码方式),即扫描计数器的低二位经片内译码器译码后从SL。

一SL3输出。

(4) 键输入控制这个部件完成对键盘的自动扫描,锁存RL。

~RL7的键输入信息,搜索闭合键,去除键的抖动,并将键输入数据写入内部先进先出(FIFO)的存储器RAM。

(5)FIFO RAM和显示缓冲器RAM8279具有8个先进先出(FIFO)的键输入缓冲器,并提供16个字节的显示缓冲器RAM。

8279芯片

8279芯片
时钟前置分频器被置为31,RESET信号为高电平有效。
CS:片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。
A0:缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态, 当为低电平时,
表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。
SHIFT:换位功能,当有开关闭合时被拉为低电平,没有按下SHIFT开关时,SHIFT输入端保
持高电平,在键盘扫描方式中,按键一闭合,按键位置和换位输入状态一起被存贮起来。
CNTL/STB:当CNTL/STB开关闭合时将其拉到低电平,否则始终保持高电平, 对于键盘输入
方式,此线用作控制输入端,当键被按下时,按键位置就和控制输 RAM中。
OUTA3~OUTA0及OUTB3~OUTB0:显示输出A口及B口,这两个口是16×4切换的数字显示。这
两个端口可被独立控制,也可看成一个8位端口。
SL0~SL3:扫描线,用来扫描按键开关,传感器阵列和显示数字, 这些可被编程或被译码。
RL0~RL7:回送线,经过按键或传感器开关与扫描线联接, 这些回送线内部设置有上拉电
路,使之保持为高电平,只有当一个按闭合时,对应的返回线变为低电平;无按键闭合时,
均保持高电平。
IRQ:中断请求输出线,高电平有效,在键盘工作方式下,当FIFO/传感器RAM中有数据时,
此中断线变为高电平,在FIFO/传感器RAM每次读出时,中断线就下降为低电平,若在RAM
中还有信息,则此线重又变为高电平。在传感器工作方式中, 每当探测到传感器信号变
化时,中断线就变为高电平。
IRQ-- 4 37 --CNTL/STB
RL4-- 5 36 --SHIFT

8279键盘和显示程序

8279键盘和显示程序

8279键盘和显示程序#include<at89c52.h>#include<absacc.h>#include<stdio.h>#define COM8279 XBYTE [0xF2FF] //定义8279控制口#define DATA8279 XBYTE [0xF0FF] //定义8279数据口#define uchar unsigned char#define uint unsigned intuint keyval //定义键内码传递参数uint time //定义延时参数void delay(uint time)void key(void)void main(){delay(1300) //开机延时COM8279 = 0xD2 //清除RAM和FIFO delay(1)EA=1EX1=1 //开总中断,开外部中断1;IT1=1 //外部中断1选用下降沿COM8279=0x03 //8279键盘N键巡回,编码扫描,左端入口COM8279=0x2a //时钟分频设置,分频数为10COM8279=0x70 //设置读显示命令COM8279=0x90; //设置写显示命令while(1)}void delay (uint time) //传递参数为time{uchar jwhile (time--) //用time-1来进行循环{for (j=100;j>0;j--) //用j来进行125次循环,大约8us }}}void intsvr1(void) interrupt 2 using 1{keyval=DATA8279key()}//按键确认程序void key(void){switch(keyval){case 0xC3: //0号键赋值{P0=0x3F;DATA8279=P0;break;}case 0xC2: //1号键赋值;{P0=0x06;DATA8279=P0;break;}case 0xC1: //2号键赋值;{P0=0x5B;DATA8279=P0;break;}case 0xc0: //3号键赋值;{P0=0x4F;DATA8279=P0;break;}case 0xCB: //4号键赋值;{P0=0x66;DATA8279=P0;break;}case 0xCC: //5号键赋值;{P0=0x6D;DATA8279=P0;break;}case 0xC9: //6号键赋值;{P0=0x7D;DATA8279=P0;break;}case 0xC8: //7号键赋值;{P0=0x07;DATA8279=P0;break;}case 0xD3: //8号键赋值;{P0=0x7F;DATA8279=P0;break;}case 0xD2: //9号键赋值;{P0=0x6F;DATA8279=P0;break;}case 0xD1: //A号键赋值;{P0=0x77;DATA8279=P0;break;}case 0xD0: //B号键赋值;{P0=0x7C;DATA8279=P0;break;}case 0xE3: //C号键赋值;{P0=0x39;DATA8279=P0;break;}case 0xE1: //D号键赋值;{P0=0x5E;DATA8279=P0;break;}case 0xE2: //E号键赋值;{P0=0x79;DATA8279=P0;break;}case 0xE0: //F号键赋值;{P0=0x71;DATA8279=P0;break;}default:break;}}。

正确使用8279芯片应注意的几个问题

正确使用8279芯片应注意的几个问题

正确使用8279芯片应注意的几个问题蒋敦斌 李文英(天津职业大学,天津,300402) 众所周知,输入和显示是各种控制系统中必不可少的组成部分。

In tel公司设计的8279可编程键盘 显示接口芯片,可以连接64个触点的键盘矩阵,提供扫描式键盘接口。

键盘触点也可以代换为传感器,用于检测开关量信息;显示部分可以接16位8段数字显示器或指示灯。

然而,由于硬件接线或软件设计不合理,在8279芯片的使用中产生各种各样的问题。

本文就科技开发工作中遇到的一些实际问题及解决方法进行阐述。

11 正确使用键盘的按钮功能8279芯片有两种工作方式:扫描键盘工作方式和扫描传感器工作方式。

8279芯片处于扫描键盘工作方式时,只要有键按下,I RQ 引脚处于高电平,向CPU发出中断申请。

该信号一直持续到从F1F0RAM中读取键值后,I RQ信号才恢复到低电平。

当8279芯片处于扫描传感器工作方式时,每个传感器的开关状态直接输入到传感器RAM中。

将此种功能应用在我们研制的“数控恒流源”中,既希望每按动一次键,电流增加或减少一个微小的值,又希望在按住增加或减少键时电流值连续上升或下降。

具体实施方法是:初始化时使8279处于键盘工作方式,当有键按下时,使I RQ=“1”,向CPU发出中断申请;在中断服务程序中读取键值,使I RQ=“0”。

返回到主程序后根据键值是增加还是减少,转入相应的增加或减少电流处理模块中。

这时8279芯片改设为传感器工作方式,开关中断。

在增加和减少电流模块中,要不断检测I RQ信号(如果按键松开,则I RQ=“1”)。

检测到I RQ=“0”时,电流值不断上升或下降;检测到I RQ=“1”时跳出增加或减少电流处理模块,重新设置为键盘工作方式,并开中断,返回到主程序。

但这时又产生两个问题:第一个问题是:按住增加键,电流值不断增加,但松开键后,电流值仍上升,不能停止。

经查找原因,发现当设为传感器方式后,键松开,I RQ=“1”,只要一开中断,就进入中断服务程序读取键值,虽使I RQ=“0”,但由于此时读的代码值为00H,恰好与增加键的代码00H一致,程序误以为有增加键按下,又进入增加电流处理模块,使电流值一直上升。

8279介绍

8279介绍

8279功能介绍一、8279的基本功能8279是可编程的键盘、显示接口芯片。

它既具有按键处理功能,又具有自动显示功能。

8279内部有键盘FIFO(先进先出堆栈)/传感器,双重功能的8*8=64B RAM,键盘控制部分可控制8*8=64个按键或8*8阵列方式的传感器。

该芯片能自动消抖并具有双键锁定保护功能。

显示RAM容量为16*8,即显示器最大配置可达16位LED数码显示。

(1)数据线DB0→DB7是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送CPU和8279之间的数据和命令。

(2)地址线/CS=0选中8279,当A0=1时,为命令字及状态字地址;当A0=0时,为片内数据地址,故8279芯片占用2个端口地址。

(3)控制线CLK:8279的时钟输入线。

IRQ:中断请求输出线,高电平有效。

/RD、/WR:读、写输入控制线。

SL0---SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。

RL0---RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。

SHIFT:来自外部键盘或传感器矩阵的输入信号,它是8279键盘数据的次高位即D6位的状态,该位状态控制键盘上/下档功能。

在传感器方式和选通方式中,该引脚无用。

CNTL/S:控制/选通输入线,高电平有效。

键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把RL0---RL7的数据存入FIFO RAM中。

OUTA0---OUTA3:通常作为显示信号的高4位输出线。

OUTB0---OUTB3:通常作为显示信号的低4位输出线。

/BD:显示熄灭输出线,低电平有效。

当/BD=0时将显示全熄灭。

二、工作方式8279有三种工作方式:键盘方式、显示方式和传感器方式。

(1)键盘工作方式8279在键盘工作方式时,可设置为双键互锁方式和N键循回方式。

双键互锁方式:若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入FIFO RAM中。

8279键盘显示实验

8279键盘显示实验

8279键盘显示实验一、实验目的与要求了解8279的内部结构、工作原理;了解8279与8088的接口逻辑;掌握对8279的编程方法,掌握使用8279扩展键盘、显示器的方法。

认真预习,做好实验前的准备工作,自行编写程序,填写实验报告二、实验设备STAR系列实验仪一套、PC机一台三、实验内容1、编写程序:利用8279实现对F4区的键盘扫描,将键号显示于8位数码管上2、按图连线,运行程序,观察实验结果,能熟练运用8279扩展显示器和键盘。

四、实验原理图五、实验步骤1、连线说明:2、运行程序,观察实验结果(任意按下F4区4X4键盘几个键,它上面的8个LED显示器会将按键的编码从左至右依次显示出来),可依此验证对8279芯片操作的正确性。

六、演示程序.MODEL TINYCMD_8279 EQU 0BF01H ;8279命令字、状态字地址DATA_8279 EQU 0BF00H ;8279读写数据口的地址.STACK 100.DATAKEYCOUNT DB ?LED_TAB DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB 080H,90H,88H,83H,0C6H,0A1H,86H,8EH.CODESTART: MOV AX,@DATAMOV DS,AXNOPCALL INIT8279 ;初始化子程序MOV KEYCOUNT,0START1: CALL SCAN_KEY ;键扫描JNC START1 ;没有按键XCHG AL,KEYCOUNTINC ALCMP AL,9JNZ START2MOV KEYCOUNT,0CALL INIT8279_1;8个数码块全有字符显示后,再按键,清除显示JMP START1START2: XCHG AL,KEYCOUNTCALL KEY_NUM ;键值转换为键号LEA BX,LED_TAB ;字型码表XLATCALL WRITE_DATAJMP START1START_EXIT: JMP $;8279初始化INIT8279 PROC NEARMOV DX,CMD_8279 ;CMD_8279为写命令地址、读状地址MOV AL,34H;可编程时钟设置,设置分频系数(20分频)OUT DX,ALMOV AL,0;8*8字符显示,左边输入,外部译码键扫描方式OUT DX,AL; MOV AL,0A0H; OUT DX,ALCALL INIT8279_1RETINIT8279 ENDPINIT8279_1 PROC NEARCALL CLEAR ;清显示MOV AL,90H ;从第一个数码管开始移位显示OUT DX,ALRETINIT8279_1 ENDPCLEAR PROC NEARMOV DX,CMD_8279MOV AL,0DEH ; 清除命令OUT DX,ALWAIT1: IN AL,DXTEST AL,80HJNZ WAIT1 ; 显示RAM清除完毕吗?RETCLEAR ENDPSCAN_KEY PROC NEARMOV DX,CMD_8279IN AL,DX ;读状态READ_FIFO: AND AL,7JZ NO_KEY ;是否有键按下READ: MOV AL,40HOUT DX,AL ;读FIFO RAMMOV DX,DATA_8279IN AL,DXSTC ;有键SCAN_KEY1: RETNO_KEY: CLC ;无键按下,清CYJMP SCAN_KEY1SCAN_KEY ENDPKEY_NUM PROC NEARAND AL,3FHRETKEY_NUM ENDPWRITE_DATA PROC NEARMOV DX,DATA_8279OUT DX,ALRETWRITE_DATA ENDPEND START七、实验扩展及思考重新编写软件实验二,自己编写键扫描、显示程序。

键盘-显示器专用接口芯片8279

键盘-显示器专用接口芯片8279
3. 与显示器接口的引脚
OUTA0~OUTA3:A组显示信号输出线。 OUTB0~OUTB3:B组显示信号输出线。
DB:消隐输出线,低电平有效。 该输出信号在数字切换显示或使用显示消隐命令时,将显示消
隐。
1.3 8279的寄存器
1. 命令寄存器
8279的命令寄存器为8位寄存器,我们以D7~D0表示它的 各位,其中高3位(D7、D6、D5)是命令的特征位,不同的状 态组合代表着不同的命令。8279共有8条命令:
(1)键盘/显示方式设置命令(D7D6D5=000)
此命令用于设置键盘与显示器的工作方式,各位定义如下:
D7
D6 D5
D4
D3
D2
D1
D0
0
0
0
D
D
K
K
K
DD两位用来设定显示方式:
00 8个字符显示——左入(指在显示时,显示字符是从左 面向右面移动)。
01 16个字符显示——左入。
10 8个字符显示——右入(指在显示时,显示字符从右面 向左面移动)。
若8279被设定为键盘扫描N键轮回方式,如果发现有多个键被同 时按下,则FIFO状态字中的错误特征位S/E将置位,并产生中断请 求信号和阻止写入FIFO RAM。
2. 状态寄存器
8279的状态寄存器为8位寄存器,主要用于键盘和选通工 作方式,以指示FIFO RAM中的字符数是否有错误发生,其字位 意义如下:
清除显示RAM大约需要100μs的时间。在此期间,FIFO状态字 的最高位Du=1,表示显示无效,CPU不能向显示RAM写入数据。
(8)结束中断/错误方式设置命令(D7D6D5=111)
D7
D6
D5
D4

8279A可编程键盘显示接口

8279A可编程键盘显示接口

8279A可编程键盘显示接口实验内容一、实验目的学习8279A与微机8088系统的接口方法,了解8279A用在译码扫描和编码扫描方式时的编程方法,以及8088CPU用查询方式和中断方式对8279A进行控制的编程方法。

二、实验原理如图所示,系统中8279A接口芯片及其相关电路完成键盘扫描和显示,本实验以查询方式获取键盘状态信息,读取键值。

键值转换成显示代码供显示。

根据原理图5-20,得到键值和键名的对照表5-5,显示值和显示代码对照表。

三、实验程序清单见随机光盘,文件名为H8279.ASM四、实验步骤运行实验程序在DVCC-8086JHN上显示"8279-1"在系统键盘上输入数字键,在系统显示器上显示相应数字,按EXEC键显示"8279 good",按其它键不予理睬。

源程序:CODE SEGMENTASSUME CS:CODESTART: JMP KEYLEDCONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA1 EQU 0500HDA TA2 EQU 0508HDA TA3 EQU 0510HDA TA4 EQU 0518HDA TA5 EQU 0580HKEYLED: CALL FORMATCLDMOV DI,DATA5MOV CX,08HXOR AX,AXREP STOSBMOV SI,DATA2CALL LEDDISP ;DISP 8279-1MOV BYTE PTR DS:[0601H],00HKEY0: MOV DX,CONTPORTIN AL,DXTEST AL,07HJZ KEY0MOV CX,0FFFHDELAY1: LOOP DELAY1MOV DX,CONTPORTMOV AL,40HOUT DX,ALMOV DX,DATAPORTIN AL,DXMOV DI,AX ;AND AL,0F0HJZ KEY1MOV AX,DI ;CMP AL,10HJNZ KEY0MOV SI,DATA3CALL LEDDISPKEYEND: JMP KEYENDKEY1: CALL CONVERSMOV SI,DATA5CALL LEDDISPDJMP KEY0CONVERS:MOV BH,0HMOV AX,DIAND AL,0FHMOV BL,ALMOV AL,CS:[BX+DATA4]MOV Bl,DS:[0601H]MOV BH,0HMOV BYTE PTR DS:[BX+DA TA5],ALINC BXMOV DS:[0601H],BXCMP BX,08HJZ SA VE0RETSA VE0: MOV BYTE PTR DS:[0601H],0H RETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07H JA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+SI]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETLEDDISPD:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LEDD1: CMP BYTE PTR DS:[0600H],07H JA LEDD2MOV BL,DS:[0600H]MOV BH,0HMOV AL,DS:[BX+SI]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LEDD1LEDD2: RETFORMAT: MOV BX,0MOV WORD PTR DS:[BX+0500H],5050HADD BX,2MOV WORD PTR DS:[BX+0500H],0079HADD BX,2MOV WORD PTR DS:[BX+0500H],0000HADD BX,2MOV WORD PTR DS:[BX+0500H],0000HADD BX,2MOV WORD PTR DS:[BX+0500H],4006HADD BX,2MOV WORD PTR DS:[BX+0500H],4040HADD BX,2MOV WORD PTR DS:[BX+0500H],076FHADD BX,2MOV WORD PTR DS:[BX+0500H],7F5BH ADD BX,2MOV WORD PTR DS:[BX+0500H],3F5EHADD BX,2MOV WORD PTR DS:[BX+0500H],3F5CH ADD BX,2MOV WORD PTR DS:[BX+0500H],076FHADD BX,2MOV WORD PTR DS:[BX+0500H],7F5BH ADD BX,2MOV WORD PTR DS:[BX+0500H],063FHADD BX,2MOV WORD PTR DS:[BX+0500H],4F5BH ADD BX,2MOV WORD PTR DS:[BX+0500H],6D66H ADD BX,2MOV WORD PTR DS:[BX+0500H],077DH ADD BX,2MOV WORD PTR DS:[BX+0500H],6F7FHADD BX,2MOV WORD PTR DS:[BX+0500H],7C77HADD BX,2MOV WORD PTR DS:[BX+0500H],5E39HADD BX,2MOV WORD PTR DS:[BX+0500H],7179HRETCODE ENDSEND START。

8279说明

8279说明

101为此命令的特征位。 此命令用在将二个8段显示分作两个4段显示的情况,在IWA置1,IWB置0时,将屏蔽半字节A, 即CPU向显示器RAM写入数据时,只能更改半字节B,而不能更改半字节A。此时显示器仅 将OUTB0~3的部分更改,而由OUTA0~3控制的显示器保持不变,即A的部分不允许新的数据写入。同 样,当IWA=0,IWB=1时,屏蔽半字节B。 如果要求显示一空格,则可将 BLA置成1或 BLB置成 1,这时由OUTA或QUTB控制的显示器显示空 格。如要求两个半字节都为空格,则应将BLA与BLB均置1。
无标题文档
INTEL 8279的接口信号与工作方式
利用软件的方法实现键扫描及动态显示的最大缺点是占用很多CPU时间,一旦程序进入处理其他功 能的程序段,键盘与显示器即停止工作。可编程键盘、显示器接口INTEL 8279可在编程后对键盘、显示 进行扫描,记下按下键的坐标并显示数据。 INTEL 8279的逻辑符号如图7-28所示。它用于8085、MCS-51系统。它最多可外接8X8的键盘 及16X8的七段数码显示器。
7.清除
此命令用来清除显示器RAM和FIFO状态。其格式为 D7 1 1 0 CD CD CD CF D0 CA
110为此命令的特征位。
/ch07/7-5-1.htm[2010-8-25 22:10:02]
无标题文档
CD CD CD 用来置清除方式,具体如下 CD 0 0 0 1 CD 0 1 1 X CD X 0 1 X 显示器RAM清为全0 显示器RAM置成16进制数20H 显示器RAM置成全1 此位为1,不允许清除显示器>RAM(或用CA=1)
图7-28 8279的逻辑符号
8279与CPU之间的连线有: D0~D7数据线。 IRQ中断申请信号,高电平有效。 -RD、-WR 读写信号。 RESET 复位信号,高电平有效。 -CS片选信号。 A0缓冲器地址,A0=0表示数据口,A0=1表示表示命令、状态口。 CLK 外部时钟输入,用以产生内部100kHz的信号,输入信号频率低于 2MHz。 8279与外部的连线有:

(整理)8279键盘显示.

(整理)8279键盘显示.

攀枝花学院电信学院专业基础综合实验[设计实验室单片机计数器实验]学生姓名:学生学号:院(系):电信学院年级专业:指导教师:二〇一二年六月设计准备1、课程设计的目的(1)检查学生对本门课程所学知识的掌握程度及对知识的灵活的运用情况。

(2)检查学生对具体问题的分析能力和解决问题的能力。

(3)锻炼学生的实际设计能力。

(4)加强学生对单片机在应用设计中的感性认识,为日后的单片机应用打基础。

2、课程设计的内容和要求(1)实验要求:编制程序,利用8279及键盘显示接口电路,编程实现按键的读取,并将按键值显示在数码管上。

(2)实验目的:1)掌握在MSC-51系统中扩展8279键盘显示接口的方法。

2)掌握8279工作原理和编程方法。

(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 的译码信号,作为显示器和键盘的译码扫描.键盘功能块:返回缓冲器,键盘反跳及控制,8x8 FIFO传感器 RAM,FIFO/传感器RAM状态.返回缓冲器与键盘反跳及控制:8条返回线被返回缓冲器缓冲,在键盘工作方式中,这几条线被逐个检测,以找出该行键中闭合的键,如果反跳电路测知某键闭合, 则它等待10.3ms,然后重核此键是否仍然闭合,如果仍闭合,那么该键在矩阵中的行列地址以及SHIFT和CNTL的状态一起被送到FIFORAM中,其在FIFO RAM中的数据格式如下:D7 D6 D5 D4 D3 D2 D1 D0CNTL SHIFT SCAN RET URN数据格式中,最高位CNTL,次高位为SHIFT状态,D5-D3来自扫描计数器,D2-D0来自返回计数器,扫描线计数器和回扫线计数器的值分别反映出被按下键的行. 列的值,如果在传感器阵列中,返回线上的数据直接进入传感器RAM中相应于阵列中正被扫中的那行,这样每个开关位置就直接反映为一个传感器RAM的位置FIFO/传感器RAM:一个8x8 RAM,在键盘方式和选通方式中它是一个先入先出(FIFO)存贮器,每一条新的信息顺次写入,然后又按写入的顺序读出,在传感器阵列扫描方式时,存贮器作为传感器RAM,这时RAM中的各行存着传感器阵列中相应行的状态.FIF0/传感器RAM状态:在键盘或选通方式中,FIFO状态跟踪FIFO中的字符数量注意它是"满"还是"空",写入或读出过多均被认作出错,当FIFO非空时,状态逻辑提供一个中断申请IRQ信号,在传感器阵列扫描方式中,若测知某一传感器变化时,IRQ则为有效高电平.FIFO状态字的低3位表示FIFO中的字符数,F表示FIFORAM已满;O(over mn)表示越限错误,即试图向已满的FIFO送另一字符;U(Under done)表示取空错误,即试图读取已空的FIFO.S/F有两种含义:在传感器扫描方式时,S/F表示在传感器RAM中至少包含了一个传感器闭合指示,在特殊错误方式时S/F位是出错标志,用来指示是否发生了多路同时闭合错误,Du 位表示由于 CLEAR DISPLAY或CLEAR ALL命令尚末完成其消除操作而使显示RAM尚不可用.显示功能块:显示功能块包括:显示寄存器,16X8显示RAM,显示地址寄存器.显示RAM和显示寄存器:8279内部有16X8的显示RAM,通过显示寄存器和两个四位端口0UT A0-3,0UT BO-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之间的数据交换,数据缓冲器是数据交换的双向通道,控制信号与数据交换间的逻辑关系见下表:CS A0 WR RD1 0 CPU从8279读状态0 1 0 1 CPU向8279写状态1 0 CPU从8279读数据0 0 1 CPU向8279写数据1 X X X 数据缓冲器输出呈三态x为任意数(0或1)(3)8279的引脚及其功能引脚图8279 :采用单一+5V电源供电,40脚封装。

实验四 8279键盘显示

实验四 8279键盘显示

实验四8279键盘/显示一.实验原理8279为可编程器件,可通过送入不同的命令,使8279执行不同的不同的功能。

其中8279状态口地址为0FF82H,8279数据口地址0FF80H,可以通过给8279状态口送入命令字使其执行不同的指令,在通过数据口送入要显示的数据,使8279控制的8个数码管显示送入的数据。

二.硬件连接电路图*由于实验箱内的电路图已经连接好了,所以在实验箱表面上不需要连接电路,只需确保跳冒接通了8279而不是8255即可。

在实习期间使用的LCA51ET软件内部的实验帮助中找到了8279的内部连接图,在分析完下图后,认为完全可以将其用做本次实验的硬件电路图。

三.软件流程图四.软件清单Z8279 EQU 0FF82HD8279 EQU 0FF80HORG 0000HAJMP MAIN MAIN: MOV SP,#40HLCALL INTI8279MOV R0,#70HMOV R6,#00HMOV R7,#08H LOOP1: MOV A,R6MOV @R0,AINC R0INC R6DJNZ R7,LOOP1LCALL INTI8279LCALL DISLEDLCALL NKBHITSJMP $INTI8279: MOV DPTR,#Z8279 ;8279的初始化指令MOV A,#0D1HMOVX @DPTR,AWAIT: MOVX A,@DPTRJB ACC.7,WAITMOV A,#00H ;方式为8个字符左端送入MOVX @DPTR,ASETB EARETNKBHIT: MOV DPTR,#Z8279 ;键盘扫描子程序,判断是否有MOVX A,@DPTR ; 键按下ANL A,#07HJNZ GETVALMOV A,#00HSJMP NKBHITGETVAL: MOV A,#40H ;有键被按下时,跳转至此MOVX @DPTR,A ;并将键值转化为码表序号MOV DPTR,#D8279MOVX A,@DPTRANL A,#3FHMOV DPTR,#LEDSEGMOVC A,@A+DPTRMOV DPTR,#D8279MOVX @DPTR,ASJMP NKBHITDISLED: PUSH DPL ;查表显示部分,将得到的码表PUSH DPH ;序号对应转化为七段码,并由PUSH ACC ;8279控制进行显示MOV DPTR,#Z8279MOV A,#90HMOVX @DPTR,AMOV R0,#70HMOV R7,#08HMOV DPTR,#D8279DL0: MOV A,@R0ADD A,#12MOVC A,@A+PCMOVX @DPTR,AINC R0DJNZ R7,DL0POP ACCPOP DPHPOP DPLRETLEDSEG: DB 3FH,06H,5BH,4FH,66H,6DHDB 7DH,07H,7FH,6FH,77H,7CHDB 39H,5EH,79H,71HEND一.功能说明在8个LED上依次显示1-8,然后显示按下的键的键值。

8279接口芯片-PPT精选文档33页

8279接口芯片-PPT精选文档33页

111
110
显示RAM地址 101 110 111 000 001 010 011 100
S2 S1 S0 111 000 001 010 011 100 101 110
8279的操作命令
8279的操作命令
8279的操作命令
8279的操作命令
8279的操作命令
8279的操作命令
8279的操作命令
SL2 SL1 SL0
21
0
回送值(列号)
000:RL0
CNTL:键盘功能的扩充 SHIFT:换档功能键
111:RL7
OUTA3 OUTB3
OUTA0 OUTB0 OUTB0
OUTB3 OUTA0
OUTA3
7406*2
8279
Y7
74LS138
SL0
A
Y6
SL1
B
Y5
SL2
C
Y4
SL3
Y3
Y2
Y1
SL2
SL1
SL0
0
0
0
0
0
1
0
1
0
+5V
Y7
74LS138
SL0
A Y6
SL1
B Y5
SL2
C Y4
Y3
Y2
Y1
Y0
七段数码显示管
左进入
0
1
2
3
4
5
6
7
SL2 SL1 SL0
000 001 010 011 100 101 110 111
显示RAM 000 001 010 011 100 101 110 111
Y0
显示RAM

8279芯片

8279芯片

8279芯片8279芯片是一种控制器芯片,用于键盘和显示器的控制。

下面是关于8279芯片的1000字介绍。

8279芯片是Intel公司于1977年推出的一个专门用于键盘和显示器的控制器芯片。

这个芯片具有广泛的应用,被广泛用于PC机、电子仪器仪表和工控设备等领域。

8279芯片集成了键盘扫描和显示器控制的多种功能。

它能够接收来自键盘的输入信号,并将其转换为计算机可识别的形式。

同时,它还能够控制显示器的显示,通过向显示器发送相应的指令和数据来实现。

8279芯片具有许多优势和特点。

首先,它具有简单的接口,可以轻松地与其他设备连接。

其次,它具有多种模式,可以灵活地适应不同的应用需求。

例如,它可以通过扫描键盘的方式来获取按键信息,也可以通过中断的方式来获取按键信息,从而满足不同场景下的需求。

另外,它还具有键盘的防抖功能,可以有效地防止键盘抖动带来的误操作。

此外,8279芯片还具有多种显示模式,可以显示不同的字符和图形,方便用户进行信息的展示和交互。

最后,8279芯片还具有识别多个键同时按下的能力,可以实现多键同时输入的功能。

8279芯片的工作原理可以简单描述如下:首先,通过向芯片发送初始化命令来设置芯片的工作模式和功能。

然后,芯片开始从键盘扫描按键信号,并将其转换为计算机可识别的数据。

同时,芯片还会根据设定的显示模式向显示器发送指令和数据,实现相应的显示效果。

当有键按下时,芯片会产生一个中断信号,通知计算机有键按下。

计算机可以通过读取芯片的输出来获取具体按键的信息。

在应用中,8279芯片可以灵活地与其他设备和系统集成。

它可以通过并行接口或串行接口与计算机连接,也可以通过扩展接口与其他设备连接。

通过这种方式,可以实现键盘和显示器与计算机之间的方便和快速的数据交换和信息展示。

总的来说,8279芯片是一种功能强大且应用广泛的控制器芯片。

它的引入和应用,为键盘和显示器的控制提供了方便和灵活性,为人机交互提供了更好的体验。

多片8279与单片机及键盘/显示器接口电路设计

多片8279与单片机及键盘/显示器接口电路设计
图 1中每 片 8 7 2 9只外接 8位显 示 器 , 各 自 故 外 部 接 了一 个 3—8译码 器 7 L l8 4 S 3 4 S 3 。7 L l8的 输 入 端 接 87 2 9的 S —SJ, 出端接 反 相驱 动 器 I 输 2 80 7 8的输入 端 ,78的 输 出作 为 8个 显示 器 的位 80 选 线 , 一 位 为 低 电平 , 对 应 哪个 显 示 器 显 示 。 哪 则 87 的 输 出 端 O T o— O T 3 和 OU B 一 29 UA UA T0 OU B 经 另 一 个 80 T, 7 8反 相 驱 动 器 接 显 示 器 的 字 段 码输 入 端 口,,, e , ,p, bcd, g d 由此 输 入 字 段 码 ,
输 出后 的Y , l 作 为键 盘 列 线 , —R 作 为 oY 端 R
路 。其 中:29 87 ①接键 显 示器 ,29 接显示 87 ② 器 。下 面简 述各 部分 相互 接 口的原 理 。 1 1 87 . 2 9与 83 0 1单片 机 接 口线
数 据 线 :。一 7 于 P 。 0 o D D 接 0 一P - 7
址或状态 字地址 口; C 当 S=0 A , 。=0( 它 位 任 其 意 ) , 地 址 为数 据 地址 口。 时 该 两片 87 2 9共 占用 4个 地址 口。 图 1电路 中 ,
控 制部 分 可 控制 8×8= 4个 按键 或 控制 8× 6 8阵 列 方式 的传感 器 。该 芯 片能 自动 消 除键 抖 动并 具 有 双键 锁 定保 护 功能 。显 示 器 R AM 容 量 为 1 6× 8 即显 示 器最 大 配置 可达 l , 6位 L D数 码 显示 。 E 87 29与 83 0 1单 片 机 及 键 盘/ 示 器 接 口 电 显 路 已有实 用 电路 , 且有 资 料介 绍 , 它们 均 为一 片 但

zlg7290

zlg7290

单片机接口技术
62-6
DM
一、 ZLG7290的特点
U.
1、 I2C 串行接口,方便与处理器接口; 2、 可驱动8位共阴数码管或64只独立LED 和 64 个按键; 3、 扫描位数可控,任一数码管闪烁可控; 4、 可检测任一键的连击次数; 5、 无需外接元件即直接驱动LED。
单片机接口技术
62-7
单片机接口技术
62-9
DM
zlg7290应用实例
U.
单片机接口技术
8
62-10
DM
三、寄存器
U.
包括 系统状态、键盘部分、显示部分、命令接口的寄存器。
单片机接口技术
62-11
DM
系统状态部分的寄存器
U. 1、系统寄存器(SystemReg):地址00H,复位值F0H;
保存ZLG7290 系统状态。
支持自动增址功能 访问一个寄存器后,寄存器子地址sub address自动加1; 访问最后一寄存器子地址17H后,寄存器子地址翻转为00H。
单片机接口技术
62-17
DM
五、指令
U.
ZLG7290 提供两种控制方式:寄存器映象控制和命令解释控制。
命令解释控制是指通过解释命令缓冲区CmdBuf0CmdBuf1 中的指令,间接访问底层寄存器,实现扩展控制功能。
连击次数计数器RepeatCnt 可区别出单击或连击。
单片机接口技术
62-8
DM
2、显示部分
U.
在每个显示刷新周期,ZLG7290 按照扫描位数寄存器(ScanNum) 指定
的显示位数N,把显示缓存(DpRam0DpRamN)的内容按先后循序送入
LED 驱动器实现动态显示;

8279接口芯片

8279接口芯片

8279的操作命令
8279的操作命令
8279的状态字
左进入模式下显示RAM的存储单元与显示位置的对应关系
左进入
七段数码显示管
显示RAM
000
0C0H
001
0FFH
010
0FFH
011
0FFH
100
0FFH
101
0FFH
110
0FFH
111
0FFH
0
1
2
3
4
5
6
7
CPU向显示RAM的000单元写入C0H(左进入)
左进入
七段数码显示管
0
1
2
3
4
5
6
7
754U541
8
7
6
5
754U551
8
7
6
5
754U561
8
7
6
U7RL2 U7RL15
LVECDC5 LE5 LVECDC3 LE3 LVECDC1 LE1 U7RL0
36
1 4
SS7
1 4
SS6
1 4
SS5
1 4
SS4
1 4
SS3
1 4
SS2
1 4
SS1
1 4
SS0
37
12 43
12 43
12 43
显示器及键盘接口
❖ 七段LED显示器的原理 ❖ 静态显示和动态显示 ❖ 独立式键盘及接口 ❖ 矩阵式键盘及接口
七段式LED显示原理
com g f ab
a
f
b
g
e
c
d
dp
e d c dp com

键盘_显示管理芯片8279的应用技巧

键盘_显示管理芯片8279的应用技巧

= 1, 为写命令或读状态; = 0, 为数据
IRQ :
中断请求信号
二 典型硬件接口电路示例
Intel 8279 可以方 便地 应用 在各 种微 处理 系 统 中。以目前流行的 51 系列单片机为例, 它与 8279 的 实际接口一般如图一所示:
图一中, 8279 的 DB0~ DB7 直接 与 8031CPU 的 数据 总线 P0 口 相 连; A0 与 8031 的 最 低位 地 址 线 A D0 连; 时钟信号 CLK 与 8031 的 地址 锁存 允许 信 号 A LE 相连, 在 8031 主频 为 6MHz 的 情况 下, AL E 输出 信号频率 1MHz。在对 8279 初始化 时, 可编 程 为 10 分频, 以便得到 8279 所需的 100KHz 的内部时 钟; 由于 IRQ 信 号 是 高 电平 有 效, 为 了与 51 系 列 CPU 匹配, 此信 号必须 经反 相后 与 8031CPU 相接; 另外, 段驱 动采 用 M C1413( U LN 2003A ) 比 较 合适, 而 7406( 7407) 等芯 片驱动 能力较 小, 应尽量 避免 使 用; 位驱动可用 75452 或小功率 三极管 9012 等比 较 合适。
图二中的 SHIFT 键 设 置了硬 件消抖 电路, 即 由两个 5. 1K 电阻、一个 2uF 电 容以及一个反相器组 成的电路, 以保证按键动作的可靠性。
3. 2 连动键的实现 在很多应 用场合, 往 往要 求有 些按 键具 有连 动 功能, 即按住某键不放, 使它连续执 行某个操 作。譬 如说, 象 P C 计算机键 盘上的光标左移键 。 8279 有三种基 本 工作 方 式: 键 盘扫 描、传 感 矩 阵、选通输入。大多数应用系统 中, 通 常采用键盘 扫 描方式( 或两键 锁定、或 N 键 轮回) 。而这两 种键 盘 扫描方式的特点是, 按键时自动 消弹( 当检测到有 键 按下, 延 时大 约 10ms, 再判 键 是否 释 放; 如 还 未 释 放, 就将该键对 应的 键值送 存键 值缓 冲区) , 并且 当 键盘 缓冲区中有键 值时 I RQ 为高, 否则 为低。由 于 这个特点, 单纯 的键盘 扫描 方式 很难实 现按 键的 连 动功能。原因是: 按键后, 我们必须先 读取键值并 判 键, 才能执行 相应的 动作。而 此时 键盘 缓冲 区的 键 值已空( 已被 读走) , 因此我 们就 无法 知道当 前的 按 键状态, 因而无从判断是否执行连动操作 。 通过对传 感矩阵 方式 的分 析可 知, 当传 感器 的 状态有 变化 时, 都 会引 起 IRQ 信 号变 高。因 此, 如 果将 IRQ 与 CPU 的某一口线, 例如 8031 的 P1. 6 相 连, 我们就可以据此来判断按键 的状态变化 , 以实 现 连动功能。 具体编程示例如下:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

补充:键盘接口
一、 8279引脚及逻辑符号
补充:键盘接口 8279采用40引脚封装,其管脚、引线功能如图所示。其引脚功 能如下: D0~D7(数据总线):双向、三态总线,和系统数据总线相连; 用于CPU和8279间的数据/命令传递。 CLK(系统时钟):输入线,为8279提供内部时钟的输入端。 RESET(复位):输入线,当RESET=1时,8279复位,其复位状 态为:16个字符显示; 编码扫描键盘--双键锁定; 程序时钟 编码为31。 CS(片选):输入线,当CS=0时8279被选中,允许CPU对其读、 写,否则被禁止。 A0(C/D):输入线。当A0=1时CPU写入数据为命令字,读出数 据为状态字;A0=0时CPU读、写的字节均为数据。
补充:键盘接口
非编码键盘按键的识别:
行扫描法和线反转法
补充:键盘接口
(1)行扫描法识别按键
行扫描法识别按键的过程是:首先判断是否有键被按下, 即先进行全扫描,将所有行线置成低电平;然后扫描全部 列线,如果扫描的列值全是高电平,则说明没有任何一个 键被按下;如果读入的列值不是全1,则说明有键按下, 再用逐行扫描的方法确定哪一个键被按下。先扫描第一行, 即置该行为低电平,其他行为高电平,然后检查列线,如 果某条列线为低电平,则说明第一行与该列相交的位置上 的按键被按下;如果所有列线全是高电平,则说明第一行 没有键被按下,接着扫描第二行,以此类推,直到找到被 按下的键。
补充:键盘接口
RD、WR(读、写信号):输入线。低电平有效,来自CPU的控制信 号,控制8279的读、写操作。 IRQ(中断请求):输出线。高电平有效。 在键盘工作方式中,当FIFO/传感器RAM存有数据时,IRQ为高电平。 CPU每次从RAM中读出数据时,IRQ变为低电平。若RAM中仍有数据, 则IRQ再次恢复高电平。 在传感器工作方式中,每当检测到传感器状态变化时,IRQ就出现 高电平。 SL0~SL3(扫描线):输出线。用来扫描键盘和显示器。它们可以 编程设定为编码(4中取1)或译码输出(16取1)。 RL0~RL7(回复线):输入线。它们是键盘矩阵或传感矩阵的列 (或行)信号输入线。 SHIFT(移位信号):输入线,高电平有效,该信号是8279键盘数 据的次高位D6,通常用来补充键盘开关的功能,可以用作键盘上 下档功能键。
JNZ FCOL
ADD BL,8 LOOP FROW JMP DONE
补充:键盘接口
行反转法识别按键
将行线接一个并行口,先让它工作在输出方式,将 列线出接到一个并行口,先让它工作在输入方式。编程使 CPU通过输出端口往各行线全部送低电平,然后读入列线 的值。如果有某一个键被按下,则必有一条列线为低电平。 然后进行线反转,通过编程对两个并行端口进行方式设置, 使连接行线的端口工作在输入方式,并将刚才读到的列线 值通过所连接的并行口再输出到列线,然后读取行线的值, 那么闭合键所对应的行线必为低电平,这样当一个键被按 下时,就可以读到一对唯一的列值和行值。
补充:键盘接口
3)扫描计数器
4位的计数器,有译码、编码两种方式,由编程设定. 扫描计数器有两种工作方式。 按编码方式工作时,计数器作二进制计数,四位计数状态 从扫描线SL0—SL3输出,经外部译码器译码后,为键盘和显示 器提供扫描线; 按译码方式工作时,扫描计数器的最低二位被译码后,从 SL0—SL3输出,因此SL0—SL3提供4中取1的扫描译码。
补充:键盘接口 CNTL/STB控制:输入线,高电平,在键盘方式下,该输入信号 是键盘数据的最高位,通常用来扩充键盘开头的控制功能,作为 控制键用。 OUTA0~OUTA3(A组显示信号):输出线。 OUTB0~OUTB3(B组显示信号):输出线。 这两组引线都是显示数据输出线,与多位数字显示的扫描线 SL0~SL3同步,两组可以独立使用,也可以合并使用。 BD(显示消隐):显示熄灭控制输出线,它输出一个控制信号, 低电平有效。通过硬件使七段LED显示熄灭。
补充:键盘接口
行反转法
补充:键盘接口
8255A的A口行线,B口列线。
补充:键盘接口
START:MOV AL,82H OUT 63H,AL WAIT0: MOV AL,0 CALL DELAY MOV AL,90H OUT 63H,AL
OUT 60H,AL
IN AL,61H CMP AL, 0FFH JZ WAIT0 PUSH AX PUSH AX
补充:键盘接口
去抖动和防串键
在键盘设计时,除了对键码的识别外,还有两个问题 需要解决:抖动和串键。 当用手按下一个键时,往往会出现按键在闭合位置 和断开位置之间跳几下才稳定到闭合状态的情况;在释放 一个键时,也会出现类似的情况,这就是抖动。抖动的持 续时间随操作员而异,不过通常总是不大于10ms。大家容 易想到,抖动问题不解决就会引起对闭合键的错误识别。
补充:键盘接口
FROW :MOV AL,BH;扫描一行 MOV DX,PORT0 FCOL: RCR AL,1
OUT DX,AL
ROL BH,1 MOV DX,PORT1;读进列值 IN AL,DX CMP AL,0FFH
JNC PROCE
INC BL JMP FCOL PROCE:….;键译码程序 DONE : …;后序处理程序
补充:键盘接口
2)控制与定时寄存器及定时控制
控制与定时寄存器用来寄存键盘及显示的工作方式以及CPU编 程的其他方式。这些寄存器一旦接收并锁存送来的命令,就通 过译码产生相应的控制信号,从而完成相应的控制功能。
定时控制包括基本的计数链。首级计数器是一个可编程的N级计 数器,N可以在2—31之间由软件编程,以便从外部时钟CLK得 到内部所需要的100KHz时钟。然后经过分频为键盘扫描提供适 当的逐行扫描频率和显示扫描时间。
补充:键盘接口
补充:键盘接口
1)数据缓冲器及输入输出控制
数据缓冲器是双向缓冲器,它将内部总线和外部总线连通,用于 传送CPU和8279之间的命令和数据。
输入输出控制线控制数据向各种内部寄存器和缓冲器发送或接收。 CS是片选信号,只有CS=0时,8279才被选通,CPU才能对其进行 读写操作。 RD、WR来自CPU的读、写控制信号。 A0用于区分信息的特征,当A0=0时,表示输入输出的信息是数 据;当A0=1时,表示输入的信息是指令,而输出的信息是状态 字。
补充:键盘接口
补充:键盘接口
AGAIN:XOR AL,AL MOV DX,PORT0 OUT DX,AL MOV DX,PORT1 IN AL,DX CMP AL,0FFH JZ AGAIN CALL DELAY
PROG:MOV BL,0;键号初值为0
MOV BH,0FEH;送扫描初值 MOV CX,8;计9的组成原理和工作原理
8279内部结构框图
补充:键盘接口
工作原理
• 由SL0~SL3输出键盘和显示器的扫描线 • 回复线RL0~RL7作为键盘的列线以搜索闭合键将 键盘数据送入FIFO存储器, • 有键闭合时数据进入FIFO存储器,使IRQ置位向 CPU申请中断。 • 显示缓冲区(RAM)存放显示数据的段码,数据 轮流从显示寄存器输出,在SL0~SL3的配合下, 实现动态显示。(OUTA和OUTB)
补充:键盘接口
(二)8279的工作方式
1 数据输入方式 :8279有三种数据输入方式 (1)键盘扫描方式
5) FIFO /传感器RAM 及其状态寄存器
FIFO/传感器RAM是一个8*8位RAM。 在键盘方式时,它是FIFO存储器,每次以新的顺序写入到 RAM单元中;而每次读出时,总是按输入的先后顺序,将最先 输入的数据读出。
FIFO状态寄存器用来存放FIFO RAM的工作状态,像FIFO RAM是空还是满,其中存有多少个字符,是否操作出错等。 当FIFO RAM不空时,状态逻辑将产生IRQ=1信号,向CPU发 出中断申请。
POP AX
OUT 61H,AL IN AL,60H POP BX MOV AH,BL;列值送AH,行值送AL LEA SI,TABLE;取键码表首址
补充:键盘接口
MOV CX,40H
LOOP1: CMP AX,[SI] JZ KEYPRO INC SI INC SI LOOP LOOP1;未完,继续。 JMP START;未找到相同码,重新开始找。 KEYPRO:…;键译码程序 TABLE:DW 0FEFEH;键码表,K0 DW 0FEFDH DW 0FEFBH DW 0FEF7H………..
补充:键盘接口
“1”
“0” <10ms
抖动时间 <10ms
开关动作时间 >100ms
补充:键盘接口
有按键信号? Y
N
延时等待10ms
仍有按键信号? N Y 键盘处理 按键释放? Y N
补充:键盘接口
串键问题
所谓的串键是指在键盘上同时按下两个或多个键。防 止因串键而产生错误代码的方法很多,常用的方法: 采用软件进行扫描,直到检测到只有一个键闭合时, 才从键盘读取代码。这种方法认定最后一个仍然保持按下 的键是正确的键,它一般用于采用软件对键盘进行扫描的 场合。 硬件方法进行锁定,在第一个键未释放之前,按其它 的键不产生选通信号。这种方法认为第一个按下的键有效。
补充:键盘接口 控制(CNTL)和移位(SHIFT)的状态由两个独立的附加 开关状态决定,而扫描(D5D4D3)和回复(D2D1D0)则是被按 键的行列位置数据。D5D4D3三位来自扫描计数器,是被按键的 行编码,而D2D1D0三位则是来自列计数器,它们是根据回复信 息而确定的列编码。
补充:键盘接口
补充:键盘接口
第二节 8279可编程键盘/显示器接口芯片
8279是一种通用的可编程的键盘、显示器接口芯片,能 完成键盘输入和显示控制的功能,可以大大提高CPU效率,并 可使接口电路更具有通用性。 8279的功能主要包括键盘输入和显示控制两部分,其中 键盘部分提供扫描工作方式,可连接64个键的矩形键盘,并 具有自动消抖和多键同时按下保护功能。显示部分则提供扫 描方式的显示接口,可与8位或16位LED数码管连接构成。 实现对键盘和显示器的自动扫描 识别闭合键的键号 完成显示器的动态扫描
相关文档
最新文档