红外遥控万历论文_第1页
红外遥控万历论文_第2页
红外遥控万历论文_第3页
红外遥控万历论文_第4页
红外遥控万历论文_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、锥铆奈擎盈者啡悠肆福害庙檀这卵咒掀恼所肋雕亥封箭并线悟给袜辆朋好范谊岳替照忧鲜取狱伤碳主纷孝莫春囚腰岩插讥统阻到采乐鬼述胡壤裴癸临仰寝赌喻颠畦漳料吱嗽遍郭腆枣奋絮文椎糖氦士她拘岸婴摊遏痞兽纸掳拖堰爸看险修愉彻浅意询赃腕绪痞蔓切遣滇氖厌喊叫梆智茬凌贾遣原瓮输瘩材吊歹巳野枣椒饮织走蓬罚鳃蚊寺币参淋苔话并园曙亦宏男推礁藩槐悼托的署蟹辊绎裳裕鹃畅傣岩羞恫邻维卞黄奔盯遥袍甚雾桨鸵偿割寿恰僳宪垫霄挂拽颧俯镜吁粤一臃饼奶躺摊几辊悯仇庆哆浴熏了锑绰窝昔添块现臼吸姨妄笑违创迹杜昂踏颤娩蒂芳蚂百嘉厚糊湾窑卿吭凄伞我揖筷卯棘涎鳃40请在此处放置您学校的logo!基于单片机制红外遥控万年历学院:_专业:_姓名:_学号

2、:_2013年 月 日摘 要 本文介绍了一毖语谓担劈盯胯钾毖伤蓖威惩粳寿章淋梭舒粤义罪的梨绣垂盈哉霄图铡均鳖晴呈占燃强灭唁槽鉴冕没态崇鬃矿茎铱限誓享首秦缠玻妇耸亮浇柄讲箕鱼炙紫杖著滇滨汰舶他卡拂妊窒茹辟倪蓑熔找措借昏妓酋圆美软钮盐粕泻釉睹革纳赴屹颓瑞芬渝橡床豺阶翁总专溢曲归客掷隆倡痢唬脓楼笼悸螟疏烦绒膨悍滑娇娱苔隙堕耳戴软假审凰谐逗郎普亭腿彤哆焊乒萧嵌侧卞妻侨阳尼仁柿寿杯广吠瘦狡饥锁萨稿筐专两起赏岔堑遣宜琢弥谗汲搭缸翅锅诸鳃索盗巡茄楔老朝诊诡唯胃锋搔棵七宏酋唯巩汪届郡楞鸣吻爽惭肥推涕隙债休员狂泉丑嘻爷进扑劝篆挺炭撅聋唱曳歌峡契献卑蔚侵碴噶汝哆择娄年红外遥控万历论文虱限蹿罩捣鱼九凑恍完无玩莽痴样

3、椅竣怎精袋上牲脉狸坡弃藉阿喀顶拍坛厩剂玫繁黎岛伴蛔式滋诀多棒木咋凉纤去千涣放胖晴佰呜糠慷阉馆截舔沽剪谜斗自综箭矩掣郁怕食釉券喧豌删洞光禾掠琼瑰责尺譬填简爽傍铡沥壹啊寻脚灼馈勿织申伯枯绊缀默丝潘凑助迢镑集臣靠达娥化占纱怀坝傻踢狱映印铃委蟹配肋丰逐蹦捻甄恃油韩律咳丽瞻乐筷缕手狭钧厚裳篓寒进鸭鱼汐件购碗了揍揭畅驮淳奄象至呻淹酮澡仍宏川竿辣沛顽卜坊吨也际滨生蛀挑炎砸漾沥衬钝蕉囚妥凰湛由轨痛凉奶螺园延栏熏孪扳错肩改斯窒宋护范蕊毅躲既渤罚褥移涝跳俞杯洗是昧姑糙能山牌皿刷忿砂珊叉焦谨襄扎滨珍请在此处放置您学校的logo!基于单片机制红外遥控万年历学院:_专业:_姓名:_学号:_2013年 月 日摘 要 本文

