收藏 分享(赏)

毕业论文-基于STCC单片机的遥控数显控制系统设计.doc

上传人:dreamzhangning 文档编号:2991627 上传时间:2018-10-01 格式:DOC 页数:56 大小:710.50KB
下载 相关 举报
毕业论文-基于STCC单片机的遥控数显控制系统设计.doc_第1页
第1页 / 共56页
毕业论文-基于STCC单片机的遥控数显控制系统设计.doc_第2页
第2页 / 共56页
毕业论文-基于STCC单片机的遥控数显控制系统设计.doc_第3页
第3页 / 共56页
毕业论文-基于STCC单片机的遥控数显控制系统设计.doc_第4页
第4页 / 共56页
毕业论文-基于STCC单片机的遥控数显控制系统设计.doc_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、核准通过,归档资料。未经允许,请勿外传!毕 业 设 计(论 文)基于单片机的遥控数显控制系统系 别: 机电信息学院专 业 名 称: 测控技术与仪器学 生 姓 名: XXXX9JWKffwvG#tYM*Jg反射型光电传感器,是在目标足够接近的时候,输出接通。f、盲区:是指反射型光电传感器不能识别目标的范围。g、 NAMUR:是化工行业检测和控制技术的标准;要求仪表坚固可靠,适宜在易爆环境中工作。3.2.3 遥控传感器的特点要实现无线报警组网,对组成的无线报警探头和主机有一定的技术要求:比如无线发射接收的工作频率相同,这里提供的设备都是工作在 315M Hz 的,并且都用声表谐振器稳频,频率稳定度

2、非常好,而且需要采用相同的编码解码芯片,这里都用PT2262/PT2272,而且芯片的振荡电阻相一致,振荡电阻的大小决定了编码波形高低电平的宽度。 PT2262/PT2272 是台湾普城公司生产的一种 CMOS 工艺制造的低功耗低价位通用编解码电路,PT2262/PT2272 最多可有 12 位(A0-A11) 三态地址端管脚(悬空, 接高电平, 接低电平),任意组合可提供 531441 地址码,PT2262 最多可有 6 位(D0-D5) 数据端管脚,设定的地址码和数据码从 17 管脚串行输出,可用于无线遥控发射电路。编码芯片 PT2262 发出的编码信号由:地址码、数据码、同步码组成一个完

3、整的码字,解码芯片 PT2272 接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262 不接通电源,其 17 脚为低电平,所以 315MHz 的高频发射电路不工作,当有按键按下时,PT2262 得电工作,其第 17 脚输出经调制的串行数据信号,当 17 脚为高电平期间 315MHz 的高频发射电路起振并发射等幅高频信号,当 17 脚为低平期间 315MHz 的高频发射电路停止振荡,所以高频发射电路完全收控于 PT2262 的 17 脚输出的数字信号,从而对高频电路完成幅

4、度键控(ASK 调制)相当于调制度为 100 的调幅。PT2262 发射模块的原理图如图 3-3 所示。图 3-3 PT2262 模块电路原理图1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 13-Nov-2013 Sheet of File: C:Documents and SettingsAdministrator下下下下下下下1MyDesign.ddbDawn By:123456789 101112131415161718100n27k47k10k4k7 10k1k10u10k47k 18k150k41487k52200p

5、10u1k 2200p90182p2.5T 10p 1pVCCPT2722图 3-4 PT2272 电路原理图PT2272 解码芯片有不同的后缀,表示不同的功能,有 L4/M4/L6/M6 之分,其中 L 表示锁存输出,数据只要成功接收就能一直保持对应的电平状态,直到下次遥控数据发生变化时改变。M 表示非锁存输出,数据脚输出的电平是瞬时的而且和发射端是否发射相对应,可以用于类似点动的控制。后缀的 6 和 4 表示有几路并行的控制通道,当采用 4 路并行数据时(PT2272-M4),对应的地址编码应该是 8 位,如果采用 6 路的并行数据时(PT2272-M6) ,对应的地址编码应该是 6 位。

