8279的命令字及其格式

合集下载

8279实现的两位数加减乘除计算器

8279实现的两位数加减乘除计算器

8279实现的两位数加减乘除计算器中国矿业大学计算机科学与技术学院硬件课程设计报告专业:计算机科学与技术班级:计算机10级02班设计题目:简单计算器成员:刘伟李伟大张伟指导教师:周杰伦职称:副教授2012年1月12日简单计算器目录1.设计任务与要求………………………….2. 8279可编程设置型键盘/显器介绍………1 8279特点………………………………………………………………..2 8279引脚说明……………………………………………………………3 8279结构…………………………………………………………………..4 8279的控制字………………………………………………………………3.硬件连接及初级设计说明……………1 硬件连接……………………………………………………………………2 计算功能…………………………………………………………………..3 输入功能…………………………………………………………………4 三个模块…………………………………………………………………..5 LED发光显示……………………………………………………………. 4.程序流程图…………………………………1 键盘读数流程图……………………………………………………………..2 程序处理流程图……………………………………………………………..3 显示程序流程图……………………………………………………………..4 计算过程流程图………………………………………………………………5 总程序流程图………………………………………………………………..5.程序设计…………………………………..1 代码…………………………………………………………………………6.收获与会…………………………………..7.参考文献……………………………………硬件课程设计总体报告选题:电子计算器1.设计任务与要求1.1设计概况1设计人员:2设计目标:通过汇编语言编程,再利用硬件课程实验箱实现计算器功能。

实验八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用法讲解

单片机芯片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可编程键盘显示控制器j[1]

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
INTEL 8279是一种可编程键盘/显示器接口芯片,它含有键盘输入和显示器输出两种功能。

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

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

 8279的引脚和功能
 8279的内部结构框图如下图所示。

 D0~D7:数据总线,双向三态总线。

 CLK:系统时钟输入端。

 RESET:系统复位输入端,高电平有效。

复位状态为:16个字符显示;编码扫描键盘:
 双键锁定;程序时钟编程为31。

 CS:片选输入端,低电平有效。

8279使用指南

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键盘和显示程序

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是一种通用的可编程的键盘/显示器接口器件,可对64个开关组成的键盘矩阵进行自动扫描,接收键盘上的输入信息,并在有键输入时向单片机请求中断,还能对8位或16位LED自动扫描,使显示缓冲器的内容在LED上显示出来。

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

本实验系统中8279的状态/命令口地址为8041H,数据口地址为8040H,程序开始部分是完成8279的初始化,设定8279的键盘及显示方式,并显示“8279--”,然后等待键盘输入,一旦有键盘输入,8279会向CPU申请中断,在中断服务程序中读取FIFO/传感器RAM,根据读得的键值判断是哪一个键,再调用键的显示程序将该键显示出来。

8279控制的键盘的键值表8279控制的键盘的键值表键名键值键名键值键名键值K010C0H SHIFT+ K0180H CRTL+ K0140H K020C8H SHIFT+ K0288H CRTL+ K0248H K030D0H SHIFT+ K0390H CRTL+ K0350H K040D8H SHIFT+ K0498H CRTL+ K0458H K050C1H SHIFT+ K0581H CRTL+ K0541H K060C9H SHIFT+ K0689H CRTL+ K0649H K070D1H SHIFT+ K0791H CRTL+ K0751H K080D9H SHIFT+ K0899H CRTL+ K0859H K090C2H SHIFT+ K0982H CRTL+ K0942H K100CAH SHIFT+ K108AH CRTL+ K104AH K110D2H SHIFT+ K1192H CRTL+ K1152H K120DAH SHIFT+ K129AH CRTL+ K125AH K130C3H SHIFT+ K1383H CRTL+ K1343H K140CBH SHIFT+ K148BH CRTL+ K1448H K150D3H SHIFT+ K1593H CRTL+ K1553H K160DBH SHIFT+ K169BH CRTL+ K165BH。

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键盘