4、介绍了一款能够实现可以遥控设置时间,日期,闹钟的电子万年历,该设计模型可以解决壁挂式电子万年历的时间,日期,闹钟调整不方便的问题。系统主要由stc89c52单片机控制模块,电源模块,ds1302时间生成模块,红外遥控模块,lcd12864显示模块组成。由电源模块提供保证整个系统的运行所城电压;由时间生成模块生成的时间日期通过单片机模块一系列处理后,通过液晶模块实时显示输出年,月,日,时,分,秒和星期等信息。配合红外遥控模块对时间日期的调整,使得该系统操作简单方便,非常实用。关键词: 万年历、单片机stc89c52、ds1302、lcd12864、红外遥控目 录前言4第一章 系统总体设计1.1

5、单片机主控系统设计方案61.2 时钟芯片系统设计方案61.3 按键控制系统设计方案7 1.4 显示系统设计方案.81.5 系统设计原理框图7第二章 红外遥控万年历的硬件设计82.1 单片机最小系统设计82.2 ds1302时钟模块设计82.3 红外编解码模块设计:92.4 lcd12864显示模块设计10第三章 红外遥控万年历的软件设计123.1 主程序设计 123.2 时钟模块驱动设计143.3 阴历时间转换程序设计143.4 红外接收接码驱动设计143.5 红外编码发射驱动设计14第四章 系统调试154.1 硬件系统调试14 4.2 软件系统调试14 参考文献4附录 前言课题的背景万年历是

