8279键盘显示芯片引脚图解及其功能

8279键盘显示芯片引脚图解及其功能
8279键盘显示芯片引脚图解及其功能

8279可编程设置型键盘/显示器

一.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)右边进入或左边进入。16位字节显示存储器。

二.8279引脚说明

<1>DB0~DB7:双向数据总线。在CPU与8279间做数据与命令传送。

<2>CLK:8279的系统时钟,100KHz为最佳选择。

<3>RESET:复位输入线。输入HI时可复位8279。

<4>CS:芯片选择信号线。当这个输入引脚为低电平时,可将命令写入8279或读取8279的数据。

<5>A0:缓冲器地址选择线。A0=0时,读写一般数据;A0=1时,读取状态标志位或写入命令。

<6>RD:读取控制线。RD=0时,8279输送数据到外部总线。

<7>WR:写入控制线。WR=0时,8279从外部总线接收数据。

<8>IRQ:中断请求。平常IRQ为LO,在键盘模式下,每次读取

FIFO/SENSOR RAM的数据时,IRQ变为HI,读取后转为LO;在传感器模式下,只要传感器一有变化,就会使IRQ变为HI,读取后转为LO。

<9>SL0~SL3:扫描按键开关或传感器矩阵及显示器,可以是编码模式(16对1)或解码模式(4对1)。

<10>RL0~RL7:键盘/传感器的返回线。无按键被按时,返回线为HI;有按键被按时,该按键的返回线为LO。在激发输入模式时,为8位的数据输入。

<11>SHIFT:在键盘扫描模式时,引脚的输入状态会与其它按键的状态一同储存(在BIT6),内部有上拉电阻,未按时为HI,按时为LO。

<12>CNTL/STB:在键盘扫描模式时,引脚的输入状态会与SHIFT以及其它按键的状态同一储存,内部有上拉电阻,未按时为HI,按时为LO。在激发输入模式时,作为返回线8位数据的使能引脚。

<13>OUTA0~OUTA3:动态扫描显示的输出口(高4位)。

<14>OUTB0~OUTB3:动态扫描显示的输出口(低4位)。

<15>BD:消隐输出线。

郭天祥老师51单片机中矩阵键盘显示程序

3.键盘的应用,第一排。 #include #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; void delay(uint); uchar code table[]= { //段选的数字决定显示的数字,这里的是数字0~15 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,}; uchar num,temp; void main() { dula=0; wela=1; P0=0xc0; //位选6数码管 wela=0; while(1) { P3=0xfe; temp=P3; temp=temp&0xf0; while(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) { temp=P3; switch(temp) { case 0xee:num=1; break; case 0xde:num=2; break; case 0xbe:num=3; break;

case 0x7e:num=4; break; } } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } dula=1; P0=table[num-1]; dula=0; } } void delay(uint z) //延时函数 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

显示和键盘流程图及程序

3.2 部分软件设计 3.2.3显示子程序 动态显示程序框图如图所示。显示程序的要点有两个:一是代码转换。因为直接驱动LED 显示器的是字形码,而人们习惯的是0、1、2、…、F 等字符,因此,必须将待显示的字符转换成字形码。转换用查表的方法进行。二是通过软件实现逐位轮流点亮每个LED 。 为了实现代码转换,首先开辟一个显示缓冲区,将待显示的字符预先存放在缓冲区中。由于有4位LED 显示器,故不妨假设显示缓冲区长度为4个字节。显示缓冲区地址为DIS 0~DIS 3 ,DIS 0单元与最左边一位LED 相对应,DIS 3单元与最右边一位LED 相对应。 程序清单如下: DIS : ORG 0500H MOV A ,#00000011B MOV DPTR ,#7F00H MOVX @DPTR ,A MOV R0,#78H MOV R3,#7FH MOV A ,R3 LD : MOV DPTR ,#7F01H 开 始 结 束 8051初始化 指向下个显示缓冲单元 显示下一位 延时1mS 段选码送入 查段选表 送位选字 动态显示初始化 3位显示完?

