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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于AT89S51单片机的数字万年历方案设计书Word下载.docx

1、3.3.2 蜂鸣器的结构原理.93.4 LCM1602简介9 4 系统硬件设计所需的器材.116 系统功能介绍. 128 安装制作 .149 调试与检测安全 .14 10结束语.141 设计要求本设计准备实现的功能: (1) 显示公历日期功能(年、月、日、时、分、秒以及星期) (2) 可通过按键切换年、月、日及时、分、秒的显示状态(3) 可随时调校年、月、日或时、分、秒(4) 可每次增减一进行时间调节(5) 可动态完整显示年份,实现真正的万年历显示2 方案论证与设计2.1控制器部分方案论证 方案一:可采用ALTERA公司的FLEX10K系列PLD器件。设计起来结构清晰,各个模块,从硬件上设计起

2、来相对简单,控制与显示的模块间的连接也会比较方便。但是考虑到本设计的特点,EDA在功能扩展上比较受局限,而且EDA占用的资源也相对多一些。从成本上来讲,用可编程逻辑器件来设计也没有什么优势。方案二:凌阳16位单片机有丰富的中断源和时基。它的准确度相当高,并且C语言和汇编兼容的编程环境也很方便来实现一些递归调用。I/O口功能也比较强大,方便使用。用凌阳16位单片机做控制器最有特色的就是它的可编程音频处理,可完成语音的录制播放和识别。这些都方便对设计进行扩展,使设计更加完善。成本也相对低一些。但是,在控制与显示的结合上有些复杂,显示模组资源相对有限,而且单片机的稳定性不是很高,而且就需要完成万年历

3、这个不太复杂的设计可以不必用凌阳16位单片机来完成,采用51单片机既能够实现既定功能,成本也不高。综合考虑最后选择用51单片机来作为中心控制器件。硬件控制电路主要用了AT89S51芯片处理器、LCD显示器等。根据各自芯片的功能互相连接成电子万年历的控制电路。软件控制程序主要有主控程序、电子万年历的时间控制程序、时间显示及星期显示程序等组成。主控程序中对整个程序进行控制,进行了初始化程序及计数器、还有键盘功能程序、以及显示程序等工作,时间控制程序是电子万年历中比较重要的部分。时间控制程序体现了年、月、日、时、分、秒及星期的计算方法。时间控制程序主要是定时器0计时中断程序每隔10ms中断一次当作一

