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

上传人:b****7 文档编号:8734236 上传时间:2023-02-01 格式:DOCX 页数:37 大小:1.11MB
下载 相关 举报
基于STC89C52单片机的智能红外遥控系统毕业论文.docx_第1页
第1页 / 共37页
基于STC89C52单片机的智能红外遥控系统毕业论文.docx_第2页
第2页 / 共37页
基于STC89C52单片机的智能红外遥控系统毕业论文.docx_第3页
第3页 / 共37页
基于STC89C52单片机的智能红外遥控系统毕业论文.docx_第4页
第4页 / 共37页
基于STC89C52单片机的智能红外遥控系统毕业论文.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

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

《基于STC89C52单片机的智能红外遥控系统毕业论文.docx》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的智能红外遥控系统毕业论文.docx(37页珍藏版)》请在冰豆网上搜索。

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

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

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

泰山学院

本科毕业论文

 

基于STC89C52单片机的智能红外遥控系统

 

所在学院信息科学技术学院

专业名称自动化

申请学士学位所属学科工学

年级二〇一三级

学生姓名、学号张海涛2009070200

指导教师姓名、职称************

完成日期二〇一三年五月

摘要

随着科技的发展,特别是微电子技术的发展,单片机的应用已经深入到生活的各个领域。

本文以STCC89C52为控制芯片,DS1302为时钟芯片,DS18B20为温度传感器,HS0038红外一体接收头作为红外接收器,以此接收并处理遥控器按键信号并用来矫正时钟时间。

同时,该项目还加入了定时和设定温度上下限的功能,当达到预设时间时执行开关灯命令,当温度低于温度下限或高于温度上限时执行开空调命令,开关器件为两个大功率电磁继电器。

整个项目的所有数据显示于LCD12864液晶,形成一个良好的用户界面。

硬件电路图和PCB用Protel99SE绘制,软件开发环境为KeilV3,项目实物为万用板焊接电路,经调试各项功能均已正常实现。

关键词:

红外遥控,单片机,DS1302,DS18B20,LCD12864

ABSTRACT

Withthedevelopmentofscienceandtechnology,especiallythedevelopmentofmicroelectronicstechnology,SCMapplicationshavebeendeeplyintoallareasoflife.TakingSTCC89C52ascontrolchip,forDS1302clockchip,DS18B20astemperaturecollector,HS0038infraredreceivingheadasintegratedinfraredreceiver,signalreceivingandprocessingtheremotecontrolbuttons,inordertocorrecttheclocktime.Atthesametime,theprojectalsojoinedthefunctionoftiming,andsettingtemperatureofupperandlower,executiveordersopentoturnoffthelightswhenpresettimeisreached,whenthetemperaturelowerthanthetemperatureislowerorhigherthanthetemperaturelimitcommandexecutionopenairconditioning,forelectromagneticrelayswitchdevice.ThewholeprojectallthedatashowninLCD12864LCD,formingagooduserinterface.MadeinProtel99SE,thehardwarecircuitdiagramandPCBsoftwaredevelopmentenvironmentforKeilV3,projectphysicalforuniversalplateweldingcircuit,throughdebuggingfunctionsarenormal.

Keywords:

infraredremotecontrol,microcontroller,DS1302,DS18B20,LCD12864

第1章绪论

20世纪以来,电子技术发展迅速,特别是近几年来,现代电子产品以及各种消费电子产品已经渗透到了生活各方面,电子技术的发展推动力社会发展科技进步并且提高了人们的生活水平。

以单片机为核心的多功能系统正在飞快的改变着人们的生活,特别是一些家用智能产品,不但方便了人们的生活,更加丰富了人们的生活方式。

以本文中的家用智能红外遥控系统为例,该项目除了具有一般的日历功能外,还增加了温度检测功能,但其能成为“智能”之处并不在于此,而是他可以通过遥控按键设定时间值和温度值,接着程序就会按照这些数值自动的控制继电器,从而达到了定时开关灯,定温开关空调的目的。

