ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:1.11MB ,
资源ID:8734236      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8734236.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于STC89C52单片机的智能红外遥控系统毕业论文.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于STC89C52单片机的智能红外遥控系统毕业论文.docx

1、基于STC89C52单片机的智能红外遥控系统毕业论文基于STC89C52单片机的智能红外遥控系统毕业论文泰 山 学 院本科毕业论文 基于STC89C52单片机的智能红外遥控系统所 在 学 院 信息科学技术学院 专 业 名 称 自动化 申请学士学位所属学科 工 学 年 级 二一三级 学 生 姓 名、学 号 张海涛 2009070200 指导教师姓名、职称 * 完 成 日 期 二一三年五月 摘 要随着科技的发展,特别是微电子技术的发展,单片机的应用已经深入到生活的各个领域。本文以STCC89C52为控制芯片,DS1302为时钟芯片,DS18B20为温度传感器,HS0038红外一体接收头作为红外接收

2、器,以此接收并处理遥控器按键信号并用来矫正时钟时间。同时,该项目还加入了定时和设定温度上下限的功能,当达到预设时间时执行开关灯命令,当温度低于温度下限或高于温度上限时执行开空调命令,开关器件为两个大功率电磁继电器。整个项目的所有数据显示于LCD12864液晶,形成一个良好的用户界面。硬件电路图和PCB用Protel99SE绘制,软件开发环境为KeilV3,项目实物为万用板焊接电路,经调试各项功能均已正常实现。关键词:红外遥控,单片机,DS1302,DS18B20,LCD12864ABSTRACTWith the development of science and technology, es

3、pecially the development of microelectronics technology, SCM applications have been deeply into all areas of life. Taking STCC89C52 as control chip, for DS1302 clock chip, DS18B20 as temperature collector, HS0038 infrared receiving head as integrated infrared receiver, signal receiving and processin

4、g the remote control buttons, in order to correct the clock time. At the same time, the project also joined the function of timing, and setting temperature of upper and lower, executive orders open to turn off the lights when preset time is reached, when the temperature lower than the temperature is

5、 lower or higher than the temperature limit command execution open air conditioning, for electromagnetic relay switch device. The whole project all the data shown in LCD12864 LCD, forming a good user interface. Made in Protel99SE, the hardware circuit diagram and PCB software development environment

6、 for KeilV3, project physical for universal plate welding circuit, through debugging functions are normal.Key words:infrared remote control, microcontroller, DS1302, DS18B20, LCD12864第1章 绪 论20世纪以来,电子技术发展迅速,特别是近几年来,现代电子产品以及各种消费电子产品已经渗透到了生活各方面,电子技术的发展推动力社会发展科技进步并且提高了人们的生活水平。以单片机为核心的多功能系统正在飞快的改变着人们的生活,

7、特别是一些家用智能产品,不但方便了人们的生活,更加丰富了人们的生活方式。以本文中的家用智能红外遥控系统为例,该项目除了具有一般的日历功能外,还增加了温度检测功能,但其能成为“智能”之处并不在于此,而是他可以通过遥控按键设定时间值和温度值,接着程序就会按照这些数值自动的控制继电器,从而达到了定时开关灯,定温开关空调的目的。在享受越来越智能化的电子产品的时候,我们还要再次感谢电子技术的发,集成化的功能模块已使编程和硬件设计变得非常方便。以温度采集模块为例,经典的温度采集系统由模拟量温度传感器、经过A/D转换和各种单片机电路组成。由于温度传感器输出模拟量那么信号需要经过A/D转换,转换为数字量后才能

