8279键盘扫描输入实验

合集下载

实验五 键盘显示接口芯片8279的应用-1 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显示实验
一.实验要求
利用8279键盘显示接口电路,做成一个电子钟。

该钟使用T1作50ms的定时中断。

利用8279可实现对键盘/显示器的自动扫描,以减轻CPU负担,其有显示稳定、程序简单、不会出现误动作等特点。

本实验利用8279实现显示扫描自动化。

8279操作命令字较多,根据需要来灵活使用,通过本实验可初步熟悉使用方法。

电子钟做成如下格式:
XX XX XX 由左向右分别为: 时、分、秒。

二.实验目的
1.掌握在8031系统中扩展8279键盘显示接口的方法。

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

3.进一步掌握中断处理程序的编程方法。

三.实验电路及连线
8279电路部分与实验机监控所用电路相同,地址已确定如下
8279状态口地址为0FF82H;
8279数据口地址为0FF80H;
K10的10个短路套置于8279方式端。

四.实验说明
8279通用接口芯片,根据应用需要可以在多种模式下工作,详见有关手册。

五.实验框图
程序框图:
P79T1.ASM主程序框图
INIT8279子程序框图INIT_T1中断子程序框图
DISLED子程序框图DISPLAY子程序框图。

对键盘显示器的自动扫描

对键盘显示器的自动扫描

利用8279可实现对键盘/显示器的自动扫描,以减轻CPU负担,并具有显示稳定、程序简单、不会出现误动作等特点。

本实验系统中8279的状态/命令口地址位8701H;数据口地址位8700H。

示例程序运行将显示"8279 --",并等待按键输入,将键值显示在数码管上(只响应0-F按键)。

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,位置 R5,值DISLED: 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单片机系统中有两种 LED显示方式,即静态显示和动态显示,静态显示的优点是显示效果好,编程简单,但由于输出的每一位都需要锁存,使用的硬件较多;动态显示方式中,各位数码管的a–h端并连在一起,每一时刻只有一位数码管被点亮,各位依次轮流被点亮,硬件电路简单,但由于需要不停地进行刷新显示,降低了CPU的效率,而且编程的工作量很大。

单片机8279键盘显示实验

单片机8279键盘显示实验

6.4 可编程键盘/显示器接口——Intel 8279Intel 8279是一种可编程键盘/显示器接口芯片,它含有键盘输入和显示器输出两种功能。

键盘输入时,它提供自动扫描,能与按键或传感器组成的矩阵相连,接收输入信息,它能自动消除开关抖动并能对多键同时按下提供保护。

显示输出时,它有一个16×8位显示RAM,其内容通过自动扫描,可由8位或16位LED数码管显示。

1.8279的内部结构和工作原理8279的内部结构框图如图6.28所示。

下面分别介绍电路各部分的工作原理。

1) I/O控制及数据缓冲器数据缓冲器是双向缓冲器,连接内外总线,用于传送CPU和8279之间的命令或数据,对应的引脚为数据总线D0~D7。

I/O控制线是CPU对8279进行控制的引线,对应的引脚为数据选择线A0、片选线、读/写信号线和。

2) 控制与定时寄存器及定时控制控制与定时寄存器用来寄存键盘及显示工作方式控制字,同时还用来寄存其它操作方式控制字。

这些寄存器接收并锁存各种命令,再通过译码电路产生相应的信号,从而完成相应的控制功能。

与其对应的引脚为时钟输入端CLK及复位端RESET。

定时控制电路由N个基本计数器组成,其中,第一个计数器是一个可编程的N级计数器,N为2~31之间的数。

定时控制经软件编程,将外部时钟CLK分频,得到内部所需的100 kHz 时钟,为键盘提供适当的扫描频率和显示扫描时间。

与其相关的引脚是显示熄灭控制端。

3) 扫描计数器扫描计数器由键盘和显示器共用,为它们提供扫描信号。

扫描计数器有两种工作方式:编码方式和译码方式。

按编码方式工作时,计数器作二进制计数,4位计数状态从扫描线SL0~SL3输出,经外部译码器译码后,为键盘和显示器提供扫描信号。

按译码方式工作时,扫描计数器的最低两位被译码后,从SL0~SL3输出,提供了4选1的扫描译码。

与其相关的引脚是扫描线SL0~SL3。

4) 回复缓冲器、键盘去抖及控制在键盘工作方式下,回复线作为行列式键盘的列输入线,相应的列输入信号称为回复信号,由回复缓冲器缓冲并锁存。