6、要组成一个无线报警网最重要的是要正确设置各个无线探头和主机编解码芯片的地址码和数据码。PT2262/PT2272(SC2262/SC2272)的第 18 脚是芯片的地址码设置脚,地址码有三个状态:悬空、接高电平、接低电平,地址码就好比是一张身份识别的证书,只有发射端和接收端的地址码设置成完全相同,才能互相确认通过。所以在同一个无线报警网中,地址码必须相同,如果在同一个环境中有几个无线报警网时,只要地址码能互相区分就不会互相干扰。 PT2262/PT2272(SC2262/SC2272)的第 1014 脚是数据码设置端,数据端可以是高电平 1 或者是低电平 0,一共有 4 个通道,所以从 000

7、01111 一共有 16 个。数据码在无线报警网中主要的作用是区别不同的无线探头,最多可以区分 16 个,有些主机出于成本和实用性的考虑,只用了其中的 8 个,表示 8 路报警通道。接收模块使用超再生接收技术,采用 LC 振荡电路,内含放大整形,输出的数据信号为解码后的高电平信号,使用极为方便,并且价格低廉,所以被广泛使用。接收模块有较宽的接收带宽,一般为10MHz,中心频率一般在 315MHz 或 433.92MHZ(如有特殊要求可调整频率,频率的调整范围为 266MHz433MHz。 ) 。接收模块一般采用直流 5V 电源供电,如有特殊要求可调整电压范围。3.3 单片机单元设计单片机应用系

8、统中主机电路是核心,单片机当然就应该是核心的核心了,在选择单片机时,需考虑其字长和指令功能,寻址范围与寻址方式,位处理和中断处理功能,定时计数和通讯功能,内部 RAM 的大小及芯片价格等。在内存容量要求不大,外部设备要求不多的应用系统中,采用 8 位微处理机较为合适。如应用系统比较复杂,运算功能较强,处理粘度高,运算速度快,则采用 16 位单片微机。在本次设计中,报警系统的功能是及时的对一些事件的早期预报,不需要完成很复杂的功能,因此选用 8 位的 STC89C52单片机就能满足本报警器的要求。3.3.1 STC89C52 单片机介绍STC89C52 是一种低功耗高性能 CMOS 8 位单片机

9、,它除了具有与 STC89C52 完全兼容的若干特性外,还增加了许多新功能:新增加很多功能,性能有了较大提升,价格却基本不变,甚至比 89C51 更低。 ISP 在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离,是一个强大易用的功能。工作频率为 33mHz,大家都知道 89C51 的极限工作频率只有 24M,就是说 STC89C52具有更高工作频率,从而具有了更快的计算速度。具有双工 UART 串行通道。 内部集成看门狗计时器,不再需要像 89C51 那样外接看门狗计时器单元电路。 双数据指示器。电源关闭标识。 全新的加密算法,这使得对于 STC89C52

10、的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。兼容性方面:向下完全兼容 51 全部字系列产品。比如 8051、89C51 等等早期 MCS-51 兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051 还是 89C51 还是 MCS-51 等等) ,在 STC89C52 上一样可以照常运行,这就是所谓的向下兼容。图 3-5 是 STC89C52 的管脚图。VCC:AT89S51 电源正极输入,接+5V 电压。GND:电源接地端。XTAL1:接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外

11、部振荡器时,此引脚应接地。XTAL2:接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 13-Nov-2013 Sheet of File: C:Documents and SettingsAdministrator下下下下下下下1MyDesign.ddbD awn By:EA/VP 31XTAL119XTAL218RESET9P3.7/RD17P3.6/WR16P3.2/INT012P3.3/INT11

