欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    简易万年历的设计.docx

    • 资源ID:6231562       资源大小:244.28KB        全文页数:27页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    简易万年历的设计.docx

    1、简易万年历的设计目 录第一部分 设计任务1.1 设计题目及要求 11.2.1 方案一 11.2.2 方案二 1第二部分 系统硬件平台的设计2.1 总体设计方案说明 22.2 单片机最小系统 22.2.1STC89C52单片机介绍 22.2.2 时钟电路 42.2.3 复位电路 42.3 1602液晶模块 52.4 时钟芯片DS1302 6第三部分 系统软件的设计与实现3.1 主程序 83.2.1 Protues 仿真软件介绍 83.2.2 仿真电路图 9第四部分 安装调试4.1 系统软、硬件调试 104.1.1 调试步骤 104.1.2 故障及处理 10课程设计总结 12参考文献 12第一部分

    2、 设计任务1.1 设计题目及要求 设计一个基于单片机的简易万年历。 (1)可以在LCD液晶上显示秒、分、时、星期、日、月、年;(2)能够判断平年、润年;(3)秒、分、时、星期、日、月、年可调;(4)具有单片机断电记忆功能,在单片机掉电后无需重新设置。1.2 备选方案设计与比较 1.2.1 方案一 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数,并用程序判断平年和闰年,用数码管显示时、分、秒、年、月、日、星期。由于需要显示的数字比较多,则需要的数码管个数比较多,采用数码管显示显得太浪费,并且多的数码管焊接时也比较复杂,此种方案虽然减少芯片的使用,节约成本,但是,

    3、实现的时间误差较大,最主要的问题是些方法在单片机主电源断电后,计时将恢复初始值。所以不采用此种方法作为显示。 1.2.2 方案二采用DS1302时钟芯片实现时钟,用1602LCD液晶显示屏显示时、分、秒、年、月、日、星期。DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,不需要在程序中采用定时,而且精度高,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA,此芯片最主要的特点是具有备用电源引脚,在单片机主电源掉电后,备用电源供电,使得DS1302继续工作,时钟继续运行,即具备掉电记忆功能,符合课程设计要求,液晶显示屏的显示功能强大,可

    4、显示大量数字和英文字母,以及一些特殊字符,并且显示多样,清晰可见,且价格适中,固采用此方案。第二部分 系统硬件平台的设计2.1 总体设计方案说明 本电路以STC89C52单片机系统为控制核心,时钟电路由高精度低功耗的DS1302提供,采用三线接口与CPU进行同步通信,输入部分采用四个独立式按键S1、S2、S3、S4,即单片机的P2.1、P2.2、P2.3、P2.4。1602液晶显示部分,D0D7口与单片机P1口相连,系统原理图如图2-1所示。图系统原理图 当第一次按下S1时,1602液晶显示器上光标在秒地址上闪烁,液晶显示器是时间停止,表示秒可调;当第二次按下S1时,1602液晶显示器上光标在

    5、分地址上闪烁,表示分可调;当第三次按下S1时,1602液晶显示器上光标在时地址上闪烁,表示时可调;依次类推,当第八次按下S1时,液晶显示器是时间启动,光标不出现。 当按一下S2时,可对时、分、秒、年、月、日、星期加一。 当按一下S3时,可对时、分、秒、年、月、日、星期减一。 当按一下S4时,1602液晶显示初始化时间。2.2 单片机最小系统2.2.1STC89C52单片机介绍 STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程

    6、,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得 STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。图2STC89C52接口电路P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2

    7、 的触发输入(P1.1/T2EX),具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在线系统编程用)P1.6 MISO(在线系统编程用)P1.7 SCK(在线系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执

    8、行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。在flash编程和校

    9、验时,P3口也接收一些控制信号。端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。2.2.2 时钟电路单片机引脚18和引脚19外接晶振及电容, STC89C52芯片的工作频率可在233MHz范围之间选,单片机工作频率取决于晶振XT的频率,通常选用11.0592MHz晶振。两个小电容通常取值30pF,以保证

    10、振荡器电路的稳定性及快速性。 图3 单片机时钟电路2.2.3 复位电路 一般若在引脚RST上保持24个工作主频周期的高电平,单片机就可以完成复位,但为了保证系统可靠地复位,复位电路应使引脚RST保持10ms以上的高电平。如图复位电路带有上电自动复位功能,当电路上电时,由于C3电容两端电压值不能突变,电源+5V会通过电容向RST提供充电电流,因此在RST引脚上产生一高电平,使单片机进入复位状态。随着电容C3充电,它两端电压上升使得RST电位下降,最终使单片机退出复位状态。正常运行时,可按复位按钮对单片机复位。 图4 单片机复位电路 2.3 1602液晶模块1602采用标准的16脚接口,其中:第1

    11、脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。 主要参数及RAM地址映射图如图5和图6所示。显示内容162个字符芯片工作电压4.55.5 工

    12、作电流2.0MA(5.0V)模块最佳工作电压5.0V字符尺寸2.954.35(WXH)mm图5控制器内部带有80*8(80字节)的RAM缓冲区。图62.4 时钟芯片DS1302 DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个 318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源

    13、引脚,同时提供了对后背电源进行涓细电流充电的能力。 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或 Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电

    14、平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在 Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),SCLK始终是输入端。图7 时钟芯片DS1302的引脚图其中:X1、X2:32.768KHz晶振接入引脚。GND:地。RST:复位引脚,低电平有效,操作时高电平。I/O :数据输入/输出引脚,具有三态功能。SCLK :串行时钟输入引脚。Vcc1:工作电源引脚。Vcc2:备用电源引脚。图8 时钟芯片DS1302的内部结构

    15、 DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;DS1302中与时间、日期有关的寄存器共有12个,其中7个存放数据的格式为BCD码格式。第三部分 系统软件的设计与实现3.1 主程序主程序负责系统的初始化,数据由液晶显示器输出显示,同时检测按键是否按下,没有按键按下就进入DS1302中的时间来日期。主程序的流程图如图9所示:图9 主程序流程图 程序进入主函数,就对LCD1602进行初始化,显示初始化时间,然后进入WHILE循环,判断是否有按键按下,若有则进入调节模式,时间停止运行,可以通过按键对时间进行效对,若没有键按下

    16、,那么时间继续运行,时刻对DS1302的有关时间的寄存器进行读操作,将时间显示在LCD上。3.2 简易万年历电路仿真3.2.1 Protues 仿真软件介绍Proteus是一种功能强大的电子设计自动化软件,提供智能原理图设计系统、SPICE模拟电路、数字电路及MCU器件混合仿真系统和PCB设计系统功能。其不仅可以仿真传统的电路分析实验、模拟电子线路实验、数字电路实验等,而且可以仿真嵌入式系统的实验,其最大的特色在于可以提供嵌入式系统(单片机应用系统、ARM应用系统)的仿真实验,这也是其它任何仿真软件无力所及的。例如,其支持单片机和周边设备,可以仿真51系列、8086、AVR、PIC、Motor

    17、ola的68系列等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件等。在编译方面,它也支持Keil和MPLAB等多种编译器。 3.2.2 仿真电路图单片机模拟的简易万年历仿真图如下:图10 系统仿真电路图在LCD液晶上显示秒、分、时、星期、日、月、年如图10单片机的P1.0P1.7对应于液晶显示器的D0D7;四个按键对应于单片机的P2.1P2.4的作用分别是:从秒开始,P2.1对应的按键每按下一次,光标就移动一次;P2.2对应的按键每按下一次,则光标所在的

    18、数值加一;P2.3对应的按键每按下一次,光标所在的数值减一;P2.4对应的按键按下,液晶显示器上的时间恢复程序中设定的初值。第四部分 安装调试4.1 系统软、硬件调试判断单片机芯片及时钟系统是否正常工作有一个简单的办法,就是用万用表测量单片机晶振引脚(18、19脚)的对地电压,以正常工作的单片机用数字万用表测量为例:18脚对地约2.24V,19脚对地约2.09V。对于怀疑是复位电路故障而不能正常工作的单片机也可以采用模拟复位的方法来判断,单片机正常工作时第9脚对地电压为零,可以用导线短时间和5V连接一下,模拟一下上电复位,如果单片机能正常工作了,说明这个复位电路有问题。把焊接好的LCD液晶显示

    19、器的显示电路,用线引出接口连接至单片机的I/O口。实物连接如图11、图12所示。 图11 图124.1.1 调试步骤1、按图连接好线路,为了确保液晶显示器能够对应显示,实验时,对P1口的接线做了调整。P1口接液晶显示器的D0D7,P2.1P2.4接四个按键,还有一个按键接单片机的复位键RST。2、从主函数单元开始连续运行,观察液晶显示器的显示情况,如果有偏差,则单步运行或断点运行,进行调试,直至满足设计要求。3、调试完显示后,从主函数开始连续运行,观察液晶显示器显示的是否正常,如果不正常,则运用单步运行或断点运行进行分析和调试,直至满足要求。4、整体运行,观察时间显示是否都符合要求,如果不符合

    20、,则再调试。直至满足要求。5、时间显示满足要求后,通过调节四个按键来设定时间;通过调节万能板上的可变电阻器来调节液晶显示器的亮度;4.1.2 故障及处理(1)液晶显示器1602出现乱码 处理方法:在时钟芯片1302的I/0上加一个10K的电阻。(2)液晶显示器上显示的时间不清楚处理方法:调节变阻器。(3)按键不灵处理方法:消抖,在程序的按键子程序处加延时程序。课程设计总结 通过近一个月的课程设计,我感触颇深,对抽象的理论有了更深刻的认识。使我加深了对单片机的认识,并且熟悉了单片机系统的设计流程,收获丰硕。功能上基本达标:时钟的显示,调时功能。时钟显示功能,精确度完全可以满足日常生活显示时间的需

    21、要;调时功能,方便快捷。硬件设施基本合乎要求,软件设计可以配合硬件实现其功能。这次课程设计还使我认识到了,电路设计需要耐心,需要一种整体的思维,而且遇到点问题是很正常的,关键是要学会分析问题,解决问题,不断积累经验。技术在不断进步,机械式时钟已经被淘汰,取而代之的是具有高度准确性和直观性且无机械装置,具有更长的使用寿命等优点的电子时钟。电子时钟更具人性化,更能提高人们的生活质量,更受人们欢迎。机械时代已经远去,电子时代已经到来。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多从生活中探寻所需要的。从这次的论文设计中,我真正的体会到,知识的重要性,特别是要理论联系实际,把

    22、我们所学的理论知识运用到实际生活当中,要用知识改变一切。参考文献1张迎新.单片机初级教程单片机基础M.北京:北京航空航天大学出版社,2006,08.2周兴华.手把手教你学单片机C语言程序设计M.北京:北京航空航天大学出版社,2007,10.3张毅刚,彭喜元,董继承.单片机原理及应用M.北京:高等教育出版社,2009,11.4余锡存,曹国华.单片机原理及接口技术M.陕西:西安电子科技大学出版社,2000,7.5王晖,薛永存.基于MCS-51单片机的复位电路抗干扰分析与设计J.现代电子技术,2006,(08).6侯坤,徐志永.MCS51控制的LED显示系统J.科技情报开发与经济,2006,(14)

    23、.7黎晖,魏光辉,汤小慷.单片机复位电路的可靠性与抗干扰分析J.兵工自动化,2007,(02).8史艳琼,杨国诗.常见的几种单片机复位电路分析J.淮南师范学院学报,2004,(03).9皇祯平.微机控制系统的抗干扰技术应用J.电脑与信息技术,2000,(05).10库志强,张锡兵,杨扬.基于单片机的温湿度控制系统J.机电信息,2006,(12).11包国彬,张建民,刘嬴.单片机复位电路的设计与分析J.光电技术应用,2005,(03).原程序 #include #define uchar unsigned char #define uint unsigned int sbit lcden=P36

    24、; sbit lcdrs=P35; sbit anj1=P21; sbit anj2=P22; sbit anj3=P23;uint count,anxia,xq ,ri,yue,nian,nian1,nian2,i,a,miao,shi,fen;uchar code table= 2011-02-01 1 ; /初始化液晶 显示uchar code table1= 00:00:00;uchar code yue1=31,28,31,30,31,30,31,31,30,31,30,31; /平年月的天数uchar code yue2=31,29,31,30,31,30,31,31,30,31,

    25、30,31; /润年月的天数 void delay(uint z) /延时函数 uint x,y; for(x=0;xz;x+) for(y=0;y121;y+) ; ; void write_com(uint com) /写命令函数 lcdrs=0; P1=com; delay(5); lcden=1; delay(5); lcden=0; void write_data(uint date) /写数据函数 lcdrs=1; P1=date; delay(5); lcden=1; delay(5); lcden=0; void init() /初始化 lcden=0; write_com(0

    26、x38); /8位数据转移 双行显示 write_com(0x0c); /显示屏开 光标不出现 不闪 write_com(0x06); /光标右移一格,AC加1,字符全部不动 write_com(0x01); /清屏 for (a=0;a16;a+) /显示数组table write_data(tablea); delay(1); ; write_com(0x80+0x40);/写地址 液晶第2行首位 for (a=0;a11;a+) /显示数组table1 write_data(table1a); delay (1); ; TMOD=0x01; / 工作方式1 选择定时器 TH0=(6553

    27、6-50000)/256; /设置计数初值 TL0=(65536-50000)%256; EA=1; /CPU开中断 ET0=1; /T/C0开中断 TR0=1; /T/C0 启动 void write_sfm(uint add,uint date) /写时分秒 uint shi,ge; shi=date/10; ge=date%10; write_com(0x80+0x40+add); write_data(0x30+shi); write_data(0x30+ge); void write_xq(uint xqj) /写星期 uchar xxqj; xxqj=xqj%10; write_c

    28、om(0x80+13); write_data(0x30+xxqj); void write_yri(uint add,uint date) /写月日 uint shi,ge; shi=date/10; ge=date%10; write_com(0x80+add); write_data(0x30+shi); write_data(0x30+ge); void write_nian(uint add, uint date) /写年 uint qian,bai,shi,ge; qian=date/1000; bai=(date/100)%10; shi=(date/10)%10 ; ge=da

    29、te%10; write_com(0x80+add); write_data(0x30+qian); write_data(0x30+bai); write_data(0x30+shi); write_data(0x30+ge); void anjian() /按键判断 if(anj1=0) delay(100); if(anj1=0) anxia+; if(anxia=1) while(!anj1); TR0=0; /停止计数 write_com(0x0f); /显示开 光标现并闪 write_com(0x80+0x40+10); /光标位置 秒钟 if(anxia=2) while(!anj1); write_com(0x80+0x40+7); /光标位置 if(anxia=3) while(!anj1); write_com(0x80+0x40+4); /光标位置 if (anxia=4) while(!anj1) write_com(0x80+13); if (anxia=5) while(!anj1) ; write_com(0x80+1


    注意事项

    本文(简易万年历的设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开