8279键盘扫描输入实验

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的内部结构、工作原理;了解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、掌握8279的工作原理。

2、熟悉8279与键盘接口的方法。

3、学习、了解键盘扩展方法。

二、实验内容将每次按键产生的键码显示在LED数码管。

三、实验原理介绍实验原理图见8279键盘显示电路。

四、实验步骤1、实验接线:将8279的RL0~RL7分别与键盘的RL10~RL17相连。

2、将8279的KA0~KA2分别与键盘的KA10~KA12相连。

3、用查询法编程4、全速运行程序,按动按键,观察显示键值的变化。

五、实验提示1、8279的I/O地址已连好,为490的偶地址,即:数据口为490H,状态口为492H。

2、8279外部输入时钟已连好,时钟频率为1MHZ。

3、8279所以,D5 D4 D3表示按下键所在的列号,D2 D1 D0表示按下的键所在的行号。

采用8279可以识别最大达8x8的矩阵键盘。

六、实验结果第一行键值从左至右依次为:C0—C5;第二行键值从左至右依次为:C6—CB;第三行键值从左至右依次为:CC—D1;第四行键值从左至右依次为:D2—D7;七、实验程序框图(实验程序名:T8279.asm)八、程序源代码清单con8279 equ 0492hdat8279 equ 0490hassume cs:codecode segment publicorg 100hstart: jmp start1segcod db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h start1: mov dx,con8279mov al,10hout dx,al ;编码扫描键盘,双键锁定mov al,2ah ;10分频得到100KHzout dx,alcall blackrkey: mov dx,con8279disla2: in ax,dx ;读入状态字and ax,07hjz disla2 ;没有按键则等待!mov dx,dat8279in ax,dx ;读入键值and ax,0ffhmov bx,axnop ;设断点观察键值call black ;总清显示RAMnopdisp:mov di,offset segcodmov ax,08h ;工作方式,16位,左入mov dx,con8279out dx,axmov ax,90hmov dx,con8279out dx,ax ;写显示RAM命令,地址自增 mov dx,dat8279push bxand bx,0f0hmov cl,4shr bx,cladd di,bxmov al,cs:[di]mov ah,0out dx,ax ;写RAM0nopnopmov di,offset segcodpop bxand bx,0fhadd di,bxmov al,cs:[di]mov ah,0out dx,ax ;写RAM1nopnoppush cxjmp rkeyblack: mov dx,con8279mov ax,0d1hout dx,ax ;显示RAM全部清零mov cx,80h ;循环次数clsb: nopnoploop clsbretcode endsend start。

单片机实验上机--实验二十一8279键盘显示实验

单片机实验上机--实验二十一8279键盘显示实验

实验二十一8279键盘显示实验一、实验目的1.了解8279内部定时/计数器使用方法2.学习计数器各种工作方式的用法二、实验说明键盘和八段显示器可以直接使用单片机89C51的并行口,或者用74LS273和74LS244、并行接口芯片8255或多功能接口芯片8155与微型计算机接口。

用上述接口方法,对键盘和显示器的扫描是由软件实现的,不但程序比较复杂,更不利的是占用CPU很多时间。

若采用专用的可编程键盘/显示控制器8279与微型计算机接口,则由8279对键盘和显示器进行自动扫描,充分地提高CPU的工作效率。

Inetel8279芯片是一种通用的可编程键盘显示器接口器件,单个芯片就能完成键盘输入和八段显示器显示控制两种功能。

8279的内部结构如下图:DB0~DB7——数据总线,三态,双向CLK——时钟输入Ao——数据选择,输入RD、WR——读、写,输入,低电平有效IRQ——中断请求信号,输出,高电平有效SL0~SL3——扫描信号,输出RL0~RL7——回复信号,输入SHIFT——移位信号,输入,高电平有效CNTL/STB——控制/选通信号,输入,高电平有效OUTA3~OUTA0——A组显示信号,输出OUTB3~OUTB0——B组显示信号,输出BD——显示消隐信号,输出,低电平有效三、实验内容及步骤1、单片机最小应用系统1的 P0口接8279的DB0~DB7口,8279的Y0~Y7接动态扫描显示的SMG1~SMG6口, OUTB0~OUTA3口接动态扫描显示的段码口;单片机最小应用系统1的WR、RD、P2.0、P2.7、ALE、RESET、INT0分别接8279的WR、RD、A0、CS、CLK、RESET、IRQ。

2、安装好伟福仿真器,用串行数据通信线连接计算机与仿真器,把87C52型仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头。

