


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、请在此处放置您学校的LOGO!基于单片机制红外遥控万年历学院:专业:姓名:学号:2013年 月 日本文介绍了一款能够实现可以遥控设置时间,日期,闹钟的电子万年历, 该设计模型可以解决壁挂式电子万年历的时间,日期,闹钟调整不方便的问题。 系统主要由STC89C52单片机控制模块,电源模块,DS1302时间生成模块,红外 遥控模块,LCD12864显示模块组成。由电源模块提供保证整个系统的运行所城 电压;由时间生成模块生成的时间日期通过单片机模块一系列处理后,通过液晶模块实时显示输出年,月,日,时,分,秒和星期等信息。配合红外遥控模块对 时间日期的调整,使得该系统操作简单方便,非常实用。矚慫润厲钐
2、瘗睞枥庑赖。关键词:万年历、单片机STC89C52、DS1302、LCD12864、红外遥控前言1聞創沟燴鐺險爱氇谴净。第一章系统总体设计1.1单片机主控系统设计方案 错误!未定义书签。残骛楼諍锩瀨濟溆塹籟。1.2时钟芯片系统设计方案 错误!未定义书签。酽锕极額閉镇桧猪訣锥。1.3按键控制系统设计方案3彈贸摄尔霁毙攬砖卤庑。1.4 显示系统设计方案 8謀养抟箧飆鐸怼类蒋薔。1.5 系统设计原理框图 3厦礴恳蹒骈時盡继價骚。第二章 红外遥控万年历的硬件设计 错误!未定义书签。茕桢广鳓鯡选块网羈 泪。2.1单片机最小系统设计 .错误!未定义书签。鹅娅尽損鹤惨歷茏鴛賴。2.2 DS1302时钟模块设
3、计.错误!未定义书签。籟丛妈羥为贍债蛏练淨。2.3红外编解码模块设计:.错误!未定义书签。預頌圣鉉儐歲龈讶骅籴。2.4 LCD12864显示模块设计 6渗釤呛俨匀谔鱉调硯錦。第三章红外遥控万年历的软件设计错误!未定义书签。铙誅卧泻噦圣骋贶頂廡。3.1主程序设计 .错误!未定义书签。擁締凤袜备訊顎轮烂蔷。3.2时钟模块驱动设计.错误!未定义书签。贓熱俣阃歲匱阊邺镓騷。3.3阴历时间转换程序设计.错误!未定义书签。坛搏乡囂忏蒌鍥铃氈淚。3.4红外接收接码驱动设计.错误!未定义书签。蜡變黲癟報伥铉锚鈰赘。3.5红外编码发射驱动设计.错误!未定义书签。買鯛鴯譖昙膚遙闫撷凄。第四章系统调试.错误!未定义
4、书签。綾镝鯛駕櫬鹕踪韦辚糴。4.1硬件系统调试.错误!未定义书签。驅踬髏彦浃绥譎饴憂锦。参考文献4附录、八 、刖言课题的背景万年历是我国古代传说中最古老的一部太阳历。 为纪念历法编撰者万年的功 绩,便将这部历法命名为“万年历”。而现在所使用的万年历,实际上就是记录 一定时间范围内(比如100年或更多)的具体阳历或阴历的日期的年历,方便 有需要的人查询使用,与原始历法并无直接联系。随着新技术的不断开发与应用, 近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴 起。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低, 可靠性高,抗干扰能力强和使用方便等独特优点
5、, 在数字、智能化方面有广泛的 用途。单片机的应用已经渗透到工业控制、家用电器、通信设备、信息处理、尖 端武器等各个领域。而随着单片机的发展,人类用于计时的工具也在不断发展更 新,单片机技术使得万年历有了新的发展方向。目前世界上单片机年产量已达十多亿片,通常是当年微处理器产量的 4-5倍以上。用最少的芯片就能实现最强 大的功能,这是将来电子产品的主流方向,它将无可置疑地一步步取代其它同类 产品,其数量之大和应用面之广,是其它任何类型的计算机所无法比拟的。锹籁饗迳琐筆襖鸥娅薔。以基于单片机的万年历作为设计的课题,因为它有很好的开放性和可发挥 性,对本人我单片机的水平对应的要求比较高, 不仅考察了
6、对单片机的掌握能力 而且强调了对单片机扩展的应用。另外液晶显示的万年历已经越来越流行,特别 适合在家庭居室、办公室、大厅、会议室、车站和广场等地方使用,它具有显示 清晰直观、走时准确、可以进行夜视等功能,并且还可以扩展出其它多种功能, 同时将其制成一份精致的成品可作实用的展品。 所以,电子万年历作为设计课题 很有价值。構氽頑黉碩饨荠龈话骛。课题的主要工作本论文主要研究基于单片机的万年历设计。当程序执行后, LCM12864显示 即时时间、年月日、星期、天干地支、温度等。设置 4个操作键:KEY1设置 键;KEY2跳出键;KEY3上调键;KEY4下调键。本设计的主要内容:輒峄陽檉 簖疖網儂號泶。
7、1、了解单片机技术的发展现状,熟悉万年历各模块的工作原理;2、选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各 接口电路;3、熟悉单片机使用方法和 C语言的编程规则,编写出相应模块的应用程 序。设计目标设计目标:使基于STC89C52单片机的万年历实现以下三个功能:1、具有年、月、日、星期、时、分、秒的显示功能;2、具备年、月、日、星期、时、分、秒的校准功能;3、具有闹钟时间的设置和报警提示功能,具有闹钟的打开关闭功能;4、具有整点报时的功能;5、具有用红外遥控器操作的功能。第一章系统总体设计1.1单片机主控系统设计方案单片机也被称为微控制器(Microcontroller ),
8、是以一个大规模集成电路为 主组成的微型计算机,在一个芯片内含有计算机的基本功能部件:中央处理器 CPU存储器和I/O接口,CPU通过内部的总线和存储器、I/O接口相连。尧侧閆 繭絳闕绚勵蜆贅。单片机以其卓越的性能,得到了广泛的应用,已深入到各个领域。单片机应 用在控制领域中,具有如下特点:单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低, 成本低,可靠性高,种类多,型号全,抗干扰能力强和使用方便等独特优点,在 数字、智能化方面有广泛的用途。 识饒鎂錕缢灩筧嚌俨淒。最重要的是可以采用 C语言开发环境,具有友好的人机互交环境。大多数 单片机都提供基于 C语言开发平台,并提供大量的
9、函数供使用,这使产品的开 发周期、代码可读性、可移植性都大为提高。 凍鈹鋨劳臘错痫婦胫籴。综上:本系统的主控芯片选择 80C51家族的STC89C52R单片机,它具备上 面所述的所有特点,能以很高的性价比来满足我们的设计需求。恥諤銪灭萦欢煬鞏鹜錦。1.2时钟系统设计方案方案一:不使用芯片,采用单片机的定时计数器这种方法原理是利用单片机芯片的定时器来产生固定的时间 ,模拟时钟的时 分,秒如:利用AT80C52芯片,定时器用工作方式1,每50ms产生一个中断,循环 20次,即1s周期.每一个周期加1,那么1min为60个周期,1h就是60*60=3600MOT 1VccNC一 SQWNC NCAD
10、0 NCAD1 NCAD2一_阿AD3 RESETAM DSAD5 NCAD6 R/W 4AD7 一ASGND 12口一 CS鯊腎个周期,一天就是3600*24=86400个周期。鑰诎褳鉀沩懼統庫。此方法优点是可以省去一些外围的芯片 但这种方法只能适用于一些要求不是十分精 确,不做长期保留的场合。方案二:并行接口时钟芯片 DS12887特点:采和单片机应用系统并行总线(三总线)扩展的接口电路,采用这种接 口电路具有操 作速度快,编程方便的优点。硕癘鄴颃诌攆檸攜驤蔹。但是对于80C52单片机来说,低位地址线要通过锁存器输出,还要地址译码 器,而且并行口芯片的体积相对较大。 阌擻輳嬪諫迁择植秘騖。
11、方案三:串行接口时钟芯片 DS1302VCC2 EE xi mX2OT GNDEK1 B2 7 tin SCLK3 64 5ID VQC1R V0_ R RST优点:它采用简单的三线制串行接口与单片机连接,使用简单,接口容易,与微型计算机连线较少等特点,在单片机系统尤其是手持式信息设备中己得到了广 泛的应用。氬嚕躑竄贸恳彈濾颔澩。因次,我选择了串行时钟芯片DS13021.3按键控制系统设计方案在对日期和时间进行切换显示,对日期和时间进行调节校准,对闹钟进行 设置的过程中,系统需要产生激励电流,因此需要用按键。按键设计一般有两 种方案:釷鹆資贏車贖孙滅獅赘。方案一:使用独立式键盘。独立式键盘是指
12、直接用I/O 口线构成的单个按键电路。独立式按键硬件电路设置简单,软件程序编写也相对容易。如下图所 示:怂阐譜鯪迳導嘯畫長凉。图独立键盘原理图方案二:矩阵键盘,它的缺点是占用10 口太多,如下图所示:图矩阵键盘原理图根据现实需求,本系统创新性的抛弃这两种方案,采用红外遥控器做为系统的按键,红外遥控器可以不受位置的限制来对万年历功能进行调整和设置,从而摆脱了壁挂式万年历操作不方便的缺点,最大限度的给人带来方便。红外 谚辞調担鈧谄动禪泻類。1.4显示模块选择方案一 :LED数码管显示特点:数码管显示比较常用的是采用 CD4511和74LS138实现数码转换数码显 示分动态显示和静态显示,静态显示具
13、有锁存功能,可以使数据显示得很清楚, 但浪费了一些资源。目前单片机数码管普通采用动态显示,编程简单,但只能显示数字,不能显示中文。 嘰觐詿缧铴嗫偽純铪锩。方案二:LCD1602特点:能够显示英文和数字。1602液晶模块内部的字符发生存储器(CGROM) 已经存储了 160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的 大小写、常用的符号。熒绐譏钲鏌觶鷹緇機库。方案三:LCD16824作为一种输出方式,液晶显示最大的特点就是能够实现友好的人机界面,它己经广泛应用于现代工业控制和智能化仪器仪表等领域,它己经成为单片机就用 开发领域典型模块之一。能够方便的显示文字和数字。鶼渍螻偉阅劍鲰腎邏
14、蘞。因此我选择LCD16824作为显示模块。15系统设计原理框图纣忧蔣氳頑莶驅藥悯骛。图1.4红外遥控万年历系统原理框图第二章红外遥控万年历硬件设计2.1单片机最小系统设计2.1.1 STC89C52具有下列主要性能: 8KB可改编程序Flash存储器(可经受1000次的写入/擦除周期)全静态工作:OHz24MHz三级程序存储器保密 128X 8字节内部RAM 32条可编程I/O线 2个16位定时器/计数器 6个中断源可编程串行通道片内时钟振荡器2.1.2 STC89C52的引脚及功能STC89C5单片机的管脚分布如下图所示。23456789 A10111213141516171819201
15、P1.0VCC,P1. 1PO.O(ADO ),P1.2P0.1(AD1 ) P1.3P0.2(AD2 ) P1.4P0.3(AD3 )-P1.5P0.4(AD4 ) P1.6P0.5(AD5 ),P1.7P0.6(AD6 )RSTP0.7(AD7 )» P3.0(RXD)E A/VPP» P3.1(T XD)AL E/PROG P3.2(INT 0)PSEN-P3.3(INT 1 )P2. 7(A1 5)-P3.4(T0)P2. 6(A1 4),P3. 5(T 1 )P2. 5(A1 3)» P3. 6(W R)P2.4(A1 2)» P3. 7(RD
16、)P2. 3(A1 1)'XT AL 2P2.2(A1 0)"XT AL 1P2. 1(A9 )-GNDP2. 0(A8 )4039383736353433323130292827262524232221图4-2 STC89C52的管脚2.1.3 晶振电路图2晶振电路在晶振电路中,C1、C2为晶振的负载电容,分别接在晶振的两个脚上和对地 的电容,电路中取了 30PR晶振引脚的内部通常是一个反相器。在晶振输出引 脚XO和晶振输入引脚XI之间用一个电阻连接,很多芯片的引脚内部已经包含了这个电阻,引脚外部就不用接了。这个电阻是为了使反相器在振荡初始时 处与线性状态,反相器就如同一个
17、有很大增益的放大器,以便于起振。颖刍莖峽饽亿顿裊赔泷。2.1.4 复位电路VCC图3复位电路单片机复位电路有上电自动复位和手动复位两种方式。上电复位要求接通电源后,自动进行复位操作。手动复位要求接通电源的前提下,在单片机运行的 条件下,在单片机运行期间,用按钮开关操作使单片机进行复位的操作。这里 采用的是手动复位。濫驂膽閉驟羥闈詔寢賻。2.2 DS1302时钟模块设计2.2.1 DS1302芯片介绍低功耗时钟芯片DS130可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302的性能特性实时时钟,可对年月日,时分秒,星期以及带闰年补偿的年进行计数;具有31 X 8位的
18、RAM用于数据暂存;最少三个I/O引脚即可与MCUt行连接;较宽的电压工作东围 3.3 - 5.5 V ;低电压时功耗极低;具有单字节或多字节(脉冲方式)两种数据读写传送方式;可选的慢速充电(至Vcci)的能力。DS1302管脚图U3DS13021Vcc2Vcc182QPI |Z73XIX2SCLKI/O64GNDRST5图2.2.1 DS1302管脚图如果在传送过程中置RST为低电平,则会终止本次数据传送,并且I/O引脚 变为高阻态。上电运行时,在 VCc >=2.3V之前,RST脚必须保持低电平。只有在 SCLK为低电平时,才能将RST置为高电平。DS1302的管脚图如图4-3所示,
19、内 部结构图如图4-4所示,表4-2为各引脚的功能。銚銻縵哜鳗鸿锓謎諏涼。图222 DS1302内部结构图表2-2-1 DS1302引脚功能表引脚号引脚名称功能1V CC2主电源2, 3X1 , X2振荡源,外接 32768HZ晶振4GND地线5RST复位/片选线6I/O串行数据输入/输出端(双向)7SCLK串行数据输入端8V cc1后备电源DS1302的控制字如图4-5所示。控制字节的最高有效位(位7)必须是逻辑1;如果它为逻辑0,贝U不能把数据写入到 DS1302中。位6如果为0,则表示存 取日历时钟数据;为1表示存取RAM数据。位51 (A4A0)指示操作单元的地址。最低有效位(位0)如
20、为0,表示要进行写操作;为1表示进行读操作 控制字节总是从最低位开始输入/输出。 挤貼綬电麥结鈺贖哓类。DS1302的数据读写时序如下图:SCLKRSTDATA I/O BYTEDATA I/O BYTEI/O012345670124567t/WA0A1A2A3A4R/C"1塤礙籟馐决穩賽釙冊庫。图2.2.4数据读写程序DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数 据位为BCD码形式,其日历、时间寄存器及其控制字见表 3-3,其中奇数为读操 作,偶数为写操作。裊樣祕廬廂颤谚鍘芈蔺。表2.2.3DS1302的日历、时钟寄存器及其控制字寄存器名命令字取值范围各
21、位内容写操作读操作76543210秒寄存器80H81H00-59CH10SECSEC分钟寄存器82H83H00-59010MINMIN小时寄存器84H85H01- 12 或00-2312/24010APHRHR日期寄存器86H87H01-28,29,30,310010DATEDATE月份寄存器88H89H01-12000IOMMONTH周日寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,DS1302停止 振荡,进入低功耗的备份方式。通常在对DS1302进行写操作时(如进入时钟调整程序),停止振
22、荡。当它为0时,时钟将开始启动。仓嫗盤紲嘱珑詁鍬齊驚。AM-PM/12-24小时方式:小时寄存器的位7定义为12或24小时方式 选择位。它为高电平时,选择 12小时方式。在此方式下,位 5是AM/PM位, 此位是高电平时表示PM低电平表示AM在24小时方式下,位5为第二个10小 时位(2023h)。绽萬璉轆娛閬蛏鬮绾瀧。2.2.2 DS1302 的应用实时时钟芯片DS1302采用串行数据传输,可为掉电保护电源提供可编程的 充电功能,也可以关闭充电功能,芯片采用 32768Hz晶振。要特别说明的是,备 用电源BT1可以用电池或超级电容(10万卩F以上)。虽然DS1302在主电源掉 电后耗电很小,
23、但如果要长时间保证时钟正常,最好选用小型充电电池。如果断 电时间较短(几小时或几天),可以用漏电较小的普通电解电容代替(100卩F就 可以保证1小时的正常走时)9。DS1302在第一次加电后,需进行初始化操作。 初始化后就可以按正常方法调整时间及闹铃。DS1302的时钟电路如图3-7所示。骁顾燁鶚巯瀆蕪領鲡赙。图2-2 DS1302 时钟电路2.3红外编解码模块设计红外接收U7HSOO38£7<<n-r-j£R7100GND _VCC图2.3.1 HS0038 红外接收电路概述一体化接收头(HS0038)接收遥控器用来产生遥控编码脉冲,完成对遥控信 号的放大、检
24、波、整形、解调出遥控编码脉冲。遥控编码脉冲是一组串行二进制 码,对于一般的红外遥控系统,此串行码输入到单片机,并由其内部CPU完成对 遥控指令解码,并执行相应的遥控功能。瑣钋濺暧惲锟缟馭篩凉。2.3.2 SMOO38引脚功能表2.3.1 HS0038 引脚功能引脚符号功能说明1OUT输出一组串行二进制码遥控编码脉冲2VSS接电源(+5V)3GND接地二进制码的解调解调图13二进制码的解调过程红外接收头接收到遥控信号需先进行解调,其解调过程如图13所示,当接收到调制信号时,输出高电平,否则输出为低电平,是调制的逆过程。HS0038是一体化集成的红外接收器件,直接就可以输出解调后的高低电平信号。鎦
25、诗涇艳损楼紲鯗餳類。234红外信号的调制和发射红外信号的调制和发射由单片机最小系统、矩阵编码键盘和红外信号发射电路组成。单片机最小系统在前面介绍中已经提到,这里就不再赘述。栉缏歐锄棗鈕种鵑瑶锬。235红外发射电路如图所示,经单片机调制后的编码信号由单片机的P3.2 口输出,经红外发射二极管D2发射出去。遥控器键盘编码电路当单片机检测到有按键被按下时,就发射与之相对应的二进制编码信号,按 键和二进制编码信号的对应关系见表 5。辔烨棟剛殓攬瑤丽阄应。二进制信号(如图a和b所示)的调制过程(如图c所示)由单片机来完成, 它采用PPM编码(如图d所示)。单片机把编码后的二进制信号调制成频率为 38kH
26、z的间断脉冲串,相当于用二进制信号的编码乘以频率为38kHz的脉冲信号得到的间断脉冲串,也即是调制后用于红外发射二极管发送的信号。峴扬爛滾澗辐滠兴渙藺。图a二进制码1图b二进制码0> lUimjiLJiL图c二进制信号的调制nninnnmi9 ms*i«F *I1地址码地址反屯接炸码標作反诃图d PPM编码格式表5按键功能及其与遥控编码的关系按键编号对应的遥控编码值实现的功能S10x01用于选择设置的标志位S20x02确定所设定的值S30x03闹钟停闹(蜂鸣器停止响)与开启S40x04调节键+S50x05调节键-2.4 LCD显示模块设计带中文字库的128X64是一种具有4位/
27、8位并行、2线或3线串行多种 接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128 04,内置8192个16*16点汉字,和128个16*8点ASCII 字符 集利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人 机交互图形界面。可以显示8 M行16 X16点 阵的汉字.也可完成图形显示.詩 叁撻訥烬忧毀厉鋨骜。本设计中采用的LCD12864的各个功能引脚 如下:名称型态电平功能描述并口串口VCCI-模块电源输入(未注明为5V)GND 1I-电源地V0I-对比度调节端VEEI-液晶驱动电压输出端(或名Vout)PSBIHX并口/串口选择 H并口;
28、 L串口*RST n1H.L复位信号,低有效RS(CS)IHL寄存器选择端;H数据;L指令片选.低砌R WiSIDIHX读/W选择端 H读;L写串行数据线E(SCLK)IH;L使能信号串行时钟输入DBO DB3lIOHL数据总线低四位空接DB4-DB7I'OHL数据总线咼四位,4位井时空接空接LEDAI二背光正(或名爪BLA)LEDK1背光负(或名Kx BLK)241LCD12864内部结构图:Control SignalsVDDVSSV0 VOUT DB0-DB7 RS CCS :, RST E(SCLK) RW(SID)PSB LCD ControllerST792032CUM 1
29、28X32 dots128X32 dots 64沁介tK+SEGLEDA LEDKLED BacklightST7921Corit广oL Signal宜图2.4.1LCD12864的逻辑电路图2.4.1LCD12864应和电路图:GNDPIVCCGND图242 STC89C52与LCD12864 液晶的接口电路根据以上电路原理图中液晶的各引脚与单片机的接法,可得本设计的液晶模块电路如图4-11所示。VSS接地;数字电源VD取+ 5V;对比度控制电压V0接 电位器,可通过调节电位器调整液晶亮度;数据、指令选择信号RS接单片机P2.0 口;读写选择信号R/W接单片机P2.1 口;单片机读、写选通信
30、号/RD /WR通过 与非门接液晶的读写使能信号 E; DBADB7分别接单片机的P0.0P0.7 口;复 位端RST接 P2.4 口、选屏显示端 PSB接 P2.6端口,背光正电源LEDA接+ 5V; 液晶驱动电压VEE背光负电源LEDK接地。则鯤愜韋瘓賈晖园栋泷。第三章红外遥控万年历软件设计3.1主程序设计,实现时钟数主程序的功能:以80C52为核心,处理外转电路传进来的信号据的读取,保存,显示其及键盘操作。胀鏝彈奥秘孫戶孪钇賻。流程图如下所示:结束3.2时钟模块DS1302马驱动设计鳃躋峽祷紉诵帮废掃減。3.3阴历程序设计阴历程序的实现是要靠阳历日期来推算的。要根据阳历来推算阴历日期,首
31、先要设计算法。推算方法是,根据阳历当前日期在一年中的天数来计算阴历日期。阳历一个月不是30天就是31天(2月除外,闰年2月为29天,平年2月为28 天)。阴历一年有12个月或13个月(含闰月),一个月为30天或29天。如果 把一个只有29天的月称为小月,用1为标志,把30天的月称为大月,用0为标 志,那么12位二进制就能表示一年12个月的大小。如果有闰月,则把闰月的月 份作为一个字节的高4位,低4位表示闰月大小,大月为0,小月为1,这样一 个字节就包括了所有闰月的信息。阴历春节和阳历元旦相差的天数也用一个字节 表示。总共用4字节就可以存储一年中任何一天阳历和阴历的对应关系的有关数 据,例如20
32、04年的阴历和阳历对应关系如表 4-1所示。稟虛嬪赈维哜妝扩踴粜。表3-32004年的阴历和阳历对应关系表月份123456789101112闰2月大小小大大大小大小大小大小大小二进制1000101010101天数293030302930293029302930十八进制4252212004年的春节和元旦差21天,这样2004年的信息表示为:21, 42H, 52H, 21Ho其中表示12个月大小信息的字节,第4位和第7位不用,第1个字节为十 进制,其它的都为十六进制。按此方法,50年的阳历和阴历对应关系表总共使用200字节。陽簍埡鮭罷規呜旧岿錟。有了算法和数据以后,就可以设计软件了。先要根据当前
33、阳历的日期,算出 阳历为该年中的第几天。图5-3为计算阳历中任何一天在该年中为第几天的程序 流程图。沩氣嘮戇苌鑿鑿槠谔應。图4-3计算阳历天数程序流程图计算出当前阳历日期为该年中的第几天后, 再减去阳历该年春节和元旦的日 差,如果够减,则相减的结果就是阴历在该年中的总第几天了。根据该数据就可以推算出具体的当前阴历日期;如果不够减,则表示当前阴历年为阳历年的前一 年。这种情况下,根据实际,当前阴历日期会处于阴历11月或12月,此时春节和元旦的日差减去前面计算出的当前阳历日期在阳历年为第几天的数据,其结果表示当前阴历日期离春节的天数。 计算出的阳历天数为该年的第几天,存放在寄 存器R2和R3中。计
34、算出天数后,如果大于#FFH则把#FFH存放在R2中,余值 存放在R3中。也就是说在用寄存器R2和R3表示的天数信息中,R2充当主寄存 器,数据先存满R2,再存R3o在整个转换程序中,这里面的数据不能被覆盖。 钡嵐縣緱虜荣产涛團蔺。计算出阳历总天数后,就可以根据它来推算阴历日期。推算方法是,先用总 天数减去春节和元旦的日差,如果结果为 1,则该天正好是春节(因为春节在元 旦之后,在计算春节和元旦的日差时,假设元旦为 0天,春节为n天,则日差为 n。而前面计算的阳历总天数是该天在该年中的第几天,是以元旦为1而得到的,与计算春节和元旦日差的这样方法相比,其数值少了1,所以要在原来本应该以0作为该天
35、就是春节的依据的基础上加 1,所以以1作为该天是春节的标志);如果结果小于1则阴历应该是阳历的前一年;如果结果大于 1说明阳历和阴 历为同一年。再根据查表所得的该年的阴历的闰年和大小月的信息, 就可以推算 出该天的阴历日期了。图4-4为由总天数推算出阴历日期的程序流程图。 懨俠劑鈍 触乐鹇烬觶騮。程宇入口YNR2=R2-R3下个月为主月?月加1R2=0?月供詢当前正在减 的月份的前一个月 的昱壬一壬月份为当前正在减 的月笹,号数为R2 申的宜图4-4推算阴历日期的程序流程图3.4红外信号接收解码驱动设计红外信号的的接收通过外部中断 处理函数来完成的,中断函数中判断按键 的编码,然后执行相应的按
36、键动作,比如检测到键 S1被按下,则执行调节时间 的动作。 謾饱兗争詣繚鮐癞别濾。调用红外解 码程序判断调制信号的二进制编码|执行相应的动|作调节时间或i殳置闹钟图19红外发射程序流程图3.5红外信号发射程序的设计红外发射程序和红外接收程序是独立的,红外信号的发射和接收分别由各自单片机来完成。红外信号的发射利用定时器12,每隔26us中断一次,主程序中 等待按键被按下,若检测到有按键按下,就调用红外发射函数,发送相应的二进 制编码。其程序流程图见图20。 呙铉們欤谦鸪饺竞荡赚。开始一个作为退出设置按莹谐龌蕲賞组靄绉嚴减。3.6时间调整子程序设计调整时间用五个调整按钮,一个作为设置键、控制用,键
37、,一个作为闹铃开关用,剩下两个是对设置位的加,减操作图3-6时间调整程序流程图第四章系统调试系统调试包括软件调试和硬件调试。硬件调试的任务是排除所焊接电路故障。软件调试是利用开发工具进行在线仿真调试。调试的一般过程如下所示:麸肃鹏镟轿騍镣缚縟糶。系统调试的一般过程是上电运行后观察其运行状态, 数码管是否点亮等。软 件调试先是各个模块、各个子程序分别调试,最后进行系统联机调试。納畴鳗吶鄖禎銣腻鰲锬。4.1软件调试对于本设计采用proteus软件进行了仿真和验证,过程和结果如下:1. 打开Proteus软件。2. 选择file菜单下的open design选项,找到所需的元器件,元器件上单击右键选
38、中,再单击左键对其进行命名和赋值, 接着在编辑器左边的一栏中,找 出并绘制设计所要的各种兀器件,按照电路图连接后并保存。風撵鲔貓铁频钙蓟纠庙。3. 将用keil编译产生的hex文件下载到单片机中:双击51单片机,在对话 框中把保存过的hex文件打开,再单击确定。灭暧骇諗鋅猎輛觏馊藹。4. 单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果下图为软件的仿真窗口图:flvErii Tw4h Dvhcfi Ijrak Jw lEhluiTirepriilaHdp m+ *电鱼包宜*电n工囊*斥菌士 蛊a2昭豐邓D2 幻轴甩iCllSJllQU WT紅 D51®33 D5WVMEMTO; 矿冋和 HIRW1I FiE£fW> 总F X|»| mIL| A SU.IOV4H4.2硬件调试设计的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生党员自我批评(6篇)
- 地理信息行业安全管理工作总结计划
- 总结与自我提升并行的管理思路计划
- 公司经理职位合同标准文本
- 任命书范文8篇
- 供暖维修合同标准文本
- 2025福州退休人员聘用合同
- 交易转让合同标准文本
- 重要原则国际物流师试题及答案
- 保密合同标准文本 资料
- 2025上半年贵州成黔企业(集团)有限公司招聘管理人员20人笔试参考题库附带答案详解
- 湖北省武汉市2025届高三下学期二月调研考试数学试卷
- 2025年志愿服务知识竞赛考试题(附答案)
- 上海市徐汇区上海中学2024-2025学年高一下学期3月月考地理试题(含答案)
- 二零二五年度研学旅行基地运营管理合同协议
- 仓储场所消防安全培训
- 大学课件-电路分析基础
- 2025年中国流行成分和原料消费深度洞察白皮书
- 2025年昆明长水机场勤务员招聘笔试参考题库含答案解析
- (八省联考)陕西省2025年高考综合改革适应性演练 生物试卷(含答案详解)
- 《光电对抗原理与应用》课件第3章
评论
0/150
提交评论