有键闭合吗? 确有键闭合吗 闭合键释放吗 返 回 MOVX @DPTR ,A INC DPTR MOV A ,@R0 ADD A ,#0DH MOVC A ,@ DPTR ACALL DLY MOV A ,R3 JNB A ,R0 RR A ,LD1 MOV R3,A INC R0 AJMP LD0 LD1: SJMP LD1 DSEG :DB 3FH ,06H ,5BH ,4FH ,66H ,6DH 7DH ,07H ,7FH ,6FH DLY : MOV R7,#02H DL : MOV R6,#0FFH DL1: DJNZ R6,DL1 DJNZ R7,DL RET 3.2.4键盘子程序 键盘扫描子程序框图如图 图3-4 键盘扫描子程序框图 开 始 两次调用 延时子程序 判断闭合键号 键号 → A 调用延时子程序

单片机课程设计4X4矩阵键盘显示要点

长沙学院 《单片机原理及应用》 课程设计说明书 题目液晶显示4*4矩阵键盘按键号 程序设计 系(部) 电子与通信工程系 专业(班级) 电气1班 姓名龙程 学号2011024109 指导教师刘辉、谢明华、王新辉、马凌 云 起止日期2014.5.19—2014.5.30

长沙学院课程设计鉴定表

《单片机技术及应用》课程设计任务书系(部):电子与电气工程系专业:11级电子一班指导教师:谢明华、刘辉

目录 前言 (5) 一、课程设计目的 (6) 二、设计内容及原理 (6) 2.1 单片机控制系统原理 (6) 2.2阵键盘识别显示系统概述 (6) 2.3键盘电路 (7) 2.4 12864显示器 (8) 2.5整体电路图 (9) 2.6仿真结果 (9) 三、实验心得与体会 (10) 四、实验程序 (10) 参考文献 (18)

前言 单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器 应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。现代人类生活中所用的几乎每件有电子器件的产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都含有单片机。汽车上一般配备40多片单片机,复杂的工业控制系统上甚至可能有数百片单片机在同时工作!单片机的数量不仅远超过PC机和其他计算机的总和,甚至比人类的数量还要多。 是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。液晶显示器功耗低,因此倍受工程师青睐,适用于使用电池的电子设备。英国科学家在上世纪制造了第一块液晶显示器即LCD。而第一台可操作的LCD基于动态散射模式(Dynamic Scattering Mode,DSM),是RCA公司乔治·海尔曼带领的小组开发的。 LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示文字、图片、动画、视频等,是各部分组件都模块化的显示器件,通常由显示模块、控制系统及电源系统组成。LED点阵显示屏制作简单,安装方便,被广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等。 交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键, 键盘是合理的。

8279示例程序