3、启动计算机,打开伟福仿真软件,进入仿真环境。

选择仿真器型号、仿真头型号、CPU类型;选择通信端口,测试串行口。

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

姓名:学号:班级:
实验六8279键盘显示实验
一、实验目的
掌握8088微机系统中,扩展8279键盘显示接口的方法。

二、实验内容
用8279接口芯片来控制实验系统键盘显示,按下数字键,在数码管上应显示相应的数字,按MON键,显示8279—good,按其它功能键不响应。

三、实验接线图
四、实验程序框图
五、实验步骤
①连CS6→FF80H孔,JSL→JS,JRL→JR,JOUT→JLED,开关JK置外接(实验完后置系统)。

②建议联PC机进行调试,打开源文件8279·ASM(EP2:2A90H),然后编译、装载,点击运行命令,数码管上显示P,按数字键,数码管上显示相应数字,按MON键,数码管显示8279-good,按RST键,退出运行。

六、回答问题
1、实验连线图中,连线CS6→FF80H,JSL→JS,JRL→JR,JOUT→JLED,开关JK置外接的作用是什么?解释硬件电路图的原理。

2、8279端口地址分别为多少?程序中写入的内容为何值?试解释。

3、请详细注释整个实验程序。

并说明程序中定义的ZW、KH、TABK、TABC的意义在哪里。

4、在调试的过程中观察键入的键名是经过怎样的过程显示出来的。

调试过程中注意各个键的内码分别多少?请写出来,并与TABK的内容比较。

5、写出实验体会。

实验进行怎样的改进,或加怎样的步骤,更能提高实验的效果。

键盘显示实验

键盘显示实验

一、实验目的1、掌握8279键盘显示电路的基本功能及编程方法。

2、掌握一般键盘和显示电路的工作原理。

3、进一步掌握定时器的使用和中断处理程序的编程方法。

二、实验内容1、I/O编程本实验的实验电路如图。

它做在一块扩展电路板上,用一根20芯扁平电缆线将实验板扩展插头与实验台上的扩展插头J7相连,为扩展电路连接电源及外部总线。

扩展电路板上的数码管、键盘阵列既能由8279控制,也可以由外部电路控制,其实现靠的是若干组短路子组成的控制选择开关K1,K2,K3,K4,KB0,KB1,KB2。

当K1,K3,K4连接在8279一端时,数码管由8279控制,连接在LS273一端时由外部总线通过LS273直接控制。

当K2,KB1,KB2,KB3连接在8279一端时,键盘阵列由8279控制,连接在8255一端时由外接芯片8255控制。

因为本实验为8279控制实验,所以除了连接J1和J7外,还需要将选择开关K1,K2,K3,K4,KB0,KB1,KB2连接在8279一端,以使数码管、键盘阵列由8279芯片控制。

3、编程2:中断编程利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码显示电路,设计一个电子钟。

由8253中断定时,小键盘控制电子钟的启停及初始值的预置。

电子钟显示格式如下:XX.XX.XX. 由左向右分别为时、分、秒。

要求具有如下功能:①、C键:清除,显示全零。

②、G键:启动,电子钟计时。

③、D键:停止,电子钟停止计时。

④、P键:设置时、分、秒值。

输入时依次为时、分、秒,同时应有判断输入错误的能力,若输入有错,则显示:E-----。

此时敲P键可重新输入预置值。

⑤、E键:程序退出。

四、编程2 接线方法1.用一根20芯扁平电缆将实验扩展板与实验台上扩展插头J7相连。

2.实验台上8253 CLK0 接1MHZ,GATE0 和GATE1接+5V,OUT0 接CLK1,OUT1 接IRQ,CS接280H~287H。

8279键盘课程设计

8279键盘课程设计

8279键盘 课程设计一、课程目标知识目标:1. 理解8279键盘的基本工作原理及其在计算机系统中的作用;2. 掌握8279键盘的接口技术,能正确描述其与CPU的连接方式;3. 学习并掌握8279键盘编程的基础知识,能实现基本的键盘输入功能。

技能目标:1. 能够独立完成8279键盘的初始化配置,并进行简单故障排查;2. 通过实验操作,掌握8279键盘与CPU的数据传输过程,提高动手能力;3. 能够运用所学知识编写简单的键盘输入程序,提高编程实践能力。

情感态度价值观目标:1. 培养学生对计算机硬件设备的兴趣,激发学习积极性;2. 培养学生团队协作意识,提高沟通与表达能力;3. 增强学生的创新意识,使其能够从实际应用中感受计算机技术的魅力。