8、与单片机等数字接口进行通信,从而使电路变得比较复杂,提高了成本。而DS18B20集成了模数转换功能,通过封装只留出一个数据接口,这样就可以直接输出数字量,从而单片机连接变得非常简单,提高了灵活度,降低了成本增加了应用价值。另外HS0038红外一体接受头,更是能把红外信号直接转变为电压信号,省去了大量的外围电路,方便了程序编写。第2章 单片机介绍2.1 单片机简介及历史单片机是一种超大规模集成电路芯片,把CPU,RAM存储器、ROM存储器、中断系统,多种I/O口、定时器/计时器等(还可以集成液晶控制器,SIP模块,IIC模块),集成到一块硅片电路板上构成的一个完善的微型计算机系统。单片机最早出现

9、于1971年,大致经历了SCM、MCU、SoC三个阶段,早期的单片机是8位或4位的。其中影响最大的的是INTEL的8031,此后在此基础上上研制出了MCS51系列单片机系统。由于其良好的性能和较高的性价比,该型号的单片机当今仍在广泛使用。随着工程项目复杂度的提高和对控制精确度要求的提高,16位单片机随之出现,但是16位单片机和51系列相比性价比优势不大,所以应用不太广泛。90年代以来随着消费电子产品需求增大,单片机技术乘势发展。随着ARM系列的广泛使用,32位单片机快速替代了16位单片机引领高端产品。2.2 单片机应用发展趋势当今世界的单片机领域可以说是百花齐放,世界各大芯片商先后都退出了自己

10、的8位,16位,32位单片机。有的于主流兼容有的则独树一帜,他们各具特色相互补充。总体看来,单片机发展的趋势大致有以下方面:1.高低搭配,分工明确。高端单片机低端单片机并行于世,各自发挥各自的功能,特别是在工业控制方面,各有各自的侧重点,如有的侧重运算速度有的则强调丰富的外设接口。2.低功耗。最初基于MCS-51的8013功耗达到630mW,而现在流行的单片机都在100mW上下。随着CMOS和CHMOS工艺的应用,单片机会变得速度更高功耗更低。3.体积更小。现代的电子产品大都要求体积小更便携。这就要求在最求高速低功耗的同时还要注重减小体积,很多单片机厂商在封装上下起了功夫,其中表面封装(SMD

11、)得到了普遍认可。使得单片机迈向微型化。第3章 硬件设计3.1 STC89C52单片机介绍3.1.1 STC89C52引脚简介STC89C52管脚如图1所示。图 1 STC89C52管脚图图 2 STC89C52实物图1.电源引脚(2根)GND(20脚):接地线;VCC(40脚):接5V电源2.外接晶振引脚(2根)XTAL0(18脚):荡电路的输入端;XTAL1(19脚):振荡电路的输出端3.控制引脚(4根)ALE/PROG(30脚):地址锁存允许信号;EA/VPP(31脚):片内外程序存储器选择,低电平读取外部存储器指令,高电平读片内程序指令;RST/VPP(9脚):复位引脚2个机器周期以上

12、的高电平单片机复位;PSEN(29脚):外部存储器读选通信号4.I/O口(32根)该单片机有4组(P0、P1、P2、P3)I/O口,每组8位,共32根引脚。P0口(39脚32脚)是一个具有8位漏极开路的双向I/O口。当输出口使用时,每位能驱动8路TTL电平。P1口(1脚8脚)是一个8 位双向I/O 口且具有上拉电阻。可以用来驱动TLL逻辑电平。P2口(21脚28脚)是一个8 位双向I/O 口且具有内部上拉电阻,P2 口可以用来驱动 TTL 逻辑电平。P3口(10脚17脚)是8位准双向I/O口,同时P3口具有复用功能,P3.0 串行输入(RXD)、P3.1 串行输出(TXD) 、P3.2 外部中

13、断0(INT0)、P3.3 外中断1(INT1)、P3.4 定时/计数器0、P3.5 定时/计数器1、P3.6 外部数据存储器写选通、P3.7 外部数据存储器读选通3.1.2 STC89C52RC主要功能特点STC89C52是宏晶科技生产的一种高性价比低功耗的8位单片机,片内集成8KFlash程序存储器,STC89C52使用经典的MCS-51内核,程序上完全兼容。但该单片机还是做了不少改进,缩短了指令执行周期,增加了定时器2,增加了看门狗功能。在单芯片上,8位的CPU配合8K的程序存储器,使得STC89C52能满足基本的控制需要不需要再外扩存储器。 以下是STC89C52的基本特点:1.相对于

