分析单片机 (3)分析和总结d.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

单片机综合实验报告

目:

电子时钟设计

级:

0309410

名:

吴 再 新

号:

030941022

指导老师: 高 林

时 间: 2011-12-29

一、实验内容:

以AT89C51单片机为核心设计电子时钟,在 LCD显示器上显示当前的时间。

二、实验电路及功能说明

实验电路如下所示:

功能说明:实验硬件电路图如上图所示电路图,它由AT89C51单片机、晶振电路、复位电路、显示电路等构成,加上实验程序后,实现了时间、日期、和星期的显示,整点报时,时间、日期、星期可调至任意值等功能。

三、实验程序流程图:

主程序:

开始

开始

程序初始化

进入定时器 0中断

N

N

N

是否到整点

控制键是否按下

20次是否到了

Y

Y

闹铃

Y

执行相应操作

LCD显示

N

执行相应操作

是否有其他键按下

Y

重装初值子程序:

重装初值

N是否到了

N

是否到了20次

Y

秒加1;秒是否

到了60

Y

N

N

秒=0;分加1,;

分是否到了60

Y

N

分=0;时加1;时是

否到了24

Y

时=0

四、实验结果分析

这次实验一共用了4个按键,一个是用控制的,按下一次的时刻时间停止计时,液晶上的光标在秒的位置上闪烁,此时按一下加键的话,秒会加一,按下减键的话,秒减一;当按下控制键第二次的时刻,光标停留在分得位置,此时按加减键可以调节分钟;第三次按下控制键会,光标停留在时的位置,按下加减键分别可以调节时的加减;同理,可以调节星期、年、月、日等;当按下退出设置键时,就会退出当前的设值,时间开始走;单片机的数字钟设计精度比较高,因为在程序的执行过程中,指令不会影响定时器的正常计时,从而使数字钟的精度取决于单片机的机器周期电路,和定时器T0的硬件电路的精度。

五、心得体会

这次实验程序的设计方面还是有些地方有待改进的地方,定时器T0的中断服务子程序写得过于复杂,而且在里面有些延时的指令,这样会对数字钟的精度有一定的影响;这次设计由于时间有限,没有把定时闹铃的功能加上去,在以后的学习当中我会进一步的完善数字钟的功能。通过这次设计,对我来说收获颇大,让我掌握了LCD1602的操作方法,进一步熟练了51单片机C语言编程的方法。在软件的调试过程中,出现过很多错误,通过查找资料一步一步的解决了。

六、程序清单

#includereg52.h

P0=date;

#defineucharunsignedchar

delay(5);

#defineuintunsignedint

en=0;

sbitrs=P3^5;

delay(5);

sbitrd=P3^6;

en=1;

sbiten=P3^7;

delay(5);

sbitkey1=P3^0;

en=0;

sbitkey2=P3^1;

}

sbitkey3=P3^2;

sbitkey4=P3^3;sbitSpeak=P1^0;

ucharcodetable1[]=2011-12-25TUS;ucharcodetable2[]=WZX00:00:00;ucharcode

voidinti() //初始化函数

{

TMOD=0x01; //装初值TH0=(65536-50000)/256;TL0=(65536-50000)%256;

table3[]=MONTUSWEDTHUFRISTASON;

EA=1;

//开总中断

uchar

ET0=1;

TR0=1;

//开定时器0中断

//启动定时器

shi,fen,miao,key2num,keynum,num,count,nian,yue,r

shi=0;

i,count;

fen=59;

miao=57;

voiddelay(uintz)

{

//延迟函数

Speak=0;key2num=5;

uinti,j;

ri=25;

for(i=z;i0;i--)

yue=12;

for(j=110;j0;j--);

nian=11;

}

en=0;

write_com(0x38);

voidwrite_com(ucharcom)

{

//写命令函数

write_com(0x0c);

write_com(0x06);

rs=0;

write_com(0xd0);

rd=0;

write_com(0x01);

P0=com;

delay(5);

write_com(0x80);

en=0;

for(num=0;num16;num++)

delay(5);

{

en=1;

write_date(table1[num]);

delay(5);

delay(5);

en=0;

}

}

write_c

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档