8279键盘和显示程序 Z8279 EQU 08701H //8279状态/命令口地址 D8279 EQU 08700H //8279 数据口地址 LEDMOD EQU 10H //左端输入八位字符显示 //外部译码键扫描方式,双键互锁 LEDFEQ EQU 38H //扫描速率 LEDCLS EQU 0D1H //清除 LEDWR0 EQU 80H //设定的将要写入的显示RAM地 址 ORG 0000H AJMP START ORG 0040H START: MOV SP,#60H LCALL INIT8279 //初始化8279 W AIT: MOV DPTR,#Z8279 MOVX A,@DPTR ANL A,#0FH JZ WAIT MOV A,#40H MOVX @DPTR,A MOV DPTR,#D8279 MOVX A,@DPTR ANL A,#3FH MOV R4,#00H MOV R5,A LCALL DISLED SJMP W AIT INIT8279: //8279初始化子程序 PUSH DPH //保存现场 PUSH DPL PUSH ACC LCALL DELAY //延时 MOV DPTR ,#Z8279 MOV A,#LEDMOD //置8279工作方式 MOVX @DPTR,A MOV A,#LEDFEQ //置键盘扫描速率 MOVX @DPTR,A MOV A,#LEDCLS //清除 LED 显示 MOVX @DPTR,A LCALL DELAY //延时 MOV DPTR,#Z8279 MOV A,#90H MOV DPTR,#D8279 MOV A, #40H MOVX @DPTR,A MOV A,#40H MOVX @DPTR,A MOV A,#0H MOVX @DPTR,A MOV A,#0H MOVX @DPTR,A MOV A, #0EFH MOVX @DPTR,A MOV A,#27H MOVX @DPTR,A MOV A,#5BH MOVX @DPTR,A MOV A, #7FH MOVX @DPTR,A POP ACC //恢复现场 POP DPL POP DPH RET 显示字符子程序 输入:R4,位置:R5 DISLED: PUSH DPH //保存现场 PUSH DPL PUSH ACC MOV A,#LEDWR0 //置显示起始地址 ADD A,R4 //加位置偏移量 MOV DPTR,#Z8279

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的中断请求线(IRQ)经反相后与插座CN8相连。做实验时,只须短接CN8上的KBIRQ、INT0。 2)注意事项 因8279的RL0无法回扫键值。实验板上,首行键盘与回扫线RL4相连,与原理图不同。编程时请注意,首行键盘编码值为04H、0CH、14H、1CH、24H。 2.程序设计 1)关于8279的端口 实验板的硬件连接决定了8279的数据口为2FFEH,当对数据口执行读操作时,读取到的数据为键值编码,对数据口执行写操作时,数据写入显示RAM中,8279的命令、状态口

单片机8279键盘显示实验

6.4 可编程键盘/显示器接口——Intel 8279 Intel 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) 回复缓冲器、键盘去抖及控制 在键盘工作方式下,回复线作为行列式键盘的列输入线,相应的列输入信号称为回复信号,由回复缓冲器缓冲并锁存。在逐行列扫描时,回复线用来搜寻每一行列中闭合的键,当某一键闭合时,去抖电路被置位,延时等待10 ms后,再检查该键是否仍处在闭合状态。如不闭合,则当作干扰信号不予理睬;如闭合,则将该键的地址和附加的移位、控制状态等键

8279键盘和显示程序

8279键盘和显示程序 #include #include #include #define COM8279 XBYTE [0xF2FF] //定义8279控制口 #define DATA8279 XBYTE [0xF0FF] //定义8279数据口 #define uchar unsigned char #define uint unsigned int uint keyval //定义键内码传递参数uint time //定义延时参数 void delay(uint time) void key(void) void main() { delay(1300) //开机延时 COM8279 = 0xD2 //清除RAM和FIFO delay(1) EA=1 EX1=1 //开总中断,开外部中断1;IT1=1 //外部中断1选用下降沿COM8279=0x03 //8279键盘N键巡回,编码扫描,左端入口COM8279=0x2a //时钟分频设置,分频数为10 COM8279=0x70 //设置读显示命令 COM8279=0x90; //设置写显示命令 while(1) } void delay (uint time) //传递参数为time { uchar j

while (time--) //用time-1来进行循环 { for (j=100;j>0;j--) //用j来进行125次循环,大约8us } } } void intsvr1(void) interrupt 2 using 1 { keyval=DATA8279 key() } //按键确认程序 void key(void) { switch(keyval) { case 0xC3: //0号键赋值 { P0=0x3F; DATA8279=P0; break; } case 0xC2: //1号键赋值; { P0=0x06; DATA8279=P0; break; } case 0xC1: //2号键赋值; {

实验四 8279键盘显示实验

