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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于遥控器操作的两路独立单片机定时器Word文件下载.docx

1、本设计采用STC11F02E单片机作为中心控制单元,控制LCD显示的定时器的定时和时间设置,控制蜂鸣器的响停。 1、STC11F02E单片机简介STC11F02E是宏晶科技设计生产的STC11/10xx系列单片机之一,其特点为:高速,1个时钟/机器周期,增强型8051内核,速度比普通8051快812倍;宽电压,5.54.1V/3.7V;低功耗设计;工作频率,035MHz,具有2kB的片内Flash程序存储器、2kB的EEPROM存储器和256B的片内SRAM数据存储器,体积小价格低廉;20Pin贴片封装,共有16个I/O可用,1个串口,自带波特率发生器,2个16位定时器。本设计选用STC11F

2、02E单片机因为它体积较小,且I/O口刚好够用,适合在较小的板子上集成,能满足成品体积尽量小的要求。因此本设计采用此型号单片机,做到物尽其用,提高效率。2、单片机管脚图串行口做主机通信时,可控制串口通信在RxD/P3.0,TxD/P3.1和RxD/Pl.6,TxD/Pl.7之间任意切换,实现2组串口。一般都将自己的串行口设置在【RxD/Pl.6,TxD/Pl.7,而将P3.0,P3.1口作为ISP下载的专用通信口,当然也可以当用户的普通I/O口用。若用户将P3.0,P3.1作串行口通信用,则必须在ISP下载程序时选择“下次冷启动时,PI.0/Pl.1为0/0才可下载程序”。 P4.7/RST既

3、可作复位脚用,也可作普通I/0口用,如将P4.7/RST当I/0口使用,必须使用外部复位。单片机管脚图如图1所示。图1 单片机管脚图2.2 LCD1602液晶显示屏LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5*7或者5*11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能

4、很好地显示图形(用自定义CGRAM,显示效果也不好)。由于本实验只需要显示时间数字,因此选用LCD1602作为显示屏足以。1、管脚功能1602采用标准的16脚接口,其中:第1引脚:GND为电源地第2引脚:VCC接5V电源正极第3引脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4引脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5引脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6引脚:E(或EN)端为使能(enable)端,高电平

5、(1)时读取信息,负跳变时执行指令。第714引脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。第15引脚背光正极,第16引脚背光负极。2、特性LCD1602的工作电压为3.3V或5V,对比度可调。内含复位电路,提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能。有80字节显示数据存储器DDRAM,内建有192个5X7点阵的字型的字符发生器CGROM,8个可由用户自定义的5*7的字符发生器CGRAM。其微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。2.3 红外模块红外遥控HS0038B黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏

6、蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS 电路兼容。HS0038 为直立侧面收光型。它接收红外信号频率为38 kHz,周期约26 s,同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。三个管脚分别是地、+5 V 电源、解调信号输出端。在HS0038 的电源端与信号输出端之间接上一只二极管及一只发光二极管后,再配上规定的工作电源(为+5V),当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。只要确保遥控器工作正常,很容易判断红外

7、接收头的优劣。2.4 蜂鸣器蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种,这里的“源”并不是指电源,而是震荡源。这也是有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可连续发声而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声的原因。一般来说,有源蜂鸣器比较贵一些,因为里面多个震荡电路。当然不是有源蜂鸣器就比无源蜂鸣器要好,而是要看应用场合了,有源蜂鸣器内部带震荡源,所以只要一通电就会叫,这种蜂鸣器多适用于提示或报警,而无源蜂鸣器则一般适用于需要发出不同音调声音的地方,即音乐或其它有音调变化的声音。这个定时器上的蜂鸣器是声音示警用的,所以用的是有源蜂鸣器。2.5 系统方案论证为了