课程性质:本课程为信息技术学科,以实验和实践为主,结合理论教学,旨在帮助学生掌握8279键盘的工作原理和应用。

学生特点:本课程针对初中年级学生,他们在前期的学习中已具备一定的计算机知识基础,对硬件设备有一定了解,但动手实践能力有待提高。

教学要求:教师需结合学生特点,采用启发式教学方法,引导学生主动探究,注重理论与实践相结合,培养学生的实际操作能力。

在教学过程中,关注学生的情感态度价值观培养,提高学生的综合素质。

通过本课程的学习,使学生能够达到上述课程目标,为后续计算机硬件课程打下坚实基础。

二、教学内容1. 8279键盘概述:介绍8279键盘的基本概念、功能及其在计算机硬件系统中的地位。

- 理解8279键盘的作用和基本工作原理;- 了解8279键盘的发展历程。

2. 8279键盘接口技术:讲解8279键盘与CPU的连接方式、数据传输过程。

- 掌握8279键盘的初始化配置方法;- 学会8279键盘接口的电路分析与设计。

3. 8279键盘编程:学习8279键盘编程的基础知识,实现基本键盘输入功能。

- 掌握8279键盘编程的指令集;- 编写简单的键盘输入程序。

4. 实践操作:结合理论教学内容,进行实验操作,巩固所学知识。

哈工大 计算机组成技术实验指导

哈工大 计算机组成技术实验指导

FIFO RAM中 的字符数
8279键输入数据格式表
D7
CNTL
D6
SHIFT
D5~D3 扫描 指出输入键所在的行号 (扫描计数值)
D2~D0 回送
D7、D6分别为控制键CNTL和SHIFT的 状态。CNTL与其它键连用作特殊命令 键,SHIFT可作为上下挡控制键。当 SHIFT接按键(对地),可以与8*8键 盘配合,使各键具有上下键功能,这 样键盘可扩充到128个键。CNTL键可 与任意键组合作为控制键,于是, 8*8键盘最多可扩充至256个键。
8 2 7 9 命 令

8279状态格式与状态字
8279的FIFO状态字,主要用于键盘和选通工作方式,以指示数据缓冲器
FIFO/传感器RAM中的字符数和有错误发生。状态字节的读出地址和命令输入
地址相同(A0=1)。状态字节格式如下:
Du S/E O U F N N N
1:FIFO RAM已满 0:FIFO RAM未满 1:出现不足错误 0:无不足 1:出现溢出错误 0:无溢出 1:显示无效 0:显示有效
SL0~SL3扫描信号线也是数码管显示的位选信号线,还有 OA0~OA3, OB0~OB3 :数据输出线
数据显示器的段码从这两组线输出,它们与位选线SL0~SL3同步,实现分时
数据显示。芯片内部有一个16字节长的显示存储器,存储欲显示的段码,最大可支 持16位数码显示。
BD:消隐信号线
此输出信号用来在显示数据切换时进行消隐,以免显示跳动,此信号也可 由消隐命令产生。
指出输入键所在的列号 (由RL7~RL0状态确定)
LED显示器
共阳极
共阳极的LED显示器的发光二级管的阳极连接在一起,通常 此公共阳极接正电压,当某个发光二极管的阴极接低电平时 发光二极管被点亮相应的段被显示

实验5键盘显示控制器8279应用实验

实验5键盘显示控制器8279应用实验

实验五键盘显示控制器8279应用实验一、实验目的1、掌握51系统中,扩展8279键盘显示接口的方法。

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

二、预备知识8279A是一种通用的可编程键盘/显示器接口器件,可对64个开关矩阵组成的键盘进行自动扫描,接收键盘上的输入信息,存入内部的FIFO寄存器,并在有键输入时,CPU请求中断。

8279A内部还有一个16×8的显示缓冲器,能对8位或16位LED自动扫描,使显示缓冲器的内容在LED上显示出来。

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 :换档输入线,内部有拉高电阻,使之保持高电平。

CNTL/STB:控制/选通输入线,内部有拉高电阻,使之保持高电平。

OUTA0~OUTA3:四位输出口。

OUTB0~ OUTB3:四位输出口。

这两个口是16 ×4 显示器更新寄存器的输出端,输出的数据和SL0~SL3上信号同步,用于多位显示器显示。

实验四 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键盘显示