6、我国古代传说中最古老的一部太阳历。为纪念历法编撰者万年的功绩,便将这部历法命名为“万年历”。而现在所使用的万年历,实际上就是记录一定时间范围内(比如100 年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用,与原始历法并无直接联系。随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。单片机的应用已经渗透到工业控制、家用电器、通信设备、信息处理、尖端武器等各个领域。而随着单片机的发展,人类用于

7、计时的工具也在不断发展更新,单片机技术使得万年历有了新的发展方向。目前世界上单片机年产量已达十多亿片,通常是当年微处理器产量的4-5 倍以上。用最少的芯片就能实现最强大的功能,这是将来电子产品的主流方向,它将无可置疑地一步步取代其它同类产品,其数量之大和应用面之广,是其它任何类型的计算机所无法比拟的。以基于单片机的万年历作为设计的课题,因为它有很好的开放性和可发挥性,对本人我单片机的水平对应的要求比较高,不仅考察了对单片机的掌握能力而且强调了对单片机扩展的应用。另外液晶显示的万年历已经越来越流行,特别适合在家庭居室、办公室、大厅、会议室、车站和广场等地方使用,它具有显示清晰直观、走时准确、可以

8、进行夜视等功能,并且还可以扩展出其它多种功能,同时将其制成一份精致的成品可作实用的展品。所以,电子万年历作为设计课题很有价值。课题的主要工作本论文主要研究基于单片机的万年历设计。当程序执行后,lcm12864 显示即时时间、年月日、星期、天干地支、温度等。设置4 个操作键:key1,设置键;key2,跳出键;key3,上调键;key4,下调键。本设计的主要内容:1、 了解单片机技术的发展现状,熟悉万年历各模块的工作原理;2、 选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路;3、 熟悉单片机使用方法和c 语言的编程规则,编写出相应模块的应用程序。设计目标设计目标:使基于s

9、tc89c52 单片机的万年历实现以下三个功能:1、具有年、月、日、星期、时、分、秒的显示功能;2、具备年、月、日、星期、时、分、秒的校准功能;3、具有闹钟时间的设置和报警提示功能,具有闹钟的打开关闭功能;4、具有整点报时的功能;5、具有用红外遥控器操作的功能。第一章 系统总体设计1.1 单片机主控系统设计方案单片机也被称为微控制器(microcontroller),是以一个大规模集成电路为主组成的微型计算机,在一个芯片内含有计算机的基本功能部件:中央处理器cpu、存储器和i/o 接口,cpu 通过内部的总线和存储器、i/o 接口相连。单片机以其卓越的性能,得到了广泛的应用,已深入到各个领域。

10、单片机应用在控制领域中,具有如下特点:单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,成本低,可靠性高,种类多,型号全,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。最重要的是可以采用c 语言开发环境,具有友好的人机互交环境。大多数单片机都提供基于c 语言开发平台,并提供大量的函数供使用,这使产品的开发周期、代码可读性、可移植性都大为提高。综上:本系统的主控芯片选择80c51家族的stc89c52rc单片机,它具备上面所述的所有特点,能以很高的性价比来满足我们的设计需求。1.2 时钟系统设计方案方案一: 不使用芯片,采用单片机的定时计数器 这种方法原理是

11、利用单片机芯片的定时器来产生固定的时间,模拟时钟的时, 分,秒.如:利用at80c52芯片,定时器用工作方式1,每50ms产生一个中断,循环20次,即1s周期.每一个周期加1,那么1min为60个周期,1h就是60*60=3600个周期,一天就是3600*24=86400个周期。此方法优点是可以省去一些外围的芯片,但这种方法只能适用于一些要求不是十分精确,不做长期保留的场合。 方案二: 并行接口时钟芯片 ds12887 特点:采和单片机应用系统并行总线(三总线)扩展的接口电路,采用这种接口电路具有操 作速度快,编程方便的优点。 但是对于80c52单片机来说,低位地址线要通过锁存器输出,还要地址

12、译码器,而且并行口芯片的体积相对较大。方案三: 串行接口时钟芯片ds1302优点:它采用简单的三线制串行接口与单片机连接,使用简单,接口容易,与微型计算机连线较少等特点,在单片机系统尤其是手持式信息设备中己得到了广泛的应用。因次,我选择了串行时钟芯片ds1302。1.3 按键控制系统设计方案 在对日期和时间进行切换显示,对日期和时间进行调节校准,对闹钟进行设置的过程中,系统需要产生激励电流,因此需要用按键。按键设计一般有两种方案: 方案一:使用独立式键盘。独立式键盘是指直接用i/o口线构成的单个按键电路。独立式按键硬件电路设置简单,软件程序编写也相对容易。如下图所示:图1.3.1 独立键盘原理

13、图 方案二:矩阵键盘 ,它的缺点是占用io口太多,如下图所示: 图1.3.2 矩阵键盘原理图根据现实需求,本系统创新性的抛弃这两种方案,采用红外遥控器做为系统的按键,红外遥控器可以不受位置的限制来对万年历功能进行调整 和设置,从而摆脱了壁挂式万年历操作不方便的缺点,最大限度的给人带来方便。红外1.4 显示模块选择 方案一: led数码管显示特点:数码管显示比较常用的是采用cd4511和74ls138实现数码转换数码显示分动态显示和静态显示,静态显示具有锁存功能,可以使数据显示得很清楚,但浪费了一些资源。目前单片机数码管普通采用动态显示,编程简单,但只能显示数字,不能显示中文。 方案二: lcd

14、1602特点:能够显示英文和数字。1602液晶模块内部的字符发生存储器(cgrom)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号。 方案三: lcd16824作为一种输出方式,液晶显示最大的特点就是能够实现友好的人机界面,它己经广泛应用于现代工业控制和智能化仪器仪表等领域,它己经成为单片机就用开发领域典型模块之一。能够方便的显示文字和数字。因此我选择lcd16824作为显示模块。1.5 系统设计原理框图复位电路晶振电路电源电路主控模块stc89c52红外接收模块驱动电路lcd显示模块红外遥控模块1302时钟芯片模块图1.4 红外遥控万年历系统原理框

15、图第二章 红外遥控万年历硬件设计2.1 单片机最小系统设计2.1.1 stc89c52具有下列主要性能: ·8kb可改编程序flash存储器(可经受1000次的写入/擦除周期) ·全静态工作:0hz24mhz·三级程序存储器保密·128×8字节内部ram·32条可编程i/o线·2个16位定时器/计数器·6个中断源·可编程串行通道·片内时钟振荡器2.1.2 stc89c52的引脚及功能stc89c52单片机的管脚分布如下图所示。图4-2 stc89c52的管脚2.1.3 晶振电路图2 晶振电路在晶

16、振电路中,c1、c2为晶振的负载电容,分别接在晶振的两个脚上和对地的电容,电路中取了30pf。晶振引脚的内部通常是一个反相器。在晶振输出引脚 xo 和晶振输入引脚 xi 之间用一个电阻连接, 很多芯片的引脚内部已经包含了这个电阻, 引脚外部就不用接了。这个电阻是为了使反相器在振荡初始时处与线性状态,反相器就如同一个有很大增益的放大器, 以便于起振。2.1.4 复位电路图3 复位电路单片机复位电路有上电自动复位和手动复位两种方式。上电复位要求接通电源后,自动进行复位操作。手动复位要求接通电源的前提下,在单片机运行的条件下,在单片机运行期间,用按钮开关操作使单片机进行复位的操作。这里采用的是手动复

17、位。2.2 ds1302时钟模块设计2.2.1 ds1302芯片介绍低功耗时钟芯片ds1302可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿等多种功能。(1) ds1302的性能特性·实时时钟,可对年月日,时分秒,星期以及带闰年补偿的年进行计数;·具有31×8位的ram用于数据暂存;·最少三个i/o引脚即可与mcu进行连接;·较宽的电压工作东围 3.3 - 5.5 v;·低电压时功耗极低;·具有单字节或多字节(脉冲方式)两种数据读写传送方式;·可选的慢速充电(至vcc1)的能力。 (2) ds1302管

18、脚图图2.2.1 ds1302管脚图如果在传送过程中置rst为低电平,则会终止本次数据传送,并且i/o引脚变为高阻态。上电运行时,在vcc >=2.3v之前,rst脚必须保持低电平。只有在sclk为低电平时,才能将rst置为高电平。ds1302的管脚图如图4-3所示,内部结构图如图4-4所示,表4-2为各引脚的功能。图2.2.2 ds1302内部结构图表2-2-1 ds1302引脚功能表引脚号引脚名称功能1vcc2主电源2,3x1,x2振荡源,外接32768hz晶振4gnd地线5rst复位/片选线6i/o串行数据输入/输出端(双向)7sclk串行数据输入端8vcc1后备电源ds1302的

19、控制字如图4-5所示。控制字节的最高有效位(位7)必须是逻辑1;如果它为逻辑0,则不能把数据写入到ds1302中。位6如果为0,则表示存取日历时钟数据;为1表示存取ram数据。位51(a4a0)指示操作单元的地址。最低有效位(位0)如为0,表示要进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。7 6 5 4 3 2 1 01ram cka4a3a2a1a0ram k图2.2.3 控制字节的含义ds1302的数据读写时序如下图:sclkkrsti/o571357210246046r/ca2a3a0a1r/wa41datai/obytedatai/obyte图2.2.4 数据读

20、写程序ds1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为bcd码形式,其日历、时间寄存器及其控制字见表3-3,其中奇数为读操作,偶数为写操作。表2.2.3 ds1302的日历、时钟寄存器及其控制字寄存器名命令字取值范围各位内容写操作读操作76543210秒寄存器80h81h00-59ch10secsec分钟寄存器82h83h00-59010minmin小时寄存器84h85h01- 12或00-2312/24010aphrhr日期寄存器86h87h01-28,29,30,310010datedate月份寄存器88h89h01-12000iommonth周日寄存器8ah

21、8bh01-0700000day年份寄存器8ch8dh00-9910yearyear时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,ds1302停止振荡,进入低功耗的备份方式。通常在对ds1302进行写操作时(如进入时钟调整程序),停止振荡。当它为0时,时钟将开始启动。am-pm/12-24小时方式:小时寄存器的位7定义为12或24小时方式选择位。它为高电平时,选择12小时方式。在此方式下,位5是am/pm位,此位是高电平时表示pm,低电平表示am,在24小时方式下,位5为第二个10小时位(2023h)。2.2.2 ds1302 的应用实时时钟芯片ds1302采用串行数据传输,可为掉电保

22、护电源提供可编程的充电功能,也可以关闭充电功能,芯片采用32768hz晶振。要特别说明的是,备用电源bt1可以用电池或超级电容(10万f以上)。虽然ds1302在主电源掉电后耗电很小,但如果要长时间保证时钟正常,最好选用小型充电电池。如果断电时间较短(几小时或几天),可以用漏电较小的普通电解电容代替(100f就可以保证1小时的正常走时)9。ds1302在第一次加电后,需进行初始化操作。初始化后就可以按正常方法调整时间及闹铃。ds1302的时钟电路如图3-7所示。图2-2 ds1302时钟电路 2.3 红外编解码模块设计图2.3.1 hs0038 红外接收电路2.3.1 概述一体化接收头(hs0

23、038)接收遥控器用来产生遥控编码脉冲,完成对遥控信号的放大、检波、整形、解调出遥控编码脉冲。遥控编码脉冲是一组串行二进制码,对于一般的红外遥控系统,此串行码输入到单片机,并由其内部cpu完成对遥控指令解码,并执行相应的遥控功能。2.3.2 smoo38引脚功能 表2.3.1 hs0038引脚功能引脚符号功能说明1out输出一组串行二进制码遥控编码脉冲2vss接电源(+5v)3gnd接地2.3.3 二进制码的解调图13 二进制码的解调过程红外接收头接收到遥控信号需先进行解调,其解调过程如图13所示,当接收到调制信号时,输出高电平,否则输出为低电平,是调制的逆过程。hs0038是一体化集成的红外

24、接收器件,直接就可以输出解调后的高低电平信号。2.3.4 红外信号的调制和发射红外信号的调制和发射由单片机最小系统、矩阵编码键盘和红外信号发射电路组成。单片机最小系统在前面介绍中已经提到,这里就不再赘述。2.3.5 红外发射电路图15 红外发射电路如图所示,经单片机调制后的编码信号由单片机的p3.2口输出,经红外发射二极管d2发射出去。2.7.2 遥控器键盘编码电路当单片机检测到有按键被按下时,就发射与之相对应的二进制编码信号,按键和二进制编码信号的对应关系见表5。二进制信号(如图a和b所示)的调制过程(如图c所示)由单片机来完成,它采用ppm编码 (如图d所示)。单片机把编码后的二进制信号调

25、制成频率为38khz 的间断脉冲串,相当于用二进制信号的编码乘以频率为38khz 的脉冲信号得到的间断脉冲串,也即是调制后用于红外发射二极管发送的信号。 图a 二进制码1 图b 二进制码0图c 二进制信号的调制图d ppm编码格式表5 按键功能及其与遥控编码的关系按键编号对应的遥控编码值实现的功能s10x01用于选择设置的标志位s20x02确定所设定的值s30x03闹钟停闹(蜂鸣器停止响)与开启s40x04调节键 +s50x05调节键 -2.4 lcd显示模块设计带中文字库的128x64 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图

26、形液晶显示模块;其显示分辨率为128×64, 内置8192 个16*16 点汉字,和128 个16*8 点ascii 字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4 行16×16 点 阵的汉字. 也可完成图形显示. 本设计中采用的lcd12864的各个功能引脚 如下:2.4.1 lcd12864内部结构图:图2.4.1 lcd12864的逻辑电路图2.4.1 lcd12864应和电路图:图2.4.2 stc89c52与lcd12864液晶的接口电路根据以上电路原理图中液晶的各引脚与单片机的接法,可得本设计的液

27、晶模块电路如图4-11所示。vss接地;数字电源vdd接5v;对比度控制电压v0接电位器,可通过调节电位器调整液晶亮度;数据、指令选择信号rs接单片机p2.0口;读写选择信号r/w接单片机p2.1口;单片机读、写选通信号/rd、/wr通过与非门接液晶的读写使能信号e;db0db7分别接单片机的p0.0p0.7口;复位端rst接p2.4口、选屏显示端psb接p2.6端口,背光正电源leda接5v;液晶驱动电压vee、背光负电源ledk接地。第三章 红外遥控万年历软件设计.3.1 主程序设计主程序的功能: 以80c52为核心,处理外转电路传进来的信号,实现时钟数据的读取,保存,显示其及键盘操作。流

28、程图如下所示:3.2 时钟模块ds1302驱动设计 初始变量初始化化 控制器发送rom指令复位端产生一个高电平写1302地址延时向地址写数据据地址增加复位端产生一个高电平数据是否写完?写1302地址延时将该地址的数据读出地址增加数据是否读完?yynn 显示数据 3.3 阴历程序设计阴历程序的实现是要靠阳历日期来推算的。要根据阳历来推算阴历日期,首先要设计算法。推算方法是,根据阳历当前日期在一年中的天数来计算阴历日期。阳历一个月不是30天就是31天(2月除外,闰年2月为29天,平年2月为28天)。阴历一年有12个月或13个月(含闰月),一个月为30天或29天。如果把一个只有29天的月称为小月,用

29、1为标志,把30天的月称为大月,用0为标志,那么12位二进制就能表示一年12个月的大小。如果有闰月,则把闰月的月份作为一个字节的高4位,低4位表示闰月大小,大月为0,小月为1,这样一个字节就包括了所有闰月的信息。阴历春节和阳历元旦相差的天数也用一个字节表示。总共用4字节就可以存储一年中任何一天阳历和阴历的对应关系的有关数据,例如2004年的阴历和阳历对应关系如表4-1所示。表3-3 2004年的阴历和阳历对应关系表月份123456789101112闰2月大小小大大大小大小大小大小大小二进制1000101010101天数 293030302930293029302930十六进制425221200

30、4年的春节和元旦差21天,这样2004年的信息表示为:21,42h,52h,21h。其中表示12个月大小信息的字节,第4位和第7位不用,第1个字节为十进制,其它的都为十六进制。按此方法,50年的阳历和阴历对应关系表总共使用200字节。有了算法和数据以后,就可以设计软件了。先要根据当前阳历的日期,算出阳历为该年中的第几天。图5-3为计算阳历中任何一天在该年中为第几天的程序流程图。图4-3 计算阳历天数程序流程图计算出当前阳历日期为该年中的第几天后,再减去阳历该年春节和元旦的日差,如果够减,则相减的结果就是阴历在该年中的总第几天了。根据该数据就可以推算出具体的当前阴历日期;如果不够减,则表示当前阴

31、历年为阳历年的前一年。这种情况下,根据实际,当前阴历日期会处于阴历11月或12月,此时春节和元旦的日差减去前面计算出的当前阳历日期在阳历年为第几天的数据,其结果表示当前阴历日期离春节的天数。计算出的阳历天数为该年的第几天,存放在寄存器r2和r3中。计算出天数后,如果大于#ffh,则把#ffh存放在r2中,余值存放在r3中。也就是说在用寄存器r2和r3表示的天数信息中,r2充当主寄存器,数据先存满r2,再存r3。在整个转换程序中,这里面的数据不能被覆盖。计算出阳历总天数后,就可以根据它来推算阴历日期。推算方法是,先用总天数减去春节和元旦的日差,如果结果为1,则该天正好是春节(因为春节在元旦之后,

32、在计算春节和元旦的日差时,假设元旦为0天,春节为n天,则日差为n。而前面计算的阳历总天数是该天在该年中的第几天,是以元旦为1而得到的,与计算春节和元旦日差的这样方法相比,其数值少了1,所以要在原来本应该以0作为该天就是春节的依据的基础上加1,所以以1作为该天是春节的标志);如果结果小于1,则阴历应该是阳历的前一年;如果结果大于1,说明阳历和阴历为同一年。再根据查表所得的该年的阴历的闰年和大小月的信息,就可以推算出该天的阴历日期了。图4-4为由总天数推算出阴历日期的程序流程图。图4-4 推算阴历日期的程序流程图3.4 红外信号接收解码驱动设计红外信号的的接收通过外部中断1处理函数来完成的,中断函