14、一个机器周期占12个机器周期的8051增加6时钟/机器周期功能。2.工作电压宽度在5.5V - 3.4V。3.工作频率0 40 MHz最高可达到48MHz4.片内集成8K字节的程序存储器和512B的RAM5.通用I/O口(32个),复位后为P1P4是准双向口并带有弱上拉电阻,P0口是开漏输出,作为地址线使用时不用接上拉电阻而作为普通I/O口使用时必须使用上拉电阻。6.具有3个16位定时器/计数器,定时器0可以拆分成两个8位使用7.具有四个外部中断,可以设置成下降沿或低电平模式触发,掉电模式下外部中断的低电平模式可以唤醒系统。8.具有一个通用同步串口,如有需要可以通过普通I/O口模拟串口进行扩展

15、。9.正常工作温度范围0 - 75, 本项目为PDIP-40封装。 3.2 DS18B20温度传感器介绍3.2.1 DS18B20引脚及特点DS18B20的引脚及封装如图3所示: 图 3 DS18B20引脚及封装DS18B20的引脚:1.DQ 输入/输出端口;2. GND 为电源地;3. VDD +5V(寄生电源模式下该位接地即可)DS18B20 的主要特性:DS18B20适应的温度范围为3.05.5v,可以直接与3v或5v单片机相连,如果使用寄生电源模式两个电源引脚可以直接接地,DS18B20与单片机连接只需要一根数据线,通过一定的时序操作可以实现读和写的双向通信,另外DS18B20还有一大

16、特色,一条数据线可以连接多个传感器 ,在不增加I/O口的情况下实现网多点测温的需求,DS18B20 设计精巧实用方便,整个功能电路集成在只有三个引脚的芯片内,形如三家管 ,其温度测量范围55125,温度测量分辨率为 912 位出厂设置为12位精度,这样在默认设置下只要把测得并转化后的温度值乘以0.0625即可得实际温度值。DS18B20与单片机的连接有两种方法,外部电源供电和寄生电源供电方式,在实际使用时只需要在数据线上接上4.7k的上拉电阻即可。本项目采用外部电源供电方式如图4所示:图 4 DS18B20外部供电电路图3.2.2 DS18B20内部结构及寄存器介绍DS18B20的内部结构如图

17、5所示:图 5 DS18B20内部结构图DS18B20的四大数据组成部分:1.光刻 ROM 中的 64 位序列号,用于实现一根总线上挂接多个 DS18B20 的目的。2.温度灵敏原件,用于接收最初的温度模拟量3.非易失性温度报警触发器(EEPROM)TH和TL。可通过软件写入用户报警上下限值。4.配置寄存器,通过R0,R1位设置,温度分辨率,出厂时R0=1,R1=1(即12位分辨率)具体设置方法如图6所示:图 6 分辨率设置寄存器DS18B20高速暂存存储器介绍:高速RAM由9个字节组成如表1所示:温度低位温度高位THTL 配置位保留保留保留CRC校验表1 DS18B20存储器映像温度转换命令

18、(44H)发出后在最长750ms的时间内,二进制温度值被存放于温度高位和温度低位(即高速RAM的第0和1字节)。这时单片机按照低位在前,高位在后的方式读取两字节数据,就可以通过一定的转换规则得到十进制温度。在转换时应注意,当S=0(正温度)时,根据分辨率位数直接转换为十进制;当S=1(负温度)时,应先将补码取反加一,再进行十进制转换。数据格式如图7所示:图 7 温度值格式图3.3 DS1302时钟芯片介绍3.3.1 DS1302引脚及内部寄存器简介DS1302是美国达拉斯公司推出的一款功耗低功能全的实时时钟芯片,RTC寄存器可提供年、月、日、时、分、秒、及周的时间值,另有31字节静态RAM,采

