单片机课程设计之多功能电子万年历的设计说明.doc

上传人:可****阿 文档编号:30672551 上传时间:2022-08-06 格式:DOC 页数:22 大小:226.04KB
返回 下载 相关 举报
单片机课程设计之多功能电子万年历的设计说明.doc_第1页
第1页 / 共22页
单片机课程设计之多功能电子万年历的设计说明.doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《单片机课程设计之多功能电子万年历的设计说明.doc》由会员分享,可在线阅读,更多相关《单片机课程设计之多功能电子万年历的设计说明.doc(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、. . . . 单片机应用系统设计课 题:多功能电子万年历的设计 姓 名:班 级:学 号:指导老师:日 期:一、绪论随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S51单片机作为核心,功耗小,能在3V的低压工作,电压可选用35V电压供电

2、。综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。二、系统总体方案 我选用的是单片机(8051)来实现电子万年历的功能。共具备两个功能:(1)显示年月日与分秒信息(2)具有可调整日期和时间功能。该电子万年历能够成功实现时钟运行,调整功能,且精确度经调试一天的误差在2S。1微处理器本系统采用的就是51系列的AT89C51单片机进行的万年历设计。由于51系列的上下兼容性,51核的部功能大体一致。下图为51系列单片机的管脚图。AT89C51管脚图VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/

3、O口,每脚可吸收8TTL门电流。 P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。 P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。P3口可以为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:地址锁存允许/编程脉冲输入端。 PSEN:外部程序存储器的选通信号。 EA/VPP:寻址外部ROM控制端/编程电源输入端。 XTAL1:反向振荡放大器的输入

4、与部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2输出LED显示功能简介在单片机应用系统中常用的显示器有发光二极管数码显示器LED和液晶显示器LCD。LED显示器具有耗电少、成本低廉、配置简单灵活,抗干扰性强等优点,但显示容有限,且不能显示图形,因而其灵活性受到限制;LCD显示了具有LED特点外还能显示图形,但其驱动比较复杂。本设计的万年历输出部分采用LED3按键电路由于我设计的是电子万年历,在设计过程中我一共采用了4个按键,尽量在小的空间里实现最多的功能。其中MODE键是年月日与时间显示切换键,按下一次就能够更换一次显示位。在调整显示环境下UP和DONW键是显示调整位的的加1减1

5、键,FUNCTION键实现清零,并提高万年历显示的精确性。按键电路如图所示 4 时钟芯片DS1302的工作原理: DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。图5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表6为DS1302的日历、时间寄存

6、器容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。(2) DS1302的控制字节DS1302的控制字如表-1所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出 RAM RD 1 A4 A3

7、A2 A1 A0 /CK /WR表-1 DS1302的控制字格式(3) 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如下图-4所示 图-4 DS1302读/写时序(4) DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器与其控制字见表-2。 表-2 DS1302的日历、时间寄存器 此外,DS1302 还有年份寄存器、控制寄存器、充

8、电寄存器、时钟突发寄存器与与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)三、硬件电路的总体框图设计该设计的硬件电路的总体框图下图所示按键与按钮 电路液晶显示电路总体开关复位等辅助电路电源系统CPUAT89C51四、系统软件设计主程序流程图CPU系统初始化定时器初始化串口初始化读