在享受越来越智能化的电子产品的时候,我们还要再次感谢电子技术的发,集成化的功能模块已使编程和硬件设计变得非常方便。

以温度采集模块为例,经典的温度采集系统由模拟量温度传感器、经过A/D转换和各种单片机电路组成。

由于温度传感器输出模拟量那么信号需要经过A/D转换,转换为数字量后才能与单片机等数字接口进行通信,从而使电路变得比较复杂,提高了成本。

而DS18B20集成了模数转换功能,通过封装只留出一个数据接口,这样就可以直接输出数字量,从而单片机连接变得非常简单,提高了灵活度,降低了成本增加了应用价值。

另外HS0038红外一体接受头,更是能把红外信号直接转变为电压信号,省去了大量的外围电路,方便了程序编写。

第2章单片机介绍

2.1单片机简介及历史

单片机是一种超大规模集成电路芯片,把CPU,RAM存储器、ROM存储器、中断系统,多种I/O口、定时器/计时器等(还可以集成液晶控制器,SIP模块,IIC模块),集成到一块硅片电路板上构成的一个完善的微型计算机系统。

单片机最早出现于1971年,大致经历了SCM、MCU、SoC三个阶段,早期的单片机是8位或4位的。

其中影响最大的的是INTEL的8031,此后在此基础上上研制出了MCS51系列单片机系统。

由于其良好的性能和较高的性价比,该型号的单片机当今仍在广泛使用。

随着工程项目复杂度的提高和对控制精确度要求的提高,16位单片机随之出现,但是16位单片机和51系列相比性价比优势不大,所以应用不太广泛。

90年代以来随着消费电子产品需求增大,单片机技术乘势发展。

随着ARM系列的广泛使用,32位单片机快速替代了16位单片机引领高端产品。

2.2单片机应用发展趋势

当今世界的单片机领域可以说是百花齐放,世界各大芯片商先后都退出了自己的8位,16位,32位单片机。

有的于主流兼容有的则独树一帜,他们各具特色相互补充。

总体看来,单片机发展的趋势大致有以下方面:

1.高低搭配,分工明确。

高端单片机低端单片机并行于世,各自发挥各自的功能,特别是在工业控制方面,各有各自的侧重点,如有的侧重运算速度有的则强调丰富的外设接口。

2.低功耗。

最初基于MCS-51的8013功耗达到630mW,而现在流行的单片机都在100mW上下。

随着CMOS和CHMOS工艺的应用,单片机会变得速度更高功耗更低。

3.体积更小。

现代的电子产品大都要求体积小更便携。

这就要求在最求高速低功耗的同时还要注重减小体积,很多单片机厂商在封装上下起了功夫,其中表面封装(SMD)得到了普遍认可。

使得单片机迈向微型化。

第3章硬件设计

3.1STC89C52单片机介绍

3.1.1STC89C52引脚简介

STC89C52管脚如图1所示。

图1STC89C52管脚图

图2STC89C52实物图

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个机器周期以上的高电平单片机复位;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外部中断0(INT0)、P3.3外中断1(INT1)、P3.4定时/计数器0、P3.5定时/计数器1、P3.6外部数据存储器写选通、P3.7外部数据存储器读选通

3.1.2STC89C52RC主要功能特点

STC89C52是宏晶科技生产的一种高性价比低功耗的8位单片机,片内集成8KFlash程序存储器,STC89C52使用经典的MCS-51内核,程序上完全兼容。

但该单片机还是做了不少改进,缩短了指令执行周期,增加了定时器2,增加了看门狗功能。

在单芯片上,8位的CPU配合8K的程序存储器,使得STC89C52能满足基本的控制需要不需要再外扩存储器。

以下是STC89C52的基本特点:

1.相对于一个机器周期占12个机器周期的8051增加6时钟/机器周期功能。

2.工作电压宽度在5.5V-3.4V。

