收藏 分享(赏)

基于51单片机的电子时钟的设计.doc

上传人:weiwoduzun 文档编号:2874478 上传时间:2018-09-29 格式:DOC 页数:18 大小:393KB
下载 相关 举报
基于51单片机的电子时钟的设计.doc_第1页
第1页 / 共18页
基于51单片机的电子时钟的设计.doc_第2页
第2页 / 共18页
基于51单片机的电子时钟的设计.doc_第3页
第3页 / 共18页
基于51单片机的电子时钟的设计.doc_第4页
第4页 / 共18页
基于51单片机的电子时钟的设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、沈阳航空航天大学课程设计论文 电子时钟的设计0目 录0 前言11 总体方案设计12 硬件电路设计23 软件设计44 调试分析及说明55 结论7参考文献 7课设体会 8附录 1 电路原理9附录 2 程序清单10 电子时钟的设计许山 沈阳航空航天大学自动化学院摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性

2、的一种。 ,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。关键字:AT89C2051,C 语言程序,电子钟。沈阳航空航天大学课程设计论文 电子时钟的设计10 前言利用 51 单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下:(1) 按以上要求制定设计方案,并绘制出

3、系统工作框图;(2) 按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图;(3) 用仿真器及单片机实验箱进行程序设计与调试;(4) 利用键盘输入调整秒、分和小时时刻,数码管显示时间;(5) 实现闹钟功能,在设定的时间给出声音提示。1 总体方案设计该电子时钟由 89C51,BUTTON,1602 LCD 液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器 0 通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。

4、图 1 系统结构框图该电子时钟由 STC89C51,BUTTON,1602 LCD 液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为 12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60 秒为一分钟,60 分钟为一小时,24 小时为一天,又重 00:00:00 开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键 K1,就会关闭时钟,当按下闹钟按键 K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按 K2 键, ,就可以对时钟和闹钟要设置的时间进行调整。沈阳航空航天大学课程设计论文 电子时钟的设计22硬件电路设计(1) 时钟

5、电路设计单片机利用外部 12MHZ 晶振构成振荡电路作为时钟源,时钟电路的原理如下图。图 2 时钟电路图(2) 独立按键输入电路按键处理设置为:当有没键按下时,时钟正常运行;当按一次 K1,时钟停止走动,按 K2 对秒进行调整;当 K1 按 2 次时,按 K2 对分进行调整;当 K1 按下 3 次时,按 K2 对小时进行调整,当按下 4 次 K1 时,校时完毕,时钟按设定的时间进行正常走时。当按 1 次 K3 进入闹钟设置界面,时钟继续进行走时,按K2 对秒进行设置;当按 2 次 K3,按 K2 对分进行设置;当按 3 次 K3,按 K2 对秒进行设置;当按下 4 次 K3 时,闹钟设置完毕进

6、入时钟显示界面。电路图如下图 图 3 独立按键电路(3) 单片机系统AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。外形及引脚排列如下图沈阳航空航天大学课程设计论文 电子时钟的设计3图 4 单片机系统图(4) 液晶显示LCD1602 采用标准的 16 脚接口,第 1 脚:VSS 为电源地;第 2 脚:VDD 接 5V电源正极;第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高;第

7、4 脚:RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器;第 5 脚:RW 为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作;第 6 脚:E(或 EN)端为使能(enable)端。第 714 脚:D0D7 为 8 位双向数据端;第 1516 脚:空脚或背灯电源。电路如下图图 5 LCD 液晶显示图3 软件设计本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块。系统的流程图如下图沈阳航空航天大学课程设计论文 电子时钟的设计4设计思路:本系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序和 LCD 液晶驱动程

8、序。定时中断程序是利用单片机内部定时器 0 实现 1 秒的定时,然后利用软件延时实现分小时,时间调整程序是利用单片机的内部存贮器,把调整好的时间写到显示时间的存贮单元,然后启动定时器开始计时并显示,延时程序是利用软件实现延时达到去抖的目的。液晶启动程序是为了把单片机的数据送到显示器的同时让显示器的第 6 脚使能断的电平实现由 1 到 0 的跳变,使显示器执行显示的命令。主程序就是利用这些子程序中断程序实现显示、定时、闹钟等功能。 4调试分析及说明(1) 时钟正常运行调试仿真图沈阳航空航天大学课程设计论文 电子时钟的设计5图 6 正常运行仿真图(2) 闹钟调试仿真图图 7 对闹钟时间进行设置图

9、8 设置好的闹钟时间沈阳航空航天大学课程设计论文 电子时钟的设计6图 9 闹钟响铃(3) 时间调整仿真图 10 对时分秒的调整5 结论本次电子时钟的设计基本完成:当没有键按下时,时钟正长运行;当按一次K1,时钟停止走动,按 K2 对秒进行调整;当 K1 按 2 次时,按 K2 对分进行调整;当 K1 按下 3 次时,按 K2 对分进行调整,当按下 4 次 K1 时,校时完毕,时钟按设定的时间进行正常走时。当按 1 次 K3 进入闹钟设置界面,时钟继续进行走时,按 K2 对秒进行设置;当按 2 次 K3,按 K2 对分进行设置;当按 3 次K3,按 K2 对秒进行设置;当按下 4 次 K3 时,