8、实现设计系统整体功能,红外解码部分是核心,红外解码指将遥控发射器所产生的红外遥控编码脉冲所对应的键值翻译出来的过程。通常有硬件解码和软件解码两种方案,方案一:使用专用遥控器作为控制信号发出装置,当按下遥控器的设置键后,一体化红外接收装置接收到遥控器发出的设置控制信号,然后将信号送到专用的解码芯片中进行解码,解码后将信号送到单片机,由单片机查表判断这个信号是不是设置信号,当确认是设置信号后,启动设置子程序,那么以后接收到的红外信号就是设置的时间信号了,单片机通过查表确定这是确认操作后,可以通过可控硅控制电源通断。设计原理图如图1 所示。 方案二:我们采用普通的家用电器遥,控器作为控制信号发出装置

9、,当按下遥控器的设置键后,红外接收装置接收到遥控器发出的红外线控制信号,然后把这个信号转换成电信号,传到单片机中,利用单片机对这个信号进行解码,解码完成后查表确定是不是设置信号,当这个信号是设置信号后,启动设置子程序,那么以后接收到的红外信号就是设置的时间信号了。方案一设计原理图方案二设计原理图方案一:为硬件解码方案,硬件解码需要使用与遥控器相配套的专用的解码器芯片,而解码芯片一般不易得到,价格也较贵,或者自行开发解码电路(但电路太复杂,性能欠佳)。方案二:为软件解码方案,软件解码可以不考虑遥控器的芯片是什么型号的,因为我们只需检测到它的发射编码,然后用软件方式来对它进行处理,从而得到所要的信

10、息。软件解码具有灵活、硬件精简(仅需集成红外接收头和一片单片机)、可靠性高,成本低等特点。经以上的论证,本设计采用软件解码方案,成本低,方便实现,并且系统整体性能和可靠性高。3 硬件系统设计思路及原理3.1系统组成该课题的硬件主要由以下几个部分组成:单片机最小系统、LCD1602显示部分、电源部分、红外接收头部分以及蜂鸣器部分。系统原理图如下:图2 系统原理图系统的PCB图如下:图3 系统PCB图3.2 最小系统 最小系统主要由时钟电路、复位电路、电源电路组成。1、单片机的晶体震荡电路对于常见的时钟电路就是外接晶振。必须将单片机的时钟引脚XTAL1和XTAL2接在外部的时钟晶振上,同时在其外部

11、还要加上两个电容C1和C2,电容一般选择30pF的。对于本系统而言,采用的内部时钟,这样避免了外接晶振,简化了硬件电路。最终采用6M的内部时钟电路。对于内部时钟的选择我们可以在下载程序的时候,在下载程序的软件上进行设置,选择内部时钟。2、单片机的复位电路单片机的复位电路就是构建一个复位信号在单片机的复位引脚上。当复位的引脚信号产生时,会让单片机复位,造成的影响的就是寄存器的值回复的最开始的默认值,这就让单片机里面的程序从头执行,同样就很好的避免了单片机内的程序跑飞与死机。本系统采用的手动复位电路。该电路也是一个上电高电平复位电路,当我们手动按下复位开关时,复位引脚就会介入高电平,这样就实现了单

12、片机的复位。3、电源模块电源是给整个系统供电的部分,关乎着整个系统能否正常运行。本系统我们采用220V转5V的电源供电,极大地保证了电源的稳定性3.3 LCD1602红外通讯的建立之后,我们还需要一个直观的显示器件,这里我们使用LCD602作为显示器件,同时通过蜂鸣器来提示数据的传输,这样我们就实现了整个系统的控制与检测,同时通过LCD1602也可以有效的检测我们的数据是否就收正确,本次设计使用LCD1602进行显示,先对LCD1602进行初始化,初始化操作分别是对LCD1602写入命令0x38显示设置,写入命令0x01进行清屏操作,写入0x06显示光标移动设置,最后写入命令0x0c显示开及光

13、标设置。初始化完成之后就可以指定显示位置进行显示。电路如下图所示。图4 LCD1602模块3.4 报警1、设定时间包括秒钟、分钟、时钟;2、通过定时器T0设置中断,62.5ms进入一次中断,当16次中断后时间到达一秒。在中断内秒钟自减1;当秒钟自减1由设定的时间减到0时,停止自减并发出报警。3、定时器选择和模式选择:此单片机拥有两个定时器,分别是T0定时器和T1定时器,T1定时器和外部中断INT0用来控制外部红外的解码,T0定时器用来控制两个独立的内部T1-CLOCK和T2-CLOCK两个定时器。因为本次设计中,实时显示选取的定时器是T0定时器,采用工作方式1,在中断中重装初值,方便完成定时器