(0F000H)CS1 A0 (B2)2M VCC OE1 1 A1 2 A2 4 A3 6 A4 8 Y4 12 Y3 14 Y2 16 Y1 18 Y8 3 Y7 5 GND 10 Y6 7 Y5 9 A5 11 VCC 20 OE2 19 A6 13 A8 17 A7 15 SN74LS240P U40 OUTA0 27 OUTB0 31 OUTA1 26 OUTB1 30 OUTA2 25 OUTB2 29 OUTA3 24 OUTB3 28 DB0 12 BD 23 DB1 13 DB2 14 SL0 32 DB3 15 SL1 33 DB4 16 SL2 34 DB5 17 SL3 35 DB6 18 DB7 19 RL0 38 RL1 39 IRQ 4 RL2 1 RL3 2 CS 22 RL4 5 RD 10 RL5 6 WR 11 RL6 7 A0 21 RL7 8 CLK 3 SHIFT 36 RESET 9 CNTL/S 37 8279 U37 D0 D1 D2 D3 D4 D5 D6 D7 RST WR RD 8279 1 2 3 4 5 6 7 8 JP62 A 1 B 2 C 3 OE2A 4 OE2B 5 OE1 6 Y7 7 GND 8 Y6 9 Y5 10 Y4 11 Y3 12 Y2 13 Y1 14 Y0 15 VCC 16 SN74LS138N U39 VCC VCC 12345678 JP93 a b c d f g dp e CLK A0 INT OE1 1 A1 2 A2 4 A3 6 A4 8 Y4 12 Y3 14 Y2 16 Y1 18 Y8 3 Y7 5 GND 10 Y6 7 Y5 9 A5 11 VCC 20 OE2 19 A6 13 A8 17 A7 15 SN74LS240P U40 1 2 3 4 5 6 7 8 JP78 a b c d f g dp e VCC 1 2 3 4 5 6 7 8 9 10K R123 VCC CS 1 2 3 4 5 6 7 8 JP77 C D B A

8279键盘显示C程序

8279键盘和显示程序#include #include #include #defineCOM8279XBYTE [0xF2FF定义8279 控制口#defineDATA8279XBYTE [OxFOFF定义8279 数据口#define uchar unsigned char #define uint unsigned int uint keyval// 定义键内码传递参数 uint time// 定义延时参数 void delay(uint time) void key(void) void main(){delay (13OO)// 开机延时 COM8279 = 0xD2/4青除RAM 和FIFO delay (1) EA=1 EX1 = 1〃开总中断,开外部中断1; IT仁1〃外部中断1选用下降沿

COM8279=OxOO//8279键盘双键互锁,编码扫描,左端入口 COM8279=Ox12〃时钟分频设置,分频数为18 COM8279=0x70 COM8279=0x90; while (1)}void delay (uint time)// 传递参数为time{uchar j// 设置读显示命令 // 设置写显示命令 while (time--)// 用time-1 来进行循环{for (j=100;j>0;j--)//用j 来进行125次循环,大约8us}}} void intsvr1(void) interrupt 2 using 1{keyval=DATA8279 key()}〃按键确认程序 void key(void){switch(keyval){case 0xC3:{P0=0x3F; DATA8279=P0; break;}case 0xC2:{P0=0x06; DATA8279=P0; break;}case 0xC1: {//0 号键赋值 //1 号键赋值; //2 号键赋值; P0=0x5B; DATA8279=P0;

最新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 的译码信号,作为显示器和键盘的译码扫描. 键盘功能块:

单片机实验上机--实验二十一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类型;选择通信端口,测试串行口。 4、打开8279.ASM源程序,编译无误后运行程序,按阵列式键盘,6LED显示键值。 5、可把源程序编译成可执行文件,烧录到89C51芯片中 四、源程序 ORG 0 AJMP START ORG 16H START: ;设置8279工作状态 MOV DPTR,#07FFFH ;命令口 MOV A,#0D1H ;清除显示寄存器A组、B组的输出 MOVX @DPTR,A MOV A,#00H ;左端送入、8X8显示、双键锁定编码扫描 MOVX @DPTR,A MOV A,#2AH ;10分频 MOVX @DPTR,A MOV A,#0A0H ;不灭显示 MOVX @DPTR,A MOV A,#90H ;写入显示RAM,从0地址开始,地址自动加1 MOVX @DPTR,A MOV A,#50H ;读FIFO RAM,从0地址开始,地址自动加1 MOVX @DPTR,A MOV DPTR,#07EFFH ;数据口 MOV A,#0 ;不显示送RAM MOV R7,#8 AGAIN:MOVX @DPTR,A DJNZ R7,AGAIN NEXT: JNB IE0,$ ;等待键输入 CLR IE0 MOVX A,@DPTR ;读FIFO RAM中的按键代码 MOV DPTR,#KDT ;取七段码段码表首地址 MOVC A,@A+DPTR ;数字键代码转换为该数字的七段码 MOV DPTR,#07EFFH ;数据口 MOVX @DPTR,A ;写入显示RAM AJMP NEXT KDT: ;段码表 DB 3FH,06H,5BH,4FH,0,0,0,0 DB 66H,6DH,7DH,07H,0,0,0,0

单片机实验键盘显示

实验七8255 键盘显示实验 【实验目的】 1.熟悉8255与单片机的接线和I/O编程方法; 2.熟悉数码管的显示原理与编程; 3.熟悉8255扫描键盘与读取键值的编程。 【实验内容】 使用单片机、8255模块和数码管显示电路,编程实现在数码管上从右至左显示0-5,当有键按下时在数码管最右1位显示按键的键码。 【实验原理与设计】 1.硬件电路设计 本次实验使用实验箱上的E1、E3和F6模块电路。如图7.1所示。 E1 E3 F6 图7.1 实验箱 (1)8255模块(E3区) PA口作为位扫描口(键扫描口),PB口输出字形码,PC口作为键值读入口,与数码管显示电路和矩阵键盘模块电路(F6区)相应接口连接,8255的数据总线D0-D7、读(/RD)、写(/WR)、端口选择A0、A1和片选/CS已和单片机接好。 各端口地址如下: PA口:0FF28H;PB口:0FF29H;PC口:0FF2AH;控制口:0FF2BH 单片机与8255模块电路连接图如图7.2所示。

图7.2 单片机与8255的电路连接 (2)数码管显示电路(F6区) 实验箱上提供的数码管显示电路如图7.3所示。实验时需将数码管显示电路中的JLED与8255的PB口相连,JS与8255的PA口相连,JLED和JS分别位于E6区,同时E6区SW3、SW4和SW4红色拨码开关打在“OFF”位置。 图7.3数码管模块连接电路 (3)矩阵键盘模块电路(F6区) 实验箱上提供的矩阵键盘模块电路如图7.4所示,实验时将该电路中的JR(位于E6区)与8255的PC口相连。 图7.4矩阵键盘模块电路

2.程序设计 根据实验内容程序主流程图如图7.5所示。 图7.5 主程序流程图 (1)初始化 MOV A, #81H ;PA口(位扫描口)和PB口(字形码)做输出,PC口(键扫描口)做输入MOV DPTR, #0FF2BH ;实验箱接线决定8255的控制口地址为FF2BH MOVX @DPTR, A ;将命令字82H送给8255控制口确定各口工作方式 (2)显示数据子程序 显示数据子程序流程图如图7.6所示。 图7.6 显示子程序流程图

利用8279键盘显示后接口电路做做电子钟