[整理]8279键盘显示
特殊错误方式时S/F位是出错标志,用来指示是否发生了多路同时闭合错误,Du
位表示由于CLEAR DISPLAY或CLEAR ALL命令尚末完成其消除操作而使显示
RAM尚不可用.
显示功能块:
显示功能块包括:显示寄存器,16X8显示RAM,显示地址寄存器.
显示RAM和显示寄存器:8279内部有16X8的显示RAM,通过显示寄存器和两个四
(4)加强学生对单片机在应用设计中的感性认识,为日后的单片机应用打基础。
2、课程设计的内容和要求
(1)实验要求:
编制程序,利用8279及键盘显示接口电路,编程实现按键的读取,并将按键值显示在数码管上。
(2)实验目的:
1)掌握在MSC-51系统中扩展8279键盘显示接口的方法。
2)掌握8279工作原理和编程方法。
RD:读信号输入线,低电平有效,将缓冲器读出,数据送往外部总。
WR:写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。
RL2—140 --VCC
RL3—239 --RL 1
CLK-- 338 --RL 0
IRQ—437 --CNTL/STB
RL4-- 536 --SHIFT
(3)设计要求:
1)实验电路及连线。
2)给出实验程序设计框图及程序清单。
3)验证实验的可靠性。
一、8279芯片
8279是一种可编程的键盘/显示器接口芯片。
(1)8279的内部结构图
(2)8279的内部结构及功能
按其功能分为:键盘功能块;显示功能块;控制功能块;与CPU接口功能块
控制功能块:
控制和定时寄存器,定时和控制,扫描计数器三部分,它主要是用来控制键盘和
攀枝花学院电信学院专业基础综合实验

实验十 8279键盘显示接口

实验十 8279键盘显示接口

实验十 8279键盘显示接口双击自动滚屏发布者:admin 发布时间:2005-9-8 阅读:4825次一、实验目的1、掌握8279的工作原理。

2、学习LED显示器的使用方法。

3、熟悉8279与键盘、显示器接口的方法。

4、学习在8086/8088系统中扩展键盘显示接口的方法。

二、实验设备AEDK8688ET教学实验机一台,PC机一台,稳压电源一台。

三、实验内容1、在LED数码管上的固定位置显示数字“3”或不停地显示1、2、3、4、5、6,间隔时间为1秒。

2、在八位LED数码管上循环显示1、2、3、4、5-----E、F,间隔时间为1秒。

3、将每次按键产生的键码显示在LED数码管。

四、实验原理介绍数码管的段选码由OUTA口和OUTB口输出,经74LS244驱动后送给共阴极LED。

数码管的位扫描信号经74LS138译码、75451驱动后提供给LED的公共极。

RL0~RL7提供了键盘列扫描接口,KA0~KA3提供键盘的行扫描接口。

原理图见8279键盘、显示电路。

1、LED是共阴极的,其七段LED的段选码为:五、电路原理图:六、实验步骤1、实验连线:8279CS----210H-217H。

将8279的片选与译码电路相应的插孔相连。

K10十个短路套均套上2、编写调试程序,全速运行,观察实验结果3、运行程序,按动按键,观察显示键值的变化。

七、实验程序框图八、参考程序:内容3Z8279 EQU 212HD8279 EQU 210HLEDMOD EQU 00 ;左边输入,八位显示外部译码八位显示LEDFEQ EQU 38H ;扫描频率CODE SEGMENTASSUME CS:CODE,DS:CODESTART: ;初始化PUSH CSPOP DSMOV DX,Z8279MOV AL,LEDMODOUT DX,ALMOV AL,LEDFEQOUT DX,ALMOV DX,D8279MOV AL,7FHOUT DX,ALMOV DX,D8279MOV AL,7FHOUT DX,ALMOV DX,D8279MOV AL,7DHOUT DX,ALMOV DX,D8279MOV AL,7FHOUT DX,ALMOV DX,D8279MOV AL,70HOUT DX,ALMOV DX,D8279MOV AL,5EHOUT DX,ALMOV DX,D8279MOV AL,79HOUT DX,ALMOV DX,D8279MOV AL,77HOUT DX,AL ;以上为写(AEDK8688) NOPMOV DX,Z8279MOV AL,0C2HOUT DX,AL ;置空FIFO寄存器WAIIT: NOPIN AL,DXMOV BL,ALAND AL,80HCMP AL,80HJE WAIIT ;FIFO正在清除期间则跳转等待 MOV AL,BLAND AL,0FHCMP AL,00HJE WAIIT ;无键按下则等待MOV AL,40H ;写读FIFO RAM命令字OUT DX,ALMOV DX,D8279 ;读入FIFO RAM内容IN AL,DXNOPCMP AL,15H ;是结束符则结束JE FININOP ;查表,将键码放入AL中LEA BX,LEDXLATMOV DX,D8279 ;将AL中内容写到数码管上OUT DX,ALMOV DX,Z8279 ;清FIFO RAM寄存器MOV AL,0C2HOUT DX,ALJMP WAIIT ;等待下一次键输入FINI: MOV DX,Z8279 ;清FIFO寄存器并关蜂鸣器MOV AL,0C2HOUT DX,ALJMP $LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H DB 5EH,79H,71HCODE ENDSEND START。

