第五章-单片机键盘及显示器接口技术
- 格式:ppt
- 大小:2.13 MB
- 文档页数:76
单片机原理及接口技术单片机的开关检测键盘输入与显示的接口设计单片机是一种集成了中央处理器、存储器和输入/输出接口的微型电子计算机,其核心是一个集成电路芯片。
它简单、灵活,用于控制电子设备和执行各种任务。
单片机有很多种,其中C51单片机是一种非常常用的型号。
在C51编程中,开关检测、键盘输入和显示是非常常见的接口设计。
接下来,将分别介绍它们的原理和实现方法。
1.开关检测:开关检测是指通过单片机检测开关的状态,以实现对开关的控制。
常见的开关检测方法有两种,一种是使用外部电阻和开关,通过检测电流或电压来判断开关状态;另一种是使用内部电阻和开关,通过检测电阻的值来判断开关状态。
具体实现方法如下:a.外部电阻和开关:检测开关状态的方法是连接一个电阻到开关,并将另一端连接到单片机的输入引脚。
当开关打开时,电阻与单片机输入引脚之间形成一条路径,使得输入引脚接收到高电平信号;当开关关闭时,电阻与单片机输入引脚之间断开,使得输入引脚接收到低电平信号。
b.内部电阻和开关:单片机的引脚通常具有内部上拉或下拉电阻。
当引脚配置为输入模式时,可以选择使能内部上拉或下拉电阻。
通过连接一个开关到引脚,并将另一端连接到电源或地,从而完成开关状态的检测。
当开关打开时,引脚被拉高,输入引脚接收到高电平信号;当开关关闭时,引脚被拉低,输入引脚接收到低电平信号。
2.键盘输入:键盘输入是指通过单片机接收和处理来自键盘的输入信息。
键盘通常是一种矩阵按键结构,可以通过多行多列的方式进行编码。
键盘输入的实现需要通过接口电路将键盘连接到单片机,并在程序中编写相应的扫描算法。
具体实现方法如下:a.键盘连接方式:键盘的行和列线分别连接到单片机的输出和输入引脚上。
行线和列线可以使用独立的引脚,也可以使用矩阵开关编码的方式进行连接。
b.扫描算法:扫描算法是通过逐行扫描和逐列检测的方式来实现键盘输入的。
具体步骤如下:1)将所有行引脚置为高电平,所有列引脚配置为输入模式。
单片机键盘与显示器接口一.要求:掌握数码显示器显示方式的工作原理,掌握89c51与LED数码显示器的接口方法及程序设计方法。
二.内容:利用2个LED数码显示管,采用扫描方式,动态显示,两位数00,11,22,33,44,55,66,77,88,99,反复循环。
三.系统结构图:四.硬件电路简介:(1)时钟电路:利用芯片内部震荡电路,在XTAL1,XTAL2的引脚上外接定时元件,内部振荡器便能产生自激震荡,定时元件可采用石英晶体和电容组成的并联谐振电路,其连接方法如下,晶体可以在1.2MHZ-12MHZ之间任选,电容可以在20-60PF之间选择,电容C1,C2的大小对振荡频率有微小影响,可起频率微调作用。
在设计印制板时,晶体和电容应尽可能与单片机芯片靠近,以减少寄生电容,保证振荡器可靠工作,一般采用瓷片电容。
我选择的时钟电路由一个12M晶振,和两个3pF电容组成,产生12M赫兹的方波脉冲信号做为单片机的内部时钟。
(2)复位电路:时钟电路工作后,在此引脚上出现两个机器周期的高电平,芯片内部进行初始复位,但初始复位不影响片内RAM状态,只要该引脚保持高电平,MCS-51将循环复位。
P0口-P3口输出高电平,初值07H写入堆栈指针SP,清0程序计数器PC和其余特殊功能寄存器。
RST/Vpd从高电平变成低电平时,单片机将从0号单元开始执行程序。
MCS-51通常采用上电自动复位和开关复位两种方式,上电自动复位通电瞬间,电容两端电压不能突变,复位电路由一个1uF的电容和一个10K的电阻组成。
(3)AT89c51:MCS-51系列单片机大多都采用40条引脚双列直插式器件,有4个双向8位输入输出口P0 -P3,P0口为三态双向口,负载能力为8个LSTTL门电路,P1-P3为准双向口,负载能力为4个LSTTL门电路。
P0口包括一个输出锁存器,2个三态缓冲器,1个输出驱动电路和一个输出控制端,输出驱动电路由一对场效应管组成,其工作状态受输出控制端的控制,它包括一个与门,一个反相器和一个转向开关组成,P0口即可作地址/数据总线使用,又可作通用输入输出口使用。
今天我们学习键盘与显示器接口技术,先来看键盘接口及处理程序。
(1)键盘是一组按键的集合,它是最常用的单片机输入设备,操作人员可以通过键盘输入数据或命令,实现简单的人机通讯。
键是一种常开型按钮开关,平时键的二个触点处于断开状态,按下键时它们才闭合。
键盘分编码和非编码键盘。
键盘上闭合键的识别由专用的硬件译码器实现并产生键编号或键值的称为编码键盘,如BCD码键盘,ASCII码键盘等;靠软件识别的称为非编码键盘。
在单片机组成的测控系统及智能化仪器中,用得最多的是非编码键盘。
所以我们着重讨论非编码矩阵式键盘原理。
矩阵式键盘适用于按键数量较多的场合,它由行线和列线组成,按键位于行、列的交叉点上。
一个3*3的行、列结构可以构成一个由9个按键的键盘。
同理一个4*4的行、列可以构成一个含有16个按键的键盘等等。
很明显,在按键数量较多的场合,矩阵键盘与独立按键键盘相比,要节省很多的I/O口。
矩阵键盘的按键设置在行、列线的交点上,行、列线分别连接到按键开关的两端。
列线通过上拉电阻接到+5V。
平时无按键动作时,列线处于高电平状态,而当由按键按下时,列线电平状态将由与此列线相连的行线电平决定。
行线电平如果为低,则列线电平为低;行线电平如果为高,则列线电平亦为高。
这一点是识别矩阵键盘按键是否被按下的关键所在。
该电路中还有一个与门,这个与门用来产生中断信号,当键盘中没有键按下时,所有行线的输出都应为低电平,以区别于列线状态,当矩阵键盘中任何一只键按下时,与门输出由高电平变为低电平,向CPU 申请中断,由于矩阵键盘中行、列线为多键共用,各按键均影响该键所在行和列的电平。
因此各按键彼此将相互发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。
下面我们以一个4乘4键的键盘为例来说明按键是如何被识别出来的,在开始讨论问题之前,我们先要强调一个事实,用户的按键速度相对于单片机的运行速度来说是相当慢的,在用户按下键到释放键这一段时间内,单片机有足够多的时间运行键盘识别程序。