12、3P3.4/T014P3.5/T115P101P112P123P134P145P156P167P178P00/AD0 39P01/AD1 38P02/AD2 37P03/AD3 36P04/AD4 35P05/AD5 34P0/AD6 33P07/AD7 32P20/A8 21P21/A9 22P22/A10 23P23/A11 24P24/A12 25P25/A13 26P26/A14 27P27/A15 28PSEN 29ALE/P 30P3.1/TXD11P3.0/RXD10GND20VCC 40U?89C51图 3-5 STC89C52 管脚图RST:AT89S51 的复位信号输入引脚

13、,高电位工作,当要对芯片工作时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89S51 便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。ALE/PROG:ALE 是英文“ADDRESS LATCH ENABLE”的缩写,表示允许地址锁存允许信号。当访问外部存储器时,ALE 信号负跳变来触发外部的 8 位锁存器(如 74LS373),将端口 P0 的地址总线(A0 A7)锁存进入锁存器中。在非访问外部存储器期间,ALE 引脚的输出频率是系统工作频率的 1/16,因此可以用来驱动其他外围芯片的时钟输入。当问外部存储器期间,将以 1/12 振荡频率输出。

14、EA/VPP:该引脚为低电平时,则读取外部的程序代码 (存于外部 EPROM 中)来执行程序。因此在 8031 中,EA 引脚必须接低电位,因为其内部无程序存储器空间。如果是使用 AT89S51或其它内部有程序空间的单片机时,此引脚接成高电平使程序运行时访问内部程序存储器,当程序指针 PC 值超过片内程序存储器地址(如 8051/8751/89S51 的 PC 超过 0FFFH)时,将自动转向外部程序存储器继续运行。此外,在将程序代码烧录至 8751 内部 EPROM、89S51 内部 FALSH 时,可以利用此引脚来输入提供编程电压(8751 为 2lV、AT89S51 为 12V、8051

15、 是由生产厂方一次性加工好) 。PSEN:此为“Program Store Enable”的缩写。访问外部程序存储器选通信号,低电平有效。在访问外部程序存储器读取指令码时,每个机器周期产生二次 PSEN 信号。在执行片内程序存储器指令时,不产生 PSEN 信号,在访问外部数据时,亦不产生 PSEN 信号。P0:P0 口(P0.0P0.7)是一个 8 位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低 8 位)和数据总线复用。外部不扩展而单片应用时,则作一般双向 IO 口用。P0 口每一个引脚可以推动 8 个 LSTTL 负载。P2:P2 口(P2.0P2.7)是具有内部提升电路的双

