8279数码管显示和键盘扫描程序 能运行的
实验五 键盘显示接口芯片8279的应用-1 8279功能介绍
1.8279功能介绍图3.1 8279 引脚图 8279是可编程的键盘、显示接口芯片。
它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。
8279内部有键盘FIFO (先进先出堆栈)/传感器,双重功能的8*8=64BRAM,键盘控制部分可控制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时将显示全熄灭。
2. 8279的工作方式8279有三种工作方式:键盘方式、显示方式和传感器方式。
(1) 键盘工作方式8279在键盘工作方式时,可设置为双键互锁方式和N 键循回方式。
单片机8279键盘
8279键盘/显示实验报告一.实验原理8279可以通过对键盘的自动扫描,将键盘信号存入FIFO RAM里,再通过显示子程序显示按键的信息。
具体来说,扫描输出线,通过138译码后,作为列与回送线交叉成键,输出数据分别用三位来体现扫描码和回送码,读键时屏蔽高两位,使键值正好等于输出数据的查表值,从而在数码管上显示出来。
二、硬件连接图三、实验程序Z8279 EQU 0FF82HD8279 EQU 0FF80HORG 0000HAJMP LOOPLJMP WAIT1LOOP: MOV DPTR,#Z8279MOV A,#0D1HMOVX @DPTR,A LOOP1:MOVX A,@DPTRJB ACC.7,LOOP1MOV R3,#01HMOV R4,#08H XIANSHI:MOV DPTR,#DATAMOV A,R3MOVC A,@A+DPTRMOV DPTR,#D8279MOVX @DPTR,AINC R3LCALL DELAYDJNZ R4,XIANSHI W AIT1: MOV DPTR,#Z8279MOV A,#0D1HMOVX @DPTR,AMOV R0,#70HMOV R7,#80HLOOP2: MOV @R0,#00HINC R0DJNZ R7,LOOP2W AIT: MOV DPTR,#Z8279MOVX A,@DPTRANL A,#07HJNZ SA VESJMP W AITSA VE: MOV A,#40HMOVX @DPTR,AMOV DPTR,#D8279MOVX A,@DPTRANL A,#3FHMOV DPTR,#DATAMOVC A,@A+DPTRMOV B,AMOV R6,#07HMOV R0,#70HMOV R1,#71H CHANGE:MOV A,@R1MOV @R0,AINC R0INC R1DJNZ R6,CHANGEMOV 77H,BMOV R1,#77HMOV R7,#08HSHUCHU:MOV A,@R1MOV DPTR,#D8279MOVX @DPTR,ADEC R1DJNZ R7,SHUCHUAJMP W AITDATA: DB 3FH,06H,5BH,4FH,66H,6DH,7DH DB 07H,7FH,6FH,77H,7CH,39H,5EHDB 79H,71HDELAY: MOV R2,#14HL1: MOV TMOD,#10HMOV TH1,#40HMOV TL1,#00HSETB TR1L2: JBC TF1,L3AJMP L2L3: DJNZ R2,L1RETEND四.实验功能8279状态口地址为0FF82H8279数据口地址0FF80H在8个LED上依次显示1-8,然后显示按下的键的键值。
8279可编程键盘显示控制器j[1]
命令和状态字--键盘 显示方式设置命令 键盘/显示方式设置命令 键盘
双键锁定和N键轮回是两种不同的多键同时按下保 护方式。 双键锁定为两键同时按下提供保护,在消抖动周期内, 如果有两键同时被按下,则只有其中的一键弹起,而 另一键在按下位置时,才能被认可。 N键轮回为N键同时按下提供保护,当有若干个键同时 按下时,键盘扫描能根据发现它们的次序,依次将它 们的状态送入FIFO RAM。
8279内部结构—键盘功能模块 内部结构 键盘功能模块
在FIFO存储器中的键盘数据格式如下:
D7 CTRL/STB D6 SHIFT D5 D4 D3 扫描 D2 D1 D0 回馈
CTRL和SHIFT(D7和D6)的状态由两个独立的附加开 关输入信号线CTRL/STB和SHIFT的状态来决定, D5、D4、D3三位来自扫描计数器,是按键的行编码; D2、D1、D0三位则是来自列计数器,它们是根据回馈 信号而确定的按键的列编码。
命令和状态字--键盘 显示方式设置命令 键盘/显示方式设置命令 键盘
KKK三位用来设定键盘工作方式: 000 编码扫描键盘----双键锁定 001 译码扫描键盘----双键锁定 010 编码扫描键盘----N键轮回 011 译码扫描键盘----N键轮回 100 编码扫描传感器矩阵 101 译码扫描传感器矩阵 110 选通输入,编码显示扫描 111 选通输入,译码显示扫描
命令和状态字--时钟编程命令
命令特征位:D7D6D5=001 命令格式:001PPPPP 001PPPPP 将来自CLK的外部时钟进行PPPPP分频(2-31)。 8279内部时钟频率等于外部时钟频率除以分频数。
命令和状态字--读FIFO/传感器 命令 传感器RAM命令 传感器
命令特征位:D7D6D5=010 命令格式:010 AI X AAA 该命令字只在传感器矩阵方式时使用,在读传感 器数据之前设定将要读出的传感器RAM地址,AI为自 动增量特征位。若AI=1,则每次读出传感器RAM后, 地址将自动加1,使地址指针指向顺序的下一个存储单 元。这样,下一次读数便从指针所指的地址读出,而 不必重新设置读FIFO/传感器RAM命令。 在键盘矩阵工作方式中, 在键盘矩阵工作方式中,由于键值读出操作严格 按照先入先出的顺序,因此不必使用这条命令。 按照先入先出的顺序,因此不必使用这条命令。
单片机基础:编程键盘-显示器接口——INTEL 8279
单片机基础:编程键盘/显示器接口——INTEL 8279
INTEL 8279是一种可编程键盘/显示器接口芯片,它含有键盘输入和显示器输出两种功能。
键盘输入时,它提供自动扫描,能与按键或传感器组成的矩阵相连,接收输入信息,它能自动消除开关抖动并能对多键同时按下提供保护。
显示输出时,它有一个16乘以8位显示RAM,其内容通过自动扫描,可由8或16 位LED数码管显示。
8279的引脚和功能
8279的内部结构框图如下图所示。
D0~D7:数据总线,双向三态总线。
CLK:系统时钟输入端。
RESET:系统复位输入端,高电平有效。
复位状态为:16个字符显示;编码扫描键盘:
双键锁定;程序时钟编程为31。
CS:片选输入端,低电平有效。
8279使用指南
键盘显示接口芯片8279使用指南8279是Intel公司设计生产的通用可编程键盘/显示器接口芯片,可代替微处理器完成键盘和显示器的控制,不仅可以大大节省CPU对键盘/显示器的操作时间,从而减轻CPU的负担,而且显示稳定,程序简单,不会出现误动作。
8279具有如下主要特征:能同时执行键盘和显示器操作;扫描式键盘工作方式;有8个键盘FIFO(先进先出)存储器;去抖动的二键锁定或N键巡回功能;两个8位或16位的数字显示器;可左/右输入的16字节显示用RAM;键盘输入可产生中断信号;具有扫描式传感器工作方式;用选通方式送入输入信号;单个16字符显示器;可编程扫描定时;工作方式可由CPU编程等。
一8279的内部结构及引脚8279包括键盘输入和显示输出两部分。
键盘部分提供扫描工作方式,可以接64键行列矩阵键盘,也可以与传感器阵列相连,能够自动去抖动,识别键盘上闭合键的键号,并具有双键同时按下保护及N键同时按下保护功能。
显示部分可为LED或LCD七段显示器,提供了按扫描方式工作的接口,为显示器提供多路复用驱动信号,可显示8位和16位字符,属动态显示技术,省电、省元件,又可保证足够的显示时间,适合人眼观察和大脑记忆。
1、内部结构图1为8279的内部结构图,各部件的作用简要说明如下:图1 8279的内部结构图(1)I/O控制和数据缓冲器AD0~AD7为地址/数据复用总线。
双向三态数据缓冲器将内部总线和外部总线AD0~AD7连接,用于传送CPU和8279之间的命令、数据和状态。
(2)控制逻辑定时控制含有一些计数器,其中有一个可编程的5位计数器,对外部输入时钟CLK进行分频,产生100kHz的内部定时信号。
外部时钟输入信号的周期不小于500ns。
控制与定时寄存器用以存储键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279的各个部件完成一定的控制功能。
(3)键输入控制键输入控制部件完成对键盘的自动扫描,锁存RL0~RL7的键输入信息,搜索闭合键,去除键的抖动,并将键盘输入数据写入内部先进先出(FIFO)存储器RAM。
8279应用中的问题及分析
使用与维护8279应用中的问题及分析欧阳名三安徽淮南矿业学院自动化所 安徽省淮南市 232001 【摘要】介绍了键盘与显示接口芯片8279在实际应用中出现的问题,从芯片本身原理加以分析,并提出了解决方法。
叙词:键盘 显示 扫描一、引 言在智能仪器仪表的研制中,常用键盘输入和显示输出作为人机简单对话的界面。
而intel 8279芯片是一种通用的可编程的键盘、显示接口器件,单个芯片就能完成键盘输入和LED 显示控制两种功能。
采用此芯片可使CPU 从键盘的管理和显示的扫描的过程中解脱出来,节省了CPU 运行时间,提高了运算速度,因此在许多智能仪器仪表和智能控制设备设计中,采用它作为键盘和显示的一个扩展芯片。
鉴于其广泛应用,作者对应用中出现的一些问题加以分析,以便应用此芯片的读者作为借鉴,避免在同一问题上耽误时间,影响产品的开发周期。
二、问题的提出intel 8279芯片为完成键盘输入和显示控制这两种功能,管脚设计中有的专为键盘用设计,有的专为显示用设计,还有一部分是为两种功能共用而设计。
只要通过程序对8279给出命令字,就能完成对最大键盘输入个数为64个和显示8段数码16位的控制。
键盘和显示的扫描是通过其芯片上的SL 0~SL 3编码或译码输出来进行的。
应用中遇到这样的情况:8279与扩展的显示数码管及键盘接线如图1时,有6位LED显示与16个键工作。
它们都是通过SL 0~SL 2编码扫描工作的。
命令字为键盘/显示工作方式,左端送入16×8显示,双键锁定,编码扫描工作方式。
8279中断IQR 通过一非门反向与8031的INT 1相连。
在调试中发现送出的16位显示数据正常,但键盘工作出现错误:即任一键按下将产生至少两个相同的键码,按键时间越长产生的相同键值越多(在程序中编程设置键盘输入值在显示器上显示)。
图1 从现象看,键盘输入未产生防抖延时,由于8279本身具备防抖延时功能,因此怀疑8279芯片有问题,更换后,故障仍然如初。
键盘、显示器接口芯片8279使用
键盘、显示器接口芯片8279使用单片机系统中有两种 LED显示方式,即静态显示和动态显示,静态显示的优点是显示效果好,编程简单,但由于输出的每一位都需要锁存,使用的硬件较多;动态显示方式中,各位数码管的a–h端并连在一起,每一时刻只有一位数码管被点亮,各位依次轮流被点亮,硬件电路简单,但由于需要不停地进行刷新显示,降低了CPU的效率,而且编程的工作量很大。
为了解决动态显示中存在的问题,Intel 公司研制出了专用的键盘、显示器接口电路芯片8279,该芯片能自动完成对显示的刷新,同时还可以对键盘自动扫描,识别闭合键的键号,使用非常方便。
8279用A0来区分信息特征,当A0为0时,CPU从8279读出的是状态,写入的是命令,且每个命令也有自己的特征;当A0=1时读出和写入的都是数据。
8279内部有两个缓冲区,即一个8字节的FIFO(First In First Out)键盘RAM和一个16字节的显示RAM,显示数据时只要将待显示数据的段码写入显示RAM即可;当有键闭合时,8279会自动执行去抖、得到键值、等待按键释放等操作,最后,将键值存入FIFO RAM中,程序只需从FIFO中读取键值即可,编程十分简单,具体实验线路图17所示。
8279键盘、显示器接口器件是实现人机对话的主要部件,它已为广大用户欢迎和广泛应用。
然而在有些应用场合,既要键盘具有普通的数据输入和控制功能,又要键盘具备按钮功能。
例如,微机控制的注塑机,在手动控制时需要有点动功能:按钮按下进行调模运动,按钮松开,调模运动停止。
本文介绍使8279构成的键盘具有以上功能的实现方法,供读者参考使用。
为了使8279具有合适的键盘、显示功能,首先要对芯片初始化。
可适当地挑选8279的控制字,例如:使8279具有8位显示、右端输入、编码键盘、双键锁定时可选控制字10H.这时每次按键都将产生键特征码,并且存放在FIFOROM中,同时使8279的IRQ引脚变为高电平,可作为向CPU申请中断信号,如果CPU是中断开放的,则转向中断服务程序,可在中断服务程序中读取特征码。
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键盘扫描输入实验一、实验目的1.熟悉INTEL8279键盘、显示器接口与8031的连接方法;2.掌握8279键盘扫描输入程序的编写;二、实验要求编写一个键盘扫描输入程序,把读取到的键值依次存放在8031片内RAM的30H-43H 单元中,超过20个键值时,多余的健值存放在44单元中。
三、芯片应用特性8279是专用键盘、显示控制芯片,能对显示器自动扫描;能识别键盘上按下的键号,可充分提高CPU工作效率,8279与8031的接口方便,由它构成的标准键盘、显示接口在工业控制中得到广泛的应用。
1.关于INTEL 8279无编码器键盘常常采用软件方法,逐行逐列地检查键盘状态,当发现按下的键后,用计算或查表等方法来找到该键的键编码。
而INTEL 8279公司的键盘、显示接口芯片是一种扫描式键盘编码器芯片8279是一种通用可编程键盘显示接口芯片,它能完成键盘输入和显示控制两种功能。
键盘部分提供一种扫描方式,可与64个按键的矩阵键盘连接,能对键盘不断扫描,自动消抖,自动识别按下的键并给出编码,能对双键或n 键同时按下实行保护。
显示部分分为发光二极管、荧光管及其它显示器提供了按扫描方式工作的显示接口,它为显示器提供多路复用信号,可显示多达16个字符或数字。
2. 实验板8279键盘、显示电路介绍:8279采用外部译码操作方式,74LS138输出8位显示器的位控制信号和键盘的行扫描信号。
8279的8位输出线A0-A3和B0-B3与数码管的8个段相对应,经74LS240缓冲后,去驱动各数码管的8个段。
74LS138输出的8根线由74LS240反相后,再经大电流驱动器ULN2003A驱动,成为各数码管的位选择信号,当位选信号有效时(呈0电平),相应数码管被选通,而显示内容则取决于它的各个显示段的电平。
四、实验步骤1.线路连接及注意事项1)线路连接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键盘显示实验实验类型设计型姓名学号日期地点成绩教师第1页共5页1. 实验目的与要求1)解8279芯片的结构、工作原理;了解8279与单片机的接口逻辑;掌握对8279 的编程方法,掌握了解8279扩展键盘、显示器的方法2)认真预习本节实验内容,尝试自行编写程序,填写实验报告。
2. 实验设备STAR系列实验仪、PC机、星研集成软件环境3. 实验内容1编写程序:使用8279实现对G5区的键盘扫描,将键盘显示与8为数码管上2按图连线,运行程序,观察实验结果,能熟练运用8279扩展显示器和键盘4. 实验硬件电路及接线4.1电路设计如下图4.2实验装置的连线说明G5 区 A0、CS-------------A3区 A0、CS5E5区:CS,A0-------------CS5,A0E5区: CLK---------------B2区2ME5区: B,C---------------G5区LED:B,CProtues连线图:5,程序流程图流程图:NY NY开始初始化8279,设置8279分频系数(20分频)8*8字符显示,左边输入,外部译码键扫描方式清显示,从第一个数码管开始移位显示。
有按键 安满8 次键 清显示 将键值转换为0..F 键号 将键值写入82796,程序源代码BUFFER DATA 30H ;键盘输入缓冲区首地址BUFFER1 DATA 40H ;8字节显示缓冲区在首地址CMD8279 XDATA 0BF01H ;8279命令/状态字地址DATA8279 XDATA 0BF00H ;8279读写数据口地址KEYCOUNT DATA 50HORG0000HLJMP MAINORG0100HMAIN:RUN8279: ACALL INIT ;8279初始化MOV KEYCOUNT,#0 ;按键个数计数STAR1: LCALL SCAN_KEY ;键扫描JNC STAR1 ;无按键则循环XCH A,KEYCOUNTINC ACJNE A,#9,STAR2 ;MOV KEYCOUNT,#0LCALL INIT8279_1SJMP STAR1STAR2: XCH A,KEYCOUNTLCALL KEY_NUMMOV DPTR,#LED_TABMOVC A,@A+DPTRLCALL WRITE_DATASJMP STAR1;8279初始化INIT: MOV A,#34H ;命令字:分频系数20分频MOV DPTR,#CMD8279MOVX @DPTR,AMOV A,#10HMOVX @DPTR,AINIT8279_1: LCALL CLEAR ;清显示MOV A,#90H ;从最后一个数码管开始显示移位MOVX @DPTR,ARET; 清显示CLEAR: MOV A,#0DEH ;清屏命令MOV DPTR,#CMD8279MOVX @DPTR,AWAIT11: MOVX A,@DPTRJB ACC.7,WAIT11 ;显示RAM清除完毕否?RET; 键盘扫描SCAN_KEY: MOV DPTR,#CMD8279 ;读状态字MOVX A, @DPTRREAD_FIFO: ANL A,#7JZ NO_KEY ;判定是否有键按下READ: MOV A,#40HMOVX @DPTR,A ;读FIFO RAM 命令字MOV DPTR,#DATA8279MOVX A,@DPTRSETB C ;有键按下SCAN_KEY1: RETNO_KEY: CLR C ;无键按下SJMP SCAN_KEY1;键盘数据判定KEY_NUM: ANL A,#3FHRET;写数据WRITE_DATA: MOV DPTR,#DATA8279MOVX @DPTR,ARETLED_TAB: DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH END。
实验5键盘显示控制器8279应用实验
实验5键盘显示控制器8279应用实验实验五键盘显示控制器 9 8279 应用实验一、实验目的 1、掌握 51 系统中,扩展 8279 键盘显示接口的方法。
2、掌握 8279 工作原理和编程方法。
二、预备知识 8279A 是一种通用的可编程键盘/显示器接口器件,可对 64 个开关矩阵组成的键盘进行自动扫描,接收键盘上的输入信息,存入内部的 FIFO 存放器,并在有键输入时,CPU 请求中断。
8279A 内部还有一个 16×8 的显示缓冲器,能对 8 位或 16 位 LED 自动扫描,使显示缓冲器的内容在 LED 上显示出来。
1 1 、引脚功能 DB0~DB7:双向数据总线,以便和 CPU 之间传递命令、数据和状态。
CLK :时钟输入线,以产生内部时钟。
RESET :复位线,高电平有效。
复位后,8279A 置为 16 位显示左边输入,编码扫描键盘,时钟系数为 31。
/CS :片选,低电平有效。
A0 :地址输入线,用以区分数据线传送的是数据还是命令。
A0=0 传送的是数据;A0=1传送的是命令。
/RD :读线,低有效,内部缓冲器信息送 DB0~DB7。
/WR :写线,低有效。
收数据总线上的信息写入内部缓冲区。
IRQ :中断请求输出线,高有效。
当 FIFO RAM 中有键输入数据时,IRQ 升为高电平,向 CPU 请求中断。
CPU 读出 FIFO RAM 时,IRQ 变为低电平,假设 RAM 中数据还有,IRQ 又返回高电平,直至RAM 中为空,IRQ 才保持低电平。
SL0~SL3 :输出扫描线,用以对键盘/传感器矩阵和显示器进行扫描。
RL0~RL7 :键盘/传感器矩阵的行(列)数据输入线。
其内部有拉高电阻,使之保持高电平。
SHIFT :换档输入线,内部有拉高电阻,使之保持高电平。
TL/STB:控制/选通输入线,内部有拉高电阻,使之保持高电平。
OUTA0~OUTA3:四位输出口。
OUTB0~ OUTB3:四位输出口。
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键盘、显示接口芯片特性:Intel8279芯片是一种通用的可编程序的键盘、显示接口器件,单个芯片就能完成键盘输入和LED显示控制两种功能。
其内部结构如图6-10-1所示。
8279包括键盘输入和显示输出两个部分。
键盘部分提供的扫描方式,可以和64个按键或传感器的阵列相连。
能自动消除开关抖动以及N个键同时按下的保护。
显示部分按扫描的方式工作。
可以显示8或16位LED显示块。
一、8279电路工作原理根据结构框图,分别介绍各部分电路工作原理。
1.I/O控制及数据缓冲器数据缓冲器是双向缓冲器,连接内、外总线,用于传送CPU和8279之间的命令或数据;I/O控制线是CPU对8279进行控制的引线。
CS是8279的片选信号,CS=0时,8279才被允许读出或写入信息。
WR、RD为来自CPU的控制信号。
A0用于区别信息特性:A0=1时,表示数据缓冲器输入为指令、输出为状态字;A=0时,输入、输出皆为数据。
2.控制与定时寄存器及定时控制控制与定时寄存器用来寄存键盘及显示的工作方式,以及由CPU编程的其它操作方式。
这些寄存器一旦接受并锁存送来的命令,就通过译码产生相应的信号,从而完成相应的控制功能。
定时控制包含基本记数键。
首级计数器是一个可编程的N级计数器。
N可以2~31之间由软件编程,以便从外界时钟CLK分频得到内部所需要的100KHZ时钟。
然后再经过分频为键盘扫描提供适当的逐行扫描频率和显示扫描时间。
3.扫描计数器扫描计数器有两种工作方式。
按编码方式工作时,计数器作二进制记数。
4位记数状态从扫描线SL0~SL3输出,经外部译码器译码后,为键盘和显示器提供扫描线;按译码方式工作时,扫描计数器的最低二位被译码后,从SL0~SL3输出。
因此,SL0~SL3提供了4中取1的扫描译码。
4.回复缓冲器、键盘去抖及控制来自RL0~RL3的8根回复线的回复信号,由回复缓冲器缓冲并锁存。
在键盘工作方式中,回复线作为行列式键盘的行列输入线。
8279芯片
8279芯片8279芯片是一种控制器芯片,用于键盘和显示器的控制。
下面是关于8279芯片的1000字介绍。
8279芯片是Intel公司于1977年推出的一个专门用于键盘和显示器的控制器芯片。
这个芯片具有广泛的应用,被广泛用于PC机、电子仪器仪表和工控设备等领域。
8279芯片集成了键盘扫描和显示器控制的多种功能。
它能够接收来自键盘的输入信号,并将其转换为计算机可识别的形式。
同时,它还能够控制显示器的显示,通过向显示器发送相应的指令和数据来实现。
8279芯片具有许多优势和特点。
首先,它具有简单的接口,可以轻松地与其他设备连接。
其次,它具有多种模式,可以灵活地适应不同的应用需求。
例如,它可以通过扫描键盘的方式来获取按键信息,也可以通过中断的方式来获取按键信息,从而满足不同场景下的需求。
另外,它还具有键盘的防抖功能,可以有效地防止键盘抖动带来的误操作。
此外,8279芯片还具有多种显示模式,可以显示不同的字符和图形,方便用户进行信息的展示和交互。
最后,8279芯片还具有识别多个键同时按下的能力,可以实现多键同时输入的功能。
8279芯片的工作原理可以简单描述如下:首先,通过向芯片发送初始化命令来设置芯片的工作模式和功能。
然后,芯片开始从键盘扫描按键信号,并将其转换为计算机可识别的数据。
同时,芯片还会根据设定的显示模式向显示器发送指令和数据,实现相应的显示效果。
当有键按下时,芯片会产生一个中断信号,通知计算机有键按下。
计算机可以通过读取芯片的输出来获取具体按键的信息。
在应用中,8279芯片可以灵活地与其他设备和系统集成。
它可以通过并行接口或串行接口与计算机连接,也可以通过扩展接口与其他设备连接。
通过这种方式,可以实现键盘和显示器与计算机之间的方便和快速的数据交换和信息展示。
总的来说,8279芯片是一种功能强大且应用广泛的控制器芯片。
它的引入和应用,为键盘和显示器的控制提供了方便和灵活性,为人机交互提供了更好的体验。
8279芯片的键盘显示接口分析及其驱动电路设计[1]
第13卷 第4期1999112 沈阳化工学院学报J OURNAL OF SHEN YAN G INSTITU TE OF CHEMICAL TECHNOLO GY Vol.13 No.4Dec.1999文章编号: 1004-4639(1999)04-0316-048279芯片的键盘显示接口分析及其驱动电路设计王桂珠, 任子真, 郭 瑾(沈阳化工学院计算机系,辽宁沈阳110021)摘 要: 在对8279的键盘显示接口分析的基础上,设计实现一位L ED 七段十进制数码管显示驱动和键盘输入阵列电路.利用8279可实现对键盘/显示的自动扫描,以减轻CPU负担.其显示稳定,程序简单,不会出现误动作.本系统采用8031单片机与8279芯片的显示接口组成对L ED 数码管应用系统的显示驱动电路.具有可靠性高、价格低、使用方便等特点,适合数据显示的计算机应用系统使用.关键词: 单片机; 接口; L ED ; 驱动中图分类号: TP 273 文献标识码: A收稿日期: 1998-12-30作者简介: 王桂珠(19502),女,山东安丘人,工程师,主要从事计算机应用研究.在日常单片机实验和实际的科研项目中经常接触到L ED 数码管显示电路.而设计一个L ED 数码管应用系统的显示驱动电路是设计人员常遇到的问题.目前用L ED 数码管组成的微机数字显示系统主要有:CPU 扫描式显示系统和用可编程显示接口芯片组成的显示系统两大部分.在CPU 扫描式显示系统中又分动态扫描式和静态锁存式2种.CPU 动态扫描式系统的优点:接口简单,造价低.缺点:占用CPU 时间;静态锁存式优点:接口简单.缺点:电流消耗大.本文介绍的为后者.8279可编程键盘显示器接口芯片具有动态显示驱动电路简单、不占用CPU 的时间、可自动进行键盘扫描、与计算机接口方便、编程容易、系统灵活等特点.当今已成为设计计算机应用系统,特别是实时性较高的测控系统的首选器件之一.本文首先对8279的显示接口及有关管脚功能进行分析,然后在此基础上设计一种驱动16位七段十进制数码管数据显示及键盘输入阵列计算机应用系统.1 8279的键盘显示接口分析8279是一种可编程的键盘显示器接口芯片.芯片各显示接口的管脚和管脚功能如图1所示.DB 0~DB 7:8位数据总线与系统数据总相连,用CPU 和8279间的数据/命令传送.CS :片选信号CS =0时,CPU 读写有效,8279被选中.WR :WR =0,CPU 控制信号有效,控制8279写操作.A 0:数据选择输入线,A =0,CPU 读出为数据; A =1,CPU 写入数据为命令字,读出数据为状态字.BD :消隐输出线,BD =0有效.在切换显示数据或使用消令时,该信号将显示器熄灭.图1 8279引脚说明 CL K:外部时钟信号输入线.8279通过内部定时器将该信号变为内部时钟.内部时钟频率的高低直接决定显示器的扫描时间,通常与编程设置为100Hz ,此时,每位显示数码管的选通时间为0.64ms ,设定显示字符8位和16位时,显示扫描周期分为5.1ms 和10.2ms.OU TA 0~OU TA 3:A 组显示数据输出线.OU TB 0~OU TB 3:B 组显示数据输出线.两组数据输出线可独立使用,也可合并使用.合并使用时OU TA 3为最高位,OU TB 0为最低位.SL 0~SL 3:扫描输出线.有2种工作方式,即译码(4选10)和编码(16选1)输出.方式选择可通过编程设定.RL 0~RL7(回复线):输入线.它们是键盘矩阵或传感器矩阵的列或行信号输入线.2 键盘/显示驱动电路设计图2所示是8031单片机应用系统的键盘显示驱动电路.8279的A 、B 口显示数据输出线分别与2个7447译码/驱动器的输入端相连.图2 数码管显示和键盘驱动电路713第4期 王桂珠等:芯片的键盘显示接口分析及其驱动电路设计813沈 阳 化 工 学 院 学 报 1999年 SL0~SL3扫描输出线接在3~8线译码74L S138的输入端,输出经8位驱动电路后,每位同时驱动2位七段数码管.因此该电路可同时驱动16路七段十进制数码管.图中74L S47的消隐输入B I端与8279的BD端连,当8279的显示数据切换时,BD端输出低电平,使74L S47的输出均为低电平,将显示熄灭.由于74L S47的输出驱动电流可达20mA,能直驱动七段数码管.位驱动的实用电路很多,通常采用集成元件组成.本文在此不详细介绍.来自RL0~RL7的8根回复线的回复信号,由回复缓冲器并锁存.在键盘工作方式中,回复线作为行列式键盘的行列输入线.在逐行列扫描时,回复线用来搜索每一行列中闭合的键.当某一键闭合时,去抖电路被置位,延时等待10ms后,再检验该键是否继续闭合,并将该键的地址、控制状态一起形成键盘数据被送入8279内部FIFO(先进先出)存储器,即是8279的IRQ端.键盘数据格式如下:D7D6D5D4D3D2D1D0控制移位扫 描回 复控制和移位(D7、D6)的状态由两个独立的附加开关决定,而扫描(D5、D4、D3)和回复(D2、D1、D0)是被按键置位的数据.设显示数码管为16位.8031单片机的晶振为12MHz,片内RAM的30H23FH单元存放16位显示数据.其中高4位BCD码从BD输出,低4位BCD码从A口输出,8279的命令字和数据地址分别为8001H和8000H.显示16位数字的程序如下:MOV DPTR,#8001HMOV A,#08HMOVX@DPTR,AMOV A,#34HMOVX@DPTR,AMOV A,#90HMOVX@DPTR,AMOV DPTR,#8000HMOV R0,#30HMOV R2,#16MOV A,@R0MOVX@DPTR,AINC R0DJ NZ R2DISRET由于8279芯片具有自动分时扫描功能,所以它可与CPU同时工作,减轻CPU的负担.而且接口方便,显示稳定,程序简单,可靠性高,使用方便.如果不采用芯片8279作为显示接口, CPU忙时显示器常会出现断显现象,很难使精测系统达到要求,且电路较复杂.参考文献:[1] 何立民.MCS251系列单片机应用系统设计[M].北京:北京航天航空工业大学出版社,1990.143~160.[2] 李华.MCS251系列单片机实用接口技术[M].北京:北京航天航空工业大学出版社,1993.148~158.[3] 高海生,等.单片机应用技术大全[M].峨眉:西南交通大学出版社,1993.187~194.[4] 航虹公司.爱迪克单片机实验开发系统[M].上海:上海航虹高科技实业公司出版社,1997.13.Keyboard Display Interface Analysis and DrivingCircuit Design of8279ChipWAN G Gui2zhu, REN Zi2zhen, GUO Jin(Shenyang Institute of Chemical Technology,Shenyang110021,China)Abstract: This article introduces a circuit used to implement162bit seven2segment decimal L ED displayer and keyboard input array,which is designed on the base of the analysis of8279key2 board display interface.By using8279chip it can scan keyboard and displayer automatically,so as to relieve CPU of burden.This circuit displays steadily,and its program is rather easy,so it will not fail in processing.This system adopts the display interface of8031and8279chip to compose the display driving circuit of L ED display application system.It has the characteristics of high re2 liability,low price and easy to use,so it is adapted for computer systems used to do data display. Key words: single chip controller; interface; L ED; drive四大检索系统简介(四)《ISR》(Index to Scientific Reviews科技评论索引) 由美国科学情报所于1974年创刊,从世界各种专著丛刊、评论性杂志以及《SCI》中选出具有一定学术水平的评论性文章(从SCI中选出的文章必须含50篇以上参考文献),它的作用和使用方法与《SCI》相同.913第4期 王桂珠等:芯片的键盘显示接口分析及其驱动电路设计。
8279元件功能介绍
四、实验内容1、按下任意数字键(0---9),使显示器以右端入口方式显示所输入的数字。
Z8279 EQU 0FF82H ;8279状态/命令口地址D8279 EQU 0FF80H ;8279数据口地址LEDCLS EQU 0D1H ;显示RAM全部清除LEDWRO EQU 90H ;写显示R AM方式LEDFEQ EQU 34H ;定扫描速率LEDMOD EQU 10H ;右端输入,8位显示,双键锁定ORG 0000HAJMP STARTORG 0050HSTART:MOV SP,#60HLCALL INIT8279 ;初始8279LCALL INIT_CPU ;初始CPUKEYBOARD: ;键盘查询MOV DPTR,#Z8279MOVX A,@DPTRANL A,#0FHJZ KEYBOARD ;无键按下,继续查询MOV DPTR,#D8279MOVX A,@DPTRMOV 37H,36HMOV 36H,35HMOV 35H,34HMOV 34H,33HMOV 33H,32HMOV 32H,31HMOV 31H,30HMOV 30H,ALCALL DISP_NUMAJMP KEYBOARDINIT_CPU: ;显示缓冲区清零MOV A,#00HMOV R0,#30HMOV R2,#08HINIT_CPU1:MOV @R0,AINC R0DJNZ R2,INIT_CPU1RETINIT8279: ;8279初始化MOV DPTR,#Z8279MOV A,#LEDCLS ;清除LED显示MOVX @DPTR,AINIT82791:MOVX A,@DPTRJB ACC.7,INIT82791MOV A,#LEDMOD ;设置8279工作方式MOVX @DPTR,AMOV A,#LEDFEQMOVX @DPTR,AMOV A,#LEDWROMOVX @DPTR,AMOV DPTR,#D8279 ;显示“8279-- ”MOV A,#40HMOVX @DPTR,AMOV A,#40HMOVX @DPTR,AMOV A,#0HMOVX @DPTR,AMOV A,#0HMOVX @DPTR,AMOV A,#0EFHMOVX @DPTR,AMOV A,#27HMOVX @DPTR,AMOV A,#5BHMOVX @DPTR,AMOV A,#7FHMOVX @DPTR,ARETDISP_NUM: ;显示模块MOV DPTR,#D8279 ;入口:30H—37H(从右向左)MOV R0,#30HMOV R2,#08HDISP_NUM1:MOV A,@R0MOV DPTR,#LEDSEGMOVC A,@A+DPTRMOV DPTR,#D8279MOVX @DPTR,AINC R0DJNZ R2,DISP_NUM1RET;段码表LEDSEG:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDB 3EH,40H,08H,00H,30H,3FH,73HEND2、利用T0或T1定时器设计一电子表,显示格式为HH-MM-SS(即时-分-秒),使具有一般电子表功能。
键盘_显示管理芯片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 相 连, 我们就可以据此来判断按键 的状态变化 , 以实 现 连动功能。 具体编程示例如下:
8279键盘和显示程序
8279键盘和显示程序Z8279 EQU 08701H //8279状态/命令口地址D8279 EQU 08700H //8279 数据口地址LEDMOD EQU 10H //左端输入八位字符显示//外部译码键扫描方式,双键互锁LEDFEQ EQU 38H //扫描速率LEDCLS EQU 0D1H //清除LEDWR0 EQU 80H //设定的将要写入的显示RAM地址ORG 0000HAJMP STARTORG 0040HSTART:MOV SP,#60HLCALL INIT8279 //初始化8279WAIT:MOV DPTR,#Z8279MOVX A,@DPTRANL A,#0FHJZ WAITMOV A,#40HMOVX @DPTR,AMOV DPTR,#D8279MOVX A,@DPTRANL A,#3FHMOV R4,#00HMOV R5,ALCALL DISLEDSJMP WAITINIT8279://8279初始化子程序PUSH DPH //保存现场PUSH DPLPUSH ACCLCALL DELAY //延时MOV DPTR ,#Z8279MOV A,#LEDMOD //置8279工作方式MOVX @DPTR,AMOV A,#LEDFEQ //置键盘扫描速率MOVX @DPTR,AMOV A,#LEDCLS //清除LED 显示MOVX @DPTR,ALCALL DELAY //延时MOV DPTR,#Z8279MOV A,#90HMOV DPTR,#D8279MOV A,#40HMOVX @DPTR,AMOV A,#40HMOVX @DPTR,AMOV A,#0HMOVX @DPTR,AMOV A,#0HMOVX @DPTR,AMOV A,#0EFHMOVX @DPTR,AMOV A,#27HMOVX @DPTR,AMOV A,#5BHMOVX @DPTR,AMOV A,#7FHMOVX @DPTR,APOP ACC //恢复现场POP DPLPOP DPHRET显示字符子程序输入:R4,位置:R5DISLED:PUSH DPH //保存现场PUSH DPLPUSH ACCMOV A,#LEDWR0 //置显示起始地址ADD A,R4 //加位置偏移量MOV DPTR,#Z8279MOVX @DPTR,A //设定显示位置MOV DPTR,#LEDSEG //置显示常数表起始位置MOV A,R5MOVC A,@A+DPTR //查表MOV DPTR,#D8279MOVX @DPTR,A //显示数据POP ACC //恢复现场POP DPLPOP DPHRETDELAY://延时子程序PUSH 0 //保存现场PUSH 1MOV 0,#0HDELAY1:MOV 1,#0HDJNZ 1,$DJNZ 0,DELAY1POP 1 //恢复现场POP 0RETLEDSEG:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;'0,1,2,3,4,5,6,7'DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;'8,9,A,B,C,D,E,F'DB 6DH,02H,08H,00H,59H,0FH,76H;'U,-,_,I,O,P' END。
Intel—8279数码管显示驱动电路的优化
Intel—8279数码管显示驱动电路的优化
项旦临
【期刊名称】《集成电路应用》
【年(卷),期】1993(000)003
【摘要】Intel-8279是一种通用的可编程的键盘和显示接口器件、在各种微机系统中应用广泛。
一片8279即能完成键盘输入与数码管(LED)显示控制的两种功能,具有接口方便,充分提高CPU工作效率的优点。
8279的显示控制部份按动态扫描方式工作,可以显示不超过16位的数码管、位选线由SL0-SL3经4-16译码器或3-8译码器译码后由驱动器提供、段选线由B0-B3和A0-A3通过驱动器提供、BD信号线可用来控制译码器,实现显示器消隐。
【总页数】2页(P12-13)
【作者】项旦临
【作者单位】无
【正文语种】中文
【中图分类】TN141.6
【相关文献】
1.多数字数码管显示驱动电路设计 [J], 蔺鹏;王炜奇
2.8279芯片的键盘显示接口分析及其驱动电路设计 [J], 王桂珠;任子真;郭瑾
3.大型LED数码管显示驱动电路的设计 [J], 李威;董树松
4.8279芯片的显示接口分析及32位数码管显示驱... [J], 徐太生
5.基于8279芯片的32位数码管显示电路的设计 [J], 张博;杨新华;李浩;鲁志军
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
delay(100);
COM8279=0X00; //8279键盘双键互锁,编码扫描,左端入口
COM8279=0X32; //时钟分频设置,分频数为18
COM8279=0X70; //设置读显示命令
{
P0=0X5E;
DATA8279=P0;
break;
}
case 0XF2: //E号键赋值;
{
P0=0X79;
DATA8279=P0;
break;
}
case 0XF3: //F号键赋值;
{
P0=0X71;
DATA8279=P0;
break;
}
default:
break;
}
}
COM8279=0X90; //设置写显示命令
while(1)
{
}
}
void int1_serve(void) interrupt 2 using 1
{
keyval=DATA8279;
key();
}
void delay (uint time) //传递参数为time
{
switch(keyval)
{
case 0XC0: //0号键赋值
{
P0=0X3F;
DATA8279=P0;
break;
}
case 0XC1: //1号键赋值;
{
P0=0X6D;
DATA8279=P0;
break;
}
case 0XE2: //6号键赋值;
{
P0=0X7D;
DATA8279=P0;
break;
}
case 0XE3: //7号键赋值;
{
P0=0X06;
DATA8279=P0;
break;
}
case 0XC2: //2号键赋值;
{
P0=0X5B;
DATA8279=P0;
break;
}
case 0XC3: //3号键赋值;
{
uchar j;
while (time--) //用time-1来进行循环
{
for (j=100;j>0;j--); //用j来进行100次循环,大约8us
}
}
//按键确认显示程序
void key(void)
#include<reg52.h>
#include<absacc.h>
#include<stdio.h>
#define COM8279 XBYTE [0XFDFF] //定义8279控制口 DB接P0 A0接P2.0 CS/接P2.1
#define DATA8279 XBYTE [0XFCFF] //定义8279数据79=P0;
break;
}
case 0XE0: //4号键赋值;
{
P0=0X66;
DATA8279=P0;
break;
}
case 0XE1: //5号键赋值;
void key(void);
void main()
{
delay(1300); //开机延时约10ms
IT1=1; //外部中断1选用下降沿
EA=1; //开总中断
EX1=1; //开外部中断
{
P0=0X07;
DATA8279=P0;
break;
}
case 0XD0: //8号键赋值;
{
P0=0X7F;
DATA8279=P0;
break;
}
case 0XD1: //9号键赋值;
{
P0=0X7C;
DATA8279=P0;
break;
}
case 0XF0: //C号键赋值;
{
P0=0X39;
DATA8279=P0;
break;
}
case 0XF1: //D号键赋值;
#define uchar unsigned char
#define uint unsigned int
uint keyval; //定义键内码传递参数
uint time; //定义延时时间参数
void delay(uint time);
{
P0=0X6F;
DATA8279=P0;
break;
}
case 0XD2: //A号键赋值;
{
P0=0X77;
DATA8279=P0;
break;
}
case 0XD3: //B号键赋值;