利用8279键盘显示后接口电路做做电子钟 2007-01-29 23:08 ;系统晶振是 11.0592 MHz Z8279 EQU 0FF82H ;8279 状态/命令口地址 D8279 EQU 0FF80H ;8279 数据口地址 LEDMOD EQU 00H ;左边输入八位字符显示 ;外部译码键扫描方式,双键互锁 LEDFEQ EQU 2FH ;扫描速率 LEDCLS EQU 0C1H ;清除显示 RAM LEDWR0 EQU 80H ;设定的将要写入的显示RAM地址READKB EQU 40H ;读 FIFO RAM 地址 0 的命令字 ORG 0000H AJMP START ORG 001BH ;INT T1 入口地址 AJMP INT_T1 ORG 0040H START: MOV SP,#60H LCALL INIT8279 ;初始化8279 MOV R3,#0H ;时 MOV R2,#0H ;分 MOV R1,#0H ;秒 MOV R0,#0H ;10毫秒 MOV R6,#0FFH ;标志 MOV TMOD,#10H MOV TL1,#00H ;10毫秒的时间常数 MOV TH1,#0DCH LCALL DIS_mS SETB ET1 SETB EA ;允许中断 WAIT: LCALL GETKEY ;读键盘 CJNE A,#0FFH,CONT ;判断是否有键输入 MOV A,B CJNE A,#3CH,KEY_G ;输入键是'C',转CLEAR_T LCALL CLEAR_T KEY_G: CJNE A,#3AH,KEY_D ;输入键是'G',转START_T LCALL START_T KEY_D: CJNE A,#3DH,KEY_P ;输入键是'D',转STOP_T LCALL STOP_T KEY_P: CJNE A,#3BH,KEY_E ;输入键是'P',转SET_T LCALL SET_T KEY_E: CJNE A,#3EH,CONT ;输入键是'E',转MONITOR

单片机_键盘显示课程设计

课程设计任务书 学生姓名:易杨专业班级:电信0802 指导教师:曾刚工作单位:信息工程学院 题目:简易键盘与显示功能设计 初始条件: 具备数字电路的理论知识;具备单片机原理的理论知识 和实践能力;熟悉51单片机的CPU结构和指令系统;熟悉 相关常用接口电路的设计使用方法。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等 具体要求) 1、用并行口检测一组开关(4个)的状态,并用发光二极管 现实其当前的状态。 2、用并行口设计一键盘显示电路,按键数字1、2、 3、4, 要求当某个按键按下时,能现实该按键的值 时间安排: 二十二周一周,其中3天硬件设计,2天硬件调试 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要.............................................................................................................................. I 1 软件与硬件简介.. (1) 1.1 Proteus软件简介 (1) 1.2 AT89C51硬件简介 (1) 2 总体分析设计 (2) 2.1 电路结构分析 (2) 2.2 总体方案设计 (2) 2.3 总体电路图 (3) 3 单元电路设计 (4) 3.1键盘输入模块 (4) 3.2 按键监控模块 (4) 3.3 单片机 (5) 3.4 数码管模块 (5) 4 软件设计与仿真 (7) 4.1 软件流程图 (7) 4.2 系统程序代码 (7) 4.3 仿真结果 (9) 5 心得体会 (10) 参考文献 (11)

8279键盘显示芯片引脚图解及其功能

8279可编程设置型键盘/显示器 一.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)右边进入或左边进入。16位字节显示存储器。 二.8279引脚说明 <1>DB0~DB7:双向数据总线。在CPU与8279间做数据与命令传送。 <2>CLK:8279的系统时钟,100KHz为最佳选择。 <3>RESET:复位输入线。输入HI时可复位8279。 <4>CS:芯片选择信号线。当这个输入引脚为低电平时,可将命令写入8279或读取8279的数据。 <5>A0:缓冲器地址选择线。A0=0时,读写一般数据;A0=1时,读取状态标志位或写入命令。 <6>RD:读取控制线。RD=0时,8279输送数据到外部总线。