4、个计数,每中断一次则计数加1,当计数100次时,则表示1秒到了,秒变量加1,同理再判断是否1分钟到了,再判断是否1小时到了,再判断是否1天到了,再判断是否1月到了,再判断是否1年到了,若计数到了则相关变量清除0。先给出一般年份的每月天数。如果是闰年,第二个月天数不为28天,而是29天。再用公式sv1 +(y1/4(y1/100+(y1/400+ d计算当前显示日期是星期几,当调节日期时,星期自动的调整过来。闰年的判断规则为,如果该年份是4或100的整数倍或者是400的整数倍,则为闰年;否则为非闰年。在我们的这个设计中由于只涉及100年范围内,所以判断是否闰年就只需要用该年份除4来判断就行了。温

5、度的显示主要是靠ds18b20采集现在的温度数据,CPU读取数据进行显示,当各自的条件得不到满足时,对应的显示器状态就不发生改变,只是在满足条件的情况下,显示器的状态才变化。图1 单片机控制电路Fig.1 SCM Control circuit 2.2 显示部分的方案论证采用8段数码管虽经济实惠,但操作比液晶显示来说略显繁琐。液晶显示方式。液晶显示效果出众,可以运用菜单项来方便操作,比较简单,所以,最后选择液晶显示方案。图2 液晶显示电路Fig.2 lcm1602 circuit2.3 系统设计2.3.1 晶体振荡器电路晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保

6、证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体荡器电路。图3 DS1302电路Fig.3 ds1302 circuit2.3.2 分频器电路分频器电路将高频方波信号经分频后得到1Hz的方波信号供秒计数器进行计数,分频器实际上也就是计数器。2.3.3 时间计数器电路时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器而根据设计要求,时个位和时十位计数器为12进制计数器。2.3.4 时钟电路内部时钟电路如图所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就

7、产生自激振荡。定时元件通常石英晶体和电容组成的并联谐振回路,晶体振荡器选择12MHZ,电容采用30PF。 图4 时钟电路 Fig.4 Clock circuit2.3.5 复位电路 影响单片机系统运行稳定性的因素可大体分为外因和内因两部分:(1)外因 射频干扰,它是以空间电磁场的形式传递在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰; 电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰 。(2)内因 振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定 起振时间可由电路参数

8、整定稳定度受振荡器类型温度和电压等参数影响复位电路的可靠性。2.3.6复位电路的可靠性设计复位是单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开 关或电源插头分-合过程中引起的抖动而影响复位。图5 RC复位电路 Fig.5 RC Reset Circuit2.3.7 按键

9、部分本设计总的用了四个按扭开关作为键盘,其中一个是复位键,另三个中的其中两个是调整时间增加、减少的键,第三个是切换年、月、日及时、分、秒的显示状态并在所切换的显示状态下配合加减两个键调整时间。图6 按键电路Fig.6 Key circuit2.3.8蜂鸣器电路利用AT89S51单片机的IO口控制一个8550的三极管,三极管控制蜂鸣器的电源通断。从而实现输出声音。图7 蜂鸣器电路Fig.7 Buzzer circuit 3.3.9 根据各模块的功能互相连接成电子万年历的控制电路图8 控制模块示意图Fig.8 Control Module Sketch3各硬件介绍3.1 AT89S51的引脚说明A

10、T89S51系列单片机中有PDIP,PLCC,TQFP多种封装形式。本设计采用的是PDIP封装40管脚的单片机,各引脚如图2-2所示。图9 AT89S51的PDIP封装引脚图Fig.9 AT89S5140个引脚中, 4组8位共32个I/O口,正电源和地线两根,外置石英振荡器的时钟线两根,现在对这些引脚的功能加以说明:(1)Pin9:RESET/Vpd复位信号复用脚,当AT89S51通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统开始复位。而RESET由高电平下降为低电平后,系统即从0000H地址单元开始执行程序。(2)Pin29:PESN当访问外部程序存储器时,此

11、脚输出负脉冲选通信号,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。(3)Pin30:ALE/PROG 地址锁存允许信号端。单片机上电后,ALE引脚不断向外输出正脉冲信号, ALE信号可以用作对外输出时钟或定时信号。(4)Pin31:EA/Vpp程序存储器的内外部选通线,89S51单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。3.2 发光二极管指示电路设计发光二极管简称为LED。由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极

12、管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管, 在电路及仪器中作为指示灯,或者组成文字或数字显示。磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样 是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微M内分别与N 区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能 量越多,则发出的光的波长越短。常用的是

13、发红光、绿光或黄光的二极管。 设计中,我使用了1个发光二极管作为电源的指示。为了避免供给发光二极管的电流过大,使用1K的电阻进行限流。3.3 蜂鸣器电路设计3.3.1 蜂鸣器的介绍1蜂鸣器的作用 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。2蜂鸣器的分类 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。3蜂鸣器的电路图形符号 蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。3.3.2 蜂鸣器的结构原理1压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器

14、、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。2电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。有源蜂鸣器直接接上额定电源(新的

15、蜂鸣器在标签上都有注明)就可连续发声。3.4 LCM1602简介 图11 LCM1602 Fig.11 LCM1602LCM1602采用标准的16脚接口,其中: 第1脚:VSS为地电源 第2脚:VDD接5V正电源 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RSRW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可读忙信号,当

16、RS为高电平RW为低电平时可以写入数据.第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据线。 第1516脚:空脚 3.5 DS1302 简介DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细

17、电流充电的能力。DS1302的外部引脚分配如图1所示及内部结构如图2所示。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。图12 DS1302的外部引脚分配Fig.12 DS1302 external pin assignment图13 DS1302的内部结构Fig.13 The internal structure of the DS1302各引脚的功能为: Vcc1:主电源;Vcc2:备份电源。当Vcc2Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 Vcc1时,由Vcc1向DS1302供电

18、。SCLK:串行时钟,输入;I/O:三线接口时的双向数据线;CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。4 系统硬件设计所需的器材5V电源 3V电源AT89S51单片机1个液晶显示器1个DS1302 1个电阻 1 K的2个、4.7K的2个4.7欧排阻8550三极管晶振12M的一个 32768K的一个电容(30P的两个)蜂鸣器1个LED二极管1个22f电容1个轻触开关5个5 系统软件总体设计系统的软件设计采用汇编语言,对单片机进行编程实现各项功能。程序在WindowsXP环境下采用LC

19、A51软件编写。软件控制程序主要有主控程序、电子万年历的时间控制程序组成。主控程序中对整个程序进行控制,进行了初始化程序及计数器、还有键盘功能程序、以及显示程序和时间控制程序是电子万年历中比较重要的部分。5.1 公历与星期的换算方法在现行公历中,历年的长度365天(平年)或者366天(闰年)都不是七的整数倍,所以日期与星期之间没有明显的对应关系。一般情况下,不看日历牌就无法知道某月某日是星期几。不过,它们之间还是有一定规律可循的,只要经过简单计算,或者查找表格,就可以知道与任何日期相对应的星期数。这里列出两种方法供读者选用。(1)公式法:设y麦示公元年数,d表示从1月1日起算的日数。首先求出1

20、月0日(即上一年12月31日)的星期序数,然后与日数d相加,其和用7除,余数就是答案。为了推导公式,我们想一想,第一年1月0日的星期序数与第二年1月0日的星期序数有什么关系?平年365天,等于52个星期零1天,所以第二年1月0日的星期序数比第一年的多l,但这个l已包含在y中了,因为第二年的年数y比第一年大1;闰年366天,等于52个星期零二天,所以第二年1月0日的星期序数等于第一年(闰年)的星期序数加2,除了y中包含的1外,还需加修正值1。根据这些道理我们可以推得三个公式,将式中S用7除,余数就表示星期几。从公元1900年1月1日到公元210I年1月1日之间这201年,可用公式:S y1900

21、 + (y1901)/4 + d 方括号表示取商的整数部分,对于1900年1904年这五年方括号值为0。这个公式是这样来的:1900年1月0日(即1899年12月31日)是星期天。这年是平年,以后直到2100年前都是每隔4年一闰,闰年多出的那一天,影响到下一年1月0日的星期序数,并不影响闰年本身,闰年产生的修正值应加到下一年上去,所以(y1901)/4中,计算时用190l而不是1900。例:求2000年12月31日是星期几?2000年是闰年,从1月1日算起,12月31日是第366天,所以d366。根据公式有:S20001900 +(20001901)/4+ 366100 +99/4+ 366l

22、00 + 24 + 366490490为7的整数倍,即余数为0,所以2000年12月31日为星期日。(2)更普遍的公式为:sv1 +(y1/4(y1/100+(y1/400+ d对于这个公式,我们不妨这样考虑:公历400年中有97个闰年,共365x 400 + 97 146.097天,146,09720,871 7,即正好是7的整数倍。这表明某年某月某日所对应的星期序数与四百年前同月同日所对应的星期序数完全相同。前边例中我们已算出公元2001年1月0日(即2000年12月31日)是星期日,那么,公元1601年、1201年以及公元1年的1月0日都是星期日。假如每个历年都是365天的话,那么,由于

23、公元1年1月0日是星期日,只要公式Sy1 + d就可以了,但实际上闰年是366天,所以我们必须根据闰年的有关规定进行修正。(y1)/4是四年一闺产生的修正值。如果只取这一个修正项,就会多修正以至造成错误,这是因为,根据公历的规定,逢百之年虽然能被4整除,却不一定是闰年,所以必须减去多修正的值,它等于(y1/100)。如果逢百之年都是平年,只要这两个修正项也就可以了。可是,公元年数能被400整除的年(当然也一定能被100整除)仍是闰年,所以还必须加上(y1/400)。这个修正项才行。方括号中之所以用y1而不用y,是由于修正值是加到闰年的下一年上去,而不是加到闰年本身上。6 系统功能介绍6.1 按

24、键处理当系统在正常显示状态下要进行调整时,按一下切换键进入按键处理中断程序,并且此时默认的是调整年,在液晶显示器上显示N,此时按加或减按钮可以进行加减调整,若再按一下切换键,则跳到月上显示Y,同样可以调整加减,同样的道理,进入日(R)、时(S)、分(F)、秒(M)的调整,最后再按一下切换键时退出中断程序,星期系统自动的调整过来。6.2星期计算星期计算流程框图图15 星期计算Fig.15 Weeks diagram7 主程序流程图图16 主流程框图Fig.16 The process flow chart 8 安装制作 8.1 清理元器件,重点辩别认清电阻器阻值及相应代号,对电阻、电容、发光二极

25、管、三极管、电源变压器等要用万用表一一检测。8.2 安装时,电阻器、整流二极管采用卧式插装,并近贴电路板;瓷介电容器、电解电容器、三极管等采用立式插装,也要近贴电路板。发光二极管安装时可不讲极性,因为其供电电路为交流电源,其余有极性元件:如电解电容器、整流二极管、稳压二极管、三极管、集成电路等必须按正确的极性插装,否则电路不会正常工作。8.3 焊完元器件后,在覆铜面剪掉多余元器件的引线,工具最好用斜口钳,可防止因剪线而使覆铜皮损坏。8.4 焊接完后,请认真对照电路原理图、安装图检查电路板上有无漏焊、错焊、短路、断路等错误现象,确认无误后才能通电。9 调试与检测安全 调试与检测过程中,要接触各种电路和仪器设备,特别是各种电源及高压电路,高压大容量电容器等,为保护检测人员安全,防止测试设备和检测线路的损坏,除严格遵守一般安全规程外,还必须注意调试和检测工作中制定的安全措施。9.1 供电安全:大部分故障检测过程中都必须加电,所以调试检测过的设备仪器,最终都要加电检验。抓住供电安全就抓住了安全的关键。(1) 调试检测场所应有漏电变化开关和

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

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