一、实验目的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键盘程序
LOOP2: MOV @R0,#00H
INC R0
DJNZ R7,LOOP2
WAIT: MOV DPTR,#Z8279
MOVX A,@DPTR
ANL A,#07H
JNZ SAVE
SJMP WAIT
SAVE: MOV A,#40H
Z8279 EQU 0FF82H
D8279 EQU 0FF80H
ORG 0000H
AJMP LOOP
LJMP WAIT1
LOOP: MOV DPTR,#Z8279
MOV A,#0D1H
MOVX @DPTR,A
LOOP1:MOVX A,@DPTR
MOVX @DPTR,A
MOV DPTR,#D8279
MOVX A,@DPTR
ANL A,#3FH
MOV DPTR,#DATA
MOVC A,@A+DPTR
MOV B,A
MOV R6,#07H
MOVX A ,@DPTR
ANL A,#07H
CJNE A,#00H ,HA7S4;
AJMP HA7S3
HA7S4: MOV DPTR ,#KEYDAT
MOVX A,@DPTR
MOV B,A ;取键值
; CJNE R6,#88H,DISPC1
; AJMP DISPC;
LJMP HA7S2
AAA: NOP
NOP
RETI
DELAY1:MOV R1,#0FAH
DELAY2:NOP
NOP
DJNZ R1,DELAY2
MOV @R0,A
INC 31H
MOV DPTR ,#CDATA

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应用实验

本科学年实训论文题目键盘显示控制器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)第一章引言1.1 实验目的1、掌握8031系统中,扩展8279键盘显示接口的方法。

单片机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使用指南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键盘显示
特殊错误方式时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用法

精选版ppt
3
键盘显示接口芯片8279 2. 8279的内部结构图及各部分功能
精选版ppt
4
键盘显示接口芯片8279
① I/O控制及数据缓冲器
I/O控制操作
CS
WR
RD
A0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
操作 写显示RAM(写数据)
写命令字 读FIFO RAM或显示RAM
读状态字
② 控制与定时寄存器及定时控制
④ 恢复缓冲器、键盘去抖动及控制逻辑 回复缓冲器:缓冲并锁存回复信号RL0~7的状态 去抖动电路:实现对键盘输入的去抖动 控制逻辑:按命令要求控制去抖动电路,并处理回复信号RL0~7
精选版ppt
6
键盘显示接口芯片8279
⑤ FIFO/传感器RAM及其状态寄存器
FIFO/传感器RAM:8×8位 (a)键盘输入方式或选通输入方式作先入先出存储器(FIFO RAM); (b)传感器输入方式被称为传感器RAM,存储传感器阵列中每个DB7 是双向三态数据总线,在接口电路中与系统数据总线相连,
用以传送CPU 和8279 之间的数据和命令。
(2)地址线
/CS=0 选中8279,
当A0=1 时,为命令字及状态字地址;
当A0=0 时,为片内数据地址,故8精2选7版9p芯pt 片占用2 个端口地址。
选通输入方式:CNTL/STB作为选通信号,上升沿锁存RL0~7到FIFO RAM。这是只选用显示器没有键盘的工作方式。
精选版ppt
9
键盘显示接口芯片8279
4.8279的命令字(8个,D5D6D7为特征位)

8279键盘和显示程序

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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8279的命令字及其格式(说明:读者也可直接根据本实验讲义第24页8279命令一览表设置命令字)8279的各种工作方式都要通过对命令寄存器的设置来实现。

8279共有8种命令,通过这些命令设置工作寄存器,来选择各种工作方式。

命令寄存器共8位,格式为:命令类型命令内容如上图,8279的一条命令由两大部分组成,一部分表征命令类型,为命令特征位,由命令寄存器高3位D7---D5决定。

D7---D5三位的状态可组合出8种形式,对应8类命令。

另一部分为命令的具体内容,由D4---D0决定。

每种特征所代表的命令如表3.3所示下面详细说明各种命令中,D4---D0各位的设置方法,以便确定各种命令字。

(1)键盘/显示命令特征位D7 D6 D5=000D4、D3两位用来设定4种显示方式,D2---D0三位用以设定8种键盘/显示扫描方式,分别如表3.4和表3.5所示。

表3.5中所谓译码扫描指扫描代码直接由扫描线SL0---SL3输出,每次只有1位是低电平(4选1)。

所谓编码扫描是指扫描代码经SL0---SL3外接译码器输出。

由于键盘最大8*8=64个键,由SL0---SL2接3---8译码器,译码器的8位输出作为键盘扫描输出线(列线),RL0---RL7为输入线(行线)。

8279最多驱动16位显示器,故可由SL0---SL3接4---16译码器,译码器的16位输出作为显示扫描输出线(16选1),决定第几位显示。

显示字段码由OUTA0---OUTA3和OUTB0---OUTB3输出。

表3.3、表3.4、表3.5三个表相互组合可得到各种键盘显示命令。

例1:若希望设置8279为键盘译码扫描方式、N键轮回,显示8个字符、右端入口方式,确定其命令字。

