自动打铃器设计.docx
- 文档编号:3393324
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:20
- 大小:344.17KB
自动打铃器设计.docx
《自动打铃器设计.docx》由会员分享,可在线阅读,更多相关《自动打铃器设计.docx(20页珍藏版)》请在冰豆网上搜索。
自动打铃器设计
摘要
随着科学技术的进展,单片机作为嵌入式系统的机种之一,已经在日常生活和操纵领域等方面取得了极为普遍的应用。
电子打铃器并非陌生,自步入学校以来,它就一直伴随着咱们。
它使得咱们的生活变得很有规律,是作息时刻执行不可或缺的工具。
一些单位或公司等也有它的存在。
电子打铃器在人们对工作、生活的时刻计划方面具有重要的意义。
电子打铃器事实上确实是一个电子闹钟。
本课题采纳深圳宏晶公司的STC89C52RC单片机作为整个系统的操纵核心,采纳4位数码管显示时刻,伴有调时校正电路,响铃操纵那么是通过作息时刻表和按时器来实现的。
关于不同的季节,作息时刻可能不同,能够制定多个作息时刻表采纳开关心换达到目的。
本设计采纳了1个开关实现夏日和冬季作息时刻的切换。
实验运行说明,本人设计的电子打铃器性能稳固、准确靠得住、本钱低廉,若是将蜂鸣器换成继电器那么能够直接驱动实际的电铃。
关键字:
电子钟,自动打铃,作息时刻
Summary
Alongwiththedevelopmentofscienceandtechnology,SCMismovingtowardthehighperformanceandmanyvarietiesdirectiondevelopmenttrendwillbefurthertowardCMOS,lowpowerconsumption,smallvolume,largecapacity,highperformance,lowpricesandaperipheralcircuitinseveralaspects,suchasdevelopment,hasbeeninthefieldofdailylifeandcontrol,etcwidelyused,sinceenteringtheschool,theelectronicbelldevicehasbeenwithus,itmakesourlifebecomeveryregularly,isanindispensabletool,workandresttimefortheschoolasthebellsringingwhenaddinganddroppingclasses,enterprisesandinstitutionstoworkattendanceringingthebell,ringingthebell,corporateofficeandelectricalautomationcontrolofthetimeinsecondsasaunitoftimeapplications,applicationisveryextensive.Electronicbellringinourplanningoftimehasthevitalsignificance.ThiscoursedesignwithSTC89C52RCsingle-chipmicrocomputerasthecontrolcoreofthewholesystem,therealizationofdigitaltubedisplayclockandwhenschool,schedule,alarmclock,andotherfunctions.Displayoptionsbyfour8digitaltubetodisplaythecurrenttime,runbysinglechipmicrocomputertimertoachievetime,schedule,alarmclocks,andotherfunctionsaredirectlycontrolledbythesoftwareimplementation.WhichadoptedsuchasProtel99Se,KeiluVision4l,STC_ISP_V483softwareSTC89C52RCandmacroscrystalcompanydevelopmentboard,provideanenablingenvironmentforthewholedesign
1.概述
随着科学技术的进展,单片机作为嵌入式系统的机种之一,已经在日常生活和操纵领域等方面取得了极为普遍的应用。
电子打铃器并非陌生,自步入学校以来,它就一直伴随着咱们。
它使得咱们的生活变得很有规律,是作息时刻执行不可或缺的工具。
一些单位或公司等也有它的存在。
电子打铃器在人们对工作、生活的时刻计划方面具有重要的意义。
这次《嵌入式系统》课程设计的课题为“自动打铃器的设计”。
目的是:
①通过那个具体实例的实现,熟练一些经常使用软件诸如Protel、KeilC、Proteus等的利用。
②把握嵌入式系统的大体设计方式和应用开发进程,进一步提高编程能力和应用开发能力。
③培育独立试探问题、分析问题、解决问题的能力。
具体设计要求如下:
①利用单片机设计一个电子打铃器。
②用4位LED显示当前时刻。
③用一个蜂鸣器模拟电铃,响铃10s。
④按我校冬、夏两季作息时刻天天上下课自动打铃。
⑤通过“时”键和“分”键别离校正时和分,每按一次对应+1或-1。
2.自动打铃器设计方案
依照课题设计要求,自动打铃器事实上就是一个利用单片机操纵的电子闹钟。
其大体原理是用电子钟的当前时刻与预先设定好的作息时刻表作比较,若当前时刻与作息表
表1湖南文理学院夏季、冬季作息时刻表
夏季
冬季
6:
00
起床
6:
00
起床
7:
00~7:
50
早自习
7:
00~7:
50
早自习
8:
00~8:
45
第一节课
8:
00~8:
45
第一节课
8:
55~9:
40
第二节课
8:
55~9:
40
第二节课
10:
00~10:
45
第三节课
10:
00~10:
45
第三节课
10:
55~11:
40
第四节课
10:
55~11:
40
第四节课
14:
30~15:
15
第五节课
14:
00~14:
45
第五节课
15:
25~16:
10
第六节课
14:
55~15:
40
第六节课
16:
20~17:
05
第七节课
15:
50~16:
45
第七节课
17:
15~18:
00
第八节课
16:
55~17:
40
第八节课
19:
00~22:
00
晚自习
19:
00~22:
00
晚自习
23:
30
就寝
23:
00
就寝
的某时刻相符就打铃,每次响铃10秒。
作息时刻表选定我校冬、夏两季作息时刻,如表1所示。
图1是自动打铃器电路框图,它由单片机最小系统、校时电路、作息时刻表切换电路、LED显示电路、蜂鸣器电路、电源电路六部份组成。
单片机采纳STC89C52RC,是整个的核心,起操纵作用,它和校时电路、LED显示电路组成一个电子钟;LED显示电路采纳了4个八段LED数码管,动态显示,起显示时刻的时和分的作用;校时电路采纳了4个按键,别离实现时和分的加1或减1调整,其校正时刻的作用;蜂鸣器电路用了1个蜂鸣器模拟电铃,起响铃的作用。
3.自动打铃器硬件设计
自动打铃器硬件由单片机最小系统、校时电路、作息时刻表切换电路、LED显示电路、蜂鸣器电路、电源六部份组成。
单片机最小系统
校时电路
作息时刻表切换电路
LED显示电路
蜂鸣器电路
电源
自动打铃器的工作电源是DC5V。
直流5V电源电路典型、技术成熟,那个地址再也不赘述。
请将以下到P11的内容归口揉和到前面红色部份的~,注意序号!
~每部份的内容为:
单元电路功能、单元电路图和简单的描述或说明。
STC89C52RC单片机的简介
设计之前得对单片机的特性有所了解,STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机械周期和6时钟/机械周期能够任意选择。
要紧特性如下:
一、增强型8051单片机,6时钟、机械周期和12时钟、机械周期能够任意选择,指令代码完全兼容传统的8051
二、工作电压:
~(5V单片机)/~(3V单片机)
3、工作频率范围:
0~40MHz,相当于一般8051的0~80MHz,实际工作频率可达48MHz。
4、用户应用程序空间为8K字节
5、片上集成512字节RAM
六、通用I/O口(32个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展历时,不用加上拉电阻,作为I/O口历时,需加上拉电阻。
7、ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/,TxD/)直接下载用户程序,数秒即可完成一片
8、具有EEPROM功能
九、具有看门狗功能
10、共3个16位按时器/计数器。
即按时器T0、T一、T2
1一、外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒
1二、通用异步串行口(UART),还可用按时器软件实现多个UART
13、工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)
4.2.2引脚及其功能
一、主电源引脚
Vcc:
芯片电源,接+5V。
VSS:
电源接地端。
二、时钟引脚
XTAL1:
片内放大器输入端。
XTAL2:
片内放大器输出端。
3、专用操纵端口
(1)ALE/
:
地址锁存许诺/片内EPROM编程脉冲。
①ALE功能:
用来锁存P0口送出的低8位地址。
②
功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
(2)
:
外ROM读选通信号。
(3)RST/VPD:
复位/备用电源。
①RST(Reset)功能:
复位信号输入端。
②VPD功能:
在Vcc掉电情形下,接备用电源。
(4)
/Vdd:
内外ROM选择/片内EPROM编程电源。
①
功能:
内外ROM选择端。
②Vdd功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
4、输入/输出端口
STC80C52RC共有4个8位并行I/O端口:
P0、P一、P二、P3口,共32个引脚。
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口还具有第二功能,用于特殊信号输入输出和操纵信号(属操纵总线)。
五、P3口第二功能
RXD:
串行输入口。
TXD:
串行输出口。
:
外部中断0。
:
外部中断1。
T0:
按时计数器0。
T1:
按时计数器1。
:
外部数据存储器写选通。
:
外部数据存储器读选通。
单片机是由CPU、并行口、ROM、RAM、按时/计数器、串行口和中断系统等组成部份,通过内部总线把各要紧部件接为一体,其内部总线包括地址总线、数据总线和操纵总线。
其中,地址总线的作用是在进行数据互换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间互换数据;操纵总线包括CPU发出的操纵信号线和外部送入CPU的应答信号线等。
该电子打铃系统由4个模块实现:
单片机最小系统,键盘与开关电路,数码管动态显示和打铃电路。
时钟电路
单片机的时钟电路用来产生时钟信号,以提供单片机片内各类数字逻辑电路工作的时刻基准。
时钟电路可采纳内部振荡方式和外部振荡方式两种电路形式。
现在钟电路采纳内部振荡方式,即在单片机的XTAL1和XTAL2两个引脚间接一只晶振及两只电容就组成了单片机的时钟电路,如上图2所示。
复位电路
复位是是单片机的片内电路初始化的操作,复位使单片机从初始状态开始运行。
在复位引脚RET输入宽度为2个机械周期以上的高电平,单片机就会执行复位操作。
有两种操作形式:
上电复位、手动复位。
单片机的RESET引脚为主机提供一个外部复位信号输入端口,按下复位键S1,单片机被强制执行复位操作。
复位后,单片机内各部件恢复到初始状态,单片机从ROM的0000H开始执行程序。
其电路图如图2所示,RESET按键选择开关。
单片机最小系统
单片机的最小系统指的是由最大体的电路元件组成的,外接部份简单的电路就能够够独立完成必然的工作任务的单片机系统。
52单片机的最小系统有单片机芯片、电源、时钟电路和复位电路组成,如图2所示。
图2单片机最小系统
键盘与开关电路
自动打铃器中的外围电路中,键盘与开关电路这部份是对其的调整,人只有通过键盘与开关电路,才能对自动打铃器的校正与改变,即一个单刀双掷开关操纵是夏日时刻表,仍是冬季时刻表;其他4*4独立键盘式的按键,别离是对分钟高位的调整,分钟地位的调整,对时钟高位的调整和时钟地位的调整;操作起来超级方便。
如图3所示,通过编程来判定是高电平,仍是低电平接入来操纵冬、夏两季的时刻表;编程、两头,当有低电平通过时,时刻表上时钟区加“1”,当有低电平通过时,时刻表上分钟区加“1”。
当单刀双掷开关接“冬季”端时,即接高电平,将高电平信号送入单片机中,即选择冬季作息时刻表,;当单刀双掷开关接“夏日”端时,即接低电平,将低电平信号送入单片机中,即选择夏日作息时刻表。
“时加”键、“分加”键两个按键是对当前时刻进行调整,当按下“时加”键S3时,会将一个低电平信号通过端口送人单片机,通过单片机处置,数码管的最前面的两位(即小时区)会加“1”;当按下“分加”键S2时,会将一个低电平信号通过端口送人单片机,通过单片机处置,数码管的后两位(即分钟区)会加“1”。
图3键盘与开关电路图
输出电路
此电子打铃器的输出电路包括LED显示接口电路与打铃电路。
其中,LED显示接口电路是用来显示当前的时刻,只需熟悉阿拉伯数字即可明白当前时刻是多少,很明显;打铃电路是通过当前时刻与设按时刻相较较而设计的,假设相等即打铃。
是作息时刻专门好的工具。
1、LED显示接口电路
LED数码管通常由8个发光二极管组合而成,称为八段LED数码管。
为取得不同的字形,显示块各段所加的电平也不同,因此编码也不一样,它有共阴极和共阳极两种结构形式。
依照设计要求可知,系统需要显示4位数字,因此需用到4个LED,数码管显示电路利用STC89C52RC的动态显示功能。
4个LED八段(a、b、c、d、e、f、g、dp)数码管别离显示:
“时”和“分”,并用数码管的“点”,作为“时”、“分”的距离,切改点每隔一秒闪烁一次。
依如实际情形及设计要求,该自动打铃系统采纳共阳极数码管,关于共阳极LED数码管,其公共端必需施加高电平,而在需要点亮端应施加低电平编码,如表2所示,给出了共阳极八段LED数码管字形码表。
表2字形与字段关系
字形
D7
D6
D5
D4
D3
D2
D1
D0
编码
(共阳极)
dp
g
f
e
d
c
b
a
0
0
0
1
1
1
1
1
1
C0H
1
0
0
0
0
0
1
1
0
F9H
2
0
1
0
1
1
0
1
1
A4H
3
0
1
0
0
1
1
1
1
B0H
4
0
1
1
0
0
1
1
0
99H
5
0
1
1
0
1
1
0
1
92H
6
0
1
1
1
1
1
0
1
82H
7
0
0
0
0
0
1
1
1
F8H
8
0
1
1
1
1
1
1
1
80H
9
0
1
1
0
1
1
1
1
90H
硬件电路图如图4所示,显示部份采纳扫描显示模块,其中P0口操纵段选,P2口操纵位选,利用P2口中的4个端口(即、、、)来操纵4个LED数码管。
图4LED显示接口电路图
2、打铃电路
打铃电路的设计是,通过比较模块程序,将当前时刻与设定打铃时刻比较,当它们的值相等时,STC89C52RC对其进行相应处置,由输出低电平,即仿真中的模拟电铃的发光二极管发光;如图5所示,当端输出高电平常,才能导通,即打铃,故假设接电铃,只需在操纵输出端这部份程序中,将其输出电平与模拟打铃的发光二极管的输出电平相反即可。
据设计要求,当有打铃信号通过时,响铃10s。
图5打铃电路图
4.自动打铃器软件设计
自动打铃器的软件是自动打铃器的另一个重要组成部份。
在硬件设计好的基础上,软件设计的成功与否,直接关系到它可否正常运行。
依照功能要求,电子打铃器软件采纳C51编写,包括:
主函数、延时函数、键校时函数、显示函数、时分秒生成函数、操纵响铃时刻函数。
主函数、延时函数、作息时刻表、键校时函数、显示函数、时分秒生成与打铃操纵函数、响铃时刻操纵函数。
4.1主函数
4.2延时函数
4.3作息时刻表
4.4键校时函数
4.5显示函数
4.6时分秒生成与打铃操纵函数
4.7响铃时刻操纵函数
请将以下到P14的内容归口揉到前面红色部份的~,注意序号!
~每部份的内容为:
函数功能、流程图和简单的描述或说明。
主函数通过按时器T0(工作方式为1),实现一日的24小时,第一得初始化,正常走时。
主程序挪用比较打铃函数,当它与设定的时刻相等时,那么打铃;利用数码管(其中包括显示函数模块),显示当前时刻。
当需要对时刻进行校正时,可对此程序进行按键扫描,假设有键按下,那么挪用按键处置函数,修改当前时刻,假设没有键按下,那么返回。
主函数流程图如图8所示。
以下是初始化的部份值:
按时/计数器方式操纵寄放器:
TMOD=01H
寄放器的初值:
TH0=(65536-50000)/256
TL0=(65536-50000)%256;
软件操纵其启动:
TR0=1;
6.2按键处置函数
这部份程序主若是针对时刻调整而设计的,通过按键处置函数读取键值,判定是“时”键,仍是“分”键。
假设为“时”键,那么小时加“1”,当“时”为“24”不时,显示“00”时;假设为“分”键,那么分钟加“1”,当“分”为“60”分时,显示“00”分。
为避免按键抖动,加10ms延时,排除抖动。
按键处置函数流程图如图7。
6.3打铃比较函数
第一依照输入端口的电平信号,判定当前所历时刻表为冬季仍是夏日;再通过当前时刻与时刻表内预先设定好的时刻相比较,假设相等,即为打铃时刻,并打铃(通过延时10s实现),不然继续比较,即返回。
流程图如图8所示。
5、电子打铃器调试与分析
软件调试步骤
一、打开软件后,在Project菜单当选择NewProject命令,打开一个新项目。
保留此项目,输入工程文件名后,并保留工程文件的目录。
二、为项目文件选择一个目标器件,在Database列表框当选择“STC89C52RC”,确信。
3、上述设置好后,创建源程序文件并输入程序代码。
输入好代码后点击“文件/保留”。
4、把源文件添加到项目中,用鼠标指在目标工作区的目标1,点击右键在弹出的菜单当选择添加文件到源代码组,在弹出的添加文件框中,选择需要添加到项目中的文件。
五、开始编译,对项目文件进行编译。
假设没有错误后进行硬件调试。
子程序调试步骤
子程序调试应一个模块一个模块地进行,第一单独调试各功能子程序,检查程序是不是能够实现预期的功能,接口电路的操纵是不是正常等;最后慢慢将各子程序连接起来进行总调试。
故调试步骤如下:
A、数码管程序调试
正确的显示时刻是整个程序的关键之一。
调试方式:
先把程序下载到单片机,让数码管显示,是不是正确的显示时刻的转变。
B、蜂鸣器的调试
调试方式:
先把打铃程序下载到单片机,让蜂鸣器发声,看是不是在正确的时刻内实现打铃。
C、键盘调时序
正确的显示所调的时刻是整个程序的关键之一。
调试方式:
先把键盘程序和显示程序下载到单片机,让数码管显示,是不是正确的所调时刻的转变。
调试结果
实现计时和显示功能(24小时制),可设置当前时刻(包括上下午标志,时、分的数字显示),能在所设置的时刻处正常打铃,且每次打铃均为响铃10s
系统误差及性能分析
经测试该简易自动打铃系统在一天内会显现时刻误差,该误差主若是由于晶振自身的误差所造成的。
另外在中断的进程中,只会在第一次计不时产生时刻的偏移,而它所产生积存误差很小,能够忽略。
6、心得体会
这两周的课程设计我选择的是STC89C52RC单片机的自动打铃器的设计,要紧的进程:
一、教师给咱们提供了课题并在第一天上午给咱们耐心的讲解了这次设计所需要把握的知识,和所需要利用到的软件,并进行了演示,这让我明白自己应该要设计什么,需要哪些要求,可是关于整个设计进程需要计算的一些数据仍是没有一个清楚的思维模式;
二、在教师的讲解与点拨下我弄清楚了第一步应该干什么?
第二步应该干什么?
整体上有了一个框架,
3、依照自己的思维,查阅各类书籍和依照从实验室借回来的STC89C52RC开发板进行熟悉与了解它的引脚及其各类功能
4、在这次的设计中,教师要求咱们利用C语言的编程将程序放进Keil软件中进行编译,而且放置发烧工具中进行调试实现其成效,而在那个进程中碰到的最大的困难即是程序的编写,由于自己之前对C语言的编写能力还不够壮大,以至于第一次编写后在开发板上实现不了其成效,显现的只是4个0,而且按键和蜂鸣器都无效,同时在调试的进程中也有显现了非法打铃状况但却不明白问题缘故在哪,应该怎么解决,只有寻求教师的帮忙,教师很细心也很耐心的给我讲解了整个程序编写我应该具有哪些函数,应该如何去实现,教师还提供给了我数字电子钟的程序,回来再次修改程序中,仍是碰到了很多的困难,例如在比较函数中,让让当前时刻与之前自己设置的时刻去比较,假设相等那么打铃不相等那么返回,一次次的更改,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动 打铃 设计