ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:212.58KB ,
资源ID:851602      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-851602.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多功能电子钟课程设计报告.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

多功能电子钟课程设计报告.doc

1、 目 录1课题综述11.1 课题来源11.2 课题目的11.3 面对的问题11.4 需要解决的关键技术12系统分析12.1 涉及的基础知识12.2 解决的基本思路23设计方案23.1 总体设计23.2 硬件设计33.3 软件设计53.3 结果分析74设计代码75总结.196致谢.207参考文献.211课题综述1.1 课题来源电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而电子钟得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。1.2 课题目的设计了一种基于STC公司的STC10F08XE单片

2、机,实时时钟芯片DS1302提供当前日期和时间数据,并将实时的日期数据字符型液晶显示器LCD上显示,本次设计的多功能数字钟采用数字电路对日期进行控制设置,我们采用以24小时的计时方式在LCD上显示,根据LCD显示原理进行显示,定时器计数。在本次设计中,电路具有显示日期、时间、星期的基本功能,还可以实现对它们的调整。之所以选择这个芯片,是因为STC 单片机降低成本,提升性能,原有程序直接使用,硬件无需改动。并且其抗干扰性强,加密性强,超低功耗,可以远程升级,内部有专用复位电路,价格也较便宜,一般的利用STC系列的单片机芯片加上一些外围的供电电路,复位电路,下载电路,特定功能电路等就能实现特定的功

3、能。由于这些特点使得 STC 系列单片机的应用日趋广泛。1.3 面对的问题 要求该电路具有显示日期、时间、的基本功能,还可以通过按键实现对它们的调整,并且能够显示星期。1.4 需要解决的关键技术具有时间显示和手动校对功能;具有年、月、日显示和手动校对和切换功能;具有显示当前星期的功能。通过DS1302芯片来控制整个时钟电路的万年历计时功能。3系统分析3.1 涉及的基础知识3.1.1 单片机介绍单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯

4、接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(Microcontroller),它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大阶段。STC单片机完全兼容51单片机,并有其独到之处,其抗干扰性强,加密性强,超低功耗,可以远程升级,内部有专用复位电路,价格也较便宜,由于这些特点使得 STC 系列单片机的应用日趋广泛

5、。本文设计了一种基于STC公司的STC10F08XE单片机,使用Dallas的实时时钟芯片DS1302提供当前日期和时间数据,数据在显示器LCD上显示,本次设计的电子钟采用数字电路对日期进行控制设置,我们采用LCD显示,以24小时的计时方式,根据LCD显示原理进行显示,定时器计数。在本次设计中,电路具有显示日期、时间、的基本功能,还可以实现对它们的调整和切换。2.1.2 DS1302芯片介绍DS1302 是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字节静态RAM 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可

6、自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式DS1302 与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1 RES 复位2 I/O 数据线3 SCLK串行时钟时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信DS1302 工作时功耗很低保持数据和时钟信息时功率小于1mW。3.2 解决的基本思路 按照勾画出的电路图正确焊接电路板上的器件,待检测过硬件正确工作后,进行软件代码的设计。软件设计代码是通过COM和相关软件把代码程序输入到单片机芯片中。待全部完成后,继续进行调试。4设计方案4.1 总体设计采用单片机DS1302芯片以及相关的芯片

7、来实现电子钟。该设计选用Dallas的实时时钟芯片DS1302提供当前日期和时间数据,并将实时的日期数据在显示器LCD上显示出来。本次设计的电子钟采用数字电路对日期进行控制设置,我们以24小时的计时方式,根据LCD显示原理进行显示,定时器计数。在本次设计中,电路具有显示日期、时间、的基本功能,还可以通过按键实现对它们的切换和调整。系统采用USB2.0接口给系统传输电,采用COM口给单片机输入相应的代码程序。该系统不但接口设计简单、便于控制,而且具有很好的人机界面,可以通过几个按键对当前的时间进行调整,并且通过切换按键可以获得相应的年,月、日,时、分,星期、秒等功能。其原理框图如下图3.1所示:

8、串行通信接口电路LCD显示 时钟电路STC89C52单片机供电电路电压转换电路键盘控制电路图3.1 电子钟原理框图4.2 硬件设计3.2.1 DS1302时钟电路DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月、年,一个月小于31天时可自动进行调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力,因此广泛应用于测量

9、系统中。DS1302是由DS1202改进而来的,增加了以下的特性:双电源管脚用于主电源和备份电源供应,Vcc1为课编程涓流充电电源,附加七个字节存储器。它广泛应用于电话、传真、便携式仪器以及电池供电的仪器仪表等产品领域。其外部引脚分配图及应用电路原理图如下面两幅图所示:图3.2 DS1302的外部时钟引脚分配图3.3 DS1302应用电路原理图3.2.2 串行接口连接电路MAX232是电压转换芯片,将TTL电平转换成可以和电脑串口匹配的电压。DB9通过下载线缆与电脑连接,可以将程序下载到单片机上。图3.4 串行通信接口电路3.2.3按键电路本次设计中用到了按键电路,通过低电平选中,以便来控制时

