基于AT89C51单片机和555定时器.docx
- 文档编号:29717813
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:16
- 大小:622.28KB
基于AT89C51单片机和555定时器.docx
《基于AT89C51单片机和555定时器.docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机和555定时器.docx(16页珍藏版)》请在冰豆网上搜索。
基于AT89C51单片机和555定时器
声乐喇叭电路的设计
摘要
本设计根据题目要求制作一台简易的声乐喇叭,并检测喇叭响声不同的时间。
基于以上要求决定利用555多谐振荡电路将电阻参数转化为频率,频率f是单片机很容易处理的数字量,一方面测量精度高,另一方面便于声乐信号的产生而且单片机构成的应用系统有较大的可靠性。
通过改变滑变电阻测量的量程产生不同频率的方波信号近而通过单片机AT89C51控制喇叭响声不同的时间。
输入输出控制采用键盘输入控制电路,能很好的实现各个要求。
单片机具有可编程性,硬件的功能描述可完全在软件上实现,另一方面便于使仪器实现自动化,设计时间短,成本低,可靠性高。
关键字:
AT89C51单片机555多谐振荡电路定时器
一、选题背景
现代电子产品正以前所未有的速度,向着多功能化、体积最小化、功耗最低化的方向发展。
在设计制作不同仪器的产品时,(由于单片机具有可编程性,硬件的功能描述可完全在软件上实现,另一方面便于使仪表实现自动化,设计时间短,成本低,可靠性高。
而555定时器有良好的硬件特点和广泛的应用。
)常常选用单片机与555定时器相结合完成具体功能。
本设计中我们着重介绍并验证把电子元件的参数R转换成频率信号f,然后采用单片机控制后,再通过程序处理运算输出信号,完成一个简单的声乐信号产生的事例。
二、简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
1.主要特性:
·与MCS-51兼容
·4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
·全静态工作:
0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
2.管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
4.芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
555定时器是一种将模拟功能与数字(逻辑)功能紧密结合在一起的中小规模单片集成电路。
555定时器成本低,性能可靠,它功能多样,应用广泛,只要外部配上几个阻容元器件即可构成单稳态触发器、施密特触发器、多谐振荡器等电路,是脉冲波形产生与变换的重要元器件,广泛应用于信号的产生与变换、控制与检测、家用电器以及电子玩具等领域。
词名:
555timer
中文解释:
555定时器
缩写:
来历:
555timer
概述 是美国Signetics公司1972年研制的用于取代机械式定时器的中规模集成电路,因输入端设计有三个5kΩ的电阻而得名。
此电路后来竟风靡世界。
目前,流行的产品主要有4个:
BJT两个:
555,556(含有两个555);CMOS两个:
7555,7556(含有两个7555)。
1555定时器组成框图及工作机理
555定时器的图形符号及管脚图如图1所示
各管脚功能:
管脚1:
公共端管脚2:
触发端管脚3:
输出端管脚4:
复位端
管脚5:
控制电压输入端管脚6:
阈值端管脚7:
内部三极管的放电端
管脚8:
电源端
555定时器的内部电路方框图如图2所示,该集成电路由四部分组成:
电阻分压器、电压比较器、基本RS触发器、输出缓冲器和放电三极管。
比较器的参考电压由三只5kΩ的电阻器构成分压,它们分别使高电平比较器A1同相比较端和低电平比较器A2的反相输入端的参考电平为2Vcc/3和Vcc/3。
A1和A2的输出端控制RS触发器状态和放电管开关状态。
当输入信号输入并超过2Vcc/3时,触发器复位,555的输出端3脚输出低电平,同时放电,开关管导通;当输入信号自2脚输入并低于Vcc/3时,触发器置位,555的3脚输出高电平,同时充电,开关管截止。
MR是复位端,当其为0时,555输出低电平。
平时该端开路或接Vcc。
CO是控制电压端(5脚),平时输出2Vcc/3作为比较器A1的参考电平,当5脚外接一个输入电压,即改变了比较器的参考电平,从而实现对输出的另一种控制,在不接外加电压时,通常接一个0.01μF的电容器到地,起滤波作用,以消除外来的干扰,以确保参考电平的稳定。
T为放电管,当T导通时,将给接于脚7的电容器提供低阻放电电路。
555定时器可以说是模拟电路与数字电路结合的典范。
两个比较器C1和C2各有一个输入端连接到三个电阻R组成的分压器上,比较器的输出接到RS触发器上。
此外还有输出级和放电管。
输出级的驱动电流可达200mA。
比较器C1和C2的参考电压分别为UA和UB,根据C1和C2的另一个输入端——触发输入和阈值输入,可判断出RS触发器的输出状态。
当复位端为低电平时,RS触发器被强制复位。
若无需复位操作,复位端应接高电平。
555的应用
(1)构成施密特触发器,用于TTL系统的接口,整形电路或脉冲鉴幅等;
(2)构成多谐振荡器,组成信号产生电路;
振荡周期:
T=0.7(R1+R2)C
(3)构成单稳态触发器,用于定时延时整形及一些定时开关中。
555应用电路采用这3种方式中的1种或多种组合起来可以组成各种实用的电子电路,如定时器、分频器、脉冲信号发生器、元件参数和电路检测电路、玩具游戏机电路、音响告警电路、电源交换电路、频率变换电路、自动控制电路等。
三、系统组成及功能介绍
1.基本原理
本设计主要是应用单片机来设计制作一台简易的声乐喇叭。
,硬件部分主要分以下电路模块:
输入模块利用555多谐振荡电路产生一个不同频率的方波脉冲信号。
输出模块用喇叭产生声乐信号,通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。
单片机采用8051系列,这种单片机应用简单,适合喇叭设计。
利用单片机内部程序在输入脉冲信号的基础上产生较高频率的脉冲信号控制喇叭蜂鸣。
显示模块用555电路外接一个计数器以显示方波间隔,并外接一个灯泡观察电路运行情况。
2.系统功能
1.按键可控制调整脉冲信号的产生。
2.每当高电平通过扬声器发出声音,计数器计时,灯亮。
3.可调变阻控制555定时器占空比,产生不同频率脉冲。
3.系统框图
四、硬件设计
1.原理图
(1)8051最小系统模块
采用上电按钮复位电路:
首先经过上电复位,当按下按键时,R1与R2分压,RST为高电平形成复位,同时电解电容被电路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,单片机芯片正常工作。
其中电阻R1决定了电容充电的时间,R1越大则充电时间长,复位信号从VCC回落到0V的时间也长。
本设计晶振电路采用12M的晶振。
晶振的作用是给单片机正常工作提供稳定的时钟信号。
电容范围在20-40pF之间,这里连接的是30pF的电容。
(2)按键,显示及输出模块:
本设计利用按键开关来控制555多谐振荡电路开始产生脉冲。
当按钮按下时,系统振荡电路接通,由555内部电路产生脉冲。
扬声器发出声音,计数器计时,灯亮。
(3)电路原理图
(4)系统运行效果图
2.PCB制板设计
(1)布局效果图
(2)布线效果图
(3)PCB效果图
(4)PCB3D效果
五、软件设计
结合电路图,程序设计的整体思路为
1上电默认等待
按下k1键系统运行判断p1口是否为1若为1产生高频率脉冲
再次按下k1键系统重新开始运行
2改变变电阻阻值
555产生不同频率脉冲重复步骤1
3源程序
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitSignal=P1^0;
sbitBEEP=P3^7;
voidDelay(uintx)
{
uchari;
while(x--)
{
for(i=0;i<120;i++);
}
}
voidmain()
{
while
(1)
{
if(Signal)
{
BEEP=~BEEP;
Delay(3);
}
}
}
六、程序调试及仿真
本程序通过Keil单片机开发平台实现程序的编译,链接,生成HEX文件。
程序再编译过程中可以发现错位,并及时改正,在设计时非常重要,使错误被扼杀在摇篮中。
通过Keil和硬件仿真平台Proteus的联合,可以将设计效果仿真出来,根据效果,有目的的改变设计,优化程序。
七、单片机学习心得
在单片机实验和课堂的学习中,我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。
通过在单片机的实验我总结了几点自己的心得和体会:
第一:
万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。
凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。
可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。
第二:
对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先用学习。
比如:
小灯得点亮就没有用到中断可以先不用看。
这样可以避免知识过多记不住的麻烦。
对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。
第三:
程序不要只是看别人得,一定要自己写过才是自己的。
开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。
明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。
当你自己能写出来的时候说明你真懂了。
在单片机的学习开始时感觉很吃力,在不断的学习过程中慢慢的对单片机产生了些好感,而且在编写程序过程中吃力的感觉慢慢的淡了。
在这其中基础知识掌握牢固是非常重要的,然后在学习过程中要学会提问题和自己解决问题,慢慢的对于学习单片机你也会产兴趣。
虽然在开始学习单片机时感觉很青涩,但只要坚定自己的学习信心,在付出持之以恒的努力,我相信自己能进一步加深对单片机的了解,在单片机的学习道路上走得更远!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C51 单片机 555 定时器