单片机课程设计之多功能电子万年历的设计.doc_第1页
单片机课程设计之多功能电子万年历的设计.doc_第2页
单片机课程设计之多功能电子万年历的设计.doc_第3页
单片机课程设计之多功能电子万年历的设计.doc_第4页
单片机课程设计之多功能电子万年历的设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

单片机应用系统设计课 题:多功能电子万年历的设计 姓 名: 班 级: 学 号: 指导老师: 日 期: 一、绪论随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S51单片机作为核心,功耗小,能在3V的低压工作,电压可选用35V电压供电。综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。二、系统总体方案 我选用的是单片机(8051)来实现电子万年历的功能。共具备两个功能:(1)显示年月日及分秒信息(2)具有可调整日期和时间功能。该电子万年历能够成功实现时钟运行,调整功能,且精确度经调试一天的误差在2S内。1微处理器本系统采用的就是51系列的AT89C51单片机进行的万年历设计。由于51系列的上下兼容性,51核的内部功能大体一致。下图为51系列单片机的管脚图。 AT89C51管脚图VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/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:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2输出LED显示功能简介在单片机应用系统中常用的显示器有发光二极管数码显示器LED和液晶显示器LCD。LED显示器具有耗电少、成本低廉、配置简单灵活,抗干扰性强等优点,但显示内容有限,且不能显示图形,因而其灵活性受到限制;LCD显示了具有LED特点外还能显示图形,但其驱动比较复杂。本设计的万年历输出部分采用LED3按键电路由于我设计的是电子万年历,在设计过程中我一共采用了4个按键,尽量在小的空间里实现最多的功能。其中MODE键是年月日与时间显示切换键,按下一次就能够更换一次显示位。在调整显示环境下UP和DONW键是显示调整位的的加1减1键,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的日历、时间寄存器内容:“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 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 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)三、硬件电路的总体框图设计该设计的硬件电路的总体框图下图所示按键与按钮 电路液晶显示电路总体开关复位等辅助电路电源系统CPUAT89C51四、系统软件设计主程序流程图CPU系统初始化定时器初始化串口初始化读写日期、时间信息分离日期时间信息显示子程序显示出的时间时间是否正确?日期、时间修改子程序返回Proteus ISIS简介Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。该软件的特点是:(1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(3)目前支持的单片机类型有:ARM7系列、68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 (4)支持大量的存储器和外围芯片。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真ARM、51、AVR、PIC。Proteus启动画面:图9界面仿真结果通过在KEIL下对源程序的编译,改正了其中的很多错误,运行之后生成HEX文件。然后按原理图选择正确合理的电气元件,画出正确而且美观的电路图,加载源程序运行,顺利实现了电子万年历年月日时分秒以及星期和阴历日期的输出。下图为电子万年历的显示效果:按下调时键后(第一个键)表示小时的数字开始闪动按下调日期键后(第三个键)年代键开始闪动第2个键为调整显示数字按键,实行加一仿真结果通过在WAVE6000下对源程序的编译,改正了其中的很多错误,然后运行,保证源程序的正确性。然后按原理图选择正确合理的电器元件,画出正确的电路图,加载源程序运行,顺利实现了单片机数字电子钟的“小时”、“分钟”、“秒”的显示。该电子万年历的显示效果如图五、总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学生,掌握单片机的开发技术是十分重要的。此次设计立足于电子技术的实际运用,不断实践,开拓了思维,设计以考查、调研、搜集资料、拟订方案、进行系统规划、编程、仿真、调试的流程,使我深刻的体会到了在学习我们专业的过程中理论与实践相结合的重要性,同时也解决了以前学习比较模糊的专业知识点,使自己掌握的专业知识更加结构化、系统化。参考文献1 AT89C51,,广州周立功单片机发展有限公司2 DS1302 Trickle Charge Timekeeping Chip,3 刘嘉新 李明 于明淳 DS18B20在林学气象测量中的应用,2002年7月第30卷第4期4 蒋敏,单片微机万年历设计,职大学报2002年第2期5 邸春芳,电脑实时时钟的设计,(西南石油学院电子信息工程学院)6 维普资讯 7 王越明,电子万年历的设计,黑龙江煤矿机电设备厂,维普资讯 8 适用于51系列单片机的一种万年历优化算法,维普资讯 9 吴有富,推导万年星期历的turoc-c程序,贵州民族学院10 刘峰 周炳峻 李晓静,遥控电脑万年历的改造,河北,应用与改造11 藤迪安,最新万年历,黑龙江珠算1996年第5期12 韩志军 刘新民,数字温度传感器DS18B20及其应用,2003年3月第1卷第1期附源程序代码:SCLKEQUP3.2IOEQUP3.3RSTEQUP3.4TRLEQUP3.5JIA1EQUP3.6TSHEQUP3.7YEARDATA66HMONTHDATA65HWEEKDATA64HDAYDATA63HHOURDATA62HMINUTEDATA61HSECONDDATA60HDS_ADDRDATA32HDS_DATADATA31HORG00HAJMPSTARTMAIN2F:LJMPMAIN2START:MOVSP,#70HLCALLDELAY1MOVDS_ADDR,#8EHMOVDS_DATA,#00HLCALLWRITESTART0:MOVDS_ADDR,#81HLCALLREADMOVDS_ADDR,#80HMOVDS_DATA,ALCALLWRITESTAR1:MOVDS_ADDR,#0C0HMOVDS_DATA,#9CHLCALLWRITEMOV20H,#0MOV21H,#0FHMAIN1:JBTRL,MAIN2FAMOV22H,#1AJMPMAIN2FBMAIN2FA:JBTSH,MAIN2FMOV22H,#2MOVDS_ADDR,#81HLCALLREADORLA,#80HMOVDS_ADDR,#80HMOVDS_DATA,ALCALLWRITEMAIN4:LCALLDISPJNBTSH,MAIN4MOV22H,#2LJMPSSSMAIN2FB:MOVDS_ADDR,#81HLCALLREADORLA,#80HMOVDS_ADDR,#80HMOVDS_DATA,ALCALLWRITEMAIN4J:LCALLDISPJNBTRL,MAIN4JMOV22H,#1NNN:LCALLDISPJNBTRL,YYYMOV20H,#8LCALLDISPJBJIA1,NNNNNN2:LCALLDISPJNBJIA1,NNN2MOVR7,YEARLCALLJIAY1MOVYEAR,ACJNEA,#30H,NNN1MOVYEAR,#06NNN1:MOVDS_ADDR,#8CHMOVDS_DATA,YEARLCALLWRITEMOVR0,YEARLCALLDIVIDEMOV4AH,R1MOVA,4AHSWAPAMOV4AH,AMOV4BH,R2MOVA,4BHSWAPAMOV4BH,ASJMPNNNYYY:LCALLDISPJNBTRL,YYYYYY3:JNBTRL,DDDMOV20H,#4LCALLDISPJBJIA1,YYY3YYY2:LCALLDISPJNBJIA1,YYY2MOVR7,MONTHLCALLJIAY1MOVMONTH,ACJNEA,#13H,YYY1MOVMONTH,#1YYY1:MOVDS_ADDR,#88HMOVDS_DATA,MONTHLCALLWRITEMOVR0,MONTHLCALLDIVIDEMOV48H,R1MOVA,48HSWAPAMOV48H,AMOV49H,R2MOVA,49HSWAPAMOV49H,ASJMPYYY3DDD:LCALLDISPJNBTRL,DDDMOV20H,#2HDDD3:JNBTRL,NYDMOV20H,#2LCALLDISPJBJIA1,DDD3DDD2:LCALLDISPJNBJIA1,DDD2MOVR7,DAYLCALLJIAY1MOVDAY,ACJNEA,#32H,DDD1MOVDAY,#1DDD1:MOVDS_ADDR,#86HMOVDS_DATA,DAYLCALLWRITEMOVR0,DAYLCALLDIVIDEMOV46H,R1MOVA,46HSWAPAMOV46H,AMOV47H,R2MOVA,47HSWAPAMOV47H,ASJMPDDD3NYD:LJMPMAIN3ASSS:LCALLDISPJNBTSH,FFFMOV20H,#8SSS3:JNBTSH,FFFLCALLDISPJBJIA1,SSS3SSS2:LCALLDISPJNBJIA1,SSS2MOVR7,HOURLCALLJIAY1MOVHOUR,ACJNEA,#24H,SSS1MOVHOUR,#0SSS1:MOVDS_ADDR,#84HMOVDS_DATA,HOURLCALLWRITEMOVR0,HOURLCALLDIVIDEMOV44H,R1MOV45H,R2SJMPSSSFFF:LCALLDISPJNBTSH,FFFMOV20H,#4FFF3:JNBTSH,MMMLCALLDISPJBJIA1,FFF3FFF2:LCALLDISPJNBJIA1,FFF2MOVR7,MINUTELCALLJIAY1MOVMINUTE,ACJNEA,#60H,FFF1MOVMINUTE,#0FFF1:MOVDS_ADDR,#82HMOVDS_DATA,MINUTELCALLWRITEMOVR0,MINUTELCALLDIVIDEMOV42H,R1MOV43H,R2SJMPFFF3MMM:LCALLDISPJNBTSH,MMMMOV20H,#2MMM3:JNBTSH,MAIN3LCALLDISPJBJIA1,MMM3MMM2:LCALLDISPJNBJIA1,MMM2MOVR7,SECONDLCALLJIAY1MOVSECOND,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,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,#87HLCALLREADMOVDAY,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,AMOVR0,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,46HORLA,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.3SJMPSHIFENL:SETBP2.3LCALLDELAY1CLRP2.3LCALLDELAY2MOVA,49HORLA,43HMOVP1,ASETBP2.2LCALLDELAY1CLRP2.2LCALLDELAY2SHI:MOVA,4AHORLA,44HMOVP1,AJNB03H,SHILMOVA,21HRLAMOV21H,ACJNEA,#78H,SHI1SHI1:JCSHILSJMPSHI2SHIL:SETBP2.1LCA

温馨提示

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

评论

0/150

提交评论