3.工作频率0–40MHz最高可达到48MHz

4.片内集成8K字节的程序存储器和512B的RAM

5.通用I/O口(32个),复位后为P1~P4是准双向口并带有弱上拉电阻,P0口是开漏输出,作为地址线使用时不用接上拉电阻而作为普通I/O口使用时必须使用上拉电阻。

6.具有3个16位定时器/计数器,定时器0可以拆分成两个8位使用

7.具有四个外部中断,可以设置成下降沿或低电平模式触发,掉电模式下外部中断的低电平模式可以唤醒系统。

8.具有一个通用同步串口,如有需要可以通过普通I/O口模拟串口进行扩展。

9.正常工作温度范围0-75℃,本项目为PDIP-40封装。

3.2DS18B20温度传感器介绍

3.2.1DS18B20引脚及特点

DS18B20的引脚及封装如图3所示:

图3DS18B20引脚及封装

DS18B20的引脚:

1.DQ输入/输出端口;2.GND为电源地;3.VDD+5V(寄生电源模式下该位接地即可)

DS18B20的主要特性:

DS18B20适应的温度范围为3.0~5.5v,可以直接与3v或5v单片机相连,如果使用寄生电源模式两个电源引脚可以直接接地,DS18B20与单片机连接只需要一根数据线,通过一定的时序操作可以实现读和写的双向通信,另外DS18B20还有一大特色,一条数据线可以连接多个传感器,在不增加I/O口的情况下实现网多点测温的需求,DS18B20设计精巧实用方便,整个功能电路集成在只有三个引脚的芯片内,形如三家管,其温度测量范围-55℃~+125℃,温度测量分辨率为9~12位出厂设置为12位精度,这样在默认设置下只要把测得并转化后的温度值乘以0.0625即可得实际温度值。

DS18B20与单片机的连接有两种方法,外部电源供电和寄生电源供电方式,在实际使用时只需要在数据线上接上4.7kΩ的上拉电阻即可。

本项目采用外部电源供电方式如图4所示:

图4DS18B20外部供电电路图

3.2.2DS18B20内部结构及寄存器介绍

DS18B20的内部结构如图5所示:

图5DS18B20内部结构图

DS18B20的四大数据组成部分:

1.光刻ROM中的64位序列号,用于实现一根总线上挂接多个DS18B20的目的。

2.温度灵敏原件,用于接收最初的温度模拟量

3.非易失性温度报警触发器(EEPROM)TH和TL。

可通过软件写入用户报警上下限值。

4.配置寄存器,通过R0,R1位设置,温度分辨率,出厂时R0=1,R1=1(即12位分辨率)具体设置方法如图6所示:

图6分辨率设置寄存器

DS18B20高速暂存存储器介绍:

高速RAM由9个字节组成如表1所示:

温度低位

温度高位

TH

TL

配置位

保留

保留

保留

CRC校验

表1DS18B20存储器映像

温度转换命令(44H)发出后在最长750ms的时间内,二进制温度值被存放于温度高位和温度低位(即高速RAM的第0和1字节)。

这时单片机按照低位在前,高位在后的方式读取两字节数据,就可以通过一定的转换规则得到十进制温度。

在转换时应注意,当S=0(正温度)时,根据分辨率位数直接转换为十进制;当S=1(负温度)时,应先将补码取反加一,再进行十进制转换。

数据格式如图7所示:

图7温度值格式图

3.3DS1302时钟芯片介绍

3.3.1DS1302引脚及内部寄存器简介

DS1302是美国达拉斯公司推出的一款功耗低功能全的实时时钟芯片,RTC寄存器可提供年、月、日、时、分、秒、及周的时间值,另有31字节静态RAM,采用串行三线接口与单片机进行通信,突发方式下,可以一次性传送多个字节的数据或时钟信号。

工作电压宽度2.5~5V,用来保持片内数据时功率控制在1毫瓦内。

具有备用电源引脚,也可以通过寄存器设置备用电源充电方式。

