ds1302时钟数码管显示时分秒_第1页
ds1302时钟数码管显示时分秒_第2页
ds1302时钟数码管显示时分秒_第3页
ds1302时钟数码管显示时分秒_第4页
ds1302时钟数码管显示时分秒_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、dsl302时钟数码管显示时分秒-1 -单片机原理课程设计课题名称:基于ds1302的数码管显示数字钟专业班级:电子信息工程学生学号:0414070126学生姓名:张向阳指导教师:张云马崇霄设计时间:2010年6月21日-2010年6月25日目录摘要1设计任务和要求2方案论证3系统硬件设计3.1 系统总原理图3.2 元 器 件 清单3.3 pcb 板图基于ds1302的数码管显示数字钟设计摘要本次课程设计的是使用专门的时钟芯片ds1302在数码管上显示的数字电子钟,并 能通过按键对其进行调时和校准。ds1302是一种高性能、低功耗、 带ram的实时时钟芯片, 它能够对时,分,秒进行精确计时,它

2、与 单片机的接口使用同步串行通信,仅用3条线与之相连接,就可以实现 mcs-51单片机对其进行读写操作,把读出的时间数据送到数码管上显示。程序运行时, 数码管将从当前时间开始显示,通过调节k1键和k2键可以分别对小时和分钟进行调整, 调整后,时钟以新的时间为起点继续刷新显示。关键字:mcs-51单片机、ds1302,数码管,按键,动态扫描,调时,校准;1设计任务和要求1 .应用mcs-51单片机设计单片机实现数字钟(led显示小时:分:秒)电路;2 .选用八位led数码显示,实时显示时、分、秒,采用按键式实现时钟对表和快慢调 整;3 .硬件设计部分,根据设计的任务选定合适的单片机,根据控制对象

3、设计接口电路。 设计的单元电路必须有工作原理,器件的作用,分析和计算过程;4 .软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应的程序, 进行调试并打印程序清单;5 .原理图设计部分,根据所确定的设计电路,利用protel工具软件绘制电路原理图、 pcb板图、提供元器件清单。2方案论证实现数字电子钟的设计有以下两种基本方案,现就两种基本方案的优劣进行具体论 证,从而说明选择方案二的理由。方案一:直接用单片机的内部定时器来实现时间。该方案以mcs-51单片机为主控 芯片,以mcs-51的内部定时器产生的1s中断作为时钟的驱动,然后再通过8个74ls245 缓冲器驱动8个独立的数

4、码管来组成数字钟电路。该电路由于数码管和缓冲器的数目较 多,所以在连线方面比较复杂,而且用到的分压电阻也比较多。但是此方案最大的缺点 在于单片机89c51产生的1s中断存在误差,如果工作时间长的话,数字时钟显示的时间将会出现严重的偏差,不够精确。方案二:使用串行接口时钟芯片ds1302设计时钟电路。该设计方案以mcs-51单片 机为主控芯片,以串行时钟芯片ds1302为核心计时芯片,然后再通过一个74ls245缓 冲器驱动两组数码管组(每个数码管组由四个数码管连在一起组成)组成数字时钟电路。 更重要的是,ds1302时钟芯片的加入大大提高了数字钟时间的准确性,而且该电路在 断电后不丢失时间和数

5、据信息时也使得该方案的研究与提升更具有开发的意义。3系统硬件设计3.1系统总原理图fl! q j p j 8 号o o o o 心卜口 w也 dpdpdpdp“q op oj义u aaaq,口 q q qqqq dpdpdpdp 图1数字钟总原理图3.2元件清单元件田口型号或 主要参 数数 量封装元件田口型号或 主要参 数数 量封 装序号序号ri100 q1axial0.3u1at89c511dip4 0r2ikq1axial0.3u274s151dip1 4rp11kq1sip9u4ds13021dip8ci22pf3rad2.54u374ls2451dip2 0c4104uf1rad2.5