9、写日期、时间信息分离日期时间信息显示子程序显示出的时间时间是否正确?日期、时间修改子程序返回Proteus ISIS简介Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。该软件的特点是:(1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。(2)具有模拟电路仿真、数字电路仿真、单片机与其外围电路组成的系统的仿真、RS232动态仿真、I2 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(3)目前支持的单片机类型有:ARM7系列

10、、68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以与各种外围芯片。 (4)支持大量的存储器和外围芯片。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真ARM、51、AVR、PIC。Proteus启动画面:图9界面仿真结果通过在KEIL下对源程序的编译,改正了其中的很多错误,运行之后生成HEX文件。然后按原理图选择正确合理的电气元件,画出正确而且美观的电路图,加载源程序运行,顺利实现了电子万年历年月日时分秒以与星期和阴历日期的输出。下图为电子万年历的显示效果:按下调时键后(第一个键)表示小时的数

11、字开始闪动按下调日期键后(第三个键)年代键开始闪动第2个键为调整显示数字按键,实行加一仿真结果通过在WAVE6000下对源程序的编译,改正了其中的很多错误,然后运行,保证源程序的正确性。然后按原理图选择正确合理的电器元件,画出正确的电路图,加载源程序运行,顺利实现了单片机数字电子钟的“小时”、“分钟”、“秒”的显示。该电子万年历的显示效果如图五、总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二

12、十一世纪的大学生,掌握单片机的开发技术是十分重要的。此次设计立足于电子技术的实际运用,不断实践,开拓了思维,设计以考查、调研、搜集资料、拟订方案、进行系统规划、编程、仿真、调试的流程,使我深刻的体会到了在学习我们专业的过程中理论与实践相结合的重要性,同时也解决了以前学习比较模糊的专业知识点,使自己掌握的专业知识更加结构化、系统化。参考文献1 AT89C51,.zlgmcu.,周立功单片机发展2 DS1302Trickle Charge Timekeeping Chip,.dalsemi.3 嘉新 明 于明淳 DS18B20在林学气象测量中的应用,2002年7月第30卷第4期4 敏,单片微机万年

13、历设计,职大学报2002年第2期5 邸春芳,电脑实时时钟的设计,(西南石油学院电子信息工程学院)6 维普资讯 .cqvip.7 王越明,电子万年历的设计,煤矿机电设备厂,维普资讯 .cqvip.8 适用于51系列单片机的一种万年历优化算法,维普资讯 .cqvip.9 吴有富,推导万年星期历的turoc-c程序,民族学院10 峰 周炳峻 晓静,遥控电脑万年历的改造,应用与改造11 藤迪安,最新万年历,珠算1996年第5期12 志军 新民,数字温度传感器DS18B20与其应用,2003年3月第1卷第1期附源程序代码:SCLKEQUP3.2IOEQUP3.3RSTEQUP3.4TRLEQUP3.5J

14、IA1EQUP3.6TSHEQUP3.7YEARDATA66HMONTHDATA65HWEEKDATA64HDAYDATA63HHOURDATA62HMINUTEDATA61HSECONDDATA60HDS_ADDRDATA32HDS_DATADATA31HORG00HAJMPSTARTMAIN2F:LJMPMAIN2START:MOVSP,#70HLCALLDELAY1MOVDS_ADDR,#8EHMOVDS_DATA,#00HLCALLWRITESTART0:MOVDS_ADDR,#81HLCALLREADMOVDS_ADDR,#80HMOVDS_DATA,ALCALLWRITESTAR1

15、:MOVDS_ADDR,#0C0HMOVDS_DATA,#9CHLCALLWRITEMOV20H,#0MOV21H,#0FHMAIN1:TRL,MAIN2FAMOV22H,#1AJMPMAIN2FBMAIN2FA:TSH,MAIN2FMOV22H,#2MOVDS_ADDR,#81HLCALLREADORLA,#80HMOVDS_ADDR,#80HMOVDS_DATA,ALCALLWRITEMAIN4:LCALLDISPJNBTSH,MAIN4MOV22H,#2LJMPSSSMAIN2FB:MOVDS_ADDR,#81HLCALLREADORLA,#80HMOVDS_ADDR,#80HMOVDS

16、_DATA,ALCALLWRITEMAIN4J:LCALLDISPJNBTRL,MAIN4JMOV22H,#1NNN:LCALLDISPJNBTRL,YYYMOV20H,#8LCALLDISPJIA1,NNNNNN2:LCALLDISPJNBJIA1,NNN2MOVR7,YEARLCALLJIAY1MOVYEAR,ACJNEA,#30H,NNN1MOVYEAR,#06NNN1:MOVDS_ADDR,#8CHMOVDS_DATA,YEARLCALLWRITEMOVR0,YEARLCALLDIVIDEMOV4AH,R1MOVA,4AHSWAPAMOV4AH,AMOV4BH,R2MOVA,4BHSW

17、APAMOV4BH,ASJMPNNNYYY:LCALLDISPJNBTRL,YYYYYY3:JNBTRL,DDDMOV20H,#4LCALLDISPJIA1,YYY3YYY2:LCALLDISPJNBJIA1,YYY2MOVR7,MONTHLCALLJIAY1MOVMONTH,ACJNEA,#13H,YYY1MOVMONTH,#1YYY1:MOVDS_ADDR,#88HMOVDS_DATA,MONTHLCALLWRITEMOVR0,MONTHLCALLDIVIDEMOV48H,R1MOVA,48HSWAPAMOV48H,AMOV49H,R2MOVA,49HSWAPAMOV49H,ASJMPYY

18、Y3DDD:LCALLDISPJNBTRL,DDDMOV20H,#2HDDD3:JNBTRL,NYDMOV20H,#2LCALLDISPJIA1,DDD3DDD2:LCALLDISPJNBJIA1,DDD2MOVR7,DAYLCALLJIAY1MOVDAY,ACJNEA,#32H,DDD1MOVDAY,#1DDD1:MOVDS_ADDR,#86HMOVDS_DATA,DAYLCALLWRITEMOVR0,DAYLCALLDIVIDEMOV46H,R1MOVA,46HSWAPAMOV46H,AMOV47H,R2MOVA,47HSWAPAMOV47H,ASJMPDDD3NYD:LJMPMAIN3A

19、SSS:LCALLDISPJNBTSH,FFFMOV20H,#8SSS3:JNBTSH,FFFLCALLDISPJIA1,SSS3SSS2:LCALLDISPJNBJIA1,SSS2MOVR7,HOURLCALLJIAY1MOVHOUR,ACJNEA,#24H,SSS1MOVHOUR,#0SSS1:MOVDS_ADDR,#84HMOVDS_DATA,HOURLCALLWRITEMOVR0,HOURLCALLDIVIDEMOV44H,R1MOV45H,R2SJMPSSSFFF:LCALLDISPJNBTSH,FFFMOV20H,#4FFF3:JNBTSH,MMMLCALLDISPJIA1,FFF

20、3FFF2:LCALLDISPJNBJIA1,FFF2MOVR7,MINUTELCALLJIAY1MOVMINUTE,ACJNEA,#60H,FFF1MOVMINUTE,#0FFF1:MOVDS_ADDR,#82HMOVDS_DATA,MINUTELCALLWRITEMOVR0,MINUTELCALLDIVIDEMOV42H,R1MOV43H,R2SJMPFFF3MMM:LCALLDISPJNBTSH,MMMMOV20H,#2MMM3:JNBTSH,MAIN3LCALLDISPJIA1,MMM3MMM2:LCALLDISPJNBJIA1,MMM2MOVR7,SECONDLCALLJIAY1MO

21、VSECOND,ACJNEA,#60H,MMM1MOVSECOND,#0MMM1:ORLSECOND,#80HMOVDS_ADDR,#80HMOVDS_DATA,SECONDLCALLWRITEANLSECOND,#7FHMOVR0,SECONDLCALLDIVIDEMOV40H,R1MOV41H,R2SJMPMMM3MAIN3:SETBP3.0SETBP3.1MOV22H,#0LCALLDISPJNBTSH,MAIN3MOV20H,#0MOV21H,#0FHMOV22H,#0MOVDS_ADDR,#81HLCALLREADANLA,#7FHMOVDS_ADDR,#80HMOVDS_DATA,

22、ALCALLWRITELJMPMAIN1MAIN3A:SETBP3.0SETBP3.1MOV22H,#0LCALLDISPJNBTRL,MAIN3AMOV20H,#0MOV21H,#0FHMOV22H,#0MOVDS_ADDR,#81HLCALLREADANLA,#7FHMOVDS_ADDR,#80HMOVDS_DATA,ALCALLWRITELJMPMAIN1MAIN2:MOVP1,#0MOVDS_ADDR,#8DHLCALLREADMOVYEAR,DS_DATAMOVDS_ADDR,#89HLCALLREADMOVMONTH,DS_DATAMOVDS_ADDR,#87HLCALLREADM

23、OVDAY,DS_DATAMOVDS_ADDR,#85HLCALLREADMOVHOUR,DS_DATAMOVDS_ADDR,#83HLCALLREADMOVMINUTE,DS_DATAMOVDS_ADDR,#81HLCALLREADMOVSECOND,DS_DATAMOVR0,YEARLCALLDIVIDEMOV4AH,R1MOVA,4AHSWAPAMOV4AH,AMOV4BH,R2MOVA,4BHSWAPAMOV4BH,AMOVR0,MONTHLCALLDIVIDEMOV48H,R1MOVA,48HSWAPAMOV48H,AMOV49H,R2MOVA,49HSWAPAMOV49H,AMOV

24、R0,DAYLCALLDIVIDEMOV46H,R1MOVA,46HSWAPAMOV46H,AMOV47H,R2MOVA,47HSWAPAMOV47H,AMOVR0,HOURLCALLDIVIDEMOV44H,R1MOV45H,R2MOVR0,MINUTELCALLDIVIDEMOV42H,R1MOV43H,R2MOVR0,SECONDLCALLDIVIDEMOV40H,R1MOV41H,R2LCALLDISPLJMPMAIN1DISP:SETBP3.1SETBP3.0JNB10H,DISP2CLRP3.0DISP2:JNB11H,DISP1CLRP3.1DISP1:NOPMOVA,46HOR

25、LA,40HMOVP1,AJNB01H,MIAOLMOVA,21HRLAMOV21H,ACJNEA,#78H,MIAO1MIAO1:JCMIAOLCLRP2.4CLRP2.5SJMPFENMIAOL:SETBP2.5LCALLDELAY1CLRP2.5LCALLDELAY2MOVA,47HORLA,41HMOVP1,ASETBP2.4LCALLDELAY1CLRP2.4LCALLDELAY2FEN:MOVA,48HORLA,42HMOVP1,AJNB02H,FENLMOVA,21HRLAMOV21H,ACJNEA,#78H,FEN1FEN1:JCFENLCLRP2.2CLRP2.3SJMPSH

26、IFENL:SETBP2.3LCALLDELAY1CLRP2.3LCALLDELAY2MOVA,49HORLA,43HMOVP1,ASETBP2.2LCALLDELAY1CLRP2.2LCALLDELAY2SHI:MOVA,4AHORLA,44HMOVP1,AJNB03H,SHILMOVA,21HRLAMOV21H,ACJNEA,#78H,SHI1SHI1:JCSHILSJMPSHI2SHIL:SETBP2.1LCALLDELAY1CLRP2.1LCALLDELAY2MOVA,4BHORLA,45HMOVP1,ASETBP2.0LCALLDELAY1CLRP2.0LCALLDELAY2SJMP

27、SFMSHI2:CLRP2.0CLRP2.1SFM:RETDELAY1:MOVR7,#5DELAY11:MOVR6,#0DJNZR6,$DJNZR7,DELAY11RETDELAY2:MOVR7,#1DELAY21:MOVR6,#0DJNZR6,$DJNZR7,DELAY21RETDELAY3:MOVR7,#40DELAY31:MOVR6,#0DJNZR6,$DJNZR7,DELAY31RETJIAY1:MOVA,R7ADDA,#1DAARETDIVIDE:MOVA,R0ANLA,#0FHMOVR1,AMOVA,R0SWAPAANLA,#0FHMOVR2,ARETWRITE:CLRSCLKNO

28、PSETBRSTNOPMOVA,DS_ADDRMOVR4,#8WRITE1:RRCANOPNOPCLRSCLKNOPNOPNOPMOVIO,CNOPNOPNOPSETBSCLKNOPNOPDJNZR4,WRITE1CLRSCLKNOPMOVA,DS_DATAMOVR4,#8WRITE2:RRCANOPCLRSCLKNOPNOPMOVIO,CNOPNOPNOPSETBSCLKNOPNOPDJNZR4,WRITE2CLRRSTRETREAD:CLRSCLKNOPNOPSETBRSTNOPMOVA,DS_ADDRMOVR4,#8READ1:RRCANOPMOVIO,CNOPNOPNOPSETBSCLKNOPNOPNOPCLRSCLKNOPNOPDJNZR4,READ1MOVR4,#8READ2:CLRSCLKNOPNOPNOPMOVC,IONOPNOPNOPNOPNOPRRCANOPNOPNOPNOPSETBSCLKNOPDJNZR4,READ2MOVDS_DATA,ACLRRSTRETDEY:NOPNOPNOPNOPNOPNOPNOPRETEND22 / 22

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com