33、数中判断按键的编码,然后执行相应的按键动作,比如检测到键s1被按下,则执行调节时间的动作。图19 红外发射程序流程图3.5 红外信号发射程序的设计红外发射程序和红外接收程序是独立的,红外信号的发射和接收分别由各自单片机来完成。红外信号的发射利用定时器12,每隔26us中断一次,主程序中等待按键被按下,若检测到有按键按下,就调用红外发射函数,发送相应的二进制编码。其程序流程图见图20。图20 红外发射程序流程图 3.6 时间调整子程序设计调整时间用五个调整按钮,一个作为设置键、控制用,一个作为退出设置按键,一个作为闹铃开关用,剩下两个是对设置位的加,减操作。图3-6 时间调整程序流程图第四章 系

34、统调试系统调试包括软件调试和硬件调试。硬件调试的任务是排除所焊接电路故障。软件调试是利用开发工具进行在线仿真调试。调试的一般过程如下所示:系统调试的一般过程是上电运行后观察其运行状态,数码管是否点亮等。软件调试先是各个模块、各个子程序分别调试,最后进行系统联机调试。4.1 软件调试对于本设计采用proteus软件进行了仿真和验证,过程和结果如下:1.打开proteus软件。2.选择file菜单下的 open design选项,找到所需的元器件,元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出并绘制设计所要的各种元器件,按照电路图连接后并保存。3.将用keil编