自动化论文 键盘显示控制器8279应用实验

自动化论文 键盘显示控制器8279应用实验

本科学年实训论文题目键盘显示控制器8279应用实验院系专业名称自动化年级 2008 级学生姓名指导教师2011年07月18日键盘显示控制器8279应用实验摘要在对8279键盘/显示接口分析的基础上,设计实现8位LED七段数码管显示驱动和16键盘输入电路。

利用可编程8279可实现对键盘/显示的自动扫描,以减轻CUP负担,其工作稳定,不会出现误操作,且程序实现简单。

本系统采用8031 单片机与8279 芯片的显示接口组成对LED 数码管应用系统的显示驱动电路。

具有可靠性高、价格低、使用方便等特点,适合数据显示的计算机应用系统使用。

关键词:8279,键盘,LED显示,扫描,接口8279 KEYBOARD DISPLAY CONTROLLER BASED ON THE APPLICATIONABSTRASTIn 8279 keyboard / display interface based on the analysis, design and implementation 8-digit LED seven segment display driver, and keyboard input circuit 16. 8279 can be realized using programmable keyboard / display automatically scans, to reduce the burden of CUP, their job stability, not to misuse, and the procedure simple. The system uses the 8031 and 8279 chip components on the LED display interface applications, digital display drive circuit. High reliability, low price, easy to use features, the computer application for data display system.KEYWORDS: 8279 , keyboard , LED display , scan , interface目录摘要 (II)ABSTRAST ................................................................................................................ I II 第一章引言.. (1)1.1 实验目的 (1)1.2 实验内容 (1)1.2 实验步骤和要求 (1)第二章8279的介绍 (2)2.1 8279功能介绍 (2)2.1.1 数据线 (2)2.1.2 地址线 (2)2.1.3 控制线 (2)2.2 8279的工作方式 (3)2.2.1 键盘工作方式 (3)2.2.2 显示方式 (3)2.2.3 传感器方式 (3)2.3 8279的命令字及其格式 (4)2.3.1 键盘/显示命令 (4)2.3.2 时钟编程命令 (5)2.3.3 读FIFO/传感器RAM命令 (6)2.3.4 读显示RAM命令 (6)2.3.5 写显示RAM命令 (6)2.3.6 显示器禁止写入/熄灭命令 (6)2.3.7 清除(显示RAM和FIFO中的内容)命令 (7)2.3.8 结束中断/出错方式设置命令 (7)2.4 8279的状态字及其格式 (8)2.5 8279数据输入/输出格式 (8)2.5.1 键盘扫描方式数据输入格式 (8)2.5.2 传感器方式及选通方式数据输入格式 (9)2.6 8279译码和编码方式 (9)第三章硬件电路及描述 (11)3.1 74LS138译码器 (11)3.1.1 74LS138集成译码器逻辑图及工作原理 (11)3.1.2 74LS138译码器引脚图和逻辑符号 (12)3.1.3 74LS138译码器的真值表 (13)3.2 74LS244 (14)3.2.1 74LS244引脚图 (14)3.2.2 74LS244的工作极限值 (14)3.2.3 功能表 (14)3.3 4*4矩阵键盘 (14)3.3.1 矩阵键盘的电路 (14)3.3.2 矩阵键盘的工作原理 (15)3.4 数码管动态扫描显示电路 (16)第四章软件设计流程及描述 (17)4.1软件设计流程 (17)4.2 keil软件的介绍和应用 (19)4.2.1 系统概述 (19)4.2.2 Keil C51单片机软件开发系统的整体结构 (19)4.2.3 Keil的优点 (20)第五章总结 (21)参考文献 (22)附录一源程序代码 (23)附录二实验中的软件和硬件记录 (26)内蒙古大学鄂尔多斯学院08自动化课程实训报告第一章引言1.1 实验目的1、掌握8031系统中,扩展8279键盘显示接口的方法。

8279键盘显示