DS1302的引脚如图8所示:

图8DS1302引脚图

其中X1、X2外接32.768KHz晶振;GND接地;CE信号使能端,数据传输时必须保持高电平,;I/O数据输入/输出引脚;SCLK串行时钟,Vcc1,Vcc2电源供电管脚。

DS1302关于时间和日期的寄存器如图9所示,共有12个,编程时注意读和写的地址有所不同。

图9DS1302RTC寄存器

DS1302控制字,如表2-2所示:

1

RAM/

A4

A3

A2

A1

A0

RD/WR

表2-2DS1302控制字

控制字从低位开始输出,在下一个时钟上升沿,写入数据,而在指令后的下一个时钟下降沿,读出数据。

3.3.2DS1302读写时序

DS1302读写时序如图10所示:

图10DS1302读写时序

CE高电平开启数据传送功能,数据传输时,数据在时钟上升沿输入,时钟下降沿输出。

3.4HS0038红外一体接收器介绍

3.4.1HS0038特点介绍

红外通信有红外发射装置和接收装置组成,本项目红外发射装置为载波38KHz的普通红外遥控器。

HS0038能够接受红外信号,并能对信号放大,检波,整形输出单片机可以识别的TTL电平。

单片机经过一定的算法把接收到的数据进行解码。

便可以得到遥控器键值。

应当注意HS0038输出的数据正好和发射端的电平反向。

3.4.2HS0038电路及应用

HS0038引脚及封装如图11所示:

图11HS0038实物图

从左到右,引脚依次是:

I/O数据端口、GND接地、VCC接+5V电源。

HS0038在单片机系统中常用的电路如图12所示

图12HS0038应用电路图

3.5LCD12864液晶介绍

3.5.1LCD12864性能概述及引脚功能

本项目采用带汉字字库的液晶模块,内置8192个汉字128个字符还具有64*256的GDRAM可以用来绘制图形。

液晶正常工作的点压宽度为3.3~5V,显示分辨率为128×64。

应用中可以通过写入命令字来实现多种功能,如:

开关光标,反白显示,屏幕移位,睡眠模式等。

LCD12864具有20个引脚功能如表2所示:

表2LCD12864引脚功能图

该液晶20个引脚与单片机的连接如图13所示。

图13LCD12864与单片机连接图

由于本项目采用8位并行数据传输方式,故其第15引脚PSB直接接高电平即可。

3.5.2LCD12864读写时序及用户指令集

对LCD12864液晶的操作不外乎通过单片机不断进行读写,单片机写数据到液晶模块的时序图如图14所示

图14单片机写数据到液晶模块

单片机读取液晶模块数据的时序图如图15所示。

图15单片机读取液晶模块数据

由图2-15可知写数据或命令的操作大致如下,RS为高时写数据RS为低时写指令;RW引脚为低电平进行写操作;E引脚设置为高允许数据传送,接着便把所传数据放于数据引脚,E引脚再次拉低变完成了写操作。

LCD12864有两种指令集,基本指令集(RE=0)和扩充指令集(RE=1),写指令时RS=0,RW=0。

通过正确的时序写指令可以设置LCD12864的很多功能,如写入0x01指令即可清屏并把DDRAM地址计数器调整为“00H”,再如写入指令“0xc”即可打开显示关闭游标。

3.6其他硬件电路

3.6.1STC89C52RC最小系统的设计

本项目的单片机最小系统主要包括,STC89C52单片机,12M外接晶振,上电复位电路三个部分。

最小系统晶振电路如图16所示。

图16晶振电路

晶振两个引脚分别接与单片机的XTAL0和XTAL1引脚,电容值的选择范围为5~30PF,电容对晶振频率具有微调作用。

最小系统复位电路如图17所示。

图17上电复位电路

单片机复位电路的设计必须能满足上电震荡稳定后,保持至少两个周期的高电平。

本最小系统采用10uf的电容,经验证完全满足要求。