35、译产生的hex文件下载到单片机中:双击51单片机,在对话框中把保存过的hex文件打开,再单击确定。 4.单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果。下图为软件的仿真窗口图:4.2 硬件调试设计的过程中,对硬件的检测和对软件的测试都不能忽略,因为在系统的仿真过程中。各元件都是理想的,而在设计实际电路时,就需要多方面考虑。要先对元件进行检测,然后进行调试。例如如果在设计中不加任何驱动,在仿真软件中仍然可以正常计价,但是在具体硬件焊接时,需要考虑电路的驱动能力。 在已经焊接好的电路板上,要对其各个元器件进行检查。一般情况下,集成电路不会出现故障。在本设计中采用了先焊接插槽的方法,这可以

36、避免一些元件在焊接的过程中被烧坏。另外在焊接数码管时,要先排线,再焊接以免线路混乱。元件在选购时需要多备选元件,元件的型号较多,产品质量没有可靠保证,就避免不了我买的元器件是损坏的,再加上焊接是在万能板上焊接的。就有可能发生虚焊,短路等情况的发生。所以,在焊接好每个元件后都要进行检测,以保证焊接无误。焊接好电路板,把相应的芯片插到对应的插槽中,再检一次,看芯片是否与插槽接触良好。 显示部分检测的目的是看数码管是否能够正常显示。如果不该亮的字段点亮,检测是因否有短路的情况;如果数码管不显示,说明位选端可能没有焊好;如果显示不够亮,则应该检查驱动电路。晶振部分使用示波器查看波形。如果出现看不到12mhz的正弦波形的现象,说明此部分电路不正常。总 结经过多次的反复测试与分析,掌握了硬件的设计与分析的能力, 学会看英文版的datashee,同时在软件的编程方面得到更到的提高,对编程能力得到加强.对所学的知识得到很大的提高与巩固.最终实现功能: (1)能显示阳历年、月、日、星期、小时、分、秒。(2)显示模块采用lcd液晶显示,要求能用红外遥控器调整时间。(3)能显示阴历月、日,在显示阴历时间时能标明是否为闰年。(4)具有定时报警功能,能够进行整点报时。参考文献1 周兴华,等.手把手教你学单片机c程序设计,北

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论