8279键盘显示
图 1. logic symbol
(1)8279 电路逻辑如图 2 所示。下面按功能把 8279 的电路逻辑分为芯片 接口控制逻辑、键盘接口控制逻辑和显示接口控制逻辑三部分来介绍。
图 2. internal block diagram
1)芯片接口控制逻辑,即实现 8279 和 CPU 接口的内容,包括: ① 数据缓冲器
外部译码键扫描方式,双键互锁 内部译码键扫描方式,N 键依次读出 外部译码扫描传感器矩阵方式
D2D1D0=101 内部译码扫描传感器矩阵方式
D2D1D0=110 选通输入方式,外部译码扫描显示器方式 D2D1D0=111 选通输入方式,内部译码扫描显示器方式 内部译码方式,可接 4*8 键盘和 4 位 LED
8279 共有 3 个可寻址的寄存器,即:命令寄存器、状态寄存器和数据寄存
器,但只对应两个地址。因为命令寄存器和状态寄存器可共用一个地址,在同一
地址下,写操作是针对命令寄存器,而读操作则是针对状态寄存器的。具体的命
令/状态寄存器和数据寄存器的地址由信号连接决定。
(1) 命令寄存器
命令寄存器为 8 位寄存器,以 D7D6D5D4D3D2D1D0 表示各位。其中高三位 (D7D6D5)是命令的特征位,不同的状态组合代表着不同的命令。在程序 设计中通过对命令寄存器的设置来控制 8279 的不同操作。
形式。其中左边输入比较简单和常用。在这种方式下,8279 从 0 地址或某一地
址开始依次将单元数据写入相应的显示器中。
命令中 D2、D1、D0 位用于键盘方式设置。 D2D1D0=000 外部译码键扫描方式,双键互锁 D2D1D0=001 内部译码键扫描方式,N 键依次读出
D2D1D0=010 D2D1D0=011 D2D1D0=100
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二 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的中断请求线(IRQ)经反相后与插座CN8相连。

做实验时,只须短接CN8上的KBIRQ、INT0。

2)注意事项因8279的RL0无法回扫键值。

实验板上,首行键盘与回扫线RL4相连,与原理图不同。

编程时请注意,首行键盘编码值为04H、0CH、14H、1CH、24H。

2.程序设计1)关于8279的端口实验板的硬件连接决定了8279的数据口为2FFEH,当对数据口执行读操作时,读取到的数据为键值编码,对数据口执行写操作时,数据写入显示RAM中,8279的命令、状态口为2FFFH,当对命令状态口执行读操作时,读取到的数据为FIFO状态字,对命令、状态口执行写操作时,写入的为命令字。

2)关于8279在键盘工作方式时键盘编码值:在键盘工作方式中,键盘数据格式中的D7、D6表示CNTL和SHIFT状态,D5、D4、D3表示SL2、SL1、SL0的8个译码状态,D2、D1、D0表示RL0-RL7的8个状态。

因为8279的CNTL和SHIFT接地,所以高两位为零。

对于8 x 8的键盘其键盘编码值为:3-8译码器Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7000 001 010 011 100 101 110 111RL0:000 00H 08H 10H 18H 20H 28H 30H 38HRL1:001 01H 09H 11H 19H 21H 29H 31H 39HRL2:010 02H 0AH 12H 1AH 22H 2AH 32H 3AHRL3:011 03H 0BH 13H 1BH 23H 2BH 33H 3BHRL4:100 04H 0CH 14H 1CH 24H 2CH 34H 3CHRL5:101 05H 0DH 15H 1DH 25H 2DH 35H 3DHRL6:110 06H 0EH 16H 1EH 26H 2EH 36H 3EHRL7:111 07H 0FH 17H 1FH 27H 2FH 37H 3FH本实验采用4 x 5(4行5列)的键盘,因RL0无法回扫键盘,首行键改为与RL4相连,因此键盘的键盘值编码实际为:3-8译码器Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7RL4:100 04H 0CH 14H 1CH 24H 2CH 34H 3CHRL1:001 01H 09H 11H 19H 21H 29H 31H 39HRL2:010 02H 0AH 12H 1AH 22H 2AH 32H 3AHRL3:011 03H 0BH 13H 1BH 23H 2BH 33H 3BH3)关于8279的初始化教材和参考书中对8279的初始化都是先执行总清零命令字,等待清除完显示RAM后,再设置分频命令字、键盘/显示工作方式字和其它初始化命令字。

