单片机数字时钟实训报告
天津职业大学电子信息工程学院
二○一一~二○一二学年第一学期
单片机实训课程设计报告书
课程名称:单片机数字时钟实训班级:09级通信3班学号:0904043050904043姓名:实训教师:
201*年10月13日
一设计要求
用51单片机实现数字时钟的功能。能够显示时间时分秒,可以进行时间的调整,
二电路图
三程序设计
/*p0接六个数码管的段选端口,p1接六个数码管的位选端,p1^0接秒的个位*/#include#defineucharunsignedchar#defineuintunsignedint
ucharnum0,num,xiao,fen,miao,ge,shi,num1,i,j,k;sbitkey1=P2^1;//设定时间选择键sbitkey2=P2^2;//时间调整
ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0};//不带小数点ucharcodetable0[]={0xbf,0xb0,0xdb,0xf9,0xf4,0xed,0xef,0xbf,0xff,0xfc,0};//小数点在左上方ucharcodetable1[]={0x3e,0x3d,0x3b,0x37,0x2f,0x1f};//位选端
ucharcodetable2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0};//小数点在右下方voiddelay(uintz);
voiddisplay(uchar,uchar,uchar);voidkeyscan();
voidclock();
voidinit(){
num1=0;xiao=23;fen=59;miao=59;num0=0;
TMOD=0x01;
TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;TR0=1;EA=1;
P1=0xc0;
P0=table[0];}
voidmain(){
init();
while(1){
display(xiao,fen,miao);keyscan();
}}voiddelay(uintz)//延时一毫秒{uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);}
voiddisplay(ucharxshu,ucharfshu,ucharmshu)//显示函数{shi=mshu/10;ge=mshu%10;P1=table1[0];P0=table[ge];delay(2);P1=table1[1];
P0=table0[shi];
delay(2);shi=fshu/10;ge=fshu%10;P1=table1[2];P0=table2[ge];delay(2);P1=table1[3];P0=table0[shi];delay(2);shi=xshu/10;ge=xshu%10;P1=table1[4];P0=table2[ge];delay(2);P1=table1[5];P0=table[shi];
delay(2);
}voidkeyscan()//时间调整{if(key1==0){
delay(5);if(key1==0){while(!key1);num0=num0+1;TR0=0;if(num0==4){num0=0;TR0=1;
display(xiao,fen,miao);
}}}if(num0!=0){if(key2==0)
{delay(5);if(key2==0){while(!key2);if(num0==1){miao++;if(miao==60)
miao=0;
display(xiao,fen,miao);}
if(num0==2){fen++;if(fen==60)
fen=0;
display(xiao,fen,miao);}
if(num0==3){xiao++;
if(xiao==24)xiao=0;
display(xiao,fen,miao);}}
}}}voidtimer0()interrupt1//定时器零{TH0=(65536-50000)/256;TL0=(65536-50000)%256;num++;if(num==19){num=0;miao++;if(miao==60){miao=0;
fen++;
5if(fen==60){fen=0;xiao++;
if(xiao==24){xiao=0;
}display(xiao,fen,miao);}
display(xiao,fen,miao);
}display(xiao,fen,miao);
}}课程设计成绩:指导教师签字:
日期:年月日
6扩展阅读:单片机2实训报告数字钟
桂林电子科技大学职业技术学院
单片机实训Ⅱ报告
数字钟
学院(系):电子信息工程系专业:电子信息工程技术学号:091222106学生姓名:覃荣星指导教师:叶俊明桂林电子科技大学职业技术学院实训报告
目录
摘要...................................................................11绪论...................................................................32课题背景...............................................................32.1设计任务与要求.......................................................32.2设计目的...............................................................3
2.2.1设计题目的概述.......................................................3
3总体设计方案..........................................................33.1设计思想...............................................................43.2方案选择与论证..........................................................44硬件设计...............................................................44.1总体硬件结构及原理......................................................44.2硬件原理框图......................................................44.3硬件的各个部分...........................................................5
4.3.1单片机...............................................................54.3.2按键电路...............................................................54.3.3显示电路...............................................................64.3.4报警电路...............................................................6
5程序设计...............................................................76结论.................................................................11致谢.........................................................13附件
桂林电子科技大学职业技术学院实训报告
摘要
单片微型机俗称单片机,是一种运用十分广泛的微处理器。在各种称为计算机控制的仪器和设备中的计算机控制都是用单片机来实现的。本任务是采用单片机控制技术来实现对LCD时钟的控制,基于单片机的定时和控制装置的应用,是数字钟最为基本的应用。在基本的单片机系统和外围电路外,还要有外部的控制和显示装置。
数字钟是实现对年、月、日、时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室、银行大厅等场所,成为人们日常生活的必需品。利用单片机实现数字钟的方法具有编程灵活,便于数字钟功能的扩充,而此次设计也是采用单片机实现数字钟的方法,这其中还有不同的显示方法,数码管和LCD1602液晶显示,在这里我们采用液晶显示。
关键词:数字钟;单片机;LCD;
第1页桂林电子科技大学职业技术学院实训报告
Abstract
ThesinglechipMicyoco,commomsayingSCM.Itisasortmicroprocessorbeusedsowidely.Inthekindofmachineandapparatusbycomputercontrol,thiscomputerissinglechip.Thisarticleisabouthowtorealizethecontrolonrestingtimebythesinglechipcontroltechnology,thebasicapplicationofadigitalclockistheapplicationoftimingandcontroldeivce.Basedonthissinglechipsystem.Onitstillneedsoutercontrolanddisplaydevice.
Adigitalclockistorealizetodateandtime,minutesandsecondsdigitaldisplaytimerdevice,widelyusedinpersonalfamily,station,wharf,office,banklobby,becomepeopletoplacessuchasdailynecessitiesoflife.UsingSCMrealizingadigitalclockmethodsareprogrammingflexible,facilitatetheexpansionofthedigitalclockfunction,andthedesignisalsoadoptssinglechipmicrocomputermethodofdigitalclock,therearedifferentdisplaymethod,digitaltubeandLCD1602LCDdisplay,hereweadoptLCDdisplay.
Keywords:Digitalclock;singlechipMicyoco;LCDdisplay;
第2页桂林电子科技大学职业技术学院实训报告
1绪论
数字钟是实现对年、月、日、时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室、银行大厅等场所,成为人们日常生活的必需品。而数字钟的的设计方法有很多,例如,可用中小规模集成电路组成数字钟,也可以利用专用的数字钟芯片配以显示电路及其所需要的外围电路组成数字钟,还可以利用单片机来实现数字钟等等,这些方法都有各自的特点,其中,利用单片机实现数字钟的方法具有编程灵活,便于数字钟功能的扩充,而此次设计也是采用单片机实现数字钟的方法,这其中还有不同的显示方法,数码管和LCD1602液晶显示,在这里我们采用液晶显示。液晶显示比数码管更加的方便,显示功能也比数码管多,能够显示年、月、日、时、分、秒,让人一目了然,非常方便。
2课题背景
单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无处不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。。
本次设计的单片机多功能数字钟的核心是目前应用极为广泛的单片机,配置了外围设备,构成了一个可编程的定时系统,具有体积小、可靠性高、功能强等特点。不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。
2.1设计任务与要求
本次设计的数字钟主要能够完成三项要求:(1)使用LCD1602液晶做显示器;(2)使用单片机定时计数器设计时钟;(3)可调时功能,有到点报时功能;
2.2设计目的
通过该毕业设计对单片机系统要有一个全面的了解、掌握常规芯片的使用方法、掌握简单单片机应用系统软硬件的设计方法,进一步锻炼在单片机应用方面的实际动手能力。了解数字钟的应用和发展,更好的设计更加方便多功能的数字钟。
2.2.1设计题目的概述
数字钟是基于单片机的时钟电路,液晶显示电路,报警电路和独立按键电路组合而成。利用89S51单片机外接LCD1602液晶和报警电路,由用户通过按键选择改变液晶输出的年、月、日、时、分、秒的哪一个,通过按键一光标移位键,选中自己想要改变的内容,由按键二和按键三改变。而蜂鸣器到时间时就会报警。
3总体设计方案
第3页桂林电子科技大学职业技术学院实训报告
3.1设计思想
数字钟硬件通过使用单片机I/O口连接外围电路,结合软件编程实现定时功能。通过独立按键改变年、月、日、时、分、秒的显示内容,在编写程序时定义好自己需要提醒的一个或几个时间段,到点时,单片机会给蜂鸣器一个信号,然后蜂鸣器报警。
3.2方案选择与论证
数字钟钟采用单片机技术,通过编程控制定时,但是通常有以下两种显示电路实现:
方案一:使用LED8段数码管。采用单片机动态扫描将时钟数据通过数码管进行实时显示。但数码管的显示功能具有局限性,不能达到预期效果,此外,数码管驱动电路繁琐,不易控制。
方案二:使用LCD1602显示器。1602显示器显示格式2*16,能够显示数字及常用英文字符。单片机通过8根数据线,3根数据控制线对1602显示器进行控制,使其实时显示时钟。
方案选择:经理论分析与实际电路测试,考虑到题目要求和方便简洁性,选择方案二,采用LCD1602显示器。
4硬件设计
4.1数字钟总体硬件结构及原理
数字钟的硬件结构主要由单片机芯片、复位电路、时钟电路、显示电路LCD1602液晶显示、按键电路以及报警电路六部分构成。通过编写程序烧入单片机,驱动LCD1602液晶,由按键控制显示部分的年、月、日、时、分、秒的变化,定时到自己需要的时间时,蜂鸣器报警。
4.2硬件原理框图
图4.2.1硬件原理框图
第4页桂林电子科技大学职业技术学院实训报告
4.3硬件的各个部分
4.3.1单片机
(1)复位电路
单片机的复位电路是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
复位电路通常采用上电自动复位和按钮复位两种,本设计采用按钮复位。(2)时钟电路
时钟电路是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
图4.3.1内部时钟电路
4.3.2按键电路
按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的长短与开关的机械特性有关,而本设计采用的是独立按键,直接用I/O口线连接构成单个按键电路,每个按键占用一个I/O口,每个按键的工作状态不会产生互相影响。
图4.3.2按键电路
P1.0口表示数字“+”,按一下则对应的数字加1,是对时钟“秒”进行调整。
第5页桂林电子科技大学职业技术学院实训报告
P1.2口表示数字“+”,按一下则对应的数字加1,是对时钟“分”进行调整。P1.4口表示数字“+”,按一下则对应的数字加1,是对时钟“时”进行调整
4.3.3显示电路
图4.3.3.1显示电路
LCD1602是内带字库的液晶,可以写32个字母或符号。驱动LCD1602有两种方法,一种是并行,需要11个I/O口。一种是串行,需要7个I/O口。
其中:
RS:寄存器选择,高电平选择数据寄存器,低电平选择指令寄存器。R/W:读写信号线,高电平读操作,低电平写操作。
E:全能端,当E为高电平跳变到低电平时,液晶模块执行命令。
图4.3.3.2显示效果
4.3.4报警电路
图4.3.4报警电路利用单片机P1.6I/O口接报警
第6页桂林电子科技大学职业技术学院实训报告
电路,通过软件到点时给P1.6口信号,LED亮。
5程序设计
#include"reg51.h"#include"LCD1602.H"#defineucharunsignedchar#defineuintunsignedintsbitk0=P1^0;sbitk1=P1^2;sbitk2=P1^4;sbitled=P1^6;
uintsecond=59,minute=59,hour=23;ucharcounter;voiddelay(uintms){}
voidinitTimer(void){
TMOD=0x1;TH0=0x3c;TL0=0xb0;}
voidtimer0(void)interrupt1{
TH0=0x3c;TL0=0xb0;
第7页
uinti,j;for(i=0;i桂林电子科技大学职业技术学院实训报告
counter++;if(counter>=20){
second++;counter=0;
}if(second>59){
minute++;second=0;}
if(minute>59){
hour++;minute=0;}
if(hour>23){
hour=0;}}
voidmain(void){
initTimer();TR0=1;ET0=1;EA=1;lcd_init();
第8页桂林电子科技大学职业技术学院实训报告
write_lcd_string(0,0,"myCLOCK");write_lcd_string(0,1,"::");while(1){{
delay(15);if(k0==0){
second+=1;
if(second>59)second=0;
write_lcd_char(7,1,coder[second%10]);write_lcd_char(6,1,coder[second/10]);write_lcd_char(4,1,coder[minute%10]);write_lcd_char(3,1,coder[minute/10]);write_lcd_char(1,1,coder[hour%10]);write_lcd_char(0,1,coder[hour/10]);if(k0==0)
}}while(k0==0);if(k1==0){
delay(15);if(k1==0){
minute+=1;
if(minute>59)minute=0;
}}while(k1==0);if(k2==0)
第9页桂林电子科技大学职业技术学院实训报告
{delay(15);if(k2==0){
hour+=1;
if(hour>23)hour=0;
}}while(k2==0);
if(hour==0&&minute==0&&second==10){}
elseled=0;}}
led=1;
第10页桂林电子科技大学职业技术学院实训报告
6结论
此电路基本可以完成任务要求的各个功能,具有按键调时功能,定时报警的功能。能显示时、分、秒。该设计很好的满足当前课题的要求,是一个理想的智能化的设计。它具有一个走时精确的实时钟,可以任意设置时间,可以通过按键操作和数字显示。该设计规模小,但是功能多,操作简单,造价低,应用非常广泛。
第11页桂林电子科技大学职业技术学院实训报告
参考文献
[1]张专成,赵怀勋.单片机测控系统中的监视定时器.武警技术学院.Mar1977.[2]何希庆,高伟.MCS-51单片机原理、实验、实例〔M〕,山东;山东大学出版
社.1989.
[3]张友德.单片机微型机原理、应用与实践.上海;复旦大学出版社.1992.[4]江思敏,姚鹏翼.PADS电路原理图和PCB设计;北京;机械工程出版社.201*.[5]张秀国.单片机C语言程序设计教程与实训.北京;北京大学出版社.201*.
第12页桂林电子科技大学职业技术学院实训报告
致谢
我在这一次数字钟的设计过程中,很是受益匪浅。通过对自己所学的知识的回顾,充分发挥对所学知识的理解,完成了此次的设计,虽然在做实训时还是遇到了很多问题,不过还是很好的完成了作品。在这里我要感谢叶老师的辛苦教导,细心的为我解答,还不断指出我的错误,我非常感谢叶老师,想对老师说声谢谢和辛苦了,还有感谢和我一起一组的搭档,当遇到问题时一起细心寻找问题根源并解决,是我门的相互默契成就了我们的作品成功。同时我还要感谢我身边的同学,谢谢他们能在我遇到问题时,和我一起讨论,鼓励我不要气馁。非常谢谢他们。
201*年06月02日
第13页桂林电子科技大学职业技术学院实训报告
附件
PCB图
原理图
第14页桂林电子科技大学职业技术学院实训报告
仿真图
第15页
友情提示:本文中关于《单片机数字时钟实训报告》给出的范例仅供您参考拓展思维使用,单片机数字时钟实训报告:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
《单片机数字时钟实训报告》
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/585163.html
- 上一篇:高中音乐教学心得