10、闹钟设置完毕进入时钟显示界面。沈阳航空航天大学课程设计论文 电子时钟的设计7参考文献1、 单片机原理及应用李建忠 编 西安电子科技大学出版社。2、 单片微型计算机原理与接口技术 高峰 编 电子工业出版社。3、 单片机应用新技术教程邹逢兴 编 高等教育出版社。4、 16 位微型计算机原理接口及其应用 朱宇光 编 电子工业出版社。5、 微型计算机原理与接口技术 吴秀清 编 中国科学技术出版社。6、 微型计算机接口技术 邓亚平 编 清华大学出版社。7、 单片机原理及及应用 王迎旭 编 机械工业出版社。课设体会两周的课程设计到目前为止可以说是告一段落了,我也顺利的完成了自己的课题简易电子时钟的设计,由

11、于自己一心准备考研在这次课程设计上除了那些必要的时间其余也么有花太多的时间,本想改进的第三个跑表功能由于在程序上出了点问题就没花时间去做了,所以这次设计还不算很完美刚开始被拿到这个课题的,感觉挺迷茫的,当时就只知道软件编程要用到定时器,自己也就在这方面懂一点,其余的关于硬件电路,液晶显示电路的驱动的什么都不知道,后来回来之后就看了一下 51 单片机课程设计那本书,在网上找了一些资料对硬件电路的设计有了一定的了解。在大脑里面有了一个大致的思路了,于是就把仿真软件装好开始了我的课设。沈阳航空航天大学课程设计论文 电子时钟的设计8本次课设让我对单片机有了更深入的认识,现代社会中几乎处处都有单片机的影

12、子,电子产品离不开它。课设提高了我的单片机实际运用能力,也发现了自己以前学习的不扎实,对问题不求甚解。现在才知道“书到用时方少”啊!学习还是得扎实。本次课设能顺利完成,甚是感谢指导老师的帮助。2012 年 7 月 16 日完成沈阳航空航天大学课程设计论文 电子时钟的设计9附录 1 电路原理沈阳航空航天大学课程设计论文 电子时钟的设计10附录 2 程序清单#include#define uchar unsigned char#define uint unsigned intuchar table=“TIME“;sbit lcden=P34;sbit lcdrs=P35;sbit beep=P36

13、;extern void key1();extern void key2();extern void key3();uchar num,hour=12,minite,second,ahour,aminite,asecond,a,F_k1,F_k2,F_k3;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com)lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)lcdrs=1;沈阳航空

14、航天大学课程设计论文 电子时钟的设计11P0=date;delay(5);lcden=1;delay(5);lcden=0;void write_add(uchar add,uchar date)uchar aa,bb;aa=date/10;bb=date%10;write_com(0x80+add);write_data(0x30+aa);write_data(0x30+bb);void init()lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);void disp

15、lay(uchar h,uchar m,uchar s)write_com(0x80+0x04);write_data(:);write_data(0x30+(h/10);write_data(0x30+(h%10);沈阳航空航天大学课程设计论文 电子时钟的设计12write_data(:);write_data(0x30+(m/10);write_data(0x30+(m%10);write_data(:);write_data(0x30+(s/10);write_data(0x30+(s%10);write_data( );write_data( );write_data( );write

16、_data( );void main()init();TMOD=0X01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;TR0=1;ET0=1;for(num=0;num4;num+)write_data(tablenum);while(1)key1();key2();key3();if(ahour=hourif(F_k1=0void timer0() interrupt 1TH0=(65535-50000)/256;TL0=(65535-50000)%256;a+;if(a=20)a=0;second+;if(second=60)secon

17、d=0;minite+;if(minite=60)minite=0;hour+;if(hour=24)hour=0;沈阳航空航天大学课程设计论文 电子时钟的设计14#include “reg52.h“#define uchar unsigned char#define uint unsigned intsbit k1=P10;sbit k2=P11;sbit k3=P12;extern uchar F_k1,F_k3,second,minite,hour,ahour,aminite,asecond;extern void write_com(uchar com);extern void wri

18、te_add(uchar add,uchar date);extern void display(uchar h,uchar m,uchar s);void delay_key(int i)while(i-);void key1()if(k1=0)delay_key(100);if(k1=0)TR0=0;while(!k1);F_k1+;if(F_k1=4)F_k1=0;write_com(0x0c);TR0=1;沈阳航空航天大学课程设计论文 电子时钟的设计15if(F_k1=1|F_k3=1)write_com(0x80+0x0c);write_com(0x0f);if(F_k1=2|F_k

19、3=2)write_com(0x80+0x09);if(F_k1=3|F_k3=3)write_com(0x80+0x06);void key2()if(k2=0)delay_key(100);while(!k2);if(F_k1=1)second+;if(second=60)second=0;write_add(0x0b,second);if(F_k1=2)minite+;if(minite=60)minite=0;write_add(0x08,minite);沈阳航空航天大学课程设计论文 电子时钟的设计16if(F_k1=3)hour+;if(hour=24)hour=0;write_ad

20、d(0x05,hour);if(F_k3=1)asecond+;if(asecond=60)asecond=0;write_add(0x0b,asecond);if(F_k3=2)aminite+;if(aminite=60)aminite=0;write_add(0x08,aminite);if(F_k3=3)ahour+;if(ahour=24)ahour=0;write_add(0x05,ahour);沈阳航空航天大学课程设计论文 电子时钟的设计17void key3()if(k3=0)delay_key(100);if(k3=0)while(!k3);F_k3+;if(F_k3=4)F_k3=0;write_com(0x0c);if(F_k3=1)display(ahour,aminite,asecond);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报