实时时钟设计分析.docx
- 文档编号:14014316
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:22
- 大小:255.41KB
实时时钟设计分析.docx
《实时时钟设计分析.docx》由会员分享,可在线阅读,更多相关《实时时钟设计分析.docx(22页珍藏版)》请在冰点文库上搜索。
实时时钟设计分析
课程设计成果说明书
题目:
电子定时器
学生姓名:
傅琦
学号:
130407308
学院:
船舶与海洋工程学院
班级:
A13电气2班
指导教师:
胡骅
浙江海洋学院教务处
2015年12月日
浙江海洋学院课程设计成绩评定表
2015—2016学年第1学期
学院船舶与海洋工程学院班级A13电气2班专业电气工程及其自动化
学生姓名(学号)
傅琦
课程设计名称
单片机原理及应用课程设计
题目
电子定时器
指导教师评语
指导教师签名:
年月日
答辩评语及成绩
答辩小组教师签名:
年月日
浙江海洋学院课程设计任务书
2015—2016学年第1学期
学院船舶与海洋工程学院班级A13电气2班专业电气工程及其自动化
学生姓名(学号)
傅琦
课程
名称
单片机原理及应用课程设计
设计
题目
电子定时器
完成
期限
自2015年12月12日至2015年12月24日共1.5周
设
计
依
据
1、A13电气2015-2016学年第一学期开课计划和课程表
2、单片机原理与应用课程设计教学大纲
3、单片机原理及应用课程设计指导书
设
计
要
求
及
主
要
内
容
(一)课程设计题目可以选择以下之一,学生自拟题必须经老师同意。
1、单片机电子定时器设计
2、数字温度计设计
3、低频信号发生器设计(正弦信号)
4、16点阵LED显示器设计
5、单片机直流电压表的设计
6、单片机电子密码锁的设计
7、模数化电压监视模块的设计(专业应用题)
8、单片机在其它领域的综合应用设计(学生自拟题)
(二)具体要求
1、各选题要求参见单片机原理及应用课程设计指导书。
2、完成单片机应用系统控制程序的编制,用Proteus软件仿真的应完成硬件及软件的设计,并能演示系统功能。
利用实验室现成实验板进行程序功能设计的,要能演示程序实现功能。
3、总结并提交设计成果(纸质及电子文档各1份)。
参
考
资
料
1、楼然苗等编著.单片机实验与课程设计(Proteus仿真版)[M],杭州.浙江大学出版社,2010年10月
3、楼然苗等编著.单片机实验与课程设计指导(Proteus仿真版)(第二版)[M],杭州.浙江大学出版社,2013年7月
3、宋雪松等编著.手把手教你学51单片机(C语言版)[M],北京.清华大学出版社,2014年4月
4、王晓明编著.电动机的单片机控制(第3版)[M],北京.北京航空航天大学出版社,2011年3月
5、蓝和慧主编.新版大学生电子设计竞赛单片机应用技能指导[M],北京.电子工业出版社,2013年6月
6、张洪润等编著.单片机应用设计200例[M],北京.北京航天航空大学出版社,2006年7月
指导教
师签字
胡骅
日期
2015.10.25
摘要
本设计的电子时钟是由AT89C51,LCD显示屏等构成,采用晶振电路作为驱动电路,由计时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。
电路中的四个控制键拥有多种不同的功能,按下又松开,可以实现校对时间以及定时的功能,还可以达到省电的目的。
关键词:
电子定时器;晶振电路;24小时;LCD显示
1.实时时钟的设计思路和设计方案,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
2.单元电路设计
2.1时钟模块,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2
2.2复位电路模块,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2
2.3控制模块,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3
2.4显示模块,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3
3.程序设计思路,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4
4.定时器TO计时分析,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4
5.仿真调试和结果,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5
6.心得体会,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6
7.源程序设计,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6~11
8.参考文献,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12
附录:
单片机引脚注释:
P0口是8位双向口线,即地址/数据总线复用口。
P1口是一个带内部上拉电阻的8位双向I/O口。
P2口是一个带内部上拉电阻的8位双向I/O口。
P3口是一个带内部上拉电阻的8位双向I/O口。
RST:
复位信号。
当输入的复位信号延续2个机器周期以上的高电平时即为有效,用于单片机的复位操作。
ALE:
地址锁存控制信号。
单片机执行外部程序时,应设置ALE禁止位无效。
/PSEN:
外部程序存储器读选通信号。
每个机器周期两次PSEN信号有效。
/EA:
访问程序存储器控制信号。
为了使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平,即接地。
XTAL1和XTAL2:
外部晶体引线端。
使用芯片外部时钟时,用于接入外部时钟脉冲信号。
在使用芯片内部时钟时,XTAL1和XTAL2用于外接石英晶体谐振器和微调电容。
1.总体设计思路
本设计使用89C51芯片作为控制芯片,复位电路和时钟电路构成单片机最小系统。
利用P0口8个引脚接上拉电阻,驱动LCD液晶显示时钟。
本设计电路的硬件部分共由四部分组成,分别为按键模块、复位电路模块、振荡电路模块、时间显示模块。
振荡电路模块负责给单片机提供时钟周期。
复位电路模块负责上电后自动复位,或按键后强制复位。
上电后,由单片机内部定时器计时,同时通过动态显示函数自动将时分秒显示到数码管LCD液晶屏上。
总体设计思路图
-1-
2.单元电路设计
本设计主要分为时钟电路模块,复位电路模块,显示模块和控制模块。
设计方案如下
2.1时钟模块
89C51单片机的时钟信号通常用内部振荡方法得到,在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方法。
由于单片机内部有一个高增益反相放大器,当外接晶振后就构成了自激振荡器并产生振荡时钟脉冲。
晶振通常选择6MHz、12MHz、24MHz。
本设计采用12MHz晶振。
图中电容C1、C2起到稳固振荡频率、快速起振的作用。
电容值一般为5—30pF。
本设计选用33pF电容。
2.2复位电路模块
单片机在上电以后内部的电路处于一种随机状态,这时如果开始工作则会出现混乱。
对单片机而言,复位也就是在做准备工作,是使单片机回到初始化状态的一种操作。
单片机系统上电后,从何处开始执行第一条指令是由系统复位后的状态决定的。
-2-
RESET引脚是复位信号的输入端,高电平有效,低电平工作。
常用的复位电路有上电复位电路、按键电平复位电路、按键脉冲复位电路。
复位操作完成电路的初始化,使单片机从一种确定的状态开始运行。
由上图可知,控制模块实际上就是单片机的最小系统。
本设计采用常用的上电且开关复位电路。
上电后,由于电容的充电,使RST持续一段高电平时间。
当单片机已在运行中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。
此处C3电容取10uF,R2=K。
2.3控制模块
控制电路
在该模块中,采用三个按键作为对电子时钟的控制输入,通过按键来实现时钟的时间设置。
电路中将三个按键的一端接地,而单片机的P2口默认为高电平,一旦按键被按下,则该按键对应的管脚被拉低,通过软件扫描按键即可知道用户所要实现的功能,调用相应的按键子程序来完成该操作。
本设计中,三个按键K1、K2、K3分别与AT89C51单片机的引脚P1.0、P1.1、P1.2连接。
当按下K1时,开始进行“秒”的校对,再次按下K1时,则切换到“分”的校对,第三次按下则切换到“时”的校正,第四次按下则返回到正常时间显示。
当按下K2时,在某种校正下实施增加,按下K3即为减。
2.4显示模块
显示部分电路设计如下图
-3-
3.程序设计思路(流程图)
否
主程序是一个循环的过程,其流程是:
开始运行显示正常时间,如果扫描过程中,发现有键按下,即判定进入调试模式,时钟停止显示跳动,当按键再次按下,则恢复时钟显示模式,即正常工作。
4.定时器T0计时分析
定时器T0用于时间计时。
定时溢出中断周期设为50ms,中断进入后先进行定时中断值校正,当中断累计20次(即50ms×20=1s)时,对秒计数单元进行加1操作;当到了60s时,分计数单元加1操作;同理可得到了60分时,时计数单元加1操作,直到计时完毕。
-4-
5.仿真调试
总体仿真电路图如下图所示
仿真结果
-5-
6.心得体会
课程设计是针对某一理论课程的要求,对学生进行综合性实践训练的实践教学环节,可以提高学生运用课程中所学的理论知识与实践紧密结合,独立地解决实际问题的能力。
在这次课程设计过程中使我从中学到许多以前在课本和课堂上所无法学到的,特别是在课程设计过程中查找资料的过程中从中学到了许多东西并从中体会到许多的乐趣,从而丰富了自己,使自己无论是上课时还是在课余都感到很充实。
在本次课程设计的过程中,曾得到过老师与几位同学的悉心指导与帮助,才使得我的设计非常圆满的完成,在此对他们表示我们最衷心的感谢,谢谢你们!
7.源程序
#include
unsignedchartab[]="23:
58:
48";
unsignedcharcodetab2[]="hello";
#definelcdpP0
sbitrs=P3^5;
sbitrw=P3^6;
sbiten=P3^7;
sbitled=P1^7;
sbits1=P1^0;
sbits2=P1^1;
sbits3=P1^2;
unsignedcharn,count,mu;
charss=23,ff=58,mm=55;
voiddelay(unsignedcharz)
{
unsignedchari,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
voidwrite_com(unsignedcharcom)//写指令
{
rs=0;
rw=0;
en=0;
lcdp=com;
delay(5);-6-
en=1;
delay(5);
en=0;
}
voidwrite_date(unsignedchardate)//写数据
{
rs=1;
rw=0;
en=0;
lcdp=date;
delay(5);
en=1;
delay(5);
en=0;
}
voidwrite_sj(unsignedadd,unsigneddate)
{
unsignedcharshi,ge;
shi=date/10;
ge=date%10;
write_com(0x80+add);
write_date(shi+0x30);
write_date(ge+0x30);
}
voidinit()//初始化
{
write_com(0x38);//设置16x2显示,5x7点阵,8位数据接口
write_com(0x06);//写一个字符后地址指针自动加1
write_com(0x01);//显示清零,数据指针清零
write_com(0x0c);//开显示,不显示光标
//write_com(0x08);
//write_com(0x0e);//光标开启,但不闪烁
write_com(0x80);//显示位置
for(n=0;n<10;n++)
{
write_date(tab[n]);-7-
delay
(1);
}
write_com(0x80+0x40+3);//第二行显示
for(n=0;n<8;n++)
{
write_date(tab2[n]);
delay
(1);
}
//定时器初始化
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
}
voidkey()
{
if(s1==0)
{
delay(5);
if(s1==0)
{
mu++;
while(!
s1);
}
if(mu==1)
{
TR0=0;
write_com(0x80+9);
write_com(0x0f);//光标闪烁
}
if(mu==2)
{
write_com(0x80+6);
write_com(0x0f);//光标闪烁
}
if(mu==3)
{
write_com(0x80+3);-8-
write_com(0x0f);//光标闪烁
}
}
if(mu==4)
{
TR0=1;
mu=0;
write_com(0x0c);//关闭光标
}
if(mu!
=0)
{
if(s2==0)
{
delay(5);
if(s2==0)
{
while(!
s2);
if(mu==1)
{
mm++;
if(mm==60)
mm=0;
write_sj(8,mm);
write_com(0x80+9);
}
if(mu==2)
{
ff++;
if(ff==60)
ff=0;
write_sj(5,ff);
write_com(0x80+6);
}
if(mu==3)
{
ss++;
led=!
led;
if(ss==24)
ss=0;
write_sj(2,ss);
write_com(0x80+3);
}
}
}-9-
if(s3==0)
{
delay(5);
if(s3==0)
{
while(!
s3);
if(mu==1)
{
mm--;
if(mm==-1)
mm=59;
write_sj(8,mm);
write_com(0x80+9);
}
if(mu==2)
{
ff--;
if(ff==-1)
ff=59;
write_sj(5,ff);
write_com(0x80+6);
}
if(mu==3)
{
ss--;
led=!
led;
if(ss==-1)
ss=23;
write_sj(2,ss);
write_com(0x80+3);
}
}
}
}
}
voidmain()
{
init();
while
(1)
{
key();-10
}
}
voidtime0()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;if(count==20)
{
count=0;
mm++;
if(mm==60)
{
mm=0;
ff++;
if(ff==60)
{
ff=0;
ss++;
if(ss==24)
{
ss=0;
}
write_sj(2,ss);
}
write_sj(5,ff);
}
write_sj(8,mm);
}
}
-11-
8.参考文献
1、楼然苗等编著.单片机实验与课程设计(Proteus仿真版)[M],杭州.浙江大学出版社,2010年10月
3、楼然苗等编著.单片机实验与课程设计指导(Proteus仿真版)(第二版)[M],杭州.浙江大学出版社,2013年7月
3、宋雪松等编著.手把手教你学51单片机(C语言版)[M],北京.清华大学出版社,2014年4月
4、王晓明编著.电动机的单片机控制(第3版)[M],北京.北京航空航天大学出版社,2011年3月
5、蓝和慧主编.新版大学生电子设计竞赛单片机应用技能指导[M],北京.电子工业出版社,2013年6月
6、张洪润等编著.单片机应用设计200例[M],北京.北京航天航空大学出版社,2006年7月
-12-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实时 时钟 设计 分析
![提示](https://static.bingdoc.com/images/bang_tan.gif)