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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(单片机设计电子时钟说明书.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机设计电子时钟说明书.docx

1、单片机设计电子时钟说明书郑州华信学院课程设计说明书题 目: 电子时钟 姓 名: 院 (系): 机电工程学院 专业班级: 09电气工程及其自动化(一)班 学 号: 指导教师: 成 绩: 时间: 年 月 日至 年 月 日0 . 引言1.1单片机简介单片计算机即单片微型计算机。由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本设计主要设计了一个基于AT89C51单片机的电子时钟。并在液晶显示

2、屏上显示相应的时间。并通过一个控制键用来实现时间的调节。应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。0.2 电子时钟0.2.1 电子时钟简介1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。0.2.2电子时钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振

3、荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。1.2.3电子时钟的原理 该电子时钟由AT89C51,DS1302,LM016L等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中的控制键可实现分、小时星期、日期的调节。0.3 单片机识的相关知识 0.3.1 单片机

4、简介 单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。0.3.2 单片机的发展史(1) 4位单片机 1975年,美国德克萨斯仪器公司首次推出4位单片机TMS-1000;此后,各个计算机公司竞相推出四位单片机。日本松下公司的MN1400系列,美国洛克威尔公司的PPS/1系列等。四位单片机的主要应用领域有:PC机的输入装置,电池充电器,运动器材,带液晶显示的音/视频产品控制器,一

5、般家用电器的控制及遥控器,电子玩具,钟表,计算器,多功能电话等。 (2) 8位单片机 1972年,美国Intel公司首先推出8位微处理器8008,并于1976年9月率先推出MCS-48系列单片机。在这以后,8位单片机纷纷面市。例如,莫斯特克和仙童公司合作生产的3870系列,摩托罗拉公司生产的6801系列等。随着集成电路工艺水平的提高,一些高性能的8位单片机相继问世。例如,1978年摩托罗拉公司的MC6801系列及齐洛格公司的Z8系列,1979年NEC公司的UPD78XX系列。这类单片机的寻址能力达64KB,片内ROM容量达4-8KB,片内除带有并行IO口外,还有串行IO口,甚至还有AD转化器功

6、能。8位单片机由于功能强,被广泛用于自动化装置、智能仪器仪表、智能接口、过程控制、通信、家用电器等各个领域。(3) 16位单片机 1983年以后,集成电路的集成度可达几十万只管/片,各系列16位单片机纷纷面市。这一阶段的代表产品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美国国家半导体公司推出的HPC16040,NEC公司推出的783XX系列等。16位单片机主要用于工业控制,智能仪器仪表,便携式设备等场合。(4) 32位单片机 随着高新技术只智能机器人,光盘驱动器,激光打印机,图像与数据实时处理,复杂实时控制,网络服务器等领域的应用与发展,20世纪8

7、0年代末推出了32位单片机,如Motorlora公司的MC683XX系列,Intel的80960系列,以及近年来流行的ARM系列单片机。32位单片机是单片机的发展趋势,随着技术的发展及开发成本和产品价格的下降,将会与8位单片机并驾齐驱。(5) 64位单片机 近年来,64位单片机在引擎控制,智能机器人,磁盘控制,语音图像通信,算法密集的实时控制场合已有应用,如英国Inmos公司的Transputer T800是高性能的64位单片机。0.4单片机的特点1 . 单片机的存储器ROM和RAM时严格区分的。ROM称为程序存储器,只存放程序,固定常数,及数据表格。RAM则为数据存储器,用作工作区及存放用户

8、数据。2 . 采用面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。3 . 单片机的I/O口通常时多功能的。由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。4 . 单片机的外部扩展能力很强。在内部的各种功能部件不能满足应用的需求时,均可在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便。1.设计目的、意义及系统主要功能1.1设计目的1、通过对电子时钟的设计,进一步熟练掌握单片机C语言的编程方法及思想。2、通过对电子时钟的设

9、计,掌握实时时钟DS1302及液晶显示器LM016l的使用方法。3、 通过对电子时钟的设计,进一步掌握C语言对独立式键盘的编程控制并认识独立式键盘在实际中运用。4、通过对电子时钟的设计,增强同学们对单片机兴趣及动手能力。并在此过程中学会对程序的逐步调试。1.2功能描述1.2.1 总功能此电子时钟可显示的时间范围为:2000年1月1日0点至2079年12月31日23时59分59秒。此时钟在正常计时模式下具有自动调整每月的天数、闰年的天数及星期的变化,而在调时模式下则不能自动调整,需操作者自行调整。时间为24小时制。1.2.2 各键功能(1) MENU: 菜单按键,松开按键时有效第一次按下此键后,

10、进入调时状态并且秒开始闪烁,表示此时可以对秒进行修改。以后每按一次MENU键闪烁位右移一个可调位,即以后每按一次闪烁的分别为分、时、星期、日、月、年。(2) INC: 加一键,松开按键有效当MENU选中要修改的位时,如分(分闪烁时),按此按可以使分的值从当前值开始加一,加至60时变为00(59过后即显示00,不显示60),秒亦是如此;而时则在加至24时变为00(23过后即显示0,不显示24);星期在加至MON时变为SUN(即MON过后即显示SUN);日在加至32时变为00(即31过后即显示0,不显示32);月在加至13时变为00(即12过后即显示0,不显示13);年在至2080时变为2000(

11、即2079过后即显示2000,不显示2080)(3) DEC: 减一键,松开按键有效此键的操作与INC键相同,但它的作用却与INC的作用相反(即在lcd上显示出的效果正好相反),在此不再赘述(4) QUIT: 保存退出键,松开按键有效按下此键松开后,会保存操作者对时钟时间的修改并退出调时模式进入正常计时状态,时间正常显示。*注:由于DS1302时由美国DALLAS公司生产的时钟芯片,所以在星期的计算方面是按美国的习俗来算的,即每个星期的第一天为SUN(周日),第七天为MON(周一)。因此在计算时1为SUN(中国的7),7为MON(中国的1)。2.电子时钟硬件设计及描述2.1 AT89C51单片

12、机介绍 (1) VCC:电源。(2) GND:接地。(3) P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。(4) P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口

13、作为第八位地址接收。 (5) P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。图2.1 89C51单片机(6) P3口:P3口管脚是8个带内部上拉电阻

14、的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。(7) RST:复位输

15、入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。(8) ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。(9) PSEN:外部程序

16、存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。(10) EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。2.2 实时时钟DS1302的引脚介绍(1)DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或

17、Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。(2)X1和X2是振荡源,外接32.768kHz晶振。(3)RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST

18、必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。(4)I/O为串行数据输入输出端(双向)。(5)SCLK为时钟输入端。 下图为DS1302的引脚功能图: *注:DS1302的工作电压在2.0V至5.0V之间不是Vcc2一定要接5V电压,Vcc1一定要接3V电压,这里说的只是一般的接法2.3.2 液晶显示器lm016l(1)、引脚的认识 1:VSS 电源引脚 接+5V直流电源 2: VDD 接地引脚 3:VEE 背光引脚 调节lcd亮度 4:RS 数据/状态引脚 1为数据;0为状态 5: RW 读/写引脚 1为读; 0为写 6:E 使能引脚 高电平有效(可对其读写数据) 714

19、:D0D7 数据线 (2)、 LM016控制字 0x02:光标、画面,及AC回首地址 0x05:画面平移(平移速度相当快) 0x06:AC自动加1,且画面不动 0x0c:显示开即可显示数据 0x08:显示关不可显示数据及光标,但屏亮 0x0e:显示开且光标显示 0x09:显示开光标显示且闪烁0x18:画面右移一位(*注 本人用时发现此指令不可用,会使屏关)0x1c:画面左移一位0x10:光标左移一位0x14:光标右移一位0x38:lcd双行显示0x30:lcd单行显示(第一行显示)2.3控制系统的硬件设计2.3.1 单片机型号的选择 通过对多种单片机性能的分析,最终认为AT89C51是最理想的

20、电子时钟开发芯片。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。2.3.2 键盘电路设计该设计的键盘实现的功能比较完善,该键盘可以实现小时、分钟、日期的调节以显示设计者的名字。直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;

21、而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。达到时间、日期调节的目的。 图3.2 多功能控制键2.3.3 整个电路原理图 图3.3 系统电路图3.软件设计思路及描述 3.1电路图3.2程序流程图4.软件、硬件调试过程4.1 软件介绍用到了Keil和Proteus两个软件,Keil用来编译程序并生成hex文件,装入Proteus仿真图的芯片中,通过仿真结果一步步进行调整最后达到预期的功能。4.1.1 keil软件Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的

22、仿真调试器等在内的完整开发方案。(1) Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,uVision与Ishell分别是C51 for Windows for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。 (2)使用独立的Keil仿真器时,注意事项 * 仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。 * 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 * 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片

23、的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。4.1.2 Proteus软件Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有仿真功能,还能仿真单片机及外围器件。是将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。Proteus软件还具有其它EDA工具软件(例:multisim

24、)的功能:原理布图、PCB自动或人工布线、SPICE电路仿真。 (1)选择元件:P按钮(常用元件所在库及名称): 51单片机 Microprocessor AT89C51 晶振 Miscellaneous CRYSTAL 继电器 Switches&Relays G2R (2)选择要使用的元件在Pick Device窗口双击相应元件名称,即可将元件添加到主界面左侧的列表中。 (3)放置元件到绘图区单击列表中的元件,然后在右侧的绘图区单击,即可将元件放置到绘图区。(每单击一次鼠标就绘制一个元件,在绘图区空白处单击右键结束这种状态)。 (4)绘制电源和地单击工具栏上的左起第8个工具(Inter-Sh

25、eet Terminal),左侧工具栏显示TERMINALS,可在其中选择POWER或GROUND,像放置元件一样放置到绘图区。(5)调试在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。 5源程序代码#include/*位定义*/sbit io=P15; /ds1302的串行数据I/O口sbit clk=P16; /ds1302的时钟口sbit rst=P17; /ds1302的复位口sbit acc0=ACC0; /移位时的第0位sbit acc7=ACC7; /移位时用的第7位sbit busy=P07;

26、/lcd 忙标志位sbit rs=P20; /lcd 数据状态位sbit rw=P21; /lcd 读写控件位sbit re=P22; /lcd 使能位sbit menu=P30; /菜单sbit inc=P31; /加一sbit dec=P32; /减一sbit quit=P33; /退出/*全局变量*/unsigned char sec,min,hour,day,month,week,year; /秒,分,时,日,月,星期,年char newsec,newmin,newhour,newday,newmonth,newweek,newyear; /重写数据用的秒,分,时unsigned ch

27、ar bksec,bkmin,bkhour,bkweek,bkday,bkmonth,bkyear,down,count; /闪烁标志位unsigned char flag,daflag; / 加减标志位,时间日期标志位unsigned char timete8,timede10; /分别存放,时分秒;年月日unsigned char week13=SUN; /星期日unsigned char week23=MON; / 一unsigned char week33=TUE; / 二unsigned char week43=WED; / 三unsigned char week53=THU; /

28、四unsigned char week63=FRI; / 五unsigned char week73=SAT; / 六unsigned char name=YiLin; /制作者(本人)的名字/*函数申明*/void delay(unsigned char ms); /延时void writebyte(unsigned char wdat); /写一字节到ds1302unsigned char readbyte(); /从ds1302中读一字节unsigned char readdat(unsigned char wdat); /读ds1302某地址数据void writedat(unsign

29、ed char waddr,unsigned char x); /写数据到ds1302的某地址void ifprotect(flag); /是否写允许void timebuf(); /时间缓冲区void checkbusy(); /测试lcd忙碌状态void wrcom(unsigned char com); /写指令到lcdvoid wrdat(unsigned char dat); /写数据到lcdvoid lcdinit(); /lcd初始化void scanmenu(); /menu扫描void funcmenu(); /menu功能void scaninc(); /扫描加能函数voi

30、d scandec(); /扫描减一函数void scanquit(); /扫描退出函数void funcinc(); /加一功能函数void funcdec(); /减一功能函数void funcquit(); /退出功能函数void turn_sub(unsigned char newval,unsigned char newbk,unsigned char newaddr); /调时子函数void sub_buf(unsigned char subk,unsigned char bfte,unsigned char fda); /时间缓冲子函数void sub_week(unsigned char num); /显示星期子函数/*ds1302函数部分*/void delay(unsigned char ms) /延时函数 unsigned char i; unsigned char m=4; while(ms-) for(i=0;i0;i-)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1