如果按照书本上的初始化顺序,在总清零后,执行其它初始化命令字,该命令字有可能显示在LED上,无法达到清零显示器的目的。

解决的办法是先执行其它初始化命令,最后执行总清零命令。

另外,在键盘中断服务程序中,不必按照书本上先设置读FIFO RAM命令字,因为在键盘工作方式时,读出操作严格按照先进先出的顺序,如果要加上该命令字,跟其它初始化命令字一样,把它加到总清零命令之前。

3.程序调试1)程序编译无误后,下装到仿真机。

2)单步执行指令,完成分频系数设定、工作方式选择等初始化工作后,接着执行清零指令,此时LED全部灭掉,开中断,等待键按下。

按下第一行第一个键后。

程序将跳到INT0的入口地址,ORG 0003H处,继续执行后面的跳转指令,跳到中断服务程序中去。

在中断服务程序中,从数据口读取键值,并放在内部RAM 30H单元。

键值存放RAM地址加1,中断返回,等待下一次按键。

3)查看内部RAM 30H单元存放的键值,看是否为04H。

4)从左到右,从上到下每按一次键,执行一次中断服务程序,执行20次中断服务程序后,在30H-43H内存单元中存放键盘的20个键值。

5)检验这20个键盘键值的分布情况相符否?6)继续执行程序,以后获取的键值将存放在44H单元中。

4程序联调在键盘工作方式中,当FIFO RAM存有数据时,IRQ为高电平。

CPU每次从RAM中读取数据时,IRQ变为低电平。

8279的中断请求线IRQ经反相器与插座CN8 KBIRQ相连,因此用逻辑笔检查KBIRQ。

当有键按下时,其为低电平,向CPU申请中断,在中断服务程序中读取键值后,IRQ变为低电平,此时在用逻辑笔测KBIRQ则变为高电平。

注意:如果连续按了好几下键,则IRQ一直是高电平(KBIRQ则一直为低电平,向CPU 申请中断),除非把RAM中的所有键值读完后才再次恢复为低电平(KBIRQ则为高电平,停止向CPU申请中断)。

五、结果说明RL0无法回扫键盘、清零后分频命令字和工作方式命令字都显示在LED,产生这两个问题的原因可能是8279芯片的缺陷。

六、实验报告要求1. 实验目的、步骤,2. 观察实验现象,记录存放在片内RAM单元30H-43H中的键值,分析讨论实验结果是否正确。

3. 画出程序框图。

4. 附参考程序附程序清单ORG 0000HSJMP MAINORG 0003H ;外部中断0入口地址AJMP INT_0 ;转移到中断服务程序MAIN: MOV SP, # 60H ;初始化堆栈CLR EA ;关闭所有的中断MOV DPTR, # 2FFFH ;指向命令/状态口MOV A, #00H ;置键盘/显示器工作方式命令字MOVX @DPTR, A ;送入命令字MOV A, #2AH ;置分频命令字MOVX @DPTR, A ;送入命令字MOV A, #40H ;置读FIF0 RAM命令字MOVX @DPTR, A ;送入命令字MOV A, #0DFH ;置总清零命令字,将显示RAM所有单元置1MOVX @DPTR, A ;送入命令字WAIT: MOVX A, @DPTR ;读入状态字JB ACC.7, WAIT ;等待清除CLR F0 ;清零有键标志位CLR 76H ;清零键值存满标志位SETB IT0 ;下降沿触发SETB EA ;打开所有中断SETB EX0 ;开外部中断0MOV R0, #30H ;键值存放首地址为30HMOV R7, #14H ;存放20个键ATT: LCALL RDKEY ;调用读键子程序JB 76H , KEYOUT ;76H内为存完20个键值标志MOV @R0, A ;不到20个键,则保存该键值INC R0 ;键值存放地址加1DJNZ R7, A TT ;不到20个键,则继续读键值SETB 76H ;已经有20个键,置位键值存满标志KEYOUT: MOV 44H, A ;以后读取的键值放44HSJMP A TT ;返回继续读键INT_0: MOV DPTR, #2FFEH ;指向数据口MOVX A, @DPTR ;读入键值ANL A, #3FH ;屏蔽高两位SETB F0 ;置1有键标志RETI ;中断返回RDKEY: JB F0, K1 ;有键标志如为1,则说明已获取1个键值SETB EX0 ;还没有读入键值,开键盘中断SJMP RDKEY ;继续等待键盘中断K1: CLR F0 ;清零有键标志,为下一次读键准备CLR EX0 ;关键盘中断,返回处理键值RET。

相关文档
最新文档