最新8279键盘显示汇总
- 格式:docx
- 大小:1.68 MB
- 文档页数:19
实验六键盘显示控制实验一、实验目的1.掌握8279键盘显示电路的基本功能及编程方法。
2 •掌握一般键盘和显示电路的工作原理。
3.进一步掌握定时器的使用和中断处理程序的编程方法。
二、实验内容1. 8237键盘显示电路的基本原理本实验系统中把键盘显示电路设计在一块扩展电路板上,用一根20芯的扁平电缆与实验台上扩展插头J7相连。
小键盘上每按一个键,6位数码管上显示出相应字符,其对应关系如下表6-1。
2.设计电子时钟利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码管显示电路,设计一个电子钟。
由8253中断定时,小键盘控制电子钟的启停及初始值的预置。
电子钟显示格式如下:7407 74073fe2feITfe3B i BKb_6B B/B HEJRR QcCRRnorJ R --CDV44K ccvfLT OBTkK TUQEO -LIUO_HEEZM —ZuB4U2U2U lu B CCVCCVCDD CDDXX . XX . XX 由左向右分别为时、分、秒 并具有如下功能:① C 键:清除,显示00. 00. 00。
② G 键:启动,电子钟计时。
③ D 键:停止,电子钟停止计时④ P 键:设置时、分、秒值。
输入时依次为时、分、秒,同时应有判断输入 错误的能力,若有错,则显示:E ----------- 。
此时按P 键重新输入预置值。
⑤ E 键:程序退出,返回DOS 。
3.硬件电路图硬件电路图如图6-1。
图6-1键盘显示控制电路图4. 硬件连线100x87545275452754526 722864H11做电子钟实验时,实验台上8253的CLK0接1MHz,GATE0和GATE1接入口清显示+5V , OUTO 接 CLK1 , OUT1 接 IRQ 。
CS 接 280H~287H 。
5 •编程提示(1)显示按键程序框图显示铵键程序框图如图 6-2 (a )主程序 框图,(b )键盘显示子程序框图,(c )显示子 程序框图。
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是可编程的键盘、显示接口芯片。
它既具有按键处理功能,又具有自动显示功能。
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中。
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与PCI9052的接口逻辑;掌握对8279的编程方法,掌握使用8279扩展键盘、显示器的方法。
认真预习,做好实验前的准备工作,自行编写程序,填写实验报告二、实验设备Star PCI9052、DMA $ 32 BIT RAM板卡一套、Star ES-PCI模块一块、STAR ES598PCI 实验仪一套、PC机一台三、实验内容1、编写程序:利用8279实现对G5区的键盘扫描,将键号显示于8位数码管上2、按图连线,运行程序,观察实验结果,能熟练运用8279扩展显示器和键盘。
六、演示程序.MODEL TINYPCIBAR3 EQU 1CH ;8位I/O空间基地址(它就是实验仪的基地址,;也为DMA & 32 BIT RAM板卡上的8237提供基地址) Vendor_ID EQU 10EBH ;厂商ID号Device_ID EQU 8376 ;设备ID号.STACK 100.DATA?IO_Bit8_BaseAddressDWmsg0 DB 'BIOS不支持访问PCI $'msg1 DB '找不到Star PCI9052板卡 $'msg2 DB '读8位I/O空间基地址时出错$'KEYCOUNT DB ?LED_TAB DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB 080H,90H,88H,83H,0C6H,0A1H,86H,8EHCMD_8279 DW 00B1H ;8279命令字、状态字地址DATA_8279 DW 00B0H ;8279读写数据口的地址.CODESTART: MOV AX,@DATAMOV DS,AXNOPCALL InitPCICALL ModifyAddress ;根据PCI提供的基地址,将偏移地址转化为实地址CALL INIT8279 ;初始化子程序MOV KEYCOUNT,0START1: CALL IfExitJZ START11JMP ExitSTART11: 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 A L,34H ;可编程时钟设置,设置分频系数(20分频)OUT DX,ALMOV AL,0 ;8*8字符显示,左边输入,外部译码键扫描方式OUT DX,AL; MOV AL,0A0H; 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 ENDPExit: MOV AH,4CHINT 21H;IfExit、InitPCI、ModifyAddress子程序请参阅实验二END START。
实验三8279 LED数码管显示控制实验一、实验目的1.熟悉INTEL8279键盘、显示接口的编程方法。
2.掌握8279 LED显示控制的编程二、实验要求1.在前面的实验基础上,编写一个8279显示控制程序,要求把在键盘中断服务程序中读取到的键值编码换成键符的显示段码并把键符显示在LED上。
1)工作方式设定为8个字符显示,左入口,编码扫描键盘,双键锁定;2)对外部时钟(ALE)10分频以获得8279内部所要求的100KHz的基本频率;3)写显示RAM地址从0开始,地址自动加1;4)将显示RAM全部置1并置空FIFO存储器。
在实验板上,从8279 B3-B0、A3-A0输出的段选码经过反相驱动器74LS240与LED相连,因此,虽然LED为共阴极接法,但是写入显示RAM的段选码必须为共阳极段选码,才能显示对应的字符。
因为RL0无法回扫键值,首行键改接RL4。
键符为:RL4:7,8,9,B,F;(首行键接RL4)RL1:4,5,6,C,P;RL2:1,2,3,D,U;RL3:0,、,(小数点)A,E,L;键盘键值编码为:RL4:04H 0CH 14H 1CH 24H;(首行键接RL4)RL1:01H 09H11H 19H 21H;RL2:02H 0AH 12H 1AH 22H;RL3:03H 0BH 13H 1BH 23H;2.在程序1的基础上,把显示方式改为右入口的8位显示,重新编译和执行程序。
3.在程序1的基础上,修改写显示RAM命令,使得清零后,从第5个LED开始显示字符。
三、芯片应用特性见8279键盘扫描输入实验四、实验步骤1.线路连接及注意事项1)线路连接同8279键盘扫描输入实验2)注意事项从8279 B3-B0、A3-A0输出的短选码经过反相驱动器与LED相连。
2.程序设计设计程序关时关键要解决的问题是:如何把键盘编码转换成键符的显示段码。
在这里给出一种技巧性很强的方法。
键符的显示段码可以通过两次查表获取,先构造一个键符表:KEYTAB:DB XXH,04H,01H,00H,07H,XXH,XXH,XXHDB XXH,05H,02H,13H,08H,XXH,XXH,XXHDB XXH,06H,03H,0AH,09H,XXH,XXH,XXHDB XXH,0CH,0DH,0EH,0BH,XXH,XXH,XXHDB XXH,10H,11H,12H,0FH,XXH,XXH,XXHKEYTAB中XXH可为任意数,不影响程序正确执行。
可编程作息时间控制器一.设计概述1.思路综述可编程作息时间控制器:作息时间控制系统主要有四大子系统功能实现:1.时间运行系统;2.报时时间值设置及调时系统;3.时分显示系统;4.报时响应系统。
时间运行系统让时间一直运行着;报时时间值设置及调时系统使得用户可以随时设置时间;时分显示系统让用户可以清楚知晓当前系统时间,报时响应系统完成当当前时间与报时时间值一致时进行响应(如LED闪烁)。
四大子系统的协调有序的运行,保证了作息时间控制系统具有报时,调时,显时功能,还达到了与用户可交互的目的。
2.合作与分工在本次试验中,我们分工学习芯片,然后交流学习到的知识,共同完成实验!二.需求分析一).芯片需求:PC机一台 Intel 8086(主控芯片) 8253芯片 8279芯片二).芯片详述1. Intel 8086(主控芯片)Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。
资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。
它提供64K 8 位元的输出输入(或32K 16 位元),以及固定的向量中断。
大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。
运算结果会储存在操作数中的一个。
数据寄存器组:AX、BX、CX、DX;指示器变址寄存器组:SI、DI、SP、BP段寄存器组:CS、DS、ES、SSGND2.82531).8253A 的内部结构和引脚信号图示8253的三个计数通道在结构上和功能上完全一样,每个通道均有两个输入引脚CLK 和GA TE ,一个输出信号 引脚OUT 。
2).8253的初始化步骤和门控信号的功能1. 初始化步骤:(1) 写入控制字;(2) 按控制字要求写入计数初值。
•计数初值N= fCLK/fOUT =TOUT/TCLK初始化程序:MOV DX, 203H ;8253初始化MOV AL, 控制字OUT DX, AL3).门控信号控制功能:门控信号GA TE的控制功能如教材P310表8-2所示,由表可知:方式0,4时:门控信号为电平触发方式1,5时:门控信号为上升沿触发方式2,3时:门控信号为电平或上升沿触发4).8253的工作方式工作方式决定以下内容:(1)门控信号的影响高电平允许:当GA TE=0,即使出现CLK,也不计数——方式0,2,3,4上升沿允许(上升沿触发)——方式1,5,2,3(2)OUT信号的状态写入控制字后,OUT的状态计数过程中,OUT的状态计数终了,OUT的状态(3)计数操作可否重复不可重复——模式0,4自动重复——模式2,3条件重复——模式1,51)方式0:计数结束中断方式特点:计数器只计数一遍,不循环,计数过程中,可由门控信号控制暂停计数,在计数过程中可改变计数值。
8279芯片8279芯片是一种控制器芯片,用于键盘和显示器的控制。
下面是关于8279芯片的1000字介绍。
8279芯片是Intel公司于1977年推出的一个专门用于键盘和显示器的控制器芯片。
这个芯片具有广泛的应用,被广泛用于PC机、电子仪器仪表和工控设备等领域。
8279芯片集成了键盘扫描和显示器控制的多种功能。
它能够接收来自键盘的输入信号,并将其转换为计算机可识别的形式。
同时,它还能够控制显示器的显示,通过向显示器发送相应的指令和数据来实现。
8279芯片具有许多优势和特点。
首先,它具有简单的接口,可以轻松地与其他设备连接。
其次,它具有多种模式,可以灵活地适应不同的应用需求。
例如,它可以通过扫描键盘的方式来获取按键信息,也可以通过中断的方式来获取按键信息,从而满足不同场景下的需求。
另外,它还具有键盘的防抖功能,可以有效地防止键盘抖动带来的误操作。
此外,8279芯片还具有多种显示模式,可以显示不同的字符和图形,方便用户进行信息的展示和交互。
最后,8279芯片还具有识别多个键同时按下的能力,可以实现多键同时输入的功能。
8279芯片的工作原理可以简单描述如下:首先,通过向芯片发送初始化命令来设置芯片的工作模式和功能。
然后,芯片开始从键盘扫描按键信号,并将其转换为计算机可识别的数据。
同时,芯片还会根据设定的显示模式向显示器发送指令和数据,实现相应的显示效果。
当有键按下时,芯片会产生一个中断信号,通知计算机有键按下。
计算机可以通过读取芯片的输出来获取具体按键的信息。
在应用中,8279芯片可以灵活地与其他设备和系统集成。
它可以通过并行接口或串行接口与计算机连接,也可以通过扩展接口与其他设备连接。
通过这种方式,可以实现键盘和显示器与计算机之间的方便和快速的数据交换和信息展示。
总的来说,8279芯片是一种功能强大且应用广泛的控制器芯片。
它的引入和应用,为键盘和显示器的控制提供了方便和灵活性,为人机交互提供了更好的体验。
8279键盘显示精品资料攀枝花学院电信学院专业基础综合实验[设计实验室单片机计数器实验]学生姓名:学生学号:院(系):电信学院年级专业:指导教师:二〇一二年六月仅供学习与交流,如有侵权请联系网站删除谢谢I设计准备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脚封装。
DB0~DB7: 双向数据总线,用来传送8279与CPU之间的数据和命令。
CLK: 时钟输入线,用以产生内部定时的时钟脉冲。
RESET: 复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。
CS: 片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。
A0: 缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。
RD: 读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。
WR: 写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。
RL2—1 40 --VCCRL3—2 39 --RL 1CLK-- 3 38 --RL 0IRQ—4 37 --CNTL/STBRL4-- 5 36 --SHIFTRL5-- 6 35 --SL 3RL6-- 7 34 --SL 2RL7-- 8 33 --SL 1RESRT—9 32 --SL 0RD—10 31 --OUT B0WR—11 30 --OUT B1DB0—12 29 --OUT B2DB1—13 28 --OUT B3DB2-- 14 27 --OUT A0DB3—15 26 --OUT A1DB4-- 16 25 --OUT A2DB5-- 17 24 --OUT A3DB6—18 23 --BDDB7-- 19 22 --CSVSS—20 21 --A0IRQ: 中断请求输出线,高电平有效,在键盘工作方式下,当FIFO 传感器RAM中有数据时,此中断线变为高电平,在FIFO/传感器RAM每次读时,中断线就下降为低电平,若在RAM中还有信息,则此线重又变为高电平在传感器工作方式中,每当探测到传感器信号变化时,中断线就变为高电平。
SL0~SL3: 扫描线,用来扫描按键开关,传感器阵列和显示数字,这些可被编程或被译码。
RL0~RL7: 回送线,经过按键或传感器开关与扫描线联接,这些回送线内部设置有上拉电路,使之保持为高电平,只有当一个按闭合时,对应的返回线变为低电平;无按键闭合时,均保持高电平。
SHIFT: 换位功能,当有开关闭合时被拉为低电平,没有按下SHIFT开关时,SHIFT输入端保持高电平,在键盘扫描方式中,按键一闭合,按键位置和换位输入状态一起被存贮起来。
CNTL/STB: 当CNTL/STB开关闭合时将其拉到低电平,否则始终保持高电平,对于键盘输入方式,此线用作控制输入端,当键被按下时,按键位置就和控制输入状态一起被存贮起来,在选通输入方式中,作选通用,把数据存入FIFO RAM中。
OUTA3~OUTA0及OUTB3~OUTB0:显示输出A口及B口,这两个口是16×4切换的数字显示。
这两个端口可被独立控制,也可看成一个8位端口。
BD: 空格显示,此输出端信号用于在数字转换时将显示空格或者用显示空格命令控制其显示空格字符。
VCC: +5V电源输入线。
VSS: 地线输入线。
(4)8279的编程命令a.键盘/显示器方式设置最高位最低位命令代码 0 0 0 D D K K K其中DD为显示方式,KKK为键盘方式DD00 8个8位字符显示--左端传入01 16个8位字符显示--左端送入10 8个8位字符显示--右端送入11 16个8位字符显示--右端送入所谓左端送入是显示器根据用户送的先后,从左端一位开始,向右逐位排列,到最右端一位后,下一位再从最左端显示,在这种显示方式中,显示器的每个显示管和8279中的显示RAM单元一一对应,RAM中的O地址对应最左面的显示字符,而15号单元对应最右端的显示字符而右端送入方式是电子计算器中常用的显示方式,第一个送入的数在最右端的显示字符上而以后每送入一个新数,显示先左移一位然后把送入的数仍放在最右端显示字符上.K K K0 0 0 编码扫描键盘--2键连锁0 0 1 译码扫描键盘--2键连锁0 1 0 编码扫描键盘--N键巡回0 1 1 译码扫描键盘--N键巡回1 0 0 编码扫描传感器阵列1 0 1 译码扫描传感器阵列1 1 0 选通输入,编码显示扫描1 1 1 选通输入,译码显示扫描其中2键连锁和N键巡回是8279对键盘中被按下键的两种处理方式,编码扫描和译码扫描是 SL0-SL3 对链盘和显示器的两种扫描形式.b. 程序时钟命令代码 0 0 1 P P P P P此命令确定定时和控制中的前置定标器的分频系数,代码PPPPP可形成2-31的数,前置定标器可对外部时钟分频,以得到内部基频,选基频为100KHZ,可得到前面规定的扫描和反跳时间,则分频系数为;外部时钟100KHZ复位脉冲过后若无代码送入则自动为31.c.读FIF0/传感器RAM命令代码:0 1 0 AI X A A A X=任意此命令用于确定CPU读操作的对象是8279中的FIF0/传感器 RAM,并确定8个 RAM 字节中哪一个被读,其中 AAA表示CPU要读的行,AI为自动加1特征位,在键盘扫描方式中这两者互不相干,对随后的每次读取8279都按照数据第一次进入的FIF0的同一顺序自动送出数据, 所有随后发生的读,都是读自FIFO,直到写入新命令为止.在传感器阵列方式中,AAA选择传感器RAM 8行中的一行若AI=1,则下一次读取便读自传感器RAM中的下一行.d. 读显示器RAM命令代码:0 1 1 AI A A A ACPU对8279写此命令,则确定了 CPU 以显示器 RAM为数据源进行读操作,其中AAAA为显示器RAM的地址,AI 为自动加1特征位,若AI=1,则每读一行RAM之后,行地址自动加1e.写显示器RAM命令代码: 1 0 0 AI A A A ACPU向8279写此命令,规定了下一步要对8279的显示RAM进行写,寻址方式和自动加1功能均与读显示器RAM相同f.显示器写入禁止/空格命令代码: 1 0 1 X IW IW BL BL X=任意A B A B此命令用于屏蔽A或B端口输出及使显示器显示空格,如果显示器用作双排4位显示,则必须把其中一个4位屏蔽掉这样CPU送入显示器的信息就不会影响另一半,IW为屏蔽特征位, 若对某一端口设置IW=1,则该端口就被屏蔽,有必要注意的是:B0与D0对应,BL为显示空格标志位,若某一端口的BL置1,则此端口显示空格.当要使一个单8位输出格式的显示器空格时,则必须使两个BL标志全都置位,以使显示完全空格.g. 消除命令代码: 1 1 0 CD CD CD CF CA此命令用于按一定格式清显示器RAM的FIF0状态,其中CD规定清除格式:CD CD CD0 X 全"0"(x为任意)1 0 AB =16 进制1 0 20(0 O 1 0 0 0 0 0)1 1 全册"1"当为"1"时允许清除显示器(或用CA=1)CF清除FIFO状态(包括中断),若CF=1,则清除FIF0状态,并对中断线复位自传感器RAM的指示器亦被置于0行CA为总清,其效果相当于CD和CF的合成,当CA=1时,利用CD指示的清除格式清除显示器RAM,并清除FIF0状态,C孔也使内部定时重新同步.在显示器RAM被清除期间(约16us)不能写入,同时在此期间FIFO的最高有效位被置"1"当显示RAM再度变为可用时即自动复位.h. 中断结束/出错方式设置命令代码: 1 1 1 E X X X X X=任意在传感器阵列方式时,此命令使IRQ线变低,并允许对RAM再写(检测到一个传感器位变化时,IRQ线可能已升高了,因此这样做可阻止在其复位以前把信息再度写入RAM).在N键巡回工作方式,若E位被编程为"1",则芯片电路将在特殊出错方式下运行.在N键巡回方式的特殊出错方式下主要用于检查键的多重按下,若在一个回弹周期中发现两个键被按下,即可看成同时多重按下,并建立出错标志,阻止任何对FIF0的进一步写入,同时设置中断(如中断尚末设置的话),在此方式中,可用读 FIFO 状态字命令读出错误标志,而发CF=1 的清除命令,可使出错标志复位.(5)8279芯片的工作特点(1) 可同时进行键盘扫描及文字显示(2) 键盘扫描模式(Scanned Keyboard Mode);(3) 传感器扫描模式(Scanned Sensor Mode);(4) 激发输入模式(Strobe Input Entry Mode);(5) 8乘8键盘FIFO(先进先出);(6) 具有接点消除抖动,2键锁定及N键依此读出模式;(7) 双排8位数或双排16位数的显示器;(8) 右边进入或左边进入。