




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程论文 电子万年历的设计制作Electronic calendar design production 学生姓名: 学 号: 年级专业及班级:湖南长沙 提交日期:2011年6月 目录一、摘要2二、 电子万年历的设计31. 功能要求32. 硬件电路设计33. 软件程序设计7三、性能分析10四、总结11五、参考文献11六、附录12一、摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。而51系列单片机是各单片机中最为典型和最有代表性的一种,通过本次课程设计进一步对单片机学习和应用,从而更熟悉单片机的原理和相关设计并提高了开发软、硬件的能力。本设计主要设计一个基于80C51单片机的电子时钟,并在LED上显示相应的时间,通过两个控制键和44键盘来实现时间的调节功能。应用Proteus软件实现单片机数字时钟系统的设计与仿真。关键词:单片机 80C51 数字时钟 汇编语言AbstractWith the computer in the social sphere in recent years, the penetration and the development of large scale integrated circuit, microcontroller applications are constantly deepening, because of its powerful function, small size, low power consumption, cheap, reliable, easy to use and so on Therefore particularly suited to and control of the system, more and more widely used in automatic control, intelligent instruments, gauges, data acquisition, military products and household appliances and other fields, SCM is often used as a core component in According to the specific hardware architecture, and application-specific software features object combine to make perfect. The 51 series is the most typical of the microcontroller and the most representative one, through this course designed to further study and application of microcontrollers, which are more familiar with the principles of SCM and related design and development of improved software and hardware capabilities. The design of the main design of a 80C51 microcontroller based electronic clock, and the LED display the corresponding time, by two control keys and 4 4 keyboard to achieve the regulatory function of time. Proteus software application MCU digital clock system design and simulation.Keywords: digital clock 80C51 microcontroller assembly language二、电子万年历的设计1、 功能要求设计一台电子万年历,主控芯片采用8051单片机,日历时钟芯片采用DALLAS公司推出的高性能、低功耗、带RAM的实时时钟DS1302,显示器采用点阵字符型液晶显示模块,分2行显示,第一行显示日、月、年,第2行显示时、分、秒。2、硬件电路设计 下图a所示为电子万年历的硬件电路图,主要包括8051单片机、日历时钟芯片DS1302、点阵字符型液晶显示模块等。日历时钟芯片Ds302 是一种串行接口的实时时钟,芯片内部具有可编程日历时钟和31个字节的静态RAM,日历时钟可自动进行闰年补偿,计时准确,接口简单,使用方便,工作电压范围宽(2.55.5V),功耗低,芯片自身还具有对备份电池进行涓流充电功能,可有效延长备份电池的使用寿命。图a 电子万年历的硬件电路图 DS1302采用8脚封装,其引脚排列如图所示,各引脚功能如下。l Vcc1,Vcc:电源输入l GND:地l X1,X2:外接32.768KHz石英晶振输入l RST:复位通信允许l I/O:数据输入/输出端l SCLK:串行时钟输入图b DS1302的引脚排列8051单片机与DS1302之间采用3线串行通信方式。复位/通信允许信号RST接到单片机的P1.5引脚,RST=1允许通信,RST=0禁止通信;串行时钟信号SCLK接到单片机的P1.6引脚;数据输入/输出信号I/O接到单片机的P1.7引脚。8051作为主机通过控制RST、SCLK和I/O信号实现两芯片之间的数据传送。 DS1302芯片的X1和X2端外接32.768KHz的石英晶振Vcc1和Vcc2是电源引脚,单电源供电时接Vcc1脚,双电源供电时主电源接Vcc2,备份电池接Vcc1,如果采用可充电镉镍电池,可启用内部涓流充电器在主电压正常时向电池充电,以延长电池使用时间。备份电池也可用1UF以上的超容量电容代替,需要注意备份电池电压应略低于主电源工作电压。数据传送是以8051单片机为主控芯片进行的,每次传送时由8051向DS1302写入一个命令字节开始的,命令字节的格式入下:D7D6D5D4D3D2D1D01RAM/CKA4A3A2A1A0RD/W命令字节的最高位必须为1,RAM/CK位为DS1302片内RAM/时钟选择位,RAM/CK=1选择RAM操作,RAM/CK=0选择时钟操作。RD/W为读写控制位,RD/W=1为读操作,表示DS1302接受完命令字节后,按指定的选择对象及寄存器地址,读取数据并通过I/O线传送给单片机8051. RD/W=0为写操作,表示DS1302接受完命令字节后,紧跟着在接收来自于单片机8051的数据字节,并写入到DS1302相应的寄存器后RAM单元中。A4A0为片内日历时钟寄存器后RAM的地址选择位。DS1302与8051之间通过I/O线进行同步串行数据传送,SCLK为串行通信时的位同步时钟,一个SCLK脉冲传送一位数据,每次数据传送时都以字节为单位,低位在前,高位在后,传送一个字节需要8个SCLK脉冲。数据传送可以单字节方式或多字节突发方式进行。单字节方式传送一次数据需要16个SCLK脉冲,多字节方式传送一次数据在对日历进行读写时需要72个sclk脉冲。单字节操作方式可保证数据传送时的安全性和可靠性,多字节操作方式则可提高数据传送速度,两种方式可视需要灵活选用。另外,DS1302的外接晶振推荐采用32.768khz,电容推荐值为6pf,由于晶振频率较低,也可以不接电容,对计时精度影响不大。DS1302共有12个寄存器,其中7个寄存器与日历时钟有关,存放的数据为BCD码格式,日历、时钟寄存器地址及其内容如表1所示。秒寄存器的第7位为时钟暂停控制位,该位位1时暂停时钟振荡器,DS1302进入低功耗状态,该位为0时启动时钟。时寄存器的第7位为12或24小时方式选择,该位为1时选择12小时方式,该位为0时选择24小时方式。在12小时方式下,时寄存器的第5位为AM/PM选择,该位为1时选择PM,该位为0时选择。在24小时方式下,时寄存器的第5位为第2个小时位(20-23).表1 DS1302内部寄存器地址与内容寄存器命令字节取值范围寄存器内容写读76543210秒寄存器80H81H00-59CH10sSEC分寄存器82H83H00-59010minMIN时寄存器84H85H00-2或01-1212/24010A/pHRHR日寄存器86H87H01-28,29,30,310010DATADATE月寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000DAY年寄存器8CH8DH00-9910YEARYEAR电子万年历的显示部分采用点阵字符型液晶显示模块,以直接方式与8051单片机进行接口。将单片机的P2.7通过适当逻辑门电路组合接到液晶显示模块的E端,P0口通过外部锁存器得到的最低2位地址线A0和A1分别接到液晶显示模块的RW和RS端,从而可得到接口有电路的命令写入地址为7FF0H,命令读取地址为7FF1H,数据操作地址为7FF2H,分别对这3个地址进行操作即可将DS1302中的日历时钟信息显示在LCD屏幕上。3、 软件程序设计31 阳历程序设计 因为使用了时钟芯片DSl302,阳历程序只需从DSl302各寄存器中读出年、周、月、日、小时、分、秒等数据,再处理即可。在首次对DSl302进行操作之前,必须对它进行初始化,然后从DSl302中读出数据,再经过处理后,送给显示缓冲单元。阳历程序流程图见图36所示。图3.6 阳历程序流程图3.2计算阳历天数程序流程图图3.8 计算阳历天数程序流程图3.3总程序 在8051单片机片内R中开辟30H36H作为万年历的秒、分、时、日、月、周和年计时单元,并将初始时间设为23:59:55,初始日期设为07年12月31日第一周。采用8051单片机内定时器T0来定时刷新LCD显示内容,T0定时初始值设为50ms,以查询方式检查T0溢出标志,每当溢出次数达到20时,读取一次DS1302的日历时钟数据,同时对LCD显示信息进行更新。使用Proteus软件仿真结果如下图:1、 微控制器电路(芯片为AT89C51)仿真总图:三、性能分析 计时器最关键的是计时的精度。电子万年历中DSl302上最好使用专用的晶振。经测试制作的电子万年历,一星期快了3 s左右,误差较大,实验设计中可换用标准晶振或用软件进行修正。四、总结 此课题是做一个简单的电子万年历,可根据自己的需求修改相应的时间,由于有了前一段时间做课程设计的基础,应用起Proteus软件时便显得得心应手,对程序的编译,以及生成相应的hex文件,将汇编源程序加载等也熟练掌握。而且通过此次做电子万年历使我对单片机更加感兴趣了,虽然我还没有能力自己编写程序,但我将会在以后的学习中更加深刻地学习它。五、参考资料:【1】徐爱钧.单片机原理实用教程基于proteus虚拟仿真M.北京:电子工出版社,2009【2】侯玉宝,陈忠平,李成群.基于proteus的51系列单片机设计与仿真J.北京:电子工业出版社,2008【3】赵建领,薛园园. 51单片机开发与应用技术详解J.北京:电子工业出版社,2009附录附录1:总电路图附录2:程序清单电子万年历的软件程序:;*/T_RST Bit P1.5 ;实时时钟复位线引脚T_CLK Bit P1.6 ;实时时钟时钟线引脚T_IO Bit P1.7 ;实时时钟数据线引脚SECOND EQU 30HMINUTE EQU 31HHOUR EQU 32HDAY EQU 33HMONTH EQU 34HWEEK EQU 35HYEARL EQU 36H;*/ ORG 0000HSTART: LJMP MAIN ORG 0060HMAIN: MOV SP,#60H ;修改堆栈;* MOV SECOND,#55H ;初始时间设为23:59:55 MOV MINUTE,#59H MOV HOUR,#23H MOV DAY,#31H ;初始日期设为09年12月31日第一周 MOV MONTH,#12H MOV WEEK,#01H MOV YEARL,#09H LCALL SETDS1302LCALL LCD_INIT ;调用液晶模块初始化子程序 MOV R3,#20 MOV TMOD,#01H MOV TH0,#3CH ;置定时器初值(定时50ms) MOV TL0,#0B0H SETB TR0 ;启动定时器0LP1: JBC TF0,LP2 ;查询计数溢出 SJMP LP1 ;未到50 ms继续计数LP2: MOV TH0,#3CH ;重新置定时器初值 MOV TL0,#0B0HMOV R2,#81H ;从第1行第2位开始,设置DDRAM地址LCALL WRTC MOV DPTR,#ZIFU1 ;指向显示字符代码首地址MOV R4,#06HLCALL WP1 ;第1行字符代码写入DDRAM LCALL DISPYMD ;显示年月日MOV R2,#0C1H ;设置第2行DDRAM地址LCALL WRTCMOV DPTR,#ZIFU2 ;指向显示字符代码首地址MOV R4,#06HLCALL WP1 ;第1行字符代码写入DDRAM LCALL DISPHMS ;显示时分秒 DJNZ R3,LP1 ;未到1s继续循环 LCALL GET1302 ;每到1s从DS1302读取一次时间 mov r3,#20 SJMP lp1ZIFU1: DB Date: ZIFU2: DB Time: ;*DISPHMS:MOV A,HOUR ;时分秒显示子程序 SWAP A ANL A,#03HADD A,#30HMOV R2,ALCALL WRTD MOV A,HOUR ANL A,#0FHADD A,#30HMOVR2,ALCALL WRTDMOV R2,#2DHLCALL WRTD MOV A,MINUTE ;显示分 SWAP A ANL A,#07HADD A,#30HMOV R2,ALCALL WRTD MOV A,MINUTE ANL A,#0FHADD A,#30HMOV R2,ALCALL WRTDMOV R2,#2DHLCALL WRTD MOV A,SECOND ;显示秒 SWAP A ANL A,#07HADD A,#30HMOV R2,ALCALL WRTD MOV A,SECOND ANL A,#0FHADD A,#30HMOV R2,ALCALL WRTD RET;*DISPYMD:MOV A,YEARL ;年月日显示子程序 SWAP A ANL A,#03HADD A,#30HMOV R2,ALCALL WRTD MOV A,YEARL ANL A,#0FHADDA,#30HMOVR2,ALCALL WRTDMOV R2,#2DHLCALL WRTD MOV A,MONTH ;显示月 SWAP A ANL A,#07HADD A,#30HMOV R2,ALCALLWRTD MOV A,MONTH ANL A,#0FHADD A,#30HMOV R2,ALCALL WRTDMOV R2,#2DHLCALL WRTD MOV A,DAY ;显示日 SWAP A ANL A,#07HADD A,#30HMOV R2,ALCALL WRTD MOV A,DAY ANL A,#0FHADD A,#30HMOVR2,ALCALL WRTD RET ;*SETDS1302: CLR T_RST ;设置DS1302初始时间,并启动计时 nop CLR T_CLK nop SETB T_RST nop MOV B,#8EH ;写控制命令字 LCALL INPUTBYTE MOV B,#00H ;写保护关闭 LCALL INPUTBYTE SETB T_CLK nop CLR T_RST MOV R0,#SECOND ;内存中的时间首地址 MOV R1,#80H ;DS1302中的时间首地址 MOV R7,#7 ;字节数SETLOOP:CLR T_RST nop CLR T_CLK nop SETB T_RST nop MOV B,R1 ;写命令字 LCALL INPUTBYTE MOV A,R0 ;设置时间 MOV B,A LCALL INPUTBYTE INC R0 INC R1 INC R1 SETB T_CLK nop CLR T_RST nop DJNZ R7,SETLOOP CLR T_RST nop CLR T_CLK nop SETB T_RST nop MOV B,#8EH LCALL INPUTBYTE MOV B,#80H ;开写保护 LCALL INPUTBYTE SETB T_CLK nop CLR T_RST nop RET;*GET1302: ;从DS1302读取时间 MOV R0,#SECOND MOV R1,#81H ;DS1302中读时间的首地址 MOV R7,#7GETLOOP:CLR T_RST nop CLR T_CLK nop SETB T_RST nop MOV B,R1 LCALL INPUTBYTE ;写命令字 LCALL OUTPUTBYTE ;读时间 MOV R0,A ;将从DS1302中读取的时间从内存中保存 INC R0 ;修改地址指针 INC R1 INC R1 SETB T_CLK nop CLR T_RST nop DJNZ R7,GETLOOP RET;*INPUTBYTE:MOV R4,#8 ;向DS1302写一个字节INPUTLOOP:MOV A,B RRC A MOV B,A MOV T_IO,C SETB T_CLK NOP CLR T_CLK DJNZ R4,INPUTLOOP RET;*OUTPUTBYTE:clr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-江西-江西政务服务办事员五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏信号工-机车信号设备维修三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西热力运行工四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西有线广播电视机务员五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西兽医防治员四级(中级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广西-广西下水道养护工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东检验员五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东堤灌维护工五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东假肢制作装配工二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-安徽-安徽电工五级(初级工)历年参考题库典型考点含答案解析
- 某园区综合运营平台项目建议书
- 创造适合教育(2017年0613)
- 微创外科课件
- GB/T 21977-2022骆驼绒
- 易驱ED3000系列变频器说明书
- 《ACT就这么简单》课件
- 农机行政处罚流程图
- GB∕T 6818-2019 工业用辛醇(2-乙基己醇)
- 钻具内防喷工具课件
- 新版(七步法案例)PFMEA
- 会计师事务所7(报告流转签发制度12)
评论
0/150
提交评论