简易数字钟实验报告.docx
- 文档编号:4171946
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:18
- 大小:404.18KB
简易数字钟实验报告.docx
《简易数字钟实验报告.docx》由会员分享,可在线阅读,更多相关《简易数字钟实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
简易数字钟实验报告
课程设计
题目计算机控制技术综合课程设计
简易数字钟
二级学院电子信息与自动化
专业电气工程及其自动化
班级107070403
学生姓名冉静学号20
指导教师贺娟雷李
考核项目
设计50分
平时成绩20分
答辩30分
设计质量20分
创新设计15分
报告质量15分
熟练程度20分
个人素质10分
得分
总分
考核等级
教师签名
简易数字时钟实验报告
一、摘要---------------------------------------------------------------------------------------------------------2
二、概述---------------------------------------------------------------------------------------------------------2
三、硬件电路设计-------------------------------------------------------------------------------------------2
3.1方案比较及选择------------------------------------------------------------------------------------2
3.2原理框图---------------------------------------------------------------------------------------------4
3.3工作原理---------------------------------------------------------------------------------------------4
3.4元器件清单------------------------------------------------------------------------------------------4
四、软件设计--------------------------------------------------------------------------------------------------5
4.1系统模块层次结构---------------------------------------------------------------------------------5
4.2程序流程图------------------------------------------------------------------------------------------5
4.3源程序-------------------------------------------------------------------------------------------------7
五、调试过程------------------------------------------------------------------------------------------------10
5.1仿真调试---------------------------------------------------------------------------------------------10
5.2实物调试---------------------------------------------------------------------------------------------10
六、测试------------------------------------------------------------------------------------------------------11
七、总结-------------------------------------------------------------------------------------------------------11
八、参考文献------------------------------------------------------------------------------------------------12
九、附录-------------------------------------------------------------------------------------------------------12
一、摘要
本次设计采用AT89C51内部定时器的功能,和外部数码管,驱动电路等共同构成的电子时钟电路可以调整24\12小时制计时方式,时间显示使用一个四位、一个两位共阳LED数码管动态显示。
整个电路采用5V电源供电,并有整点报时的功能。
ThedesignofthedigitalclockbaseonAT89C51Abstract
ThisdesignUSESAT89C51internaltimerfunction,andexternaldigitaltube,drivecircuittogetherconstituteelectronicclockcircuitcanadjust24\12hourstomaketimingway,timedisplayusingafour,atwoaltogetherYangLEDdigitaltubedynamicdisplay.Thewholecircuitadopts5Vpowersupply,andhaveintegralpointtoannouncethefunction.
二、概述
随着电子技术的大量应用,单片机作为微型计算机技术基础得到了广泛的应用,在工业控制技术、数据采集系统、智能化仪器仪表、办公自动化等领域中都有出色表现,成为计算机控制技术应用与生产实践最普遍的代表。
本次课程设计的简易数字钟就是应用单片机技术的一个小的生活代表。
在本次课程设计中,本人主要负责硬件电路的制定、修正以及软件程序的调试。
设计的简易数字钟能够实现以下功能:
1.准确显示“时”、“分”、“秒”,24小时制;
2.具有整点报时功能,在每小时59分51秒、53秒、55秒、57秒发出低音,59
秒整发出高音;
3.具有校时功能,用户可修改“时”、“分”,且互不影响;
4.可切换12小时制和24小时制。
三、硬件电路设计
3.1方案比较及选择
1.方案一
简易的时钟,具有,整点报时的功能。
但是没有秒钟的显示。
接通电源后,程序开始执行。
K1为设置现在时间功能键;K2为小时调整,按一下小时加一;K3为分钟调整,按一下为分钟加一;K4为完成键,设置完成后按下时钟进入正常的走时状态。
其中,P0口接的电阻为限流电阻,选用的数码显示管所需电流比较小;4位LED数码管的共阳极引脚分别与V1-V4三极管的集电极相连,三极管的基极分别通过限流电阻与单片机的P2端口的P2.0-P2.3引脚上。
4位数码管显示器分别由4只三极管控制,例如,P2.0输出为低电平时V4三极管导通,与其相连的共阳极数码管显示器开始工作;P2.0输出高电平时V4三极管截止,与其相连的数码管显示器停止工作。
利用单片机定时器的工作,达到一般时钟要求;利用单片机的输入功能,再把按键开关作为单片机的输入信号,通过检测被按下的开关,从而执行赋予该开关调整时间功能。
2.方案二
采用一个4位,一个2位数码管显示器,在单片机与数码管之间连接驱动器,驱动器分别是连接数码管显示器段选的74LS245和74LS04,在单片机的18和19脚依然连接晶振,晶振通过电容与地连接。
31脚接+5V,9脚复位脚连接在串联的电阻电容间,电容的另一端接+5V,电阻的另一端接地。
至于P3.3端口输出通过限流电阻和PNP三极管接与蜂鸣器的一端,另一端接+9V电源。
P3.0—P3..2输出通过3个按键开关与地相连。
当开关按下后,对P3.0—P3..2产生低电平,则表示按键输入,软件检测到低电平输入后进入相应的程序口,对按键操作进行相应的处理。
该硬件图中的3个按键开关K1是小时加一,K2是分钟加一,K3是调整24\12进制的转换。
3.方案比较
方案一相对于方案二有明显的不足。
(1)方案二采用了上电复位而方案一没有对单片机的复位脚采取任何的处理,可能造成不稳定的因素。
(2)方案二更有利于实物的实现,在数码管显示器与单片机之间连入了驱动器,并且使用驱动芯片比较而言,比使用三极管等更易连接,更稳定,实物效果更加清爽明晰。
(3)方案二使用蜂鸣器比方案一使用的喇叭更易驱动,而效果是相同的。
在实物中,方案一的喇叭很有可能是不能驱动的,会导致整点报时功能无法实现。
(4)实验室提供的数码管显示器是4位,2位。
没有方案一的6位,要配合提供的东西修改方案。
因此,本次课程设计采用的是方案二的硬件电路设计。
3.2原理框图
3.3工作原理
单片机的20脚接地,40脚接+5V。
由晶振提供单片机的时钟震荡,由示波器检测为11.99998MHz,即约12MHz,使单片机实现内部时钟的运行方式。
单片机的9脚接入上电复位的一般电路。
按键输入控制单片机的程序入口,单片机内部的定时器提供一般时钟的计时要求,通过驱动电路实现数码管显示器的显示和蜂鸣器的整点报时等功能。
3.4元器件清单
四、软件设计
4.1系统模块层次结构
4.2程序流程图
4.3源程序
#include
sbitBUZ=P3^3;
sbitHOURADD=P3^0;//小时加1
sbitMITADD=P3^1;//分钟加1
sbitchange=P3^2;//进制转换
unsignedinttmcnt;//定时器计数
unsignedinth=0,m=59,s=50;//h为小时,m为分钟,s为秒钟
unsignedcharcodeseg7[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管0-9码值
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}
unsignedcharcodedisp[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//位扫描
unsignedchardatadisdata[6];
voidDelayms(intms)//延时函数
{
while(ms)
{
unsignedchari;
for(i=0;i<120;i++);
ms--;
}
}
voiddisplay()//扫描显示
{unsignedchari;
disdata[0]=h/10;//数据处理,小时高位
disdata[1]=h%10;//小时低位
disdata[2]=m/10;//分钟高位
disdata[3]=m%10;//分钟低位
disdata[4]=s/10;//秒钟高位
disdata[5]=s%10;//秒钟低位
for(i=0;i<6;i++)//循环显示
{
P1=0xff;
P1=seg7[disdata[i]];
P2=disp[i];
Delayms
(2);//显示延时
}
}
voidtime0(void)interrupt1using0//时间计数函数
{
TH0=0xfc;//(65536-20000)/256;
TL0=0x18;//(65536-20000)%256;
if(++tmcnt==1000)//计数1000次1秒
{
tmcnt=0;
s++;
if(s==60)
{
s=0;
m++;
if(m==60)
{
m=0;
h++;
if(change==0&&h==12)//按下进制转换键为12进制
{h=0;}
if(change==1&&h==24)//未按下进制转换键为24进制
{h=0;}
}
}
}
}
voidvoice()//发声函数
{
if((m==59)&&(s==51))//判断时间符合低音条件
{
BUZ=~BUZ;
Delayms(80);
}
if((m==59)&&(s==53))//判断时间符合低音条件
{
BUZ=~BUZ;
Delayms(80);
}
if((m==59)&&(s==55))//判断时间符合低音条件
{
BUZ=~BUZ;
Delayms(80);
}
if((m==59)&&(s==57))//判断时间符合低音条件
{
BUZ=~BUZ;
Delayms(80);
}
if((m==59)&&(s==59))//判断时间符合高音条件
{
BUZ=~BUZ;
Delayms(55);
}
}
voidkeyscan()//键盘扫描
{
if(change==0)//判断是否按下进制转换键,
{
Delayms(10);
if(change==0&&h>=12)//若h>12,则执行h-12,转换成12进制
{h=h-12;}
}
if(HOURADD==0)//判断是否按下小时加1键
{
Delayms(10);
if(HOURADD==0)
{
while(HOURADD==0);
h++;
if(h==24)
{h=0;}
}
}
if(MITADD==0)//判断是否按下分钟加1键
{
Delayms(10);
if(MITADD==0)
{
while(MITADD==0);
m++;
if(m==60)
{m=0;}
}
}
}
main()
{unsignedinttime();
TMOD=0x01;//软件启动计数器、工作方式为方式1
EA=1;
ET0=1;//允许定时计数器中断
TR0=1;//启动计数
while
(1)
{keyscan();//扫描键盘
display();//显示
voice();//发声
}
}
五、调试过程
5.1仿真调试
由于方案的修改,参考的电路使用的是6位数码管显示器,而且是共阴极的,仿真时改用一个4位,一个2位的共阳极的数码管显示器。
喇叭改用成蜂鸣器,仿真时与软件中发声程序延时发出高音和低音配合不当,造成使用蜂鸣器没有声音。
在进一步的调试过程中,改变供给蜂鸣器的电压为+9V,它另一端的限流电阻减小改成了220Ω。
5.2实物调试
1.实物做成后,连接电源,发现数码管显示器全部显示8,而且显示器的电压不够,因此显示不够亮,不明显。
因此,检查实物连线,发现驱动芯片74LS245的接地端没有连接,修改连线后,数码管显示器明显变亮,但是6位仍然全部显示8。
2.实物中蜂鸣器接+5V的电源即能够工作,但是蜂鸣器一直在鸣叫。
3.仔细查阅资料后发现原电路所连接的P0口是需要接入上拉电阻的,为了简便起见,修改程序使单片机控制的数码管显示器的段选口从P0改到P1口,重新连线后发现实物效果没变,仍然全部显示8,蜂鸣器一直鸣叫。
4.使用示波器,发现震荡电路输出的波形没有起到震荡作用,检查线路后发现震荡电路和复位电路没有如原理图中所画的接地,调整后重新上电测试,维持原来的结果。
5.使用示波器检测震荡电路连入单片机的18、19脚没有反应,检查线路后发现震荡电路漏接入单片机的18、19脚,修改后电路结果维持不变。
6.重新再单片机中考入简单程序P1=0xff进行单片机测试。
上电后发现P1口输出的结果与程序结果不符合,因此怀疑是单片机的问题。
7.重新选用一块单片机芯片,考入原始程序后接入电路板中,上电发现电路结果与设计结果一致,能够实现全部设定的功能。
因此判断是单片机的问题。
8.此外,显示的结果发现在蜂鸣器鸣叫时,即整点报时时数码管显示闪动,除了数码管显示的最后一位即秒钟的个位正常现实外其余的显示几乎不可见,怀疑是主程序调用发声程序时,发声程序中的延时过长导致。
但是在仿真中反复测试的结果是只有一个狭窄的范围(低音80ms左右,高音只能55ms)才能使蜂鸣器正常工作。
9.改变单片机中考入的程序,减小发声程序中的延时使低音60ms,高音10ms,重新接入电路板中上电测试,发现数码管显示器在发声过程中仍然闪烁,但是闪烁的幅度有所减小,因此判定是由于发声程序中的延时调用影响了数码管的显示。
10.按下按键开关使小时或分钟加一时,发现数码管显示器没有显示,但计时器仍然正常运作着。
重新检查程序发现与按键相关的程序中使用的是按键按下弹起后重新进入主程序调用显示。
六、测试
整个电路板实现全部功能后确定数字钟的精度。
使用外部正确的秒表进行同步计时,两次测量取平均值后发现当外部校准计时器每计时15分钟,本次课程设计的简易数字钟慢8s.因此本次设计的数字钟的精度约为-8s/15min=-0.534s/min.
使用示波器检测到晶振电路的输出频率为11.99998MHz,即约12MHz.
七、总结
本此计算机控制技术综合课程设计是锻炼各个同学对于计算机控制特别是微电子方面的控制的能力。
我们组分到的是简易数字钟,在查资料的过程中发现不论是书本上还是网页上,基于单片机控制的数字时钟还是非常多的,说明使用单片机构成简易控制的数字钟的技术是非常成熟而且简便的。
因此决定采用单片机构成主要的MCU模块。
MCU模块确定后发现很多的参考文献上书写的控制程序使用的都是汇编语言,参看程序时有一定的障碍。
但是数字钟是一个硬件电路简单的设计题目,它的主要难点就是为功能的实现所编写的软件控制程序。
在反复查阅比较阅读后搞清了许多参考程序的主要结构。
具体编写过程中再采用了一个C语言编写的基本时钟控制程序,之后以它为主,自己修改具体的部分功能程序,实现如整点报时、24\12进制转换,小时、分钟加一等课程设计所要求的具体功能。
最终在仿真过程中比较不同硬件连接方案后,根据实验室提供的元器件清单调整个别元器件的使用,并调整编好的程序,最终达到实验设计的目的。
在调试过程中最重要的就是细心仔细,实物连接过程中很可能有连接错误,需要多次重复检查,在检查中也需要掌握一定的检查方法。
做到能够根据实验效果推测出问题的原因。
八、参考文献
1.单片机数字电子时钟毕业设计XX文库2010-06-19
2.电子时钟XX文库2010-08-06
3.基于单片机的简易电子琴设计XX文库2010-06-04
4.单片机电子琴设计XX文库2010-06-28
5.51单片机应用开发速查手册人民邮电出版社P4172009年4月第一版
6.单片机实验教程北京理工大学出版社P1372007年2月第一版
7.单片机系统的设计与应用实例机械工业出版社P1602010年2月第二版
8.单片机实用技术人民邮电出版社2008年4月第一版
九、附录
完成后的实物图
放大的原理图
74LS04管脚图
74LS245管脚图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 数字 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)