16、向 I/0 端口(准双向并行 I/O 口),当访问外部程序存储器时,它是高 8 位地址。外部不扩展而单片应用时,则作一般双向 IO 口用。每一个引脚可以推动 4 个 LSTL 负载。P1:P1 口(P1.0P1.7)是具有内部提升电路的双向 I/0 端口(准双向并行 I/O 口),其输出可以推动 4 个 LSTTL 负载。仅供用户作为输入输出用的端口。P3:P3 口(P3.0P3.7)是具有内部提升电路的双向 I/0 端口(准双向并行 I/O 口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。其特殊功能引脚分配如下:P3.0 RXD 串

17、行通信输入P3.1 TXD 串行通信输出P3.2 INT0 外部中断 0 输入,低电平有效P3.3 INT1 外部中断 1 输入,低电平有效P3.4 T0 计数器 0 外部事件计数输入端P3.5 T1 计数器 1 外部事件计数输入端P3.6 WR 外部随机存储器的写选通,低电平有效P3.7 RD 外部随机存储器的读选通,低电平有效 3.3.2 单片机外围接口电路(1)时钟电路时钟电路控制着计算机的工作节奏,51 系列单片机内有一个反相放大器组成的振荡器,XTAL1 为反相器的输入端,XTAL2 为反相器的输出端。51 系列单片机的时钟可以利用内部振荡器产生,只要在 XTAL1 和 XTAL2

18、引脚上外接定时反馈电路,内部振荡器便自激振荡,产生时钟输出到内部的定时控制逻辑电路。定时反馈电路一般为石英晶振和电容的并联回路,这种方式称之为内部方式。如果振荡器已经起振,XTAL2 引脚上就输出 3V左右的正弦波。振荡频率主要由石英晶振的频率决定,一般在 0.5MHz16MHz 之间,典型值为 12 MHz 和 11.0592 MHz,在本设计中选用石英晶振的频率为 12 MHz。电容 C1、C2主要作用是帮助振荡器起振,其值的大小对振荡频率有影响,可用来对频率微调典型值为 C1=C2=20PF,当然,单片机的工作时钟也可由外部的振荡器提供,一般要求 0.5 MHz 16 MHz 之间的方波

19、,典型值也是 12 MHz 和 1 1.0592 MHz。(2)复位电路STC89C52 的复位电路由外部按钮加上电复位电路组成。电容具有隔直流通交流的特性。当开机上电瞬间,直流电源相当于一个交流电源给电容充电。这样电容就相当于导线。电阻 R1 上端为高电平,下端接地为低电平。在连续振荡几次后,达到 STC89C52 的复位电压 3V,就进行复位,这时内部各寄存器的数据值如表五所示。当中间过程出现死机或者死循环时,可用按钮进行复位。(3) 电源电路本次设计中,STC89C52 单片机和红外传感器及温度传感器 DS18B20 的 VCC 部分都用的是+5V 电源。电源部分的采用开关电源形式,将工

20、频电直接整流之后利用斩波技术,将220V 变换成+5V 的直流电,以提供整个设计使用。(4) 单片机最小系统单片机最小系统如图 3-6 所示。从图上我们可以看到,单片机的时钟由 12MHz 的晶振提供,其时钟节拍为 1 微秒。单片机的复位管脚为高电平复位,图上的 RC 微分电路来提供复位信号。1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 13-Nov-2013 Sheet of File: C:Documents and SettingsAdministrator下下下下下下下1MyDesign.ddbDawn By:EA/VP

21、31X119 X218RESET9RD17 WR16INT012 INT113T014 T115P101 P112P123 P134P145 P156P167 P178P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P21 22P22 23P23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P30TXD 11RXD 10U?STC89C5212MHz20pF 20pF2K10uFVCC图 3-6 单片机最小体统3.3.3 报警条件设置在本小节中要对三种传感器的报警条件进行设置。每种传感器的工作 状态都分为

22、两种:达到报警条件与未达到报警条件。(1)温度传感器:40 摄氏度以上为达到报警条件,以下为未达到报警条件;(2)红外传感器:红外被遮挡 5 秒以上为达到报警条件,以下为未达到报警条件。3.4 报警及控制输出电路当达到报警条件时,要有报警信号发出。这种报警信号通常有三类:闪光报警,鸣音报警和语音报警。本设计的报警电路包括灯光报警和蜂鸣器报警两种方式。实现声光报警电路比较简单,如图 3-7 所示。发音元件采用压电蜂鸣器,只需在其两条引线上加 3V24 V 的直流电压,蜂鸣振荡音响。压电式蜂鸣器结构简单,耗电少,适合本单片机系统。本设计中,要考虑与发光二极管串联的限流电阻大小的确定,阻值选择不应当

23、会影响二极管寿命。发光二极管的驱动电流为几十毫安,本电路发光二极管的动态电流为:I=5V/500=10mA,大小适合发光二极管的驱动。1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 13-Nov-2013 Sheet of File: C:Documents and SettingsAdministrator下下下下下下下1MyDesign.ddbDawn By:EA/VP 31XTAL119 XTAL218RESET9P3.7/RD17 P3.6/WR16P3.2/INT012 P3.3/INT113P3.4/T014 P3.5

24、/T115P101 P112P123 P134P145 P156P167 P178P00/AD0 39P01/AD1 38P02/AD2 37P03/AD3 36P04/AD4 35P05/AD5 34P0/AD6 33P07/AD7 32P20/A8 21P21/A922P22/A10 23P23/A11 24P24/A1225P25/A13 26P26/A14 27P27/A1528PSEN 29ALE/P 30P3.1/TXD11 P3.0/RXD10GND20VCC 40U?89C51470R2k9014图 3-7 声光报警电路除了报警之外,本设计留出了 2 个控制输出端口,当报警时,

25、这两个控制输出口输出低电平,不报警时输出高电平。可以用这两个控制输出端口控制输出不用的开关量。例如用到家庭报警上,就用输出控制信号启动短信发送功能;用到汽车报警上可以去控制点火线圈和车门把锁等。3.5 显示电路为了能够实时的看到温度值和红外被遮挡的时间值,整个设计上增加了动态数码管显示电路。电路图如图 3-8 所示。数码管的前两位显示红外被遮挡的时间。后两位显示实时的温度值。为了降低对端口的使用量,这里使用动态显示的方式。1 2 3 4ABCD4321DCBA TitleNumber RevisionSizeA4Date: 13-Nov-2013 Sheet of File: C:Docume

26、nts and SettingsAdministrator下下下下下下下1MyDesign.ddbDawn By:EA/VP31X119 X218RESET9RD17 WR16INT012 INT113T014 T115P101 P112P123 P134P145 P156P167 P178P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P21 22P22 23P23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P30TXD 11RXD 10U?STC89C52a1b2c3d4e5f6g7dp8P19P2

27、10P311P412DS?DPY_7-SEG_41 2 3 4 5 6 7 816 15 14 13 12 11 10 9RP?1kVCC1234J?CON4VCCGNDVDD3DQ2GND1DS18B20U?DS18B20VCCDQGNDI n fU? INFGNDVCCD0 D1 D2 D3 DQR e m o t eU?REMOTEVCCGNDR?5.1KR?RES2R?RES2R?RES2D?LEDD?LEDD?LEDXTAL1XTAL2RESET图 3-8 动态显示电路第 4 章 遥控数显控制系统的软件设计4.1 软件结构本系统是较完整的单片机应用系统,在硬件原理中,除了基本的扩展电

28、路外,还配置了数据采集。软件设计采用模块化设计方法,通过完成几大模块的程序设计来实现报警的功能,报警系统的软件设计主要由 3 个工作状态:待机工作状态、正常工作状态和报警状态。整个系统的软件部分需要负责温度信号的读取与显示,红外遮挡时间信号的读取与显示,遥控信号的判定和报警输出控制等。在软件的编程过程中,要一步就实现整个系统的功能是有困难的,只有逐步实现各个功能,然后进行组合,才能方便实现整个功能。因而,实现各个功能的编程工作,采用模块化的设计方法,才能将硬件与软件结合实现系统的整体功能。在待机工作状态下,程序要读取遥控器上的 A 键是否按下,如果 A 键按下则转入正常工作状态。正常工作状态下

29、,程序负责温度值的读取与显示,红外遮挡时间的判定与显示,以及对遥控器 B 键是否按下的判定。当遥控器的 B 键按下,则有正常工作状态转入待机工作状态。如果温度值或是红外遮挡的时间值大于所设定的阈值时,则由正常工作状态转入报警状态。报警状态下主要判定遥控器的 B 键是否按下,当 B 键按下后则转入待机工作状态下。整个软件的结构图如图 4-1 所示。1 2 3 4 5 6ABCD654321DCBATitleNumber RevisionSizeBDate: 13-Nov-2013 Sheet of File: F:Business下下下下下-1MyDesign.ddb Drawn By:A 下

30、下下 B 下 下下B 下 下下下 下 下 下 下 下图 4-1 软件结构图4.2 软件设计程序系统的程序固化在STC89C52内部的Flash内存中,有主程序、温度读取程序、红外遮挡时间判定程序、遥控器状态判断程序和报警子程序等组成。为了方便编程,使程序完成后条理清晰,就必须对数据存储器的存储空间进行规划。STC89C52提供用户的RAM有256字节。4.2.1 主程序主程序的功能是完成开机界面和对单片机所进行的初始化,初始化就是设置各个变量的初始值、进行相关的中断设置等。主程序的流程图如图4-2所示。主程序初始化设置定时器 0打开定时器中断读取温度值显示图4-2 主程序流程图各部分的地址分配

31、如下:数码管的数据端口:P0口;数码管的片选端口:P2.4P2.7;遥控器的A键与B键接口:P1.0与P1.1;红外接口:P1.2;DS18B20温度传感器接口:P1.3;报警时控制接口:P3.4和P3.5;报警蜂鸣器接口:P3.6;工作指示灯接口:P3.7。4.2.2 温度数据读取程序当系统处于正常工作状态时,要循环的对温度数据采集、显示和判定。对温度值的读取由DS18B20来完成。DS18B20是一线式的器件,数据的读写都通过一个数据端口来完成。所以对DS18B20的控制时序就要求比较高。对数据读写的过程中不能被打断,所以在DS18B20的读写情况下要关闭中断。DS18B20的控制是典型的

32、控制类程序。共用4个函数来完成。初始化、读数据、写数据和得到温度4个函数。DS18B20控制程序的流程图如图4-3所示。初始化DS18B20写温度转换指令等待温度转换读取温度值返回温度值温度读取发生的序图 4-3 DS18B20 流程图对于直接从DS18B20中出来的数字信号,单片机可以直接识别。 图4-4和4-5分别给出了DS18B20内部的读数据和写数据的流程图:开始结束发送 DS18B20 复位命令发送跳过 ROM 命令发送读取温度命令读取操作,CRC 校验字节完?读取操作,CRC 校验CRC 校验正确?NNyy图 4-4 DS18B20 内部读数据流程图发 DS18B20 复位命令发送

33、跳过 ROM 命令发温度开始命令转换图 4-5 DS18B20 内部写数据流程图4.2.3 中断显示程序在DS18B20的程序中,当启动DS18B20温度转换之后,需要等待750ms以上,才能从DS18B20端口上读到当前的温度值。而红外的数据什么时候到来是不确定的,为了平衡二者的关系。使用定时器中断,来产生5ms的中断。没当中断到来读取红外的端口,当红外结束开始的读取问题,也兼顾了红外数据的读取和显示的问题。定时器中断有输出时,打开内部计数器来记录红外被遮挡的时间。有了定时器中断还可以兼顾数码管的显示,每来一次定时器中断则显示一位数码管的值。通过定时器中断不仅满足的DS18B20流程图如图4

34、-6所示。保护现场请标志位退出现场结束温度读取发生的序取数据指向下一地址存数据图 4-6 定时器中断子程序流程图4.2.4 构成报警条件子程序因为所要监测的传感器主要是温度传感器和红外传感器,任何一个传感器如果达到报警条件,都可以发出报警信号。在硬件设计方面已经对每个传感器的报警条件进行了设置。程序流程图如图4-7所示。开始结束初始化读取温度值读取红外的值温度是否达到阀值? 进入报警状态N红外值是否达到阀值?报警是否解除?yyy图 4-7 报警条件子程序流程图4.3 软件抗干扰措施当单片机受到干扰,不再按照一定的规律执行,被改变了的程序指针(PC)的值后,使程序而跑飞到其它非程序区,此后它不仅执行了一系列毫无意义的指令,而且还可能破坏数据存储器的内容,造成难以预料的后果。在主程序循环中向看门狗寄存器(WDTRST地址是0A6H)中先写入01EH,再写入0E1H,即可激活看门狗。其工作指令如下程序:sfr WDTRST = 0xA6_nop_();WDTRST = 0x1E ;先送1EWDTRST = 0xE1 ;后送E1

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

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报