10、,分,秒,年,月,日的调整以及切换。其电路如图所示:图3.5 按键控制电路3.2.4 LCD显示电路本设计中会将时分秒,年月日以及星期的设置,全部都会显示到LCD上面,用的是0到9十个数字。其原理图如下图所示:图3.6 LCD显示电路3.3 软件设计3.3.1软件内容本次设计选择的软件主要是Keil。 Keil公司成立于1986年,主要开发、制造和销售嵌入式8051、251、ARM、XC16x/C16x/ST10等微控制器软件开发工具,提供ANSI C编译器、宏汇编程序、实时管理、调试和模拟器、综合评估板等。Keil公司的uVision把编辑、编译、链接和仿真等模式打包成集成开发环境,当然其集

11、成的C51编译器肯定跟Franklin公司的相关模块肯定有交叉性,uVision还包含项目管理和调试器等非常有用的功能。而软件仿真部分就用的是仿真软件PROTUES。PROTUES软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPI

12、C33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。在PROTUES绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTUES的原理图中看到模拟的实物运行状态和过程。PROTUES 是单片机课堂教学的先进助手。 PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度

13、上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。3.3.2设计流程本次设计的系统软件设计主要包括主程序设计和日历日期数据子模块程序、按键控制子模块程序和LCD显示子模块程序设计等。主程序主要完成器件的初始化,并判断有无按键按下,并根据判断的结果调用相应的子模块程序;日历日期数据子模块程序完成相应的数据采集、处理和保存,按键处理子模块程序完成日期的设置,而LCD显示子模块只要把上述子模块储存的数据送去显示即可。对时钟芯片的操作主要包括2个方面:一是将芯片中的日期等数据读出来,二是在进行日期等设置时将设置的数据写入芯片,这也是按键处理时的主要

14、内容。无论是读数据还是写数据,都要满足DS1302 对时序的要求。而对芯片各个数据部分的访问是通过地址进行的,且读和写的地址不一样。读出的数据同样要转为ASC II码,然后储存起来,等待送去显示。系统总的流程图如下图所示:开始初始化N 按键按下 日历日期数据处理Y LCD显示按键控制时间日期的修改按键扫描图3.7 主程序流程3.3 结果分析第一,通过USB接口给单片机上电,打开单片机开关,首先观察单片机电源指示灯是否亮。按照如上步骤,我们的电子钟电源灯是亮的,这说明系统能够正常供电。第二,显示电路的调试检查它与单片机的连线:设计是RS接的P07口,要保证它为高电平。EN接口接单片机的P05端,

15、也要保证它为高电平;读写信号低电平有效;编写一段显示程序,烧录到单片机看是否能正常显示。很遗憾的是我们的单片机打开开关后还是只有电源指示灯亮,后来我们发现是我们代码编写错误。4设计代码/* P0位选,P1段选*/#include#define uchar unsigned char#define uint unsigned intsbit DR1=P10;sbit DR2=P11;sbit DR3=P12;sbit DR4=P13;sbit key1=P14;sbit key2=P15;sbit key3=P16;sbit key4=P17;sbit ACC0=ACC0;sbit ACC7=A

16、CC7;sbit sclk=P32;sbit io=P33;sbit rst=P34; uchar m=0;uchar sec =0x00, min =0x00, hour =0x00, day =0x31, month=0x12, week =0x05, year =0x10;uchar min_temp =00, hour_temp=00;uchar code table12= 0x14,0xd7,0x4c,0x45,0x87, 0x25,0x24,0x57,0x04,0x05 ;void delay(uint x)uint i,j;for(i=x;i0;i-)for(j=114;j0;j

17、-);void write_ds1302byte(uchar dat)uchar i;ACC=dat;for(i=8;i0;i-)io=ACC0;sclk=0;sclk=1;sclk=0;ACC=ACC1; uchar read_ds1302byte()uchar i;for(i=8;i0;i-)ACC=ACC1;ACC7=io;sclk=1;sclk=0;return ACC; void write_ds1302(uchar addr,uchar dat)rst=0;sclk=0;delay(1);rst=1;write_ds1302byte(addr);write_ds1302byte(d

18、at);rst=0;sclk=1;uchar read_ds1302(uchar addr)uchar da;rst=0;sclk=0;rst=1;write_ds1302byte(addr);da=read_ds1302byte();rst=0;sclk=1;return da;void init_ds1302() write_ds1302(0x8e,0x00);/写保护关write_ds1302(0x80,sec);/写秒,十进制初值write_ds1302(0x82,min);/分write_ds1302(0x84,hour);/时write_ds1302(0x86,day);/dayw

19、rite_ds1302(0x88,month);/monthwrite_ds1302(0x8a,week);/weekwrite_ds1302(0x8c,year);/yearwrite_ds1302(0x90,0x00);/涡流write_ds1302(0x8e,0x80);/写保护开void display_year() uchar shi,ge; year=read_ds1302(0x8d);ge=year&0x0f; shi=(year4)&0x07; DR4=0;P0=tablege;delay(4); DR4=1;DR3=0;P0=tableshi;delay(4); DR3=1;