14、的逻辑业务。4、通过选择通道来设定T1-CLOCK和T2-CLOCK的时间,从而实现定时,两个定时器可以独立工作,计时到0时蜂鸣器发声警报。报警使用的蜂鸣器设计电路如下图5所示:图 5蜂鸣器设计电路图3.5 红外接受头HS0038 黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。它接收红外信号频率为38 kHz,周期约26 s,三个管脚分别是地、+5 V 电源、信号线。图6 HS00384、软件设计4.1 系统软件设计说明在单片机大型项目里面,除了对单片机控制系统设计、外围电路的设计意外时,很大的一部分时间都会花在对每个硬件模块如何编程如何设计应用程序这个方面。所以

15、软件的编写在单片机项目里面占有极高的比重,对于本次设计来说更甚。数据处理和过程控制着两个类型可组成为一个单片机项目。数据处理一般都包含很多方面,例如对传感器传输来的数据进行收集、对干扰信号进行滤波处理、不同信号量之间进行转换等等。而过程控制一般都是用微处理器按照一定的方式对数据进行处理运算,最终输出,以便控制生产。想要完成一个产品设计所要求的性能指标,那么在进行软件设计的时候,一般都需要将整个过程分成好几块去设计,这种方法叫模块化。意思就是将某独立的且能够完成某一特定功能的程序段落单独写在一个文件里面比如A.c、A.h分别是程序段和头文件,这种方法叫模块程序设计法。模块程序有许许多多的优点。第

16、一:将程序模块化非常方便编写和调试,这一模块在很多情况下可以被多个任务在不同的目的下使用、模块程序可以将设计者与设计者之间分开,并且可以利用已有的程序模块。第二:程序模块化非常容易寻找BUG,因为每一个模块都很清楚的完成某一特定任务,当某个模块运行出问题时,可以很快的寻找到对应的程序段落,非常的便于程序的维护。第三:将程序模块化可以使得模块的方式保证程序有更好的可读性,移植性以及升级修改等后期的操作。程序模块化还有很多优点,需要自己去发掘,别人怎么说都是别人的,始终不是你的。模块程序化有两个原则:首先是尽可能以少取多,顾名思义就是以很少量的模块尽可能得到多的产品。不仅如此,还要在满足需要的基础

17、上尽最大可能使得产品的参数最优化,即产品精度高、性能稳定等。本软件系统也是采用模块化编写的方法。将整个结构分为三个部分:LCD1602驱动代码,HS0038红外接收头解码代码,定时器逻辑结构的编写。4.2 系统软件设计平台简介kiel Vision5是有美国Keil Software公司发布的,这个平台的功能非常强大。在意在上面编辑多种语言,例如C语言,汇编语言。但是我们在kiel Vision5上主要应用的还是C语言因为C语言与其他语言相比有很多明显的优势,在编写完程序之后,我们可以将程序进行模拟的仿真,kiel Vision5的模拟仿真效果比较理想。可以帮助我们准确的分析电路。C51工具包

18、的整体结构,Vision与Ishell分别是C51 for Windows 和for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.obj)。目标文件可由LIB51 创建生成库文件,也可以与库文件一起经L51 连接定位生成绝对目标文件(.abs)。abs文件由OH51 转换成标准的hex 文件,以供调试器dScope51 或tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。4.3 系统