<7>WR:写入控制线。WR=0时,8279从外部总线接收数据。 <8>IRQ:中断请求。平常IRQ为LO,在键盘模式下,每次读取 FIFO/SENSOR RAM的数据时,IRQ变为HI,读取后转为LO;在传感器模式下,只要传感器一有变化,就会使IRQ变为HI,读取后转为LO。 <9>SL0~SL3:扫描按键开关或传感器矩阵及显示器,可以是编码模式(16对1)或解码模式(4对1)。 <10>RL0~RL7:键盘/传感器的返回线。无按键被按时,返回线为HI;有按键被按时,该按键的返回线为LO。在激发输入模式时,为8位的数据输入。 <11>SHIFT:在键盘扫描模式时,引脚的输入状态会与其它按键的状态一同储存(在BIT6),内部有上拉电阻,未按时为HI,按时为LO。 <12>CNTL/STB:在键盘扫描模式时,引脚的输入状态会与SHIFT以及其它按键的状态同一储存,内部有上拉电阻,未按时为HI,按时为LO。在激发输入模式时,作为返回线8位数据的使能引脚。 <13>OUTA0~OUTA3:动态扫描显示的输出口(高4位)。 <14>OUTB0~OUTB3:动态扫描显示的输出口(低4位)。 <15>BD:消隐输出线。

键盘显示接口芯片8279的应用

1.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:中断请求输出线,高电平有效。图 3.1 8279 引脚图 /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 键循回方式。 双键互锁方式:若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入 FIFO RAM 中。 N 键循回方式:一次按下任意个键均可被识别,按键值按扫描次序被送入 FIFO RAM 中。 (2)显示方式 8279 的显示方式又可分为左端入口和右端入口方式。 显示数据只要写入显示 RAM,则可由显示器显示出来,因此显示数据写入显示 RAM 的顺序,决定了显示的次序。 14

实验十二 8279键盘显示实验

实验十二 8279键盘显示实验(电子秒表) 一.实验要求 利用实验机上提供的8279键盘电路,数码显示电路,设计一个电子钟,用小键盘控制电子钟的启停及初始值的预值。 电子钟做成如下格式: XX XX XX XX 由左向右分别为: 时、分、秒、百分之一秒 1.C键:清除,显示00.00.00.00 2.A键:启动,电子钟计时 3.D键:停止,电子钟停止计时 4.B键:设置初值:由左向右依次输入预置的时、分、秒、百分之一秒值,同时应具有判断输入错误的能力,若 输入有错,则显示:00.00.00.00 按B键即可重新输入预置值: 5.E键:程序退出。 二.实验目的 1.进一步掌握8279键盘显示电路的编程方法。 2.进一步掌握定时器的使用和编程方法。 3.进一步掌握中断处理程序的编程方法。 三.实验电路及连线

CS8279接8700H。模块中的十个短路套都套在8279侧。 四.实验说明 8279通用接口芯片,根据应用需要可以在多种模式下工作,详见有关手册。

五.实验程序框图 主程序框图

SET_T子程序框图 GETWORD子程序框图 六.实验程序见: Z8279 EQU 08701H ;8279 状态/命令口地址

D8279 EQU 08700H ;8279 数据口地址 LEDMOD EQU 00H ;左边输入八位字符显示 ;外部译码键扫描方式,双键互锁 LEDFEQ EQU 2FH ;扫描速率 LEDCLS EQU 0C1H ;清除显示 RAM LEDWR0 EQU 80H ;设定的将要写入的显示RAM地址READKB EQU 40H ;读 FIFO RAM 地址 0 的命令字 ORG 0000H AJMP START ORG 001BH ;INT T1 入口地址 AJMP INT_T1 ORG 0040H START: MOV SP,#60H LCALL INIT8279 ;初始化8279 MOV R3,#0H ;时 MOV R2,#0H ;分 MOV R1,#0H ;秒 MOV R0,#0H ;10毫秒 MOV R6,#0FFH ;标志 MOV TMOD,#10H MOV TL1,#00H ;10毫秒的时间常数 MOV TH1,#0DCH LCALL DIS_mS SETB ET1 SETB EA ;允许中断 WAIT: LCALL GETKEY ;读键盘 CJNE A,#0FFH,CONT ;判断是否有键输入 MOV A,B CJNE A,#3CH,KEY_G ;输入键是'C',转CLEAR_T LCALL CLEAR_T KEY_G: CJNE A,#3AH,KEY_D ;输入键是'G',转START_T LCALL START_T KEY_D: CJNE A,#3DH,KEY_P ;输入键是'D',转STOP_T LCALL STOP_T KEY_P: CJNE A,#3BH,KEY_E ;输入键是'P',转SET_T LCALL SET_T KEY_E: CJNE A,#3EH,CONT ;输入键是'E',转MONITOR AJMP MONITOR CONT: CJNE R6,#0FFH,WAIT ;若无秒标志则循环LCALL DISPLAY ;显示时间 MOV R6,#0 ;清标志