由于本电路上电即可以使单片机复位,又具有电源开关,故省去了按键复位开关。

另外,由于本项目采用单片机内部存储器存储程序,故单片机的第31引脚(EA)接高电平,用来访问片内程序。

3.6.2系统电源电路的设计

由于所选用单片机为5V单片机,为得到较稳定的5V电压,本项目采用了L7805cv三端集成稳压管。

输出电压4.75-5.25V,最大输入电压35v,压差3-5v时工作在理想状态。

输出电流可达1.5A(需做好散热),同时L7805cv内部含有限流保护电路和过热保护电路,防止负载过大温度过高烧坏器件。

本项目中L7805cv的应用电路如图18所示。

图18L7805cv稳压电路图

第4章软件开发平台及软件

4.1开发环境介绍及程序总体结构

4.1.1开发环境介绍

本项目采用KEILC51集成开发环境,它具有有好的界面,使用极为方便。

支持汇编语言,C语言及其混合编程,能够兼容绝大多数51系列单片机的程序设计和仿真。

4.1.2程序总体结构

由于整个系统涉及到的外设模块较多,故采用了多文件模块化编程,这样大大提高了程序的可读性,也为以后可能遇到的程序移植和升级提供了方便。

整个项目的程序结构如图19所示。

图19程序结构图

其中,main.c是项目主函数包含了各种外设的初始化及其功能函数的调用,DS18B20.c、IR.c、DS1302.c、LCD12864.c分别为温度传感器、红外接收器、时钟芯片和液晶的驱动程序,SET.c是用来定时、定温的功能模块。

4.2DS18B20温度程序模块

4.2.1DS18B20操作流程

DS18B20操作流程如图20所示。

 

初始化

复位、发跳过ROM命令

发温度转换命令、等待

发读取温度命令

复位、发跳过ROM命令

调用显示函数

存储并转化数据

 

图20DS18B20操作流程

4.2.2DS18B20部分程序代码

/**********************************************************?

*DS18B20初始化

**********************************************************/

voidDS18B20_Init()

{

DS1820_RSET();

DS1820_WData(0xCC);//跳过ROM

DS1820_WData(0x4E);//写暂存器

DS1820_RSET();

}

/**********************************************************

*DS1820复位

**********************************************************/

bitDS1820_RSET()

{

uchari;

bitflag;

DS1820_bit=0;

for(i=230;i>0;i--);//延时480微秒,产生复位脉冲

DS1820_bit=1;//释放总线

for(i=40;i>0;i--);//延时80微秒

flag=DS1820_bit;//得到引脚电平

for(i=200;i>0;i--);//延时400微秒等待总线恢复

return(flag);//如有需要测试flag==0,则器件正常

}

/**********************************************************

*写数据到DS1820

**********************************************************/

voidDS1820_WData(ucharwData)

{

uchari,j;

for(i=8;i>0;i--)

{

DS1820_bit=0;//低电平,产生写信号

for(j=2;j>0;j--);//延时

DS1820_bit=wData&0x01;//发送1位

for(j=30;j>0;j--);//延时

DS1820_bit=1;//释放总线

wData>>=1;//右移一位写下一位

}

}

/**********************************************************

*从DS1820中读出数据

**********************************************************/

ucharDS1820_RData()

{

uchari,j,Tmep;

for(i=8;i>0;i--)

{

Tmep>>=1;

DS1820_bit=0;//低电平,产生读信号

for(j=2;j>0;j--);//延时4us

DS1820_bit=1;//释放总线,准备读数据

for(j=4;j>0;j--);//延时

if(DS1820_bit==1)

{Tmep|=0x80;}

for(j=30;j>0;j--);//延时

DS1820_bit=1;//拉高数据线,准备读下一位

}

return(Tmep);//返回数据

}

/**********************************************************

/*得到温度值

**********************************************************/

voidget_Wendu_data()

{

uchartemp_data_2;

uintTempDec;//用来存放小数位

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

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

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