19、主程序设计本系统以单片机为核心,以遥控器为输入,通过红外接收装置对信息进行接收,通过单片机得到键值,然后控制单片机内的定时器,改变定时时间,同时显示相应的数据在LCD1602上。系统总体设计框图如图所示:系统总体设计框图系统程序设计框图如下:系统程序设计框图系统核心代码如下: while (1) if (Dr_Data) BEE = RING;Delay2ms(); switch (Dr_Data) case Dr_star :T_Flag = 0;LCD_Display_Byte(0x80, *);LCD_Display_Byte(0xC0, LCD_Display_Byte(0x8F, T

20、_BIT+0x30);break; case Dr_sharp:T_Flag = 1; case Dr_left : T_BIT = (T_BIT+1)&3; case Dr_right: T_BIT = (T_BIT+3)& case Dr_up : if (T_Flag = 1)&(T2_RUN)break; if (T_Flag = 0)&(T1_RUN)break; if (T_Flag)T_Temp = T2_CLOCK;else T_Temp = T1_CLOCK; switch (T_BIT) case 1:T_Temp += 1; case 2:T_Temp += 60; ca

21、se 3:T_Temp += 3600; if (T_Flag)T2_CLOCK = T_Temp;else T1_CLOCK = T_Temp; break; case Dr_down : if (T_Flag = 1)&if (T_Temp = 1)T_Temp -= 1;= 60)T_Temp -= 60;= 3600)T_Temp -= 3600; ; case Dr_OK : if (T_Flag) T2_RUN = T2_RUN; SYSCLOCK_2 = 0; else T1_RUN = T1_RUN; SYSCLOCK_1 = 0; BEE = !RING; BEE = ! L

22、CD_Display_Number(0x80+5, T1_CLOCK/3600); LCD_Display_Number(0x80+8, T1_CLOCK%3600/60); LCD_Display_Number(0x80+11, T1_CLOCK%60); LCD_Display_Number(0xC0+5, T2_CLOCK/3600); LCD_Display_Number(0xC0+8, T2_CLOCK%3600/60); LCD_Display_Number(0xC0+11, T2_CLOCK%60); Dr_Data = 0x00; Delay50ms(); 5 系统组装调试硬件

23、的组装首先,利用电烙铁对各个器件进行焊接,之后通电测试电路是否正常,如果电路可以正常工作。然后对单元电路的逐个测试,我们将会通过一个简单的测试程序来对串口通信、以及蜂鸣器电路、LCD1602显示电路、系统USB电源供电电路调试。待所有的单元模块测试完毕,将在keil中设计好的软件,通过串口下载的硬件电路的单片机中。完成红外信号的接收,控制单片机定时器的时间。通过对系统原理的学习,电路的设计,软件的编写,最后就需要对整个系统进行调试,验证系统各项功能是否正常。5.1 系统硬件部分调试方法系统硬件调试是系统的难点,因为硬件容易出现一些小问题,例如焊接接触不良,接线不正确等等。对于硬件调试,主要是按

24、照以下部分来进行:(1)检验所有焊点,看看是否存在短路或者接触不良的情况存在;(2)对整个电路通电测试,检查所有硬件芯片的输入输出电压是否在合理范围内;(3)最后分别对各个子模块电路的功能进行测试。5.2系统软件调试方法通过硬件调试后,需要对系统烧录程序进行测试,此时需要USB转串口模块,ISP软件下载。在进行串口程序测试时,如果要检测这个程序是否能够实现正常的功能和程序设计是否完善时,则需要将这些串口与单片机进行连接,这时就需要用到串口调试工具。在本设计中,在进行串口测试时所选用的串口调试工具是串口调试助手,它的主要功能是可以按照设定的串口、波特率向单片机发送数据。5.3调试结果分析与总结在

25、对实物进行调试的过程中出现了一些问题,如硬件的工作表现的很不稳定,主要是表现在LCD1602显示的路部分和单片机系统部分,之后进行了分析,对电路和整体接线进行了修改和调整,解决了问题。图7 系统实物图6 结论本次设计是利用红外接收头,接收红外遥控器的信息,然后分析键值,根据不同的键值,做出不同的动作。最终实现通过遥控器控制两路单片机内定时器的时间。通过本系统实现了理论和实际结合起来,同时能够结合资料和有关的文献进行整理和学习,锻炼了自己的学习能力和动手的能力。整个设计通过元器件的选型以及相应信号处理电路的设计,虽然在设计时都尽量采用简单但功能显著,由于硬件的合理搭建同时也为软件提供了很多方便,为软件稳定、可靠的运行打下基础。在这次设计中,能够将以前的被动学习转化为主动学习,同时也参考了很多书籍和文献,能够做到知识的灵活运用和其中重点的把握。

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

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