根据题目要求可进行分析,因为具有下列条件:是键盘/显示命令特征位:D7 D6 D5=000 (表3.3);8个字符右端入口显示:D4 D3=10(表3.4);键盘译码扫描,N键轮回:D2 D1 D0=011(表3.5);所以8位命令器存器状态D7---D0=00010011B,即该命令字13H送入命令寄存器口地址则可满足题目要求。

例2:若已知命令字为08H,判断8279工作方式。

因为命令字为08H即D7---D0=00001000B,显然D7 D6 D5=000,该条命令为键盘/显示命令,D4D3=01为16字符左端入口显示方式,D2D1D0=000,键盘为编码扫描、双键锁定方式。

(2)时钟编程命令特征位D7 D6 D5=001D4---D0用来设定分频系数,分频系数范围在0---31之间。

有的设计会用单片机的ALE端接8279的CLK端,但ALE端输出的脉冲频率比8279所需工作时钟频率(100KHz)高出很多,通过设置分频系数就可使8279得到所需的时钟频率。

(注意:实验板上8279的CLK并不直接连到ALE)。

例:若8279 CLK的输入信号频率为3.1 MHz,则分频系数应为31D=1FH,于是D4---D0=11111,则控制字为:D7---D0=00111111B=3FH(3)读FIFO/传感器RAM命令。

特征位D7 D6 D5=010D2---D0为8279中FIFO及传感器RAM的首地址。

D3 无效位。

D4 控制RAM地址自动加1位:D4=1时,CPU读完一个数据,RAM地址自动加1,准备读下一个单元数据;D4=0时,CPU读完一个数据,地址不变。

例:欲编程使单片机连续读8279内FIFO/传感器RAM中000---111单元的数据,设置读命令。

分析:因为要连续读数,地址又连续。

所以最好设置为自动加1方式,即D4=1,RAM 内首地址000即D2---D0=000,再加上特征位,所以该命令控制字为:D7---D0=01010000B=50H (无用位D3设为0)。

送入50H控制字,在执行读命令时,先从FIFO/传感器RAM中000单元读数,读完一个数,地址自动加1,又从001单元读数,依次类推,直到读完所需数据。

(4)读显示RAM命令特征位D7 D6 D5=011D4=1 RAM地址自动加1,D4=0不加1。

D3---D0为显示RAM中的地址。

例:欲读显示RAM中1000单元地址,求命令字。

分析:因为只读一个数,地址不需自动加1,即设置D4=0,特征位为011,地址为1000,所以其控制命令字为D7---D0=01101000B=68H。

(5)写显示RAM命令特征位D7 D6 D5=100。

D4是地址自动加1控制,D4=1,地址自动加1;D4=0,地址不加1。

D3---D0是欲写入的RAM地址,若连续写入则表示RAM首地址。

命令格式同读显示RAM。

(6)显示器禁止写入/熄灭命令特征位D7 D6 D5=101D4:无用位。

D3:禁止A组显示RAM写入,D3=1,禁止。

D2:禁止B组显示RAM写入,D2=1,禁止。

D1:A组显示熄灭控制。

D1=1,熄灭;D1=0,恢复显示。

D0:B组显示熄灭控制。

D0=1,熄灭;D0=0,恢复显示。

利用该命令可以控制A、B两组显示器,哪组继续显示,哪组被熄灭。

例:假设A、B两组灯均已被点亮,现在希望A组灯继续亮,B组灯熄灭,确定其命令字。

分析:根据命令格式,A组灯继续亮应禁止A组RAM再写入其他数据,故D3=1;B组显示熄灭D0=1,除特征位外其余位设为“0”。

故其控制命令字为D7---D0=10101001B=A9H。

(7)清除(显示RAM和FIFO中的内容)命令特征位D7 D6 D5=110D0为总清除特征位,D0=1把显示RAM和FIFO全部清除。

D1=1清除FIFO状态,使中断输出线复位,传感器RAM的读出地址清0。

D4---D2:设定清除显示RAM的方式,如表3.6所示。

例:将全部显示RAM清0,其命令字为:D7---D0=11010001B=D1H(8)结束中断/出错方式设置命令特征位D7 D6 D5=111D4=1时(其D3---D0位任意)有两种不同作用。

第一:在传感器方式,用此命令结束传感器RAM的中断请求。

因为在传感器工作方式时,每当传感器状态发生变化,扫描电路自动将传感器状态写入传感器RAM,同时发出中断申请,即将IRQ置高电平,并禁止再写入传感器RAM。