6、4yicrystal1stal3dssm41c5642数码 管*4y2crystal1stal-2 -k按键4按键4.5*6.53.3pcb板图图2总电路pcd板图3.4proteus 仿真图图3 proteus仿真图3.5分电路图及原理说明本次设计的硬件电路由主控部分(单片机mcs-51),计时部分(实时时钟芯片 ds1302)、显示部分(数码管)、调时部分(按键)4个部分组成。各部分之间相互协作, 构成一个统一的有机整体,实现数字时钟的计时功能。现就各部分的硬件电路设计作出 如下论述:3. 5.1主控部分(单片机mcs-51)mcs-51单片机作为主控芯片,控制整个电路的运行。其外围电路主

7、要有两部分: 复位电路和晶体振荡器。复位电路的功能是:系统上电时提供复位信号,直至系统电源稳定后,撤消复位信 号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源 插头分-合过程中引起的抖动而影响复位。该设计采用含有二极管的复位电路,复位电 路可以有效的解决电源毛刺和电源缓慢下降(电池电压不足)等引起的问题,在电源电 压瞬间下降时可以使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。晶体振荡电路:mcs-51单片机中有一个用于构成内部振荡器的高增益反相放大 器,引脚xtal1和xtal2分别为该反向放大器的输入端和输出端。这个反向放大器与作为 反馈元件的片外石英晶体

8、或陶逡谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐 振器)及电容cl、c2接在放大器的反馈回路中构成并联振荡电路。对外接电容cl、c2虽 然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的 稳定性、起振的难易程度及温度稳定性。如果使用石英晶体,电容应该使用30pf10pf。uip00 pn 5v-5 - t39电路图如下:图4主控部分电路图3. 5.2计时部分(实时时钟芯片ds1302)时钟芯片ds1302与外围电路的连接:与mcs-51单片机的接口是由3条线来完成的, mcs-51单片机的p1. 0与时钟芯片的数据传输端i/o相连,pl. 1用来作为ds1302

9、输入 时钟sclk控制端,p1. 2控制ds1302的复位输入端rst。ds1302的xi和x2管脚外接标 ds1302的复位引脚通过把面输入驱动置高电平来启动所有的数据传送。质输入有 两种功能:首先,面接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,质 提供了终止单字节或多字节数据的传送手段。当面为高电平时,所有的数据传送被 初始化,允许对ds1302进行操作。如果在传送过程中置质为低电平,则会终止此次 数据传送,并且i/o引脚变为高阻态。上电运行时,在vcc22.5v之前,而 必须保 持低电平。只有在sclk为低电平时,才能将rst置为高电平。ds1302 (8)图5计时部分电路图3

10、. 5.3显示部分(共阳极数码管)八段数码显示管有两种,一种是共阳数码管,其内部是由八个阳极相连接的发光二 极管组成;另一种是共阴数码管,其内部是由八个阴极相连接的发光二极管组成。二者 原理不同但功能相同。本设计的时间显示选用6个共阴八段数码管led,其外形和内部结 构如图10所示:力qopqjwda a a p al7lb o o ddp dp dp do力_/oc9 ri_/a1/blb2b3b4b5b6b7b874ls2453 aa p ao itib o fit) em: eq eq q dp do dp do18 a / ill/ ill/ ll1/ lily ill/ 12 g 乂

11、 11 h /74s15-6 -图6八段共阴数码管led3. 5.4调时部分(按键)按键电路有ki, k2, k3三个按键和一个74s15组成,只有其中任意一个按键按下,电 路都会通过74s15向单片机into引脚发送一次中断请求信号。按键k1用来调整小时, 按键k2用来调整分钟,按键k3用来结束调时,数字开始继续走表。图7按键电路4系统软件设计4.1程序流程图图8主程序流ds1302-10 -sbit sda=pl*l; sbit clk=pro; sbit rst=pl*2; sbit kl=pl*5; sbit k2=pr6;sbit k3=p7;图10读ds1302流程图4.2源程序

