[工学]单片机的课程设计综合应用实例课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[工学]单片机的课程设计综合应用实例课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 单片机 课程设计 综合 应用 实例 课件
- 资源描述:
-
1、第第13章章 单片机的课程设计单片机的课程设计(综合应用实例综合应用实例)13.1 红外接收器件红外接收器件TL1838 近年来随着计算机在社会各领域的渗透,单片机的应用正在不断地走向深入,同时也带动传统的控制、检测等工作日益更新。传统的遥控器大多采用无线电遥控技术,随着科技的进步,红外线遥控技术的进一步成熟,红外遥控也逐步成为了一种被广泛应故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电用的通信和遥控手段。为了方便实用,传统的家庭电器逐渐采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等有害环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。红外遥控的特点是不影响
2、周边环境、不干扰其它电器设备。由于其无法穿透墙壁,路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。红外遥控虽然被广泛应用,但各产商的遥控器不能相互兼容。当今市场上的红外线遥控装置一般采用专用的遥控编码及解码集成电路,但编程灵活性较低,且产品多相互绑定,不能复用,故应用范围有限。而本文采用单片机进行遥控系统的应用设计,遥控装置将同时具有编程灵活、控制范围广、体积小、功耗低、功能强、成本低、可靠性高等特点,因此采用单片机的红外遥控技术具有广阔的发展前景。13.1.1 概述概述 1.基于单片机的红外遥控系统概述 当今社会科学技术的发展与日俱增,人们生活水
3、平也是日益提高,为了减少人们的工作量,所以对各种家用电器、电子器件的非人工控制的要求越来越高,针对这种情况,设计出一种集成度比较高的控制体系是必然的。现代科技的飞速发展在许多危险、不可近场合也对远程控制提出了越来越高的要求。单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机的集成度很高,它体积小、功耗低、控制功能强、
4、扩展灵活、微型化、使用方便等突出特点,尤其耗电少,又可使供电电源体积小、质量轻。所以特别适用于“电脑型产品”,它的应用已深入到工业、农业、国防、科研、教育以及日常生活用品(家电、玩具)等各种领域,几乎很难找到哪个领域没有单片机的踪迹。单片机特别适合把它做到产品的内部,取代部分老式机械、电子零件或元器件。可使产品缩小体积,增强功能,实现不同程度的智能化。红外线是一种光线,具有普通光的性质,可以以光速直线传播,强度可调,可以通过光学透镜聚焦,可以被不透明物体遮挡等等。特别制造的半导体发光二极管,可以发出特定波长(通常是近红外)的红外线,通过控制二极管的电流可以很方便的改变红外线的强度,以达到调制的
5、目的,因此,在现代电子工程应用中,红外线常常被用做近距离视线范围内的通讯载波。使用红外线做信号载波的优点很多:成本低、传播范围和方向可以控制、不产生电磁辐射干扰,也不受干扰等等。因此被广泛地应用在各种技术领域中。由于红外线为不可见光,因此对环境影响很小,再由红外光波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。最典型的应用就是家电遥控器。红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计家用电器的红外线遥控器时,不必要像无线电遥控器那样,每套(发射器和接收器)要有不同的遥控频率或编码(否则,就会隔墙控制或干扰邻居的家用电器)。
6、同类产品的红外线遥控器,也可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方面。本设计主要研究并设计一个基于单片机的红外发射及接收系统,实现对温度控制的隔离控制。控制系统主要是由 MCS-51 系列单片机、集成红外发射遥控器、红外接收电路、LCD 显示电路,温度控制电路等部分组成,发射遥控信号经红外接收处理传送给单片机,单片机根据不同的信息码控制温度报警,并完成相应的状态指示(如图13-1)。按键编码和调制红外发射红外接收解码并响应红外遥控器红外接收图图13-1 红外线遥控系统框图红外线遥控系统框图 2.本设计方案思路 本
7、设计主控芯片采用目前比较通用的MCS-51系列单片机。此类单片机的运算能力强,软件编程灵活,自由度大,市场上比较多见,价格便宜且技术比较成熟容易实现。红外传输利用载波对信号进行调制从而减少信号传输过程中的光波干扰,提高数据传输效率。由遥控器将键盘信息及系统识别码等数据调制在红外载波上经红外发射头发射出去。接收方由红外一体化接收头实现对接收信号的放大解调并还原为数据流,经由单片机解码后对相关IO口进行操作。3.研发方向和技术关键 1)合理设计硬件电路,使各模块功能协调;2)红外接收信号的脉冲波形;3)红外接收信号的编解码;4)单片机对IO口的操作;4.主要技术指标 1)遥控最远距离8到10m 2
8、)工作频率为 38KHz,即红外发射和接收的载频为 38KHz;4)接收端可显示受控状态以及输入控制数据。13.1.2 总体设计总体设计 红外遥控系统是集中集光、电于一体的系统。其工作原理是用户按键信号经单片机编码处理后转化为脉冲信号,经由红外发射头发送出去;接收端由红外一体化接收头实现对接收信号的放大解调并还原为数据流,经由单片机解码后对相关IO口进行操作,从而完成整个遥控操作。整个系统主要是由51单片机基本电路、红外接收电路、LCD 显示电路,温度控制电路等部分组成。系统硬件由以下几部分组成:红外数据发射遥控器。红外数据接收则是采用 VS1838B 一体化红外接收头,内部集成红外接收、数据
9、采集、解码的功能,只要在接收端 INT0 检测头信号低电平的到来,就可完成对整个串行的信号进行分析得出当前控制指令的功能。然后根据所得的指令去操作相应的用电器件工作,如图13-2所示。图图13-2 系统总体结构框图系统总体结构框图 1.红外遥控发射部分 红外遥控发射部分为常见的普通遥控器。2.红外遥控接收部分 红外遥控接收电路框图见图13-3。红外接收端普遍采用价格便宜,性能可靠的一体化红外接收头(VS1838B,它接收红外信号频率为38KHz,周期约26s)。它能同时对信号进行放大、检波、整形,得到TTL 电平的编码信号。红外接收头收到信号后单片机立即产生中断,开始接收红外信号。接收到的信号
10、经单片机解码得到用户遥控信息并转至IO口执行,同时单片机还完成对处于工作状态的设备进行计数并显示。3.红外编码标准 通过拆解遥控器知道这个用的编码芯片是PT2221 通过查询得知是NEC编码标准:此标准下的发射端所发射的一帧码含有一个引导码、8位用户码、8位用户反码,8位键数据码、8位键数据反码。引导码由一个9ms的高电平和4.5ms的低电平组成。当按下持续时间超过108ms时,则发送简码(简码由9ms高电平和2.25ms的低电平组成)来告之接收端是某一个按键一直按着,象电视的音量和频道切换键都有此功能,简码与简码之间相隔是108ms。“1”和“0”的区分采用脉冲位置调制方式(PPM)。1)二
11、进制信号的调制 二进制信号的调制仍由发送单片机来完成,A是二进制信号的编码波形,B 是频率为38KHz(周期为26s)的连续脉冲,C是经调制后的间断脉冲串(相当于C=AB),用于红外发射二极管发送的波形。2)二进制信号的解调 二进制信号的解调由一体化红外接收头VS1838B来完成,它把接收到的红外信号(图13-4 中波形D)经内部处理并解调复原,在输出脚输出图13-4中波形E,VS1838B 的解调可理解为:在输入有脉冲串时,输出端输出低电平,否则输出高电平。可直接与单片机串行输入口及外中断相联,以实现随时接收遥控信号并产生中断,然后由单片机对编码还原。3)二进制信号的解码 二进制信号的解码由
12、接收单片机来完成,它把红外接收头送来的二进制编码波形通过解码,还原出发送端发送的数据。如图13-4,把波形解码还原成原始二进制数据信息101。图图13-4 红外接收头接收及输出波形红外接收头接收及输出波形 13.1.3 硬件设计硬件设计 1.主控芯片AT89C51 AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程。2.红外发射红外发送器大多是使用Ga、As
13、等材料制成的红外发射二极管,其能够通过的LED电流越大,发射角度越小,产生的发射强度就越大;发射强度越大,红外传输距离就越远,传输距离正比于发射强度的平方根。通常,红外遥控器将遥控信号(二进制脉冲码)调制在40KHz(周期为26.3ms)的载波上,经缓冲放大后送至红外发光二极管,产生红外信号发射出去。在红外数据发射过程中,由于发送信号时的最大平均电流需几十mA(对应mW级发射功率),所以需要三极管放大后去驱动红外光发射二极管(又称电光二极管)。单片机通过软件编程将调制好的脉冲信号从P3口第6脚(P3.5)将数据输出 3.红外遥控接收电路 本部分电路是该设计中硬件电路的重点部分,系统由红外接收电
14、路,单片机电路,设备驱动电路,状态显示电路组成。一体化红外接收头采用VS1838B,它负责对接收到的红外遥控信号的解调。将调制在40kHz上的红外脉冲信号解调后再输入到AT89C51的INT0(P3.2)引脚,由单片机进行高电平与低电平宽度的测量。遥控信号的还原是通过P3.1输入二进制脉冲码的高电平与低电平及维持时间,当接收头接收信号时,单片机产生中断,并在P3.1口对信号电平进行识别,并还原为原发送数据,这在后面的软件设计中会具体介绍到。数据流通过单片机处理后送驱动控制部分。并通过数码管显示用电设备的个数 1)红外信号接收电路 VS1838B是用于红外遥控接收的小型一体化接收头,它的主要功能
15、包括放大,选频,解调几大部分,要求输入信号需是已经被调制的信号。经过它的接收放大和解调会在输出端直接输出原始信号的反相信号。其不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,从而使电路达到最简化!灵敏度和抗干扰性都非常好。它适合于各种红外线遥控和红外线数据传输,中心频率38.0kHz。接收器对外只有3个引脚,如图13-5所示,从左至右依次为OUT、GND、VCC。红外接收头电路图如图13-6所示,OUT脚(1号脚)与单片机IO口直接相连。图图13-5 VS1838B引脚引脚 红外接收头内部放大器的增益很大,很容易引起干扰,依次在接
16、收头的供电脚上必须加上滤波电容。故红外接收部分电路如图13-6所示。图图13-6 红外接收头电路红外接收头电路 2)控制部分电路 单片机收到红外接收头解调后的信号后,对其进行解码,从中解出控制码,此时系统将转至对具体设备的控制工作。温度检测部分采用DS18B20数字温度传感器,DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温
17、度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。3)显示部分 红外遥控系统接收到遥控码并对相关设备操作后,单片机将对正在工作的设备进行计数并通过一个LCD12232显示。13.1.4 制作过程制作过程 仿真调试电路如图13-7所示。图图13-7 红外仿真调试电路图红外仿真调试电路图 实物制作样品如图13-8所示。图图13-8 实物制作样品图实物制作样品图 实物演示效果图如图13-9所示。图图13-9 实物演示效果图实物演示效果图 温度控制规则:当前实际温度大于设定最高温度,LED灯发出警告。当前实际温度小于设定最少温度,LED灯发出警告。由于目前的遥
18、控装置大多对某一设备进行单独控制,而在本设计中的红外遥控电路设计了多个控制按键,可以对不同的设备,也可以对同一设备的多个功能进行控制。系统可通过设定发射及接收程序中的识别码及识别反码达到不同遥控器间相互区分,对识别码、识别反码、控制码和控制码反码的判定一方面消除了非遥控信号的红外干扰,另一方面降低了误操作发生的几率。经过测试,设计结果完全达到课题任务要求。但是本电路也有不完善的地方,由于时间、水平和经验有限,在信号解码、抗干扰及功耗控制等方面仍有不足之处,有改进的余地。例如设计中可通过增加红外线发射功率进而增加遥控距离,改进信号编码方式以提高数据的传输速度,使用小型单片机以降低功耗等。另外在系
19、统的调试方面,由于时间和设备的原因,只进行了短距离的调试,更多参数有待进一步的调试。在设计过程中,通过大量的查阅资料,认真研究教材,对单片机有了更为深刻的理解,在编写软件时,须仔细的分析硬件电路及所要达到的功能,然后设计程序流程,编写代码。整个过程培养了我的耐性和刻苦钻研的精神。这次设计对于我们组来说,既是一次机遇,又是一次挑战。通过这次的设计,我学到了很多东西。通过自己的实践,增强了动手能力,掌握了系统的分析解决问题的方法。通过实际工程设计也使我了解到书本知识和实际应用的差别。在实际应用中遇到很多的问题,这都需要我对问题进行具体的分析,并一步一步地去解决它。13.1.5 源程序代码源程序代码
20、#include#include#include 18b20.h#define uchar unsigned char#define uint unsigned int uchar m,k1,k2;uchar c,c1,c2,c3,t1,t2,t3,b;uint temp;uint temp_h=350,temp_l=250;void delay(uchar x);/x*0.14MS void display(uchar*tab1,uchar*tab2);void IR_IN();/*IO口定义 */sbit IRIN=P32;/红外接收器数据线 sbit LCD_RS=P10;sbit LC
21、D_RW=P11;sbit LCD_EN=P12;sbit led=P13;/1602数据口接P0 uchar IRCOM7;uchar cdis1 =当前温度:-.-;uchar cdis2 =当前编码:-;uchar cdis21 =最高报警温度;uchar cdis22 =35.0 新:-.-;uchar cdis31 =最低报警温度;uchar cdis32 =25.0 新:-.-;/*/*/*写指令数据到LCD */*RS=L,RW=L,E=高脉冲,D0-D7=指令码。*/*/*/void lcd_wcmd(uchar cmd)LCD_RS=0;LCD_RW=0;LCD_EN=0;P
22、0=cmd;LCD_EN=1;delay(50);LCD_EN=0;delay(50);/*/*/*写显示数据到LCD */*RS=H,RW=L,E=高脉冲,D0-D7=数据。*/*/*/void lcd_wdat(uchar dat)LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=dat;LCD_EN=1;delay(50);LCD_EN=0;delay(50);/*/*/*LCD初始化设定 */*/*/void lcd_init()lcd_wcmd(0 x30);/16*2显示,5*7点阵,8位数据 lcd_wcmd(0 x0c);/显示开,关光标 lcd_wcmd(0 x06
23、);/移动光标 lcd_wcmd(0 x01);/清除LCD的显示内容 /*/*/*显示函数 */*/*/void display(uchar*tab1,uchar*tab2)lcd_wcmd(0 x80);/设置显示位置为第一行的第1个字符 m=0;while(tab1m!=0)/显示字符 lcd_wdat(tab1m);m+;lcd_wcmd(0 x90);/设置显示位置为第二行第1个字符 m=0;while(tab2m!=0)lcd_wdat(tab2m);/显示字符 m+;/*延时函数*/void delay(unsigned char x)/x*0.14MS uchar i;whil
24、e(x-)for(i=0;i=temp_h|temp=temp_l)led=0;else led=1;/else if(temp=tem_tl)/默认45度,继电器动作,等到温度降到35,继电器恢复 /led=1;/*红外数据接收和处理*/void IR_IN()interrupt 0 using 0 unsigned char j,k,N=0;EX0=0;delay(15);if(IRIN=1)EX0=1;return;/确认IR信号出现 while(!IRIN)/等IR变为高电平,跳过9ms的前导低电平 信号。delay(1);for(j=0;j4;j+)/收集四组数据 for(k=0;k
25、=30)EX0=1;return;/0.14ms计数过长自动离开。/高电平计数完毕 IRCOMj=IRCOMj 1;/数据最高位补“0”if(N=8)IRCOMj=IRCOMj|0 x80;/数据最高位补“1”N=0;/end for k /end for j if(IRCOM2!=IRCOM3)EX0=1;return;IRCOM5=IRCOM2&0 x0F;/取键码的低四位 IRCOM6=IRCOM2 4;/右移4次,高四位变为低四位 if(IRCOM59)IRCOM5=IRCOM5+0 x37;else IRCOM5=IRCOM5+0 x30;if(IRCOM69)IRCOM6=IRCO
展开阅读全文