19、用串行三线接口与单片机进行通信,突发方式下,可以一次性传送多个字节的数据或时钟信号。工作电压宽度2.55V ,用来保持片内数据时功率控制在1毫瓦内。具有备用电源引脚,也可以通过寄存器设置备用电源充电方式。DS1302的引脚如图8所示:图 8 DS1302引脚图其中X1、X2外接32.768KHz晶振;GND接地;CE信号使能端,数据传输时必须保持高电平,;I/O 数据输入/输出引脚;SCLK串行时钟,Vcc1,Vcc2电源供电管脚。DS1302关于时间和日期的寄存器如图9所示,共有12个,编程时注意读和写的地址有所不同。图 9 DS1302RTC寄存器DS1302控制字,如表2-2所示:1RA

20、M/A4A3A2A1A0RD/WR表2-2 DS1302控制字控制字从低位开始输出,在下一个时钟上升沿,写入数据,而在指令后的下一个时钟下降沿,读出数据。3.3.2 DS1302读写时序DS1302读写时序如图10所示:图 10 DS1302读写时序CE高电平开启数据传送功能,数据传输时,数据在时钟上升沿输入,时钟下降沿输出。3.4 HS0038红外一体接收器介绍3.4.1 HS0038特点介绍红外通信有红外发射装置和接收装置组成,本项目红外发射装置为载波38KHz的普通红外遥控器。HS0038能够接受红外信号,并能对信号放大,检波,整形输出单片机可以识别的TTL电平。单片机经过一定的算法把接

21、收到的数据进行解码。便可以得到遥控器键值。应当注意HS0038输出的数据正好和发射端的电平反向。3.4.2 HS0038电路及应用HS0038引脚及封装如图11所示:图 11 HS0038实物图从左到右,引脚依次是:I/O数据端口、GND接地、VCC接+5V电源。HS0038在单片机系统中常用的电路如图12所示图 12 HS0038应用电路图3.5 LCD12864液晶介绍3.5.1 LCD12864性能概述及引脚功能 本项目采用带汉字字库的液晶模块,内置8192个汉字128个字符还具有64*256的GDRAM可以用来绘制图形。液晶正常工作的点压宽度为3.35V,显示分辨率为12864。应用中

22、可以通过写入命令字来实现多种功能,如:开关光标,反白显示,屏幕移位,睡眠 模式等。LCD12864具有20个引脚功能如表2所示:表 2 LCD12864引脚功能图该液晶20个引脚与单片机的连接如图13所示。图 13 LCD12864与单片机连接图由于本项目采用8位并行数据传输方式,故其第15引脚PSB直接接高电平即可。3.5.2 LCD12864读写时序及用户指令集对LCD12864液晶的操作不外乎通过单片机不断进行读写,单片机写数据到液晶模块的时序图如图14所示图 14 单片机写数据到液晶模块单片机读取液晶模块数据的时序图如图15所示。图 15 单片机读取液晶模块数据由图2-15可知写数据或

23、命令的操作大致如下,RS为高时写数据RS为低时写指令;RW引脚为低电平进行写操作;E引脚设置为高允许数据传送,接着便把所传数据放于数据引脚,E引脚再次拉低变完成了写操作。LCD12864有两种指令集,基本指令集(RE=0)和扩充指令集(RE=1),写指令时RS=0,RW=0。通过正确的时序写指令可以设置LCD12864的很多功能,如写入0x01指令即可清屏并把DDRAM地址计数器调整为“00H”,再如写入指令“0xc”即可打开显示关闭游标。3.6 其他硬件电路3.6.1 STC89C52RC最小系统的设计本项目的单片机最小系统主要包括,STC89C52单片机,12M外接晶振,上电复位电路三个部