20、 DR2=0;P0=0x14;delay(4); DR2=1;DR1=0;P0=0x4c;delay(4); DR1=1;void display_month_day() uchar shi,ge; day=read_ds1302(0x87);ge=day&0x0f; shi=(day4)&0x07;DR4=0;P0=tablege;delay(4); DR4=1;DR3=0;P0=tableshi;delay(4); DR3=1;month=read_ds1302(0x89);ge=month&0x0f; shi=(month4)&0x07; DR2=0;P0=tablege;delay(4

21、); DR2=1;DR1=0;P0=tableshi;delay(4); DR1=1;void display_hour_min() uchar shi,ge; min=read_ds1302(0x83);ge=min&0x0f; shi=(min4)&0x07;DR4=0;P0=tablege;delay(4); DR4=1;DR3=0;P0=tableshi;delay(4); DR3=1; hour=read_ds1302(0x85);ge=hour&0x0f; shi=(hour4)&0x07; DR2=0;P0=tablege;delay(4); DR2=1;DR1=0;P0=tab

22、leshi;delay(4); DR1=1; void display_week_sec() uchar shi,ge; week=read_ds1302(0x8b);ge=week&0x0f; shi=(week4)&0x07;DR2=0;P0=tablege;delay(4); DR2=1;DR1=0;P0=tableshi;delay(4); DR1=1; sec=read_ds1302(0x81);ge=sec&0x0f; shi=(sec4)&0x07; DR4=0;P0=tablege;delay(4); DR4=1;DR3=0;P0=tableshi;delay(4); DR3=

23、1; void main() /主程序;uchar i;uchar temp1,temp2; uchar flag=0x00;for(i=0;i=24) hour_temp=0;temp1=hour_temp%10;/个位temp2=hour_temp/10;/十位temp1=(temp2&0x03)=60) min_temp=0;temp1=min_temp%10;/个位temp2=min_temp/10;/十位temp1=(temp2&0x07)4)|temp1; write_ds1302(0x82,temp1); while(!key4); switch(m) case 0: displ

24、ay_year();break; case 1: display_month_day();break; case 2: display_hour_min(); break;case 3: display_week_sec();break;总结在本次设计中,我们最终完成本次课程设计的基本要求及功能,将年月日以及时间在LCD上显示出来,并且能够通过按键对显示的时间进行调整控制等功能。但由于时间仓促和我们自身水平有限,对于在掉电模式下,不让电子钟时间恢复默认值,而是让电子钟的时间继续走,我们没有完成按键对其的控制和调整,很遗憾。并且对于电路的可靠性,稳定性等参数还未做过详细的测试。并在此基础了对系统

25、功能作出星期设置的扩展。在设计开始前老师先给我们动员,并且教会我们通过软件绘制电路图,对各个模块进行了详细的分析和设计准备工作,设计过程中,并且在老师的指导下,在实验室几位同学耐心的帮助下,我们组的成员相互协调,我焊接了一部分电路,并且在同学帮助下,从参考文献中参考了本分代码,积极参与完成各个技术实现的难点,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和具体的使用方法。通过本次设计,我们对单片机有了更深刻的认识,也从实践的例子中去感受到了单片机设计给我们设计带来的改变与进步。我们不仅掌握Keil uVision3软件的使用,与此同时,我们还对电子设计的思路有了更多的认识。这次对电子钟的设

26、计与制作,让我了解设计电路的程序,也了解了关于电子钟的原理与设计理念。在此次的电子钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和具体的使用方法。这为自己今后进一步深化学习,积累了一定宝贵经验,撰写设计的过程也是专业知识的学习过程,它使我运用已有的专业知识,对其进行设计,分析和解决问题,把知识转化为能力的训练。致谢此次电子钟课程设计中,我要特别感谢我们的4位指导老师的热情关怀和悉心指导。在完成这次的设计过程中,老师们倾注了大量的心血和汗水,无论是在从一开始的学习上还是后来的选题、构思和资料的收集方面,我们都得到了指导老师悉心细致的教诲和无私的帮助,特别是他广博的学识、深厚的学

27、术素养、严谨的治学精神和一丝不苟的工作作风使我终身受益,在此表示真诚地感谢和深深的谢意。在整个课程设计中,也得到了许多实验室同学的支持和帮助,他们在自己时间很宝贵的情况下,给我们讲解模块电路的知识以及编程方法,并且耐心为我们解答设计过程遇到的所有问题。给予了我们许多宝贵的意见,在此一并致以诚挚的谢意。参考文献1 张迎新.单片机原理、应用及接口技术(第二版)M.北京:国防工业出版社,2005.92 潘永雄.新编单片机原理与应用M.西安:西安电子科技大学出版社,2003.23 付家才.单片机控制工程实践技术M.北京:化学工业出版社,2004.3 4 刘军等.单片机原理与接口技术M.上海:华东理工大学出版社,2006.25 何书森等.用电子线路设计速成M.胡州:互见科学技术出版社,2005.10 21

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922