中断响应后,从传感器RAM读走数据进行中断处理,但中断标志IRQ的撤除分两种情况。

若读RAM地址自动加1标志位为“0”,中断响应后IRQ自动变低,撤消中断申请;若读RAM地址自动加1标志位为“1”,中断响应后IRQ不能自动变低,必须通过结束中断命令来撤消中断请求。

第二:在设定为键盘扫描N键轮回方式时作为特定错误方式设置命令。

在键盘扫描N键轮回工作方式,又给8279写入结束中断/错误方式命令,则8279将以一种特定的错误方式工作,即在8279消抖周期内,如果发现多个按键同时按下,则将FIFO状态字中错误特征位置“1”,并发出中断请求阻止写入FIFO RAM。

根据上述8种命令可以确定8279的工作方式。

在8279初始化时把各种命令送入命令地址口,根据其特征位可以把命令存入相应的命令寄存器,执行程序时8279能自动寻址相应的命令寄存器。

8279的状态字及其格式状态字显示出8279的工作状态。

状态字和8种命令字共用一个地址口。

当A0=1时,从8279命令/状态口地址读出的是状态字。

状态字各位意义如下:D7:D7=1表示显示无效,此时不能对显示RAM写入。

D6:D6=1表示至少有一个键闭合;在特殊错误方式时有多键同时按下错误。

D5:D5=1表示FIFO RAM已满,再输入一个字则溢出。

D4:D4=1表示FIFO RAM中已空,无数据可读。

D3:D3=1表示FIFO RAM中数据已满。

D2---D0:FIFO RAM中数据个数。

显然,状态字主要用于键盘和选通工作方式,以指示FIFO RAM中的字符数及有无错误发生。

8279数据输入/输出格式对8279输入/输出数据不仅要先确定地址口,而且数据存放也要按一定格式,其格式在键盘和传感器方式有所不同。

(1) 键盘扫描方式数据输入格式键盘的行号、列号及控制键位置如下:D7:控制键 “CNTL ”状态。

D6:控制键 “SHIFT ”状态。

D5 D4 D3:被按键所在列号(由SL0---SL2)状态确定)。

D2 D1 D0:被按键所在行号(由RL0---RL7)状态确定)。

(2) 传感器方式及选通方式数据输入格式此种方式8位输入数据为RL0---RL7的状态。

格式如下:8279译码和编码方式8279的内、外译码由键盘/显示命令字的最低位D0选择决定。

D0=1选择内部译码,也称为译码方式,SL0—SL3每时刻只能有一位为低电平。

此时8279只能接4位显示器和4×8矩阵式键盘。

D0=0选择内部编码,也称为编码方式,SL0—SL3为计数分频式波形输出,显示方式可外接4—16译码器驱动16位显示器。

键盘方式可接3—8译码器,构成8×8矩阵式键盘。

图3.2 四位LED — 5461AH (共阴极)管脚示意图 (实物数码显示器的左下角为1号引脚,逆时针排序)一、 参考程序Z8279 EQU 0FF82H ;8279 状态/命令口地址 D8279EQU0FF80H ;8279 数据口地址D7LEDCLS EQU 0D1H ;显示RAM全部清除LEDWR0 EQU 90H ;写显示RAM方式:从0000B单元写入,写完地址自加一。

LEDFEQ EQU XXH ;定分频系数; 提示:定分频系数首先要了解EXP51实验板电路8279芯片CLK端输入的时钟频率LEDMOD EQU XXH ;右端入口、8位字符显示、双键锁定、内部编码扫描方式;=========/*主程序开始*/========ORG 0000HAJMP STARTORG 0050HSTART:MOV SP,#60HLCALL INIT8279 ;初始化8279;/*键盘查询*/.KEYBOARD:MOV DPTR,#Z8279MOVX A,@DPTRANL A,#0FHJZ KEYBOARDMOV DPTR,#D8279MOVX A,@DPTRLCALL DISP_NUMAJMP KEYBOARD;===========/*主程序结束*/==========;==========/*8279初始化*/==========INIT8279: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,#LEDWR0MOVX @DPTR,ARET;==========/*8279初始化结束*/==========;==========/*显示模块*/==========DISP_NUM:MOV DPTR,#LEDSEGMOVC A,@A+DPTR ;查表MOV DPTR,#D8279MOVX @DPTR,A ;显示数据RET;===========/*显示模块结束*/==========;/*段码表*/LEDSEG: 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 3EH,40H,00H,08H ;'U,-, ,_, END;============/*程序结束*/===========附:8279命令功能一览表。

相关文档
最新文档