24、分。最小系统晶振电路如图16所示。图 16 晶振电路晶振两个引脚分别接与单片机的XTAL0和XTAL1引脚,电容值的选择范围为530PF,电容对晶振频率具有微调作用。最小系统复位电路如图17所示。图 17 上电复位电路单片机复位电路的设计必须能满足上电震荡稳定后,保持至少两个周期的高电平。本最小系统采用10uf的电容,经验证完全满足要求。由于本电路上电即可以使单片机复位,又具有电源开关,故省去了按键复位开关。另外,由于本项目采用单片机内部存储器存储程序,故单片机的第31引脚(EA)接高电平,用来访问片内程序。3.6.2 系统电源电路的设计 由于所选用单片机为5V单片机,为得到较稳定的5V电压,

25、本项目采用了L7805cv三端集成稳压管。输出电压4.75-5.25V,最大输入电压35v,压差3-5v时工作在理想状态。输出电流可达1.5A(需做好散热),同时L7805cv内部含有限流保护电路和过热保护电路,防止负载过大温度过高烧坏器件。本项目中L7805cv的应用电路如图18所示。图 18 L7805cv稳压电路图第4章 软件开发平台及软件4.1 开发环境介绍及程序总体结构4.1.1 开发环境介绍 本项目采用KEIL C51集成开发环境,它具有有好的界面,使用极为方便。支持汇编语言,C语言及其混合编程,能够兼容绝大多数51系列单片机的程序设计和仿真。4.1.2 程序总体结构由于整个系统涉

26、及到的外设模块较多,故采用了多文件模块化编程,这样大大提高了程序的可读性,也为以后可能遇到的程序移植和升级提供了方便。整个项目的程序结构如图19所示。图 19 程序结构图其中,main.c是项目主函数包含了各种外设的初始化及其功能函数的调用,DS18B20.c、IR.c、DS1302.c、LCD12864.c分别为温度传感器、红外接收器、时钟芯片和液晶的驱动程序,SET.c是用来定时、定温的功能模块。4.2 DS18B20温度程序模块4.2.1 DS18B20操作流程DS18B20操作流程如图20所示。初始化复位、发跳过ROM命令发温度转换命令、等待发读取温度命令复位、发跳过ROM命令调用显示

27、函数存储并转化数据图 20 DS18B20操作流程4.2.2 DS18B20部分程序代码/*?*DS18B20初始化*/void DS18B20_Init()DS1820_RSET();DS1820_WData(0xCC); /跳过ROMDS1820_WData(0x4E); /写暂存器DS1820_RSET();/*DS1820复位*/bit DS1820_RSET()uchar i;bit flag;DS1820_bit=0;for(i=230;i0;i-); /延时480微秒,产生复位脉冲DS1820_bit=1; /释放总线for(i=40;i0;i-); /延时80微秒flag=DS

28、1820_bit; /得到引脚电平for(i=200;i0;i-); /延时400微秒等待总线恢复return (flag); /如有需要测试flag=0,则器件正常/*写数据到DS1820*/void DS1820_WData(uchar wData)uchar i,j;for(i=8;i0;i-) DS1820_bit=0; /低电平,产生写信号 for(j=2;j0;j-); /延时 DS1820_bit=wData&0x01; /发送1位 for(j=30;j0;j-); /延时 DS1820_bit=1; /释放总线 wData=1; /右移一位写下一位 /*从DS1820中读出数据

29、*/uchar DS1820_RData()uchar i,j,Tmep;for(i=8;i0;i-)Tmep=1;DS1820_bit=0; /低电平,产生读信号for(j=2;j0;j-); /延时4usDS1820_bit=1; /释放总线,准备读数据for(j=4;j0;j-); /延时if(DS1820_bit=1)Tmep|=0x80;for(j=30;j0;j-); /延时DS1820_bit=1; /拉高数据线,准备读下一位return(Tmep); /返回数据/*/*得到温度值*/void get_Wendu_data() uchar temp_data_2; uint TempDec; /用来存放小数位

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1