基于单片机的电铃控制系统的设计方案Word下载.docx
- 文档编号:22973216
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:36
- 大小:103.62KB
基于单片机的电铃控制系统的设计方案Word下载.docx
《基于单片机的电铃控制系统的设计方案Word下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的电铃控制系统的设计方案Word下载.docx(36页珍藏版)》请在冰豆网上搜索。
12MHz-
"
p0p
~I~
30
20
=
P1.0
VCC
P1.1
P0.0
P1.2
P0.1
P1.3
P0.2
P1.4
P0.3
P1.5
P0.4
P1.6
P0.5
P1.7
P0.6
RESET
P0.7
P3.0/RXDAT89S52
■EA/VPF
P3.1/TXDAL
E/PROG
P3.2/INT0
PSEN
P3.3/INTI
P2.7
P3.4/T0
P2.6
P3.5/T1
P2.5
P3.6/WR
P2.4
P3.7/RD
P2.3
XTAL2
P2.2
XTAL1
P2.1
GND
P2.0
6;
91011二1415161718
图1.1硬件系统总体框图
2.2AT89S52单片机
目前,在国市场上MCS-51系列占据着主流地位,与其兼容的产品应用最广,应用开发的公司也最多,其中之一就是Atmel公司生产的AT89系列单片机。
结合作息时间控制系统的要求、成本的因素以及单片机的性能,本次设计选用ATMEL公司的AT89S52单片机。
下
面对其详细介绍一下。
2.2.1功能特性
AT89S52是一种低功耗、高性能CMOS位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
AT89S52具有以下标准功能:
8K字节Flash,256字节RAM32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,一个全双工串行通信口,片振荡器及时钟电路。
另外,AT89S52可降至OHz静态逻辑操作,支持2种软
件可选择节电模式。
空闲模式下,CPU亭止工作,允许RAM定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.2.2AT89S52引脚图
AT89S52与AT89C51的引脚一样,也有PDIP、PLCCTQFP等多种封装形式,其典型引脚配置采用的是40只引脚的双列直插封装(PDIP)方式,如图1.2所示。
目前大多数为此类圭寸装方式。
PDIP
□vcc
1
二*.=■-匚
2
沖
3
=兀1A31)
十孑匚
斗
37
pn匚启A-2.
P1.4C
c
1=C3AOS)
匚
w
1st4心,
7
ACEA35J
S
M
□re.E心)
RSTC
9
32
□3C7A37J
讥°
;
)匚
to
訓
□EAWP
iTXPr=31匚
□ALi-rro
:
IN~C弋g匚
12
賞
FirpH匚
13
2d
□■Aie!
(tbipml
t4
27
□AI4:
■-=3~L
倨
祁7*匚
h=14Al;
i'
KEjP37E:
1?
加
5;
?
Al:
EIL2匚
fl
□Al;
XTAL1E
GMDC
21
□3Aa.
图1.2AT89S52单片机引脚图
2.2.3引脚功能
下面结合图1.2来介绍各引脚的功能。
1)电源引脚
(1)Vcc(40脚):
主电源正端,接+5V电源。
(2)Vss(20脚):
主电源负端,接地
2)时钟引脚
两个时钟引脚XTAL1XTAL2外接晶体与片的反相放大器构成了一个振荡器,它为单片机提供了时钟控制信号。
2个时钟引脚也可外接晶体振荡器。
(1)XTAL1(19脚):
片高增益反向放大器的输入端。
接外部石英晶体
和电容的一端。
若使用外部输入时钟,该引脚必须接地。
(2)XTAL2(18脚):
片高增益反向放大器的输出端。
和电容的另一端。
若使用外部输入时钟,该引脚作为外部输入时钟的输入端。
3)控制引脚
此类引脚提供控制信号,有的引脚还具有复用功能。
(1)RST/VpD(9脚):
RST(RESET是复位信号输入端,高点平有效。
当振荡器运行时,在此引脚输入最少两个机器周期以上的高电平,将使单片机复位。
复位后的那平静将从程序计数器PC=0000H地址开始执行程序。
对HMO工艺的单片机此引脚还有备用电源VPD功能该引脚接上备用电源,在Vcc掉电期间,可以保持片RAM勺数据不丢失的。
(2)ALE/PROG(30却):
当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储
器时将跳过一个ALE脉冲。
如有必要,可通过对特殊功能寄存器(SFR区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOV;
和MOV指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
(3)PSTN29脚):
程序储存允许(PSEN输出是外部程序存储器的读选通信号,当AT89C52
由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,
在此期间,当访问外部数据存储器,将跳过两次PSEN言号。
(4)EA/Vpp(31脚):
片程序存储器屏蔽控制端,低电平有效。
当EA保持低电平时,将
屏蔽片的程序存储器,只访问片外程序存储器。
当EA保持高电平时,执行片程序存储器,
但在PC值超过0FFFH或仆FFH时,将自动转向执行片外程序存储器的程序。
Vpp为本引脚的第二功能。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vppo
4)I/O口引脚
(1)P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复
用,在访问期间激活部上拉电阻。
(2)P1口:
P1口是一个带部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过部的上拉电阻把端口拉到高电平,此时可作输出口。
作输入口使用时,因为部存在上拉电阻,某个引脚被外部信号拉低时会
输出一个电流。
与AT89S51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入
(P1.0/T2)和输入(P1.1/T2EX),参见下表。
P1.0和P1.1的第二功能
引脚号
功能特性
T2(定时/计数器2外部计数脉冲输入),时钟输出
T2EX(定时/计数2捕获/重装载触发和方向控制)
(3)P2口:
P2是一个带部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为部存在上拉电阻,某个引脚被外部信号拉低时会
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVXR指令)时,P2口输出P2锁存器的容。
(4)P3口:
P3口是一组带有部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流。
P3口除了作为一般的I/O口线外,还具有的第二种功能,如下表所示。
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INTO(外中断0)
P3.3
INT1(外中断1)
P3.4
TO(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
WR外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
2.3键盘部分
在单片机应用系统中,除了复位键有专门的复位电路以及专一的复位功能以外,其他的按键或键盘都是以开关状态来控制功能或输入数据的。
键盘有两种基本类型:
编码键盘和非编码键盘。
编码键盘本身除了按键以外,还包括产生键码的硬件电路。
这种键盘使用非常方便,但价格相对较高。
非编码键盘是靠软件来识别键盘上的闭合键,由此计算出编码。
非编码键盘几乎不需要附加硬件逻辑,在单片机应用系统中被普遍使用。
本设计中也是采用非编码键盘。
2.3.1键盘工作原理
1)按键的分类
按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;
另一类是无触点开关按键,如电气式按键、磁感应按键等。
前者造价低,后者寿命长。
目前,微机系统中常用的是第一类。
按照接口原理可分为编码键盘与非编码键盘两类,两类键盘的区别是键符识别及给出相应键码的方法。
2)键输入原理
当所设置的功能键(复位键单独)或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入是与软件结构密切相关的过程。
对于一组键或一个键盘,总有一个接口电路与CPU相连。
CPU可以采用查询或中断方式了解有无将键输入并检查是哪一个键按下,将该键号送入累加器ACC然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。
3)按键结构与特点
微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。
也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。
机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。
抖动时间的长短与开关的机械特性有关,一般为
5~10ms
在触点抖动期间检测按键的通与断状态,可能导致判断出错。
即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。
为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。
在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。
软件上采取的措施是:
在检测到有按键按下时,执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态;
同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除抖动的影响。
4)按键编码
一组按键或键盘都要通过I/O口线查询按键的开关状态。
根据键盘结构的不同,采用不同的编码。
无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的跳转。
2.3.2独立式键盘独立式按键是指各按键相互独立地接通一条输入数据线,这是最简单的键盘结构,该电路为查询方式电路。
当任何一个键按下时,与之相连的输入数据线即被清0(低电平),而平
时该线为1(高电平)。
要判别是否有键按下,用单片机的位处理指令十分方便。
这种键盘结构的优点是电路简单;
缺点是当键数较多时,要占用较多的I/O线。
2.3.3行列式键盘为了减少键盘与单片机接口时所占用I/O线的数目,在键数较多时,通常都将键盘排列成行列矩阵形式。
下面就说明一下行扫描法识别哪一个按键被按下的工作原理。
首先判别键盘中有无键按下,由单片机I/O口向键盘送(输出)全扫描字,然后读入(输入)列线状态来判断。
方法是:
向行线输出全扫描字00H,把全部行线置为低电平,然后将列
线的电平状态读入累加器A中。
如果有按键按下,总会有一根列线电平被拉至低电平,从而使列输入不全为1。
判断键盘中哪一个键被按下是通过将行线逐行置低电平后,检查列输入状态实现的方法是:
依次给行线送低电平,然后查所有列线状态,称行扫描。
如果全为1,则所按下的键不在此行;
如果不全为1,则所按下的键必在此行,而且是在与零电平列线相交的交点上的那个键。
1)行扫描法识别键号(值)的工作原理
将第0行变为低电平,其余行为高电平时,输出编码为1110。
然后读取列的电平,判别第0行是否有键按下。
在第0行上若有某一按键按下,则相应的列被拉到低电平,则表示第0行和此列相交的位置上有按键按下。
若没有任一条列线为低电平,则说明0行上无键按下。
将第1行变为低电平,其余行为高电平时,输出编码为1101。
然后通过输入口读取各列的电平。
检测其中是否有变为低电平的列线。
若有键按下,则进而判别哪一列有键按下,确定按键位置。
将第2行变为低电平,其余行为高电平时,输出编码为1011。
判别是否有哪一列键按下的方法同上。
将第3行变为低电平,其余行为高电平时,输出编码为0111。
在扫描过程中,当发现某行有键按下,也就是输入的列线中有一位为0时,便可判别闭合
按键所在列的位置,根据行线位置和列线位置就能判断按键在矩阵中的位置,知道是哪一个键按下。
2)键盘扫描工作过程
(1)判断键盘中是否有键按下;
(2)进行行扫描,判断是否键按下,若有,则调用延时子程序去抖动;
(3)读取按键的位置码;
⑷将按键的位置码转换为键值(键的顺序号)0、1、2…、F。
2.4显示部分显示器是计算机的主要输出设备,它把运算结果、程序清单等以字符的形式显示出来,以供用户查阅。
目前常用的显示器有数码管显示器(LED显示器)、液晶显示器(LCD显示器)和CRT显示器等,本设计中采用的是LED显示器。
下面就相信介绍LED显示器的结构和工作原理。
2.4.1LED显示器简介
1)数码管结构
数码管由8个发光二极管(以下简称字段)按“日”字形排列构成,其中7个发光二极管组成“日”字形的笔画段,另一个发光二极管为圆点形状。
通过不同的组合可用来显示数字0~9、字符A~F、H、P等、符号“-”及小数点“•”。
数码管又分为共阴极和共阳极两种结构。
2)数码管工作原理
共阳(阴)极数码管的8个发光二极管的阳极(阴极)连接在一起。
通常,公共阳(阳)极接高(低)电平,其它管脚接段驱动电路输出端。
当某段驱动电路的输出端为低(高)电平时,则该端所连接的字段导通并点亮。
根据发光字段的不同组合可显示出各种数字或字符。
此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
(注:
二极管阳(阴)极为二极管正(负)端,高电平一般指接电源,低电平一般指接地。
)
3)数码管字形编码当某一二极管导通时,相应的字段发亮。
这样,若干个二极管导通,就构成了一个字符。
在共阴极数码管中,导通的二极管用“1”表示,其余的用“0”表示。
这些“1”,“0”数符按一定的顺序排列,就组成了所要显示字符的显示代码。
例如,对于共阴极数码管来说,阳极排列顺训为h、g、f、c、e、d、c、b、a。
这样,字符1的显示代码为0000010,字符F的显示代码为011110001,用十六进制表示分别为06H和71Ho若要显示某一个字符,就在二极管的阳极按显示代码加以高电平,阴极加低电平即可。
2.4.2LED静态显示法接口设计
所谓静态显示,就是每一个显示器各笔画段都要独占具有锁存功能的输出口线,CPU把欲
显示的字形代码送到输出口上,就可以使显示器显示所需的数字或符号,此后,即使CPU不再去访问它,因为各笔画段接口具有锁存功能,显示的容也不会消失。
静态显示法的优点是显示程序十分简单,显示亮度大,由于CPU不必经常扫描显示器,所以节约了CPU的工作时间。
但是其主要缺点是占用的I/O口线较多,硬件成本较高。
所以静态显示法常用在显示器数目较少的应用系统中。
2.4.3LED动态显示法接口设计
动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。
通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;
各位的位选线(公
共阴极或阳极)由另外的I/O口线控制。
动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。
依此规律循环,即可使各位数码管显示将要显示的字符。
虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。
采用动态显示方式比较节省I/O口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多的时间。
本设计显示电路采用简单实用的8位共阳LED数码管,段码由P0口输出,用74LS244驱动;
位码由P2口输出,用PNP三极管驱动。
2.5复位电路
2.5.1复位操作
复位是单片机的初始化操作。
其功能主要是将程序计数器(PC初始化为0000H,使程序
从0000H单元开始执行,并将特殊功能寄存器赋一些特定值。
复位是上电的第一个操作,然后程序从0000H开始执行。
在运行中,外界干扰等因素可能会使单片机的程序陷入死循环状态或“跑飞”。
要使其进入正常状态,唯一办法是将单片机复位,以重新启动。
[4]复位也是使单片机退出低功耗工作方式而进入正常状态一种操作。
2.5.2复位电路
RST引脚是复位端,高电平有效。
在读引脚输入至少连续两个机器周期以上的高电平,单
片机复位。
RST引脚部有一个施密特ST触发器以对输入信号整形,保证部复位电路的可靠,所以外部输入信号不一定要数字波形。
使用时,一般在此引脚与Vss引脚之间接上一个约
8.2K的下拉电阻,与Vcc引脚之间接一个约10uF的电解电容,即可保证上电自动复位。
复位电路如图1.3所示。
上电复位按键复位
图1.3复位电路
电容C和电阻R1实现上电自动复位功能。
增加按键开关SW和阻值R1又可实现按键复位功能。
该电阻的作用是在按键开关按下时,防止电容放电电流过大烧坏开关的触点。
应保证(R2/R1)>10。
一般取C=10uFR仁10QR2=8.2K。
2.6时钟电路单片机的时钟一般需要多相时钟,所以时钟电路由振荡器和分频器组成。
2.6.1振荡电路
MCS-51部有一个用于构成振荡器的可控高增益反相放大器,其输入端为芯片引脚XTAL1,
其输出端为引脚XTAL2。
在片外跨接一晶振和两个匹配电容C1、C2,如图1.4所示,就构成一个自激振荡器。
振荡频率根据实际要求的工作速度,从几百千赫至24MHz可适当选取某一频率。
匹配电容C1、C2要根据石英晶体振荡器的要求选取。
当晶振频率为12MHz时,C1、C2一般选30pF左右。
图1.4时钟电路
2.6.2指令时序振荡器产生的时钟脉冲经脉冲分配器,可产生多相时序。
如图1.5所示的时序发生器框图
图1.5时序发生器框图
1)振荡周期:
为单片机提供时钟信号的振荡源的周期。
2)时钟周期:
是振荡源信号经二分频后形成的时钟脉冲信号。
3)机器周期:
通常将完成一个基本操作所需的时间称为机器周期。
4)指令周期:
是指CPU执行一条指令所需要的时间。
一个指令周期通常含有1〜4个机器周期。
单片机执行每一条指令,都是按照严格的时序进行的。
2.7软件设计
简要说明:
实现24小时制电子钟,8位数码管显示,显示时分秒显示格式:
23-59-59(小时十位如果为0则不显示)到预定时间启动蜂鸣器模拟打铃,蜂鸣器BEEP:
P3.7打铃方式分起床、熄灯铃和上、下课铃两种系统使用4只按键,3只按键用来调整时间,另一只为强制打铃按钮调整选择键SET_KEYP1.0;
通过选择键选择调整位,选中位闪烁增加键ADD_KE:
YP1.1;
按一次使选中位加1减少键DEC_KEYP1.2;
按一次使选中位减1如果长按ADD_KE或DEC_KEY识别后则进行调时快进,此时停止闪烁如果选中位是秒,则按增加键或减少键都是将秒清零强制打铃键DALING_KE:
YP1.3;
用来强制打铃或强制关闭铃声
P0口输出数码管段选信号,P2口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电铃 控制系统 设计方案