第8章键盘与数码管显示器接口电路
实验八、8155可编程并行IO扩展接口实验.
实验八、8155可编程并行I/O扩展接口实验一、实验目的1.熟悉8155并行接口芯片的基本工作原理及应用2.掌握单片机与8155的接口电路设计和编程二、实验设备1.仿真器2.8155可编程并行I/O扩展接口模块3.单片机最小系统模块4.数码管动态扫描显示模块5.矩阵式键盘模块三、实验要求连接单片机最小系统、8155扩展接口实验模块、数码管动态扫描显示模块、矩阵式键盘模块,要求在键盘按下时,8位LED动态显示器上最低位显示相应的字符,以前的各位字符向高位推进1位。
四、实验原理8155芯片内包含有256字节RAM,2个8位、1个6位的可编程并行I/O口,和1个14位定时器/计数器。
由于8155既具有RAM又具有I/O口,因而是单片机系统中最常用的外围接口芯片之一。
4.1引脚说明8155共40个引脚,采用了双列直插的封装,主要引脚功能如下:◆AD7—AD0:地址数据总线;单片机和8155之间的地址、数据、命令、状态信息都是通过它来传送的。
◆CE:片选信号线,低电平有效。
◆RD:存储器读信号线,低电平有效。
◆WR:存储器写信号线,低电平有效。
◆ALE:地址及片选信号锁存信号线,高电平有效。
在下降沿时将地址及片选信号锁存到器件中。
◆IO/M:IO接口与存储器选择信号线,高电平选择I/O,低电平选择存储器。
◆PA7—PA0:A口输出/输入线。
◆PB7—PB0:B口输出/输入线。
◆PC5—PC0:C口输出/输入或控制信号线,用作控制信号时其功能如下:◆PC0:A INTR(A口中断信号线)◆PC1:A BF(A口缓冲器满信号线)◆PC2:ASTB(A 口选通线)◆PC3:B INTR(B口中断信号线)图8-1 8155引脚与逻辑图◆PC4:B BF(B口缓冲器满信号线)◆PC5:BSTB(B 口选通线)表8-1 地址与寄存器映射◆TIMER OUT:定时器/计数器输出端;◆RESET:复位信号线。
◆8155引脚与逻辑如图8-1所示。
数码管显示电路的原理
数码管显示电路的原理
数码管显示电路通过控制电压信号的高低来驱动数码管的不同段进行显示。
数码管是由多个发光二极管组成的,每个发光二极管对应显示一个数字或符号。
数码管显示电路主要由以下几个部分组成:
1. 数字信号发生器:用来产生需要显示的数字或符号的电信号。
该信号可以通过逻辑门、计数器、微控制器等方式产生。
2. 译码器:将数字信号转换为控制数码管显示的信号。
译码器一般采用BCD码(二进制编码十进制)或者7段码来表示数字。
3. 驱动电路:将译码器输出的信号转换为适合驱动数码管的电压和电流。
驱动电路一般使用三极管、开关电路等来完成。
4. 数码管:由多个发光二极管(LED)组成,每个发光二极管对应一个数字或符号的显示段。
数码管的引脚连接到驱动电路上。
5. 电源电路:为整个数码管显示电路提供工作电压。
一般使用稳压电源或者适配器来提供稳定的直流电压。
工作原理如下:
当数字信号发生器产生需要显示的数字或符号的电信号时,该
信号经过译码器转换为对应的亮灭控制信号,然后通过驱动电路产生适合数码管的控制电压和电流。
驱动电路按照控制信号的要求,通过对应的引脚将控制信号传递给数码管。
这样,数码管的不同段就会根据控制信号的高低来亮灭,从而显示出对应的数字或符号。
整个数码管显示电路在工作时,可以通过改变数字信号的输入来实现不同数字或符号的动态显示。
经过适当的控制和调节,数码管显示电路可以显示出各种数字、字母、符号等。
单片机实验报告——矩阵键盘数码管显示
单片机实验报告信息处理实验实验二矩阵键盘专业:电气工程及其自动化指导老师:***组员:明洪开张鸿伟张谦赵智奇学号:152703117 \152703115\152703118\152703114室温:18 ℃日期:2017 年10 月25日矩阵键盘一、实验内容1、编写程序,做到在键盘上每按一个键(0-F)用数码管将该建对应的名字显示出来。
按其它键没有结果。
二、实验目的1、学习独立式按键的查询识别方法。
2、非编码矩阵键盘的行反转法识别方法。
3、掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。
4、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。
5、掌握利用Keil51软件对程序进行编译。
6、会根据实际功能,正确选择单片机功能接线,编制正确程序。
对实验结果能做出分析和解释,能写出符合规格的实验报告。
三、实验原理1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先向端口写入“1”。
2、用查询方式检测按键时,要加入延时(通常采用软件延时10~20mS)以消除抖动。
3、识别键的闭合,通常采用行扫描法和行反转法。
行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。
行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。
然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。
这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。
由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。
51单片机键盘数码管显示(带程序)
期中大作业学院:物理与电子信息工程学院课题:【利用8255和51单片机实现数码管显示按键数值的程序】要求:【4*4矩阵键盘,按0到15,数码管上分别显示0~9,A~F】芯片资料:8255:8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
8255特性:1.一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口。
2.具有24个可编程设置的I/O口,即3组8位的I/O口,分别为PA口、PB口和PC 口。
它们又可分为两组12位的I/O口:A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3)。
A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O三种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.引脚说明RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:芯片选择信号线,当这个输入引脚为低电平时,即CS=0时,表示芯片被选中,允许8255与CPU进行通讯;CS=1时,8255无法与CPU做数据传输。
RD:读信号线,当这个输入引脚为低电平时,即CS=0且RD=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:写入信号,当这个输入引脚为低电平时,即CS=0且WR=0时,允许CPU将数据或控制字写入8255。
键盘和显示器接口
典型非编码键盘结构
非编码键盘大都采用按行、列排列的矩阵开关结 构,这种结构可以减少硬件和连线。
矩阵键盘接口
行扫描法识别按键
行扫描法是采用步进扫描方式,CPU通过输出口把一 个“步进的0”逐行加至键盘的行线上,然后通过输入口 检查列线的状态。由行线列线电平状态的组合来确定是 否有键按下,并确定被按键所处的行、列位置。
当按键开关的触点闭合或断开到其稳定,会产生一个短暂的抖 动和弹跳,如下图所示,这是机械式开关的一个共同性问题。 消除由于键抖动和弹跳产生的干扰可采用硬件方法,也可采用 软件延迟的方法。
采用RS触发器实现硬件反弹跳
当键数较多时经常用软件 延时的方法来反弹跳,如 流程图所示。当检出有键 按下后,先执行一个反颤 延时20ms的子程序,待前 沿弹跳消失后再转入键闭 合CLOSE子程序。然后再判 断此次按键是否松开,如 果没有,则进行等待。若 已松开,则又执行一次延 时20ms的子程序以消除后 沿弹跳的影响,再去检测 下次按键的闭合。
线反转法识别按键
线反转法是藉助程控 并行接口实现的,比 行扫描法的速度快。 如图所示为一个4×4 键盘与并行接口的连 接。并行接口有一个 方向寄存器和一个数 据寄存器,方向寄存 器规定了接口总线的 方向,寄存器的某位 置“1”,规定该位 口线为输出。寄存器 的某位置“0”,规
定该位口线为输入。
线反转法的具体操作分两步
+5V
a b c d e f g dp
(b)
使用LED显示器时,要注意区分共阴极和共阳 极两种不同的接法。为了显示数字或字符,必须 对数字或字符进行编码,简称段码。七段数码管 加上一个小数点,共计8段。因此为LED显示器提 供的段码正好是一个字节。
实际使用中,通过单片机向LED显示接口输 出不同段码,即可显示相应的数字。
第8章作业-单片机原理与应用及C51程序设计(第4版)-谢维成-清华大学出版社
;查表取得段选码
3
MOV P0,A
;字段码从 P0 口输出
ACALL DL1
;调用 1ms 延时子程序
DEC R0
;指向缓冲区下一单元
MOV A,R3
;位选码送累加器 A
JNB ACC.0,LD1 ;判断 8 位是否显示完毕,显示完返回
RR A
;未显示完,把位选字变为下一位选字
MOV R3,A
;修改后的位选字送 R3
LOOP: MOV @R0,A
INC R0
INC A
DJNZ R2,LOOP
MOV TMOD , #10H
MOV TH1 , #(65536-20000)/256
MOV TL1 , #(65536-20000)%256
SETB EA
SETB ET1
SETB TR1
LOOP1作于方式 1 实现 20ms 周期性定时,20ms 定时到调用显示函数一 遍,定时器方式控制字为 10H,系统时钟为 12MHz,初值为:65536-20000
;设 8 个数码管的从左到右显示缓冲区为片内 RAM 的 50H~57H 单元)
ORG 0000H LJMP MAIN
2
工作过程可分为两步:第一步是 CPU 首先检测键盘上是否有键按下;第二步是识别哪 一个键按下。
(1) 检测键盘上是否有键按下的处理方法是:将列线送入全扫描字,读入行线的状态 来判别。
(2) 识别键盘中哪一个键按下的处理方法是:将列线逐列置成低电平,检查行输入状 态,称为逐列扫描。
10. 对于数码管动态显示,在很多实际的单片机应用系统中,为了实现较好的显示效 果,通常是把动态显示过程用定时扫描方式来实现,处理思想如下:用定时器实现 20ms 周 期性定时,定时时间到动态显示一遍。参照书上图 8.9 的电路和内容,把数码管显示改成 定时扫描方式,用汇编语言编写相应程序。
ATmega系列单片机原理及应用第8章ATmega硬件和实用程序课件
int main(void) {
io_init(); while(1) {
get_key(); } }
• void get_key(void)//键盘扫描子程序
•{
•
unsigned char tem;
•
int a[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
•
tem=PINC&0x03;// 读 键 盘 扫 描 信 号 PC0 及 PC1 状 态
(只取PC0、PC1),屏蔽高六位
if(tem!=0x03)//若PC不等于0x03,则有按键按下 { delay_1ms();//延时消抖动 tem=PINC&0x03;//再读键盘 if(tem!=0x03)//确认按键按下 { if(tem==0x01) //如为0x01则表示按下的为接
8.3.2 ATmega单片机与12864LCD液晶器的连接
图8.18 ATmega16和LCM12864连接图
8.3.3 串行接口数据传输描述 当PSB 脚接低电位(模块背面S/P 的短路电阻在
“S”侧) ,模块将进入串行模式在串行模式下将使 用二条传输线作数据的串行传送,主控制系统将配合 传输同步时钟(CLK)与接收串行数据线(SID) ,来完 成串行传输的动作。
器和驱动器的IC芯片,适用于各种RS—232C和V.28/ V.24的通信接口。MAX232芯片内部有一个电源电压变 换器,可以把输入的+5V电源电压变换成为RS—232C 输出电平所需的±10V电压。所以,采用此芯片接口 的串行通信系统只需单一的+5V电源就可以了。对于 没有±12V电源的场合,其适应性更强。加之其价格 适中,硬件接口简单,所以被广泛采用。
中职教育-《89C51单片机实用教程》课件:第8章 89C51单片机并行输入输出(4).ppt
电路中, 将A15 (P2.7)、A14 (P2.6)、A13 (P2.5)连接 到三-八译码器74LS138的输入端,译码输出信号Y2用 作8255A的片选输入信号(CS)。
又将A12 (P2.4)、A11 (P2.3)连接到8255A的A1、A0 端,得到8255A的端口地址,如表所示。
MOV A,R5
MOV DPTR,#5000H : 8255A的C口地址
MOVX @DPTR,A
: 送LED位选码
LCALL DELAY
;延时1ms
INC R1
;修改缓存区地址指针
MOV A,R5
RL A
MOV R5,A
;修改位选指针R5
DJNZ R2,DISP ;6位显示完否?未完继续
LJMP LED
⑵. LED段码(字型码)查表 显示缓冲区中保存二进制数据, LED显示要输出段
码(字型码)。要将二进制数据译码为LED字型码。 译码方法一种是硬件译码, 采用专用的译码器电路。 另一种是软件译码, 在ROM中将段码作成一个表,
利用查表法查出不同字符的相应段码。简单,常用。 本例采用软件译码 (查表) 方法,用查表指令进行。
6位动态扫描显示状态
8.4.2 8255A连接的LED数码管显示器实例
1. 89C51和8255A的连接 89C51通过系统总线和8255A连接,其中: 89C51的P0口为8位双向数据总线,和8255A的
D0-D7相连。 89C51的P0口分时输出低8位地址信号A0-A7,
在本例中,没有使用低位地址。 89C51的P2口输出高8位地址信号A8-A15。 89C51的P3口中的P3.7 (RD)、P3.6 (WR)输出
单片机原理及其接口技术--第8章 MCS-51单片机系统接口技术
第二步是再识别是哪一个键按下。
键盘中哪一个键按下是由列线逐列置低电平后,检查行输 入状态,称为逐列扫描。其方法是:从列口第0位开始,依次输出
“0”,置对应的列线为低电平,然后读入行线状态,如果全为"1", 则所按下之键不在此列;如果不全为"1",则所按下的键必在此列, 而且是与0电平行线相交的交点上的那个键。
除抖动、排除多次执行键功能操作等功
能,可参考查询工作方式键盘程序。
主目录 上一页 下一页 结 束
单片机原理及其接口技术
8.1.4 键盘接口应用实例 例8.1 独立式键盘接口应用实例:电路原 理图如图所示,要求编程实现当按下任一键时,
数码管显示对应的键值。
主目录
上一页
下一页
结
束
单片机原理及其接口技术
的办法计算。
主目录
上一页
下一页
结
束
单片机原理及其接口技术 2) 定时扫描工作方式
开 始
定时扫描方式程序框图
键盘上有键闭合否
Y N KM=1 0 → KM 0 → KP Y N
Y 1 → KM
KP=1 N 查询键码 1 → KP
做两次查询,都有 键后进行键码计算。 主目录 上一页
返 回
下一页
结
束
3) 中断工作方式 单片机原理及其接口技术
1.独立式按键 2.行列式键盘
主目录
上一页
下一页
结
束
1. 独立式按键 单片机原理及其接口技术
(1).独立式按键接口结 构 一般用排阻进行上拉。
独立式按键的接口电路示意图 主目录 下一页 (b) 查询方式 结 束 (a) 中断方式 上一页
2.独立式按键的软件结构 单片机原理及其接口技术 下面是查询方式的键盘程序。 K0~K7为功能程序入口地址标号 PROM0~PROM7分别为每个按键的功能程序
单片机课程设计报告-电子时钟--完结篇
⑴ -芯片电源,接+5V;
⑵GND-接地端;
注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速
度没这么快而已,在某一个瞬间单片机引脚电压
仍保持在0或者5v。
2
XTAL1、XTAL2 -当使用芯片内部时钟时,此二引线用于外界石英晶体振荡器和电容。当使用外部时钟时,用于接外部时钟脉冲信号。
关键字:单片机;子时钟;键盘控制。
一
单片计算机即单片微型计算机。(Single-Chip Microcomputer),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬件的能力。
三、总体方案及硬件设计
简易电子钟硬件系统的设计,关键是其键盘、显示器接口电路的设计,本设计采用直接利用单片机AT89C52的并行I/O口构成电子钟的键盘、显示接口电路,其硬件系统原理框图如图3-1所示,主要包括单片机、时钟电路。复位电路。键盘及显示接口电路。
四
AT89C51有40个引脚,按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。
定时器/计数器T0用于时间计时。选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。
键盘输入与LCD显示原理
200Ω×8
g
d
dp
b
e
c
8155
0
1
2
3
4
a 5
f
6
PA0~PA7
电路的接法决定了必须采用逐位扫描显示方式。 即从段选口送出某位LED的字型码,然后选通该位LED, 即从段选口送出某位LED的字型码,然后选通该位LED, 并 保持一段延时时间。然后选通下一位,直到所有位扫描完。
要注意的两个问题:
1.字型码通常通过查表指令MOVC来求得. 1.字型码通常通过查表指令MOVC来求得. 2.换位显示时通常要加一段程序使所有的LED全灭. 2.换位显示时通常要加一段程序使所有的LED全灭.
com
com
例:模拟产品计数显示电路
段 显
编 程
ORG 1000H STAR:MOV TMOD,#60H ;定时器T1工作在方式2计数 MOV TH1,#00H ;T1置初值 MOV TL1,#00H MAIN:MOV P1,#0C0H ;数码管显示0 DISP:JB P3.3,DISP ;监测按键信号 ACALLDELAY ;消抖延时 JB P3.3,DISP ;确认低电平信号 DISP1:JNB P3.3,DISP1 ;监测按键信号 ACALLDELAY ;消抖延时 JNB P3.3,DISP1 ;确认高电平信号 SETB TR1 ;启动计数器 DISP2:MOV A,TL1 MOVC A,@A+DPTR ;查表获取数码管显示值 MOV P1,A ;数码管显示计数值 CJNE A,#8E,DISP2 LJMP STAR TAB:0C0H,0F9H,0A4H … … DELAY:MOV R2,#14H DELAY1:MOV R3,#0FAH DJNZ R3,$ DJNZ R2,DELAY1 RET END
第8章 串并行通信
微型计算机各种接口框图
微机接口电路图
2.什么是I/O接口(电路)?
I/O接口是位于系统与外设间、用来协助 CPU实现CPU与外设之间的数据传送和 控制任务的逻辑电路 PC机系统板的可编程接口芯片、I/O总 线槽的电路板(适配器)都是接口电路
CPU
接口 电路
I/O 设备
3.为什么需要I/O接口(电路)?
数据端口
• 用于中转数据信息。一种情况是CPU通过数据总线,将待传送 给外设的数据先传送到数据端口,然后由I/O设备通过与I/O 接口电路相连接的数据线取得该数据 • 另一种情况是I/O设备首先将输入数据锁存于数据端口,然后, CPU通过数据端口将该数据读入CPU中。数据端口一般既有输 出寄存器(或称输出锁存器),又有输入寄存器(或称输入 锁存器)
一、统一编址
从内存空间划出一部分地址空间留给I/O设备编址,CPU把
I/O端口所指的寄存器当作存储单元进行访问,直接用访问内存 的指令访问I/O寄存器,这种I/O端口的编址方式被称之为统一
编址,或称为存储器映像的I/O编址方式。
统一编址优缺点 优点:不需要设立专门的I/O指令,用访问内存的指令就可 以访问外设,指令类型多,功能齐全,还可以对端口进行算术 运算,逻辑运算以及移位操作等。I/O端口空间不受限制 缺点:是I/O端口占用了内存空间,减少了内存容量
住址的总 线 地址总线
READY
M/IO
图8.2 查询式输入接口电路
WR
条件传送方式
数 据 锁 存 器
选通信号
数据总线
WR 地址 总线
输 出译码
Q
R
D +5V
RD M/IO
状 态 寄 存 器 图8.3 查询式输出的接口电路
第8章 输入输出方法及常用的接口电路
A1 A0 00~10 00~10 11
RD
0 1 1
WR
1 0 0
CS
0 0 0
操 作 A口、B口、C口→数据总线(读操作) 数据总线→A口、B口、C口(写操作) 数据总线→控制寄存器(写操作)
表8.2 8255A端口选择及操作功能表
A1 0 0 1 0 0 1 1 × 1 × A0 0 1 0 0 1 0 1 × 1 ×
0 0 0 0 0 0 0 1 0 0
输入操作(读)
输出操作(写)
断开功能
3.A组和B组控制电路 作用:接收来自CPU的读/写控制部分的信号和CPU送 入的控制字,然后分别决定各端口的功能。 ①A组控制电路控制端口A和C的高4位(PC7~PC4); ②B组控制电路控制端口B和C的低4位(PC3~PC0)。 ③根据控制字对端口C的某位实现“置0”或“置1”的操作。 4.数据总线缓冲器
2.状态端口 状态端口用于暂存反映外部设备工作状态的信息。 输入时,CPU应检测外设欲输入的信息是否准备就 绪,如果已准备好,则CPU可以读入信息,否则CPU等 待“就绪”信号的出现后再读入; 输出时,CPU应检测外设是否已处于准备接收状态, 即外设为“空”状态,若是“空”状态,则CPU输出数 据至外设。若外设处于“忙”状态,则CPU不能向外设 输出信息。这种“空”、“忙”、“就绪”均为状态信 息。 3.控制端口
图8.1 主机通过接口与外设相连
8.1.2 基本I/O接口 输入接口电路最基本的功能是三态缓冲,即通过一 组三态缓冲器保证任意时刻仅允许被CPU选中的设备经 由接口与CPU通信; 输出电路最基本的功能是锁存数据,保证外设能够 正确接收到信息。 1.基本输入接口 三态门电路是起缓冲和隔离作用的。只有当CPU选 中此接口即三态门选通时,才允许选定的输入设备将数 据送至系统数据总线,而其他没有选中的输入设备,此 时相应的接口三态门“关闭”,从而达到与数据总线隔 离的目的。
单片机原理及应用教程
LOOP: LOOP1:
ORG 0000H MOV P3,#00H SETB STAR ; 启动A/D CLR STAR JNB EOC,LOOP1 ; 转换结束? MOV A,ADB ; 读转换数据 MOV B,#5
DIV AB ; ÷5标度变换 MOV B,#10 DIV AB ; ÷10十进制转换 MOV DPTR,#0100H MOVC A,@A+DPTR ; 查段码 MOV XSL,A ; 输出低位 MOVC A,@A+DPTR ANL A,#7FH ; 加小数点 MOV XSH,A ; 输出高位 AJMP LOOP ORG 0100H DMB:DB C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H
图8-26 简易5V直流数字电压表硬件电路图
2. 软件流程图及程序 应用程序如下: XSH EQU XSL EQU ADB EQU STAR EQU EOC EQU
P0 P2 P1 P3.0 P3.1
; 显示高位输出口 ; 显示低位输出口 ; ADC0809数据端口 ; 启动线 ; A/D转换结束状态 线
2. 矩阵式键盘接口及工作原理 当按键数较多时,为节பைடு நூலகம்I/O口线和减少引线,常将其按矩 阵方式连接。每条行线与列线的交叉处通过一个按键来连 通,则只需N条行线和M条列线,即可组成具有NM个按键 的键盘。其连接形式如图8-2所示。
图8-1 开关式键盘
图8-2 矩阵键盘连接形式
8.1.4 键盘接口扩展设计 当键盘的按键较多或单片机的I/O端口较紧张时,就需要通 过外部扩展来实现键盘的功能。通常通过8255、8155等并 行接口芯片,或通过单片机的串行口进行键盘的扩展,也 可通过专用键盘、显示接口芯片如8279进行键盘扩展。 1. 8031经8155扩展键盘 经 扩展键盘 图8-4为4×8键盘,经8155与单片机相连,键扫描子程序框 图同图8-3。
单片机键盘显示接口电路设计
单片机键盘显示接口电路设计设计单片机键盘显示接口电路,需要考虑到键盘输入与显示输出两个方面。
以下是一个简单的设计示例,供参考:键盘通常采用矩阵键盘连接电路的方式,通过扫描矩阵的方式读取键盘输入信息。
以下是矩阵键盘接口电路的设计流程:1.确定键盘的规格和类型:键盘一般有正方形、矩形、圆形等几种形状,需要根据键盘的规格和类型选择适合的扫描方式。
2.确定键盘的逻辑矩阵大小:根据键盘的布局和规格,确定键盘的逻辑矩阵的行和列数,例如4行4列。
3.确定键盘的连接方式:键盘的连接方式一般有行列扫描、列行扫描、行列+列行扫描等几种方式,需要根据键盘的输出信号特点和单片机的输入要求进行适当的选择。
4.设计按键输入的译码电路:将键盘的输出信号通过译码电路解码成易于读取的二进制数,以便单片机的输入端口读取。
显示输出接口电路设计一般有两种方式:数码管和液晶显示。
1.数码管显示电路设计:数码管是通过控制各个数码管的段选和位选,实现数字或字符的显示。
以下是数码管显示电路的设计流程:a.确定显示的数字或字符类型:根据设计需求,确定要显示的数字或字符类型,例如整数、小数、字母等。
b.确定数码管的位数和类型:根据显示需求,确定数码管的位数和类型,有共阴数码管和共阳数码管两种类型,需要选择适合的数码管。
c.设计数码管的译码电路:根据数码管的类型和位数,设计数码管的译码电路,将输入的数字或字符转换为控制各个数码管的段选和位选的电信号。
2.液晶显示电路设计:液晶显示器是一种常见的显示设备,通过控制液晶的极性来实现图形和字符的显示。
以下是液晶显示电路设计的流程:a.确定显示的内容类型:根据设计需求,确定要显示的内容,例如字符、图像等。
b.选择适合的液晶显示器:根据显示的内容和要求,选择适合的液晶显示器,有字符型液晶显示器和图形型液晶显示器两种类型。
c.设计液晶的驱动电路:根据液晶显示器的类型和特性,设计液晶的驱动电路,将输入的数字或字符转换为控制液晶的电信号。
第8章 显示接口设计
8.2.1
LCD显示器的特性
(1)低压微功耗。工作电压只有3~5V,工作电流只有几个 微安。 (2)平板型结构。LCD显示器是由两片平行玻璃组成的夹层 盒,面积大小可定,适合大批量生产,安装时占用位置小。 (3)被动显示。LCD本身不发光,而是靠调制外界光进行显 示的。因此适合人的视觉习惯,不会使人眼疲劳。 (4)显示信息量大。LCD显示器,其像素可以做得很小,相 同面积上可容纳更多信息。 (5)易于彩色化。 (6)没有电磁辐射。在其显示期间不会产生电磁辐射,对环 境无污染,有利于人体健康。
2、 ZY12864D模块的内部结构与外部接口引脚
8.5
ZY12864D图形点阵液晶显示器
图8-25 液晶显示器与单片机接口
8.6
实践训练—LED显示器的使用
显示器是单片机应用系统的重要组成设备,其常用的显示 设备有LED、LCD和LEC等。LED显示器由若干个发光二极管 组成,当发光二极管导通时,相应的一个笔画或点就发光,控 制相应的发光二极管导通显示出对应的字符。LED显示装置广 泛使用在各类机电产品中,也是大型显示装置如十字路口交通 灯、篮球场记分牌和立体车库显示器的基础装置,其区别只是 在于驱动电路的不同。采用定时器中断的方式进行计数是一种 内中断方式,也可以将其改变为外中断方式来进行外部事件的 计数。
8.1
LED显示器及其接口
图8-1 七段LED数码显示器
8.1
LED显示器及其接口
图8-2 常见数码管实物图
8.1
LED显示器及其接3 3位静态LED显示
8.1.2
动态显示方式
图8-4 动态显示LED数码管连接方式
8.2
液晶显示器(LCD)概述
LCD(Liquid Crystal Display,液晶显示器)以其功耗低、 体积小、重量轻、超薄型等诸多其他显示器件所无法比拟的优 点,在袖珍式仪表和低功耗系统中,得到越来越广泛的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 独立式按键
结构如下图所示,其特点是每个按键单独占用 一根I/O口线,每个按键工作不会影响其他I/O口 线的状态。多用于所需按键不多的场合。可采用 JNB(或JB)来查询哪一个按键按下,并转向相应的 功能处理程序。
JNB P1.0, JNB P1.1, JNB P1.2, JNB P1.3, JNB P1.4, JNB P1.5, JNB P1.6, JNB P1.7, A0 ;如P1.0键按下,就跳到A0 A1 ;如P1.1键按下,就跳到A1 A2 ;如P1.2键按下,就跳到A2 A3 ;如P1.3键按下,就跳到A3 A4 ;如P1.4键按下,就跳到A4 A5 ;如P1.5键按下,就跳到A5 A6 ;如P1.6键按下,就跳到A6 A7 ;如P1.7键按下,就跳到A7
; ; ; ;
左移 右移 闪烁 流水追逐
说明:本例中,根据所按下的键输入不同的常数表地址到DPTR,然后再调用 显示子程序(DPTR为DISP程序的入口条件),从而根据不同的参数控制发光二 极管的变化规律。显然通过改变常数表可任意设定发光规律,可以试一下。通 过以上两个实例可以看出独立式键盘应用的特点:识别键盘比较容易,编程也 比较简单,很适合于功能键较少的单片机应用系统。但每一个按键上用一根口 线,当按键较多时(超过8个)应采用矩阵式键盘。
开始 有键按下否? 否 调用6ms延时子程序 是
调用12ms延时子程序 否 有键按下否? 是 判闭合键,编码入栈保护 闭合键释放否? 是 编码A 返回
Байду номын сангаас
否
键盘扫描子程序如下:(8155的A口、B口、C口和控制口地址分 别为7F00H、7F01H、7F02H、7F03H,设8155已在主程序中 初始化。)
ORG
0000H MOV SP, #60H MOV P2, #00H MOV P1, #0FH START: JNB P1.0, A0 ; 如P1.0键按下,就跳至A0 JNB P1.1, A1 ; 如P1.1键按下,就跳至A1 JNB P1.2, A2 ; 如P1.2键按下,就跳至A2 JNB P1.3, A3 ; 如P1.3键按下,就跳至A3 SJMP START ********** 左移 ******************************* A0: MOV DPTR, #TAB ; 左移常数表首地址送DPTR ACALL DISP SJMP START ********* 右移 ******************************** A1: MOV DPTR, #TAB1 ; 右移常数表首地址送DPTR ACALL DISP SJMP START ********* 闪烁 ******************************** A2: MOV DPTR, #TAB2 ; 闪烁常数表首地址送DPTR ACALL DISP SJMP START
3. 键盘设计应注意的问题
机械式按键在按下或释 放时,由于机械弹性作 用的影响,通常伴随有 一定时间的触点机械抖 动,然后其触点才稳定 下来。其抖动过程如右 图所示,抖动时间的长 短与开关的机械特性有 关,一般为510ms。
键按下
前沿抖动
后沿抖动
闭合 稳定
在触点抖动期间检测按键的通与断状态,可能 导致判断出错,即按键一次按下或释放被错误 地认为是多次操作。系统设计中如果开关脉冲 是作为外部中断触发信号或要对开关脉冲进行 计数时,这种情况是不允许出现的。 为了克服按键触点机械抖动所致的检测误判, 必须采取去抖动措施,可从硬件、软件两方面 予以考虑。在键数较少时,可采用硬件去抖; 而当键数较多时,采用软件去抖。
软件上采取的措施是在检测到有按键按 下时,执行一个10ms左右(具体时间应视 所使用的按键进行调整)的延时程序,再 确认该键电平是否仍保持闭合状态电平, 若仍保持闭合状态电平,则确认该键处 于闭合状态;同理,在检测到该键释放 后,也应采用相同的步骤进行确认,从 而消除抖动的影响。
独立式键盘应用实例
【例2】 信号灯控制电路如下图所示,其 功能是当按下不同的键时发光二极管有 不同的亮灭规律。按1号键LED从左到右 依次亮,按2号键从右到左依次亮,按3 号键闪烁,按4号键呈流水追逐效果。
解:电路图中P1口分别接了4个开关,每个开关 都有相对应的功能,当某一开关闭合时,相应 的口线变为低电平,而其他口线依然为高电平, 因此,可以用4条JNB指令对开关状态进行检测。 如果某一按键按下,则跳转执行其所对应的控 制功能。八个发光二极管经74LS04接P2口,主 要因单片机的驱动能力较差,故用74LS04来加 大驱动能力。P2口输出控制信号控制发光规律。 程序设计流程图如下图所示。
在硬件上可采用在键输出端加R-S触发器(双稳态触发 器)或单稳态触发器构成去抖动电路,如下图所示是 一种由R-S触发器构成的去抖动电路,当触发器翻转 时,触点抖动不会对其产生任何影响。键盘输出经双 稳态电路之后变为规范的矩形方波。
1k
+5V a S GN D 1k b
1 2 UA 3
Q
4 5 UB 6
2. 矩阵式键盘
单片机系统中,若使用按键较多时,通常采用矩阵 式键盘,其结构如下图所示。由图可知,一个4×4的行、 列结构,可以构成一个含有16个按键的键盘,节省了很 多I/O口。 控制方式:先判断是否有键按下。 如有,再判断哪一键按下,并得到 键码值,然后根据键码值转向不同 的功能程序。 矩阵式结构键盘比独立式按键要复 杂,识别也要复杂一些。最常用的 识别方法是键盘扫描法。
矩阵式键盘应用实例 1、程序扫描方式
键盘处理程序的功能: 1判断有无键按下。由PA口输出00H,再将 PC口的状态读入,若PC0-PC3全为1, 说明无按键按下; 2消除抖动; 3求键号; 4等待闭合键的释放。
这种方式是直接在主程序中插入键盘检测子程序,主程序每执行 一次则键盘检测子程序被执行一次,对键盘进行检测一次,如果没有 键按下,则跳过键识别,直接执行主程序;如果有键按下,则通过键 盘扫描子程序识别按键,得到按键的编码值,然后根据编码值进行相 应的处理,处理完后再回到主程序执行。键盘扫描子程序流程如图 。
KEY1:ACALL KS1 JNZ LK1 KEY2:ACALL TM6ms AJMP KEY1 LK1: ACALL TM12ms ACALL KS1 JNZ LK2 AJMP KEY2 LK2: MOV R2,#0FEH MOV R4,#00H LK4: MOV DPTR,#7F00H MOV A,R2 MOVX @DPTR,A INC DPTR INC DPTR ;调用判断有无键按下子程序 ;有键按下时,(A)≠0转消抖延时 ;无键按下返回 ;调12 ms延时子程序 ;查有无键按下,若有则真有键按下 ;键(A)≠ 0逐列扫描 ;不是真有键按下,返回 ;初始列扫描字(0列)送入R2 ;初始列(0列)号送入R4 ;DPTR指向8155PA口 ;列扫描字送至8155PA口 ;DPTR指向8155PC口
NEXT:INC R4 ;准备扫描下一列,列号加1 MOV A,R2 ;取列扫描字送累加器A JNB ACC.7,KEND ;判断8列扫描否?扫描完返回 RL A ;扫描字左移一位,变为下一列扫描字 MOV R2,A ;扫描字送入R2保存 AJMP LK4 ;转下一列扫描 KEND: AJMP KEY1 KS1: MOV DPTR,#7F00H ;DPTR指向8255的PA口 MOV A,#00H ;全扫描字→A MOVX @DPTR,A ;全扫描字送往8255的PA口 INC DPTR ;DPTR指向8255的PC口 INC DPTR MOVX A,@DPTR ;读入PC口行状态 CPL A ;变正逻辑,以高电平表示有键按下 ANL A,#0FH ;屏蔽高4位,只保留低4位行线值 RET ;出口状态:(A)≠0时有键按下
第二节键盘与数码管显示器接口电路
1 键盘接口电路 2 数码管显示器 3 LCD显示器及其应用
一、键盘接口电路
键盘是单片机应用系统中人机交流不可缺少的 输入设备。 键盘由一组规则排列的按键组成,一个按键实 际上是一个开关元件。键盘通常使用机械触点 式按键开关,其主要功能是把机械上的通断转 换为电气上的逻辑关系(1和0)。 常见的种类有:独立式按键和矩阵式键盘。
******** 流水追逐 ***************************** A3: MOV DPTR, #TAB3 ; 流水追逐常数表首地址送DPTR ACALL DISP SJMP START ********* LED显示控制子程序 ***************** 功能:根据常数表控制P2口的LED发光 入口:常数表的地址送到DPTR 出口:无 ******************************************** DISP: CLR A MOVC A, @A+DPTR CJNE A,#0AH,LOOP1 RET LOOP1: MOV P2,A MOV R3,#20 ACALL DELAY INC DPTR JMP DISP
【例1】 监视某开关S,用发光二极管LED显示开 关状态,如果开关闭合,LED亮;如果开关断 开,LED灭。 解:设计电路图如下图所示。开关接P1.1,当开 关断开时,P1.1为+5V,对应数字量为“1”; 开关闭合时,P1.1为0V,对应数字量为“0”, 这样就可以用JB指令对开关状态进行检测。 P1.0输出“1”,LED亮。当P1.0输出“0”,LED 两端电压相等,熄灭。 参考程序如下:
DELAY: MOV R4,#20 D1: MOV R5,#248 DJNZ R5, $ DJNZ R4, D1 DJNZ R3, DELAY RET TAB : DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH,0AH TAB1: DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH,0AH TAB2: DB 0FFH,00H,0FFH,00H,0FFH,00H,0FFH,00H,0AH TAB3: DB 01H,02H,06H,08H,10H,20H,60H,80H,0AH END