




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计单片机应用系统设计课 题: 基于AT89C51单片机的多功能电子万年历的设计 姓 名: 班 级: 学 号: 指导老师: 日 期: 目录一绪言3二系统总体方案设计.3三硬件系统设计:.4四系统软件设计.5五设计总结8六参考文献8七附录.9一绪论随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。万
2、年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。本系统采用了以广泛使用的单片机技术为核心,软硬件结合,使硬件部分大为简
3、化,提高了系统稳定性,并采用LED显示电路、键盘电路,使人机交互简便易行。二系统总体方案设计1. 系统设计硬件框图振荡电路按键调节DS1302AT89C51LED显示频2. 实现的基本原理在本实验中,我引用了DS1302的时,分,秒功能,当时计数字24时通过74LS164给模块年月日进位,当日模块对应其相应月份进行向月进位时,就给月进位,当月满12时,给年进位。三硬件系统设计1.元器件介绍名称图形功能DS1302可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能74LS16474LS164是一个串行输入并行输出的移位寄存器,并带有清除端。其中; Q0Q7 并行输出端 。 A,
4、B串行输入端。 MR 清除端, 为0时,输出清零。 CP 时钟输入端。AT89C51at89c51单片机是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4K bytes的可反复擦写的Flash只读程序存储器和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统。功能强大的at89c51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。2.硬件原理图四系统软件设计仿真过程1、打开PROTEUS软件,并出画单片机电子万年历具体运行电路图。3、检查所画电路运行图,确保没有错误以后,加载源程序
5、。4、加载完成后,单击电路图框下的开始按钮,进行仿真,观察LED数码管现实情况,此时LED数码管开始显示数字。调节开关进行时间的调节。当秒的显示间隔快与或慢与实际间隔时,调节石英晶体震荡器的频率参数,从而使秒的间隔达到标准。然后检查电路其它问题,并对其的各参数进行调整,使之正确。仿真结果通过对源程序的编译,改正了其中的很多错误,然后运行,保证源程序的正确性。然后按原理图选择正确合理的电器元件,画出正确的电路图,加载源程序运行,顺利实现了单片机数字电子钟的“小时”、“分钟”、“秒”的显示。1主程序流程图设计开始设置串行口工作方式设置计数器工作方式给计数器1,0赋初值调用1302写操作启动定时计数
6、器0定时时间到?读年月日时分秒把要显示的数据送到缓冲区调用显示子程序结束N调用定时中断Y2显示模块流程图基本显示模块设计的重点是由显示代码取得相应的段码、显示段码数据的串行发送,程序流程如图所示。其中时个位的段码必须加上小数点,即带小数点显示时个位,目的是以小数点符代替时间分割符“-”。软件秒脉冲发生器其实质是利用了定时器0的定时溢出中断,将它设定为100ms溢出中断,则10次中断的时间正好为1s。将时间参数设计为100ms的原因有两个:)根据系统时钟主频为6M的特点,16位定时器最大定时时间为655362M(M为机器周期,这里是2),即131ms,取整数100便于计次数;)如取的太短,如10
7、ms,则定时器频繁中断,干扰系统正常运行效果。有了秒脉冲发生器,10次中断为1s,秒指示灯闪亮1次,秒变量单元加1,60后分变量单元加1,如果为60分则时变量单元加1。任何一个变量的变化,则显示刷新一次(更新)。上述思想的实现均集成在定时器0的中断子程序中。该设计显示模块流程图如图将进制时分数据转化为显示代码关显示以免显示抖动通过串口将时十位段码送入对应的将时个位段码送入对应的将分十位和个位段码送入各自对应打开显示运行结果五设计总结通过这一周的课程设计,我学到了不少的知识。把以前没有学好的模拟电路的知识进行了补充和加强。这使我受益很大。加深了我对于单片机和数字电路的认识,相信在以后的学习和工作
8、中碰到这些基础的元器件我会更加得心应手。通过查阅大量的资料,我获得了以前在课堂上学不到的东西,我想这对于以后的毕业设计,或者工作也好,都是很有帮助的。我很认真地对待这个过程中的每一个细节,希望自己能做得更好。希望今后还有这样的机会,能够让我学到更多的知识。在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。在连接六进制,十进制,六十进制的进位及十二进制的接法中,要求熟悉逻辑电路及其芯片各引脚的功能,那么在电路出错时便能准确地找出错误所在并及时纠正了。学无止境,我们现在所做的一切都还只是一个开始。主要参考资料:1 林志琦.基于Proteus的单片机可视
9、化软硬件仿真M.北京:北京航空航天大学出版社,2006.92 周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真M.北京:北京航空航天大学出版社,2006.53 张靖武,周灵彬.单片机系统的PROTEUS设计与仿真M.北京:电子工业出版社,2007.44 周润景,张丽娜.PROTEUS入门实用教程M.北京:机械工业出版社,2007.95 戴俊峰.嵌入式系统大屏幕LED点阵显示器J.现代电子技术,2004,27(19):68-89,72.6 冯寿鹏.基于嵌入式系统的LED信息显示技术研究J.现代电子技术,2005(1):15-47.7 楼然苗,李光飞.51系列单片机设计实例M.北京:
10、北京航空航天大学出版社,2003.38 楼然苗,李光飞.单片机课程设计指导M.北京:北京航空航天大学出版社,2007.79 贾东耀,汪仁煌. 数字温度传感器在仓库温度检测系统的应用J. 传感器世界,2001.10 DALLAS DS18B20数据手册Z.http:/11付旭,方康玲.利用VB6.0实现PC机与单片口通讯J.微计算机信息,2002,18(10):30-3112 李江全,张丽,岑红蕾.Visual Basic串口通信与测控应用技术实战详解M.北京:人民邮电出版社,2007.13 法国Humirel公司.HS1101使用说明手册.14 长沙太阳人电子有限公司.SMC1602A LCM
11、使用说明手册.附录: ;* ;* 万年历程序 * ;* ;67H(高两位年)66H(低两位年)65H(月)64H(星期) ;63H(日)62H(小时)61H(分)60H(秒)57H(农历月)56H(农历日) ;显示缓冲单元CH7BH(4CH4BH)年低位,AH79H(4AH49H)月, ;78H(48H)星期,H76H(47H46H)日,H74H(45H44H)时, ;73H72H(43H42H)分,H70H(41H40H)秒,EH5DH(55H54H)农历年 ;5CH5BH(53H52H)农历月,AH59H(51H50H)农历日 ;闰年标志为F0,定时器T1为调整时候闪烁用 ; LCALL
12、GETWEEK ; MOV 78H,WEEk SCLK BIT P3.2 IO BIT P3.3 RST BIT P3.4 TIME_YEAR DATA 66H TIME_MONTH DATA 65H WEEK DATA 64H TIME_DAY DATA 63H HOUR DATA 62H MINTUE DATA 61H SECOND DATA 60H DS1302_ADDR DATA 32H DS1302_DATA DATA 31H start_year EQU 01; 定义查询表起始年份,01-199 表示1901-2099 年 week_byte1 DATA 3AH WEEK_BYTE
13、2 DATA 3BH WEEK_BYTE3 DATA 3CH WEEK_BYTE4 DATA 3DH WEEK_BYTE5 DATA 3EH CONvert_year DATA 6dh CONvert_month DATA 6eh ;BIT7 为1 表示闰月 CONvert_date DATA 6fh temp_Byte1 DATA 68h temp_Byte2 DATA 69h temp_Byte3 DATA 6Ah temp_Byte4 DATA 6Bh temp_Byte5 DATA 6Ch ; RS EQU P3.0 ; RW EQU P3.1 ; E EQU P3.5 ORG 000
14、0H AJMP START ORG 0003H RETI ORG 000BH LJMP INTT2 ORG 001BH LJMP INTT1 ORG 30H ;* ;* 主程序 * ;* start: mov R1,#254h ;清RAM 128单元 mov r0,#2 mov a,#0 clear: mov r0,a inc r0 djnz r1,clear mov r0,A MOV R1,A MOV R7,#10 ;计数器初始计数值 SETB EA ;打开总中断 ; MOV T2CON,#0 ;MOV T2MOD,#0 ; MOV TH2,#0 ;MOV TL2,#0 ;SETB TR2
15、MOV SCON,#00H ;串行输出,方式 MOV TMOD,#11H ;计数器,方式;计数器,方式 MOV TL1,#00H ;计数器初值65.5MS中断一次 MOV TH1,#00H MOV TH0,#3CH ;计数器50MS中断一次 MOV TL0,#0B0H CLR P0.6 MOV DS1302_ADDR,#8EH MOV DS1302_DATA,#00H ;允许协 LCALL WRITE MOV DS1302_ADDR,#90H MOV DS1302_DATA,#0A6H ;1302充电,充电电流.1mA lcall write SETB ET0 ;打开秒闪定时器 SETB TR
16、0 main1: MOV DS1302_ADDR,#8DH ;READ OUT YEAR LCALL READ MOV TIME_YEAR,DS1302_DATA MOV DS1302_ADDR,#8BH ;READ OUT WEEK LCALL READ MOV WEEK,DS1302_DATA MOV DS1302_ADDR,#89H ;READ OUT MONTH LCALL READ MOV TIME_MONTH,DS1302_DATA MOV DS1302_ADDR,#87H ;READ OUT DAY LCALL READ MOV TIME_DAY,DS1302_DATA MOV
17、DS1302_ADDR,#85H ;READ OUT HOUR LCALL READ MOV HOUR,DS1302_DATA MOV DS1302_ADDR,#83H ;READ OUT MINTUE LCALL READ MOV MINTUE,DS1302_DATA MOV DS1302_ADDR,#81H ;READ OUT SECOND LCALL READ MOV SECOND,DS1302_DATA MOV R0,TIME_YEAR ;年分离,送显示缓存 LCALL DIVIDE MOV 7BH,R1 MOV 4BH,R1 MOV 7CH,R2 MOV 4CH,R2 MOV 78H
18、,WEEK MOV 48H,WEEK MOV R0,TIME_MONTH ;月分离,送显示缓存 LCALL DIVIDE MOV 79H,R1 MOV 49H,R1 MOV 7AH,R2 MOV 4AH,R2 MOV R0,TIME_DAY ;日分离,送显示缓存 LCALL DIVIDE MOV 76H,R1 MOV 46H,R1 MOV 77H,R2 MOV 47H,R2 MOV R0,HOUR ;小时分离,送显示缓存 LCALL DIVIDE MOV 74H,R1 MOV 44H,R1 MOV 75H,R2 MOV 45H,R2 MOV R0,MINTUE ;分分离,送显示缓存 LCALL
19、 DIVIDE MOV 72H,R1 MOV 42H,R1 MOV 73H,R2 MOV 43H,R2 MOV R0,SECOND ;秒分离,送显示缓存 LCALL DIVIDE MOV 70H,R1 MOV 40H,R1 MOV 71H,R2 MOV 41H,R2 LCALL GENGXIN ;更新农历程序 MOV R0,CONVERT_MONTH ;农历月分离,送显示缓存 LCALL DIVIDE MOV 5BH,R1 MOV 52H,R1 MOV 5CH,R2 MOV 53H,R2 MOV R0,CONVERT_DATE LCALL DIVIDE MOV 59H,R1 MOV 50H,R
20、1 MOV 5AH,R2 MOV 51H,R2 LCALL GETWEEK MOV 78H,WEEK LCALL DISPLAY GOON:JNB P1.1,SETGG ;调整日历 ;JNB P1.4,QIDONG ;启动秒钟指示灯 ; LCALL QIDONG AAA: JNB F0,SSS CLR P1.0 ;闰月,则p1.0清,指示灯亮 LJMP MAIN1 SSS: SETB P1.0 ;非闰月,则p1.0置位,指示灯灭 LJMP MAIN1 SETGG: LJMP SETG QIDONG: LCALL DISPLAY ;秒钟指示灯开启/关闭 ;JNB P1.4,QIDONG ; LC
21、ALL QIDONG CPL 30H ;30 JB 30H,ON CLR TR0 CLR ET0 AJMP QDOUT ON: SETB TR0 SETB ET0 QDOUT: AJMP AAA ;* ;* 秒灯闪烁程序 * ;* INTT2: PUSH ACC ;累加器入栈保护 PUSH PSW ;状态字入栈保护 CLR ET0 ;关T0中断允许 CLR TR0 ;关闭定时器T0 MOV A,#0B7H ;中断响应时间同步修正 ADD A,TL0 ;低位初值修正 MOV TL0,A ;重装初值(低位修正值) MOV A,#3CH ;高位初值修正 ADDC A,TH0 ; MOV TH0,A ;重装初值(高位修正值) SETB TR0 ;开启定时器T0 CLR PSW.4 DJNZ R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度临床试验结果保密及知识产权保护合同
- 二零二五年度企业资质借用及跨区域合作合同
- 二零二五年度全面呵护型儿童保姆雇佣合同
- 二零二五年度沈阳高新技术企业员工离职解除合同书与补偿协议
- 2025年度网络游戏知识产权授权及运营合作协议模板
- 2025年度理发店员工劳动合同与服务协议
- 二零二五年度房屋产权归方所有协议书与配套设施租赁及维修服务协议
- 二零二五年度果树种植与农村电商合作果园承包协议
- 2025年度注销汽车销售公司合作协议书
- 二零二五年度农庄租赁与农业特色产业发展合同
- 汽车客运站危险源辨识和风险评价记录表
- 刑事证据课件
- GB/T 24747-2023有机热载体安全技术条件
- 沪教小学英语句型转换专题
- 《素描》教案-第一章 概述
- 2023学年完整公开课版编制团号
- 【成都市龙泉驿区平安村发展情况的调查(论文)】
- 申请撤销限高申请书范文
- 层小高层施工组织设计
- 情绪与心理健康
- 建筑施工企业负责人带班检查记录表
评论
0/150
提交评论