键盘显示器接口8279
- 格式:ppt
- 大小:12.42 MB
- 文档页数:66
第九节键盘与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的功能及工作原理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键盘和显示程序#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芯片应注意的几个问题蒋敦斌 李文英(天津职业大学,天津,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内部有键盘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与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七、实验扩展及思考重新编写软件实验二,自己编写键扫描、显示程序。
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。
攀枝花学院电信学院专业基础综合实验[设计实验室单片机计数器实验]学生姓名:学生学号:院(系):电信学院年级专业:指导教师:二〇一二年六月设计准备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状态口地址为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芯片8279芯片是一种控制器芯片,用于键盘和显示器的控制。
下面是关于8279芯片的1000字介绍。
8279芯片是Intel公司于1977年推出的一个专门用于键盘和显示器的控制器芯片。
这个芯片具有广泛的应用,被广泛用于PC机、电子仪器仪表和工控设备等领域。
8279芯片集成了键盘扫描和显示器控制的多种功能。
它能够接收来自键盘的输入信号,并将其转换为计算机可识别的形式。
同时,它还能够控制显示器的显示,通过向显示器发送相应的指令和数据来实现。
8279芯片具有许多优势和特点。
首先,它具有简单的接口,可以轻松地与其他设备连接。
其次,它具有多种模式,可以灵活地适应不同的应用需求。
例如,它可以通过扫描键盘的方式来获取按键信息,也可以通过中断的方式来获取按键信息,从而满足不同场景下的需求。
另外,它还具有键盘的防抖功能,可以有效地防止键盘抖动带来的误操作。
此外,8279芯片还具有多种显示模式,可以显示不同的字符和图形,方便用户进行信息的展示和交互。
最后,8279芯片还具有识别多个键同时按下的能力,可以实现多键同时输入的功能。
8279芯片的工作原理可以简单描述如下:首先,通过向芯片发送初始化命令来设置芯片的工作模式和功能。
然后,芯片开始从键盘扫描按键信号,并将其转换为计算机可识别的数据。
同时,芯片还会根据设定的显示模式向显示器发送指令和数据,实现相应的显示效果。
当有键按下时,芯片会产生一个中断信号,通知计算机有键按下。
计算机可以通过读取芯片的输出来获取具体按键的信息。
在应用中,8279芯片可以灵活地与其他设备和系统集成。
它可以通过并行接口或串行接口与计算机连接,也可以通过扩展接口与其他设备连接。
通过这种方式,可以实现键盘和显示器与计算机之间的方便和快速的数据交换和信息展示。
总的来说,8279芯片是一种功能强大且应用广泛的控制器芯片。
它的引入和应用,为键盘和显示器的控制提供了方便和灵活性,为人机交互提供了更好的体验。