智能打铃控制系统.docx
- 文档编号:18239212
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:62
- 大小:253.71KB
智能打铃控制系统.docx
《智能打铃控制系统.docx》由会员分享,可在线阅读,更多相关《智能打铃控制系统.docx(62页珍藏版)》请在冰点文库上搜索。
智能打铃控制系统
第四届“圆融”杯电子设计竞赛说明书
智能打铃控制系统
系、部:
电信系
组员姓名:
彭金海郭海平
完成时间:
2008年11月11日
摘要
本设计以单片机ATMEL89S52作为各模块的控制中心,电路分为遥控模块,测温模块,蜂鸣器模块,液晶模块,晶振电路模块,单片机与单片机通信模块,通过单片机定时计数功能可实现年月日星期时分秒等时间信息的处理和闹钟功能,并通过单片机的控制实现按作息时间表打铃。
温度检测模块由DS18B20集成温度传感器对现场环境温度进行实时检测,人机接口由遥控按键和液晶显示构成。
可实现题目要求的时间显示、闹钟设置、环境温度测量显示等功能。
报警模块由报警蜂鸣器可实现按作息时间表打铃的功能。
本设计通过单片机将各模块有机地连接在一起,完美地实现了设计目的。
1方案论证与选择
1.1主控制系统的论证与选择
1.2显示器的选择与论证························
1.3温度检测方案选择····························
1.4时钟方案选择与论证························
1.5遥控方案的选择与论证·························
2单元硬件电路设计································
2.1单片机最小系统组成··························
2.2红外遥控控制模块···································
2.2.1红外遥控系统工作原理·······················
2.2.2红外遥控器接收电路
2.3液晶显示模块······························
2.4单片机与单片机并行通信模块
2.5测温及温度传感器模块····························
2.6DS18B20应用电路····················
2.7单片机最小系统·····································
3软件设计··········································
3.1软件设计说明
4系统测试与数据分析··································
4.1红外遥控测试····································
4.2温度传感功能测试····································
4.3单片机与单片机的并口通信····························
4.4液晶各界面显示测试·····························
5结束语············································
参考文献·················································
附录1主要元器件清单································
附录2红外遥控程序
附录2系统完整程序
1方案论证与选择
1.1主控制系统的选择与论证
方案一:
采用CPLD作为主控制器,由于CPLD具有强大的资源,使用方便灵活,易于进行功能扩展,特别是结合了EDA,可以达到很高的效率。
此方案逻辑电路复杂,且灵活性不高,不利于各种功能的扩展。
方案二:
基于AT89S52单片机来实现系统的控制,控制外围电路进行时钟显示,温度测量,闹铃,跑表,红外遥控,按键控制和液晶显示器显示,此系统控制灵活,能很好地满足本题的基本要求和扩展要求。
1.2显示器的选择与论证
方案一:
采用数码管显示,数码管亮度高,体积小,重量轻,成本低,但不易完成本课题的数字显示要求。
方案二:
采用液晶显示,液晶显示具有功耗低,轻便防振,显示信息丰富的特点。
但显示亮度及显示速度方面不及数码管。
1.3温度检测方案选择
方案一:
采用热电偶或热敏电阻作为感温元件,但热电偶需冷却补偿,电路设计复杂,热敏电阻虽然精度较高,但需要标准稳定电阻匹配才能使用,而且重复性可靠性都比较差。
方案二:
采用集成温度传感器DS18B20,该传感器测温系统简单,测温精度高,连接方便,占用口线少等优点,数据传输采用1-wire传输方式,大大提高了系统的抗干扰性。
测量温度范围为-55°C~+125°C。
且DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者可存放高温度和低温度触发器TH、TL和结构寄存器。
更重要地是,应用DS18B20可方便地实现智能控制空调调节室温的变化范围。
1.4时钟方案选择与论证
方案一:
直接采用单片机实现时钟显示,利用单片机的定时器/计数器,中断进行时钟计时,此方案硬件简单但不利于实现其它功能的扩展。
方案二:
采用内带128字节的RAM的时钟芯片DS12887,该芯片可以进行时分秒日月年的计数,可编程中断,还具有报警功能和掉电保护功能,并且可以方便地进行程序控制,这样占用较少的单片机资源,计时而很准确。
1.5遥控方案的选择与论证
方案一:
采用无线电实现遥控,虽然能实现远距离控制,但成本高,而且对人体辐射强。
方案二:
采用红外实现遥控,不仅能在要求的范围内实现遥控功能,成本较低,辐射弱,易于调试,应用此方案可以满足本设计的要求。
2单元硬件电路设计
2.1单片机最小系统组成
单片机系统是整个硬件系统的核心,它既协调整机工作,又是数据处理器,是软硬件系统连接的桥梁。
它主要包括:
遥控控制模块,红外接收模块,单片机通信模块,温度传感模块,液晶显示模块,报警模块。
系统方框图如图2.1。
图2.1系统结构方框图
2.2红外遥控控制模块
遥控器的基本组成如图2.2所示。
它主要由形成遥控信号的微处理器芯片晶
振荡器、放大晶体管、红外发光二极管以及键盘矩阵组成。
其工作原理如下:
图2.2遥控系统框图
2.2.1红外遥控系统工作原理
通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图2.3所示。
发射部分包括遥控键盘、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。
图2.3红外遥控系统方框图
采用T9012编码芯片的遥控器,遥控器发射的信号由一串0和1的二进制代码组成,T9012的0和1采用PWM方法编码,即脉冲宽度调制,以遥控输出波形为例,0码由0.56ms低电平和0.56ms高电平组合而成,脉冲宽度为1.12ms。
1码由0.56ms低电平和1.69ms高电平组合而成,脉冲宽度为2.25ms。
在编写解码程序时,通过判断脉冲宽度,即可得到0或1。
当我们按下遥控器的按键时,遥控器将发出一串二进制代码,即一帧数据。
它分为5部分,分别为引导码,地址码,地址码,数据码,数据反码。
遥控器发射代码时,均是低位在前,高位在后。
引导码高电平为4.5ms,低电平为4.5ms.当接收到此码时,表示一帧数据的开始。
单片机可以准备接受下面的数据。
地址码由8位二进制组成,共256种。
地址码重发了一次,主要是加强遥控器的可靠性。
如果两次地址码不相同,说明本帧数据有错,予以丢弃。
数据码为8位,可编码256种状态,代表实际的按键。
数据反码是数据码的各位求反,通过比较数据码与数据反码,可判断接受到的数据是否正确。
如果它们不满足相反的关系,则本次遥控接受有误,数据应丢弃。
2.2.2红外遥控器接收电路
单片机遥控器接收电路采用一体化红外接收芯片SM0038,它将红外接受二极管,放大,解调,整形等电路集成在一起。
只有3个引脚,将凸槽面向前,分别是电源地,+5V电源,信号输出。
一体化接收芯片电路如图2.4所示。
红外接收头的信号输出接单片机的P1.7脚。
当手指按下不同的遥控键时,一体化接受芯片把解码后的信号输入单片机,控制不同的LED发光二极管的亮与灭。
图2.4一体化红外接收电路
2.3液晶显示模块
此系统采用RT12864液晶显示模块,RT12864字符液晶有128×64个像素点,能显示各种字符,汉字和图形,可与单片机直接相接,具有8位标准数据总线、6位控制线及电源线.其同单片机的接线图如图2.5所示,引脚功能如表2.1所示。
图2.5UM12864电路图
表2.1UM12864的引脚功能表
管脚号
管脚
电平
说明
1
VSS
0V
逻辑电源地。
2
VDD
5.0V
逻辑电源正。
3
V0
LCD驱动电压,应用时在VEE与V0之间加一2K可调电阻。
4
D/I
H/L
数据\指令选择:
高电平:
数据D0-D7将送入显示RAM;低电平:
数据D0-D7将送入指令寄存器执行。
5
R/W
H/L
读\写选择:
高电平:
读数据;低电平:
写数据。
6
E
H.H/L
读写使能,高电平有效,下降沿锁定数据。
7
DB0
H/L
数据输入输出引脚。
8
DB1
H/L
数据输入输出引脚。
9
DB2
H/L
数据输入输出引脚。
10
DB3
H/L
数据输入输出引脚。
11
DB4
H/L
数据输入输出引脚。
12
DB5
H/L
数据输入输出引脚。
13
DB6
H/L
数据输入输出引脚。
14
DB7
H/L
数据输入输出引脚。
15
CS1
H/L
片选择信号,低电平时选择前64列。
16
CS2
H
片选择信号,低电平时选择后64列。
17
RET
L
复位信号,低电平有效。
18
VEE
-10V
LCD驱动电源。
19
BL
AC
背光电源,LED+。
20
BL
AC
背光电源,LED-。
其中DB0~DB7为8位数据线,D/I――数据与指令选择信号,当D/I为’’1”时,操作数为数据,当为”0”时操作数为指令。
R/W――读写操作选择信号,当R/W为’1”时,执行读操作,当为”0”,执行写操作,E为读写数据/指令控制信号,CS1,CS2为片选信号,选择液晶的左右半屏,RET为复位信号等。
UM12864电路图读写时序如下:
单片机写资料到液晶
图2.6写时序
单片机从液晶读出资料
图2.7读时序
2.4单片机与单片机并行通信模块
用AT89S52两片单片机相互通信,用一块单片机的P0口来控制另一块单片机的P1口。
用SM0038红外接收遥控发出的信号,在红外接收器接收到遥控发出的信号后,红外接收器的数据线把数据传到第一块单片机中,单片机把红外传过来的信号处理后,通过P0口传到另一块单片机的P1口,来控制另一块单片机实现两块单片机通信,如图2.8。
图2.8两块单片机通信框图
2.5测温及温度传感器模块
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:
如表2.2所示,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中最高五位S为符号位。
表2.2两字节温度数据存储表
这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
表2.3为DS18B20暂存寄存器分布表,DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。
第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。
第六、七、八个字节用于内部计算。
第九个字节是冗余检验字节。
表2.3DS18B20暂存寄存器分布表
寄存器内容
字节地址
温度最低数字位
0
温度最高数字位
1
高温限值
2
低温限值
3
保留
4
保留
5
计数剩余值
6
每度计数值
7
CRC校验
8
TMR1R011111低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表2.4所示:
(DS18B20出厂时被设置为12位)
表2.4分辨率设置表
R1
R0
分辨率
温度最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
表2.5和表2.6分别是ROM指令和RAM指令表。
根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
所有的读,写时序至少需要60us,且每两个独立的时序之间至少需要1us的恢复时间。
在写时序中,主机将在拉低总线15us之内释放总线,并向单总线器件写1;若主机拉低总线后能保持至少60us的低电平,则向单总线器件写0,单总线器件仅在主机读时序时才向主机传输数据。
表2.5ROM指令
指令
约定代码
功能
读ROM
33H
读DS18B20ROM中的编码(即读64位地址)
符合ROM
55H
发出此命令后,接着发出64位ROM编码,访问单线总线上与该编码相对应的DS18B20使之作出响应,为下一步对该DS18B20的读写作准备。
搜索ROM
0F0H
用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件做好准备。
跳过ROM
0CCH
忽略64位ROM地址,直接向DS18B20发温度交换命令,适用于单片工作。
告警搜索命令
0ECH
执行后,只有温度超过设定值上限或下限的片子才做出响应。
表2.6RAM指令
指令
指令代码
功能
温度变换
44H
启动DS18B20进行温度变换,转换时间最长为500ms(典型为200ms),结果存入内部9字节RAM中。
读暂存器
0BEH
读内部RAM中9字节的内容。
写暂存器
4EH
发出向内部RAM的第3,4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。
复制暂存器
48H
将内部RAM的第3,4字节内容复制到E2ROM中。
重调E2ROM
0B8H
将E2ROM中内容恢复到RAM中的第3、4字节。
读供电方式
0B4H
读DS18B20的供电模式,寄生供电时DS18B20发送”0”,外接电源供电DS18B20发送“1“。
2.6DS18B20应用电路
DS18B20应用电路具体电路图如图2.9。
由于采用单总线器件,DS18B20的硬件电路连接很简单,1脚为接地端,2脚DQ为数据输入/输出脚,它与TTL电平兼容,与单片机的I/O口线相接,同时要接4.7KΩ左右的上拉电阻;3脚VDD,可接电源,也可接地。
因为每只DS18B20都可以选择两种供电方式,即数据总线供电方式和外部总线供电方式。
采用数据总线供电方式时VDD接地,可以节省一根传输线,但完成温度测量的时间较长;采用外部供电方式则把VDD接+5V,虽然多用一根导线,但测量速度较快。
图2.9DS1820应用电路
2.7单片机最小系统
89S52是低功耗,高性能芯片。
由运算器和控制器组成的微处理器,具有256个单元的片内RAM,4K的内部程序存储器,4*8条并行I/O口线,3个定时器/计数器,具有5个中断源,和一个全双工串行通道。
其中XTAL1和XTAL2为外接晶体引线端,当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;RST为复位信号,当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。
PSEN为外部程序存储器读选通信号,只有在读外部ROM时,PSEN为低电平实现对外部ROM单元的读操作。
EA是访问程序存储器控制信号,当EA信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。
ALE是地址锁存控制信号,在系统扩展时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。
单片机最小系统图如图2.10所示。
图2.10单片机最小系统图
3.软件设计
3.1软件设计说明
键扫流程图如图3.1所示,18B20温度传感器操作流图3.2所示,红外接
控制流程图3.3所示,液晶显示系统的整体流程框图3.4所示。
图3.1键扫流程图
图3.218B20温度传感器操作流图
图3.3红外接收控制流程图
图3.4液晶显示系统的整体流程框图
4系统测试与数据分析
4.1红外遥控测试
站在离一体化红外遥控接收系统5米左右距离,手握遥控键盘,当键盘的任一键闭合时,一体化接收芯片SM0038对脉宽调制的串行码进行解码后送入单片机,单片机使对应的P0口发出相应的一组8位2进制代码,可用8个发光二极管指示。
程序如附件2所示。
4.2温度传感功能测试
当安装好系统后,供上电源,通过选择温度显示的界面,可以看到在液晶显示屏上显示当前周围的温度值。
在环境温度较低时,用手去握住温度传感器,在液晶上可以看到温度值会迅速上升到人体体表温度值。
4.3单片机与单片机的并口通信
上位单片机的P0口连接到下位单片机的P1口上,当上位单片机从P0口发出一组8位二进制代码时,通过下位单片执行键扫子程序发出相应的命令,在液晶上显示出该组8位二进制代码,通过多次测试,能够很好地实现预期的效果。
4.4液晶各界面显示测试
系统在安装好后,一上电可以在液晶显示器上显示第一个界面,通过按键控制可以在液晶上面轮流显示后面的4个界面,在测试初期由于液晶的电源电压供给不当,通过调节分压电阻的大小,就可以在液晶上清楚的看到预期的显示效果了。
结束语
本系统以AT89S52为核心部件,把各功能模块有机高效地组织在一起,通过软件编程,实现遥控按键控制功能,红外遥控功能,单片机与单片机通信功能,温度传感测温功能,液晶显示功能,时钟功能,作息时间表打铃。
其中遥控模块用万能的电视或DVD遥控,通过遥控发出红外信号,用SM0038芯片接收红外遥控发出的信号在传送到单片机上,在用这块单片机控制另一块单片机来实现遥控时钟打铃系统。
其中时钟功能不仅能显示时间,而且能显示年月日。
作息时间表不是固定不变的,可以根据实际情况灵活的进行现场修改。
蜂鸣器发出的“嘀嘀。
。
”声,鸣声为10S。
在设计的过程中,尽量做到硬件电路简单,充分发挥编程的优点。
由于时间有限和本身知识的限制,我们认为本系统还有需要改进和提高的地方,如软件算法有待进一步的提高,硬件电路有待进一步完善。
总之,在同组两人的紧密团结精诚合作下,小组顺利的完成了设计任务,并有所发挥。
通过这段时间的设计实践,我们除了增强了动手能力,加深了理论知识的认识,还学到了许多大学课堂学不到的知识。
表5.1为系统完成情况。
表5.1系统完成情况
序号
具体要求
实现情况
1
基
本
要
求
时钟功能:
能显示时、分、秒
全部实现
2
调整功能:
能校正时间、日期、年份等
实现,可实现时间、日期、年份的实时调整
3
作息时间表:
按指定时间表打铃
实现
4
闹铃功能
完成
5
测温及显示
完成
6
发
挥
部
分
遥控控制
完成
7
万年历功能
完成
8
打铃
完成
9
作息时间表可以现场修改
完成
参考文献
1.黄智伟编著.全国大学生电子设计竞赛系统设计.北京:
北京航空航天大学出版社,2006年第一版
2.黄智伟主编,王彦,陈文光,朱卫华等编著.全国大学生电子设计竞赛训练教程[M].北京:
电子工业出版社,2005年第一版
3.高吉祥主编,吴佳,步凯,翟庆林编著.全国大学生电子设计竞赛培训系列教程高频电子线路设计.北京:
电子工业出版社,2007年第一版
4.高吉祥主编,吴佳,步凯,翟庆林编著.全国大学生电子设计竞赛培训系列教程模拟电子线路设计.北京:
电子工业出版社,2007年第一版
5.谢自美主编,谢自美、罗杰、赵云娣等编著.电子线路设计[M]华中科技大学出版社,2008年第三版
附录1主要元器件清单
主要元器件清单见表1所示。
表1主要元器件清单
序号
名称/型号
封装
数量
备注
1
AT89S52
DIP-40
2
51单片机
2
晶振
RAD0.2
2
12M
3
电容
RAD0.1
4
33PF
4
电解电容
RAD0.1
2
22UF
5
电阻
AXIAL0.4
7
6
电位器
SIP3
1
50K
7
遥控
-
1
发射信号
8
发光二极管
1
RAD0.1
9
按键
AJ
2
用于复位
10
SM0038
SIP3
1
红外接收芯片
11
DS18B20
SIP3
1
温度测量芯片
附录2红外遥控程序
#include
#include
#defineucharunsignedchar
voidIR_SHOW();
voiddelay2(ucharx);//x*0.14MS
voiddelay3(ucharms);
sbitIRIN=P2^0;
ucharIRCOM[8];
voidIR_IN();
uchargg,gs,ss,sg,dj;
main()
{
IRIN=1;
while
(1)
{
if(IRIN==0)
{
delay2
(2);
if(IRIN==0)
{
IR_IN();
gg=IRCOM[5]%10;
gs=IRCOM[5]/10;
sg=IRCOM[6]%10;
dj=sg*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 打铃 控制系统