12、#include ttdefine uchar unsigned char #define uint unsigned int/dsl302的数据线 /ds 1302的时钟线 /ds 1302的复位线 调时调分开始走秒uchar code duan_code=oxco, 0xf9, 0xa4, oxbo, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90;共阳数码管段码表 uchar display.code=0x00, 0x00, oxbf, 0x00, 0x00, oxbf, 0x00, 0x00;显示格式,中间两个横杠 uchar bit_code=0x01, 0x0

13、2, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80;数码管位选uchar current_time7;char adjust_flag=0;void delayms(uint x)uchar i;while(x) for(i=0;i+;i120);)void write_byte(uchar x)(uchar i;for(i=0;i8;i+)(sda=x&l;clk=l;clk=0;x=l;)uchar read_byte(void)uchar i,b,t;for(i=0;i8;i+)(b=l;t=sda;b|=t7;clk=l;clk=0;)return b/16*1

14、0+b%16;所读取的日期和时间调节标志延时函数ms级写一个字节函数读一个字节函数uchar read_data(uchar addr)读取数据函数uchar dat;rst=o;clk=o;rst=l;write_byte(addr);dat=read_byte ();clk=l;rst=o;return dat;void write_data(uchar addr, uchar dat) 写入控制字和输入函数 (clk=0;rst=l;write_byte(addr);write.byte(dat);clk=0;rst=0;void set_1302 ()设置dsl302函数write_d

15、ata(0x8e, 0x00);护。关闭写保write_data(0x82, (current_timel/104) | (current_timel%10);初始化分write_data(0x84, (currents ime 2/104) | (current_time 2%10); 初始化时write_data (0x8e, 0x80);打开写专护。)void gettime ()单片机从dsl302读取的时间费-io -current.time 0 =read_data (0x81);currentsime 1 =read_data (0x83);current.time 2 =rea

16、d_data (0x85);)void int0() interrupt 0if(kl=o)(adjust_flag=l;currentjime 2 = (current_t ime 2 +1) %24;)elseif(k2=0)(adjust_flag=l;current/ ime 1 = (current.! ime 1+1) %60;)elseif(k3=0)(set_1302 ();dsl302adjust_flag=o;示)void main()中断函数小时调整正在调整分钟调整正在调整确定将调整后的时间写入结束调整,时间继续正常显主函数uchar i;ie=0x81;while (1

17、)开总中断,同时开外部定时器。中断-13 -if (ad just_f 1 ag=o)gettimeo; 扫描按键,当按键没有被按下时,单片机从dsl302读取时间数 据display_code0=duan_codecurrent_time2/10;小时为的十位 display_code 1 =duan_code current_time 2%10; 小时位的个位 display_code3 =duan_codecurrent_timel/10 ;/分钟位的十位 display_code4=duan_codecurrent_time l%10;/分钟为的个位 display_code 6=du

18、an_code current_time 0/10; 秒位的十位 display_code 7=duan_code current_time 0%10; 秒位的个位 for(i=0;i8; i+)对数码管进行动态扫描( p2=bit_codei; po=display_codei; delayms(5); ) ) ) 5心得体会通过本次设计,使我们对单片机的了解有了更加深一步,我发现只有动手做才会孰 能技巧,还有对材料的整理和理解。这次设计运用到的知识很多方面,尤其是单片机, 像at89c51,引脚多,硬件内部线路接通,所以用起来很方便,还有dsl302芯片与单 片机之间的连接,以及如入使用dsl302芯片。当然也要对这些元器件作相应调查。主 要就是电路原理图,还有对引脚的作用熟悉。对于软件方面则是灵活运用单片机有关的 程序语言,还有很多扩展功能,由于知识匮乏,但是理论知识还是比较详细的。我们最 大的成功之处是在这整个过程,动脑寻求解决一个一个问题的办法,对程序是不断思索, 务必写出很简单的程序来,使得电子时钟能做成功! 6参考文献单片机原理及其接口技术(第二版)清华大学出版社 新概念51单片机c语言教程电子工业出版社单片机c语

温馨提示

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

评论

0/150

提交评论