显示和键盘流程图及程序

3.2 部分软件设计 3.2.3显示子程序 动态显示程序框图如图所示。显示程序的要点有两个:一是代码转换。因为直接驱动LED显示器的是字形码,而人们习惯的是0、1、2、…、F等字符,因此,必须将待显示的字符转换成字形码。转换用查表的方法进行。二是通过软件实现逐位轮流点亮每个LED。 为了实现代码转换,首先开辟一个显示缓冲区,将待显示的字符预先存放在缓冲区中。由于有4位LED显示器,故不妨假设显示缓冲区长度为4个字节。显 示缓冲区地址为DIS 0~DIS 3 ,DIS 单元与最左边一位LED相对应,DIS 3 单元与最 右边一位LED相对应。 程序清单如下: DIS: ORG 0500H MOV A,#00000011B MOV DPTR,#7F00H MOVX @DPTR,A MOV R0,#78H MOV R3,#7FH MOV A,R3 LD: MOV DPTR,#7F01H

MOVX @DPTR,A INC DPTR MOV A,@R0 ADD A,#0DH MOVC A,@ DPTR ACALL DLY MOV A ,R3 JNB A,R0 RR A,LD1 MOV R3,A INC R0 AJMP LD0 LD1: SJMP LD1 DSEG:DB 3FH,06H,5BH,4FH,66H,6DH 7DH,07H,7FH,6FH DLY: MOV R7,#02H DL: MOV R6,#0FFH DL1: DJNZ R6,DL1 DJNZ R7,DL RET 3.2.4键盘子程序 键盘扫描子程序框图如图 图3-4 键盘扫描子程序框图

键盘扫描子程序如下: KEY: ORG 0440H ; ACALL KS ;调用KS判别是否有键按下 JNZ K1 ;有键按下转移 ACALL DIR ;无键按下,调延时子程序AJMP KEY ; K1: ACALL DIR ;加长延时时间,消除键抖动ACALL DIR ; ACALL KS ;调用KS子程序,再次判别 有无键按下 JNZ K2 ;有键按下,转逐列扫描 AJMP KEY ;误读键,返回 K2: MOV R2,#0FEH ;首列扫描字送R2 MOV R4,#00H ;首列号送R4 K3: MOV DPTR,#PA ;A口地址送DRTR MOV A,R2 ; MOVX @DPTR,A ;列扫描字送8155A口 INC DPTR ;指向8155C口 INC DPTR ; MOVX A,@ DPTR ;读取行扫描值 JB ACC.0,L1 ;第0行无键按下,转查第1行 MOV A,#00H ;第0行有键按下,该行的行首键号#00H 送 A AJMP LK ;转求键号 L1: JB ACC .1,L2 ;第1行无键按下,转查第2行MOV A,#08H ;第1行无键按下,该行的行首键号 #08H送A AJMP LK ;转求键号 L2: JB ACC .2,L3 ;第2行无键按下,转查第3行MOV A,#10H ;第2行有键按下,该行的行首键号#10H 送 A AJMP LK ;转查键号 L3: JB ACC.3,NEXT ;第3行无键按下,转查下一列MOV A,#18H ;第3行有键按下,该行的行首键号#18H 送 A LK: ADD A,R4 ;形成键释放 PUSH ACC ;未释放,等待 K4: ACALL DIR ;键释放,弹出堆栈送ACC ACALL KS ;键扫描结束,返回 JNZ K4 ;修改列号

相关文档
最新文档