简易数字钟实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
unsigned int h=0,m=59,s=50;//h为小时,m为分钟,s为秒钟
unsigned char code seg7[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管0-9码值
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}
ms--;
}
}
void display()//扫描显示
{ unsigned char i;
disdata[0]=h/10;//数据处理,小时高位
disdata[1]=h%10;//小时低位
disdata[2]=m/10;//分钟高位
disdata[3]=m%10;//分钟低位
disdata[4]=s/10;//秒钟高位
4.1系统模块层次结构---------------------------------------------------------------------------------5
4.2程序流程图------------------------------------------------------------------------------------------5
利用单片机定时器的工作,达到一般时钟要求;利用单片机的输入功能,再把按键开关作为单片机的输入信号,通过检测被按下的开关,从而执行赋予该开关调整时间功能。
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进制的转换。
5.1仿真调试---------------------------------------------------------------------------------------------10
5.2实物调试---------------------------------------------------------------------------------------------10
3.方案比较
方案一相对于方案二有明显的不足。
(1)方案二采用了上电复位而方案一没有对单片机的复位脚采取任何的处理,可能造成不稳定的因素。
(2)方案二更有利于实物的实现,在数码管显示器与单片机之间连入了驱动器,并且使用驱动芯片比较而言,比使用三极管等更易连接,更稳定,实物效果更加清爽明晰。
(3)方案二使用蜂鸣器比方案一使用的喇叭更易驱动,而效果是相同的。在实物中,方案一的喇叭很有可能是不能驱动的,会导致整点报时功能无法实现。
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进制
一、摘要
本次设计采用AT89C51内部定时器的功能,和外部数码管,驱动电路等共同构成的电子时钟电路可以调整24\12小时制计时方式,时间显示使用一个四位、一个两位共阳LED数码管动态显示。整个电路采用5V电源供电,并有整点报时的功能。
The design of the digital clock base on AT89C51 Abstract
课程设计
题目计算机控制技术综合课程设计
简易数字钟
二级学院电子信息与自动化
专 业电气工程及其自动化
班 级107070403
学生姓名冉静学号20
指导教师贺娟 雷李
考核项目
设计50分
平时成绩20分
答辩30分
设计质量20分
创新设计15分
报告质量15分
熟练程度20分
个人素质10分
得分
总分
考核等级
教师签名
简易数字时钟实验报告
This design USES AT89C51 internal timer function, and external digital tube, drive circuit together constitute electronic clock circuit can adjust 24\12 hours to make timing way, time display using a four, a two altogether Yang LED digital tube dynamic display. The whole circuit adopts 5V power supply, and have integral point to announce the function.
八、参考文献------------------------------------------------------------------------------------------------12
九、附录-------------------------------------------------------------------------------------------------------12
unsigned char code disp[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//位扫描
unsigned char data disdata[6];
void Delayms(int ms) //延时函数
{
while(ms)
{
unsigned char i;
for (i=0; i<120; i++);
二、概述
随着电子技术的大量应用,单片机作为微型计算机技术基础得到了广泛的应用,在工业控制技术、数据采集系统、智能化仪器仪表、办公自动化等领域中都有出色表现,成为计算机控制技术应用与生产实践最普遍的代表。本次课程设计的简易数字钟就是应用单片机技术的一个小的生活代表。
在本次课程设计中,本人主要负责硬件电路的制定、修正以及软件程序的调试。
3.4元器件清单
四、软件设计
4.1系统模块层次结构
4.2程序流程图
4.3源程序
#include<reg51.h>
sbit BUZ =P3^3;
sbit HOURADD=P3^0;//小时加1
sbit MITADD=P3^1;//分钟加1
sbit change=P3^2;//进制转换
unsigned int tmcnt;//定时器计数
一、摘要---------------------------------------------------------------------------------------------------------2
二、概述---------------------------------------------------------------------------------------------------------2
六、测试------------------------------------------------------------------------------------------------------11
七、总结-------------------------------------------------------------------------------------------------------11
三、硬件电路设计-------------------------------------------------------------------------------------------2
3.1方案比较及选择------------------------------------------------------------------------------------2
设计的简易数字钟能够实现以下功能:
1.准确显示“时”、“分”、“秒”,24小时制;
2.具有整点报时功能,在每小时59分51秒、53秒、55秒、57秒发出低音,59
秒整发出高音;
3.具有校时功能,用户可修改“时”、“分”,且互不影响;
4.可切换12小时制和24小时制。
三、硬件电路设计
3.1方案比较及选择
3.2原理框图---------------------------------------------------------------------------------------------4
3.3工作原理---------------------------------------------------------------------------------------------4
1.方案一
简易的时钟,具有,整点报时的功能。但是没有秒钟的显示。接通电源后,程序开始执行。K1为设置现在时间功能键;K2为小时调整,按一下小时加一;K3为分钟调整,按一下为分钟加一;K4为完成键,设置完成后按下时钟进入正常的走时状态。
其中,P0口接的电阻为限流电阻,选用的数码显示管所需电流比较小;4位LED数码管的共阳极引脚分别与V1-V4三极管的集电极相连,三极管的基极分别通过限流电阻与单片机的P2端口的P2.0-P2.3引脚上。4位数码管显示器分别由4只三极管控制,例如,P2.0输出为低电平时V4三极管导通,与其相连的共阳极数码管显示器开始工作;P2.0输出高电平时V4三极管截止,与其相连的数码管显示器停止工作。
(4)实验室提供的数码管显示器是4位,2位。没有方案一的6位,要配合提供的东西修改方案。
因此,本次课程设计采用的是方案二的硬件电路设计。
3.2原理框图
3.3工作原理
单片机的20脚接地,40脚接+5V。由晶振提供单片机的时钟震荡,由示波器检测为11.99998MHz,即约12MHz,使单片机实现内部时钟的运行方式。单片机的9脚接入上电复位的一般电路。按键输入控制单片机的程序入口,单片机内部的定时器提供一般时钟的计时要求,通过驱动电路实现数码管显示器的显示和蜂鸣器的整点报时等功能。
4.3源程序-------------------------------------------------------------------------------------------------7
五、调试过程------------------------------------------------------------------------------------------------10
3.4元器件清单------------------------------------------------------------------------------------------4
四、软件设计--------------------------------------------------------------------------------------------------5
disdata[5]=s%10;//秒钟低位
for(i=0;i<6;i++)//循环显示
{
P1=0xff;
P1=seg7[disdata[i]];
P2=disp[i];
wenku.baidu.comDelayms(2);//显示延时
}
}
void time0(void)interrupt 1 using 0 //时间计数函数
{
TH0=0xfc;//(65536-20000)/256;
unsigned char code seg7[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管0-9码值
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}
ms--;
}
}
void display()//扫描显示
{ unsigned char i;
disdata[0]=h/10;//数据处理,小时高位
disdata[1]=h%10;//小时低位
disdata[2]=m/10;//分钟高位
disdata[3]=m%10;//分钟低位
disdata[4]=s/10;//秒钟高位
4.1系统模块层次结构---------------------------------------------------------------------------------5
4.2程序流程图------------------------------------------------------------------------------------------5
利用单片机定时器的工作,达到一般时钟要求;利用单片机的输入功能,再把按键开关作为单片机的输入信号,通过检测被按下的开关,从而执行赋予该开关调整时间功能。
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进制的转换。
5.1仿真调试---------------------------------------------------------------------------------------------10
5.2实物调试---------------------------------------------------------------------------------------------10
3.方案比较
方案一相对于方案二有明显的不足。
(1)方案二采用了上电复位而方案一没有对单片机的复位脚采取任何的处理,可能造成不稳定的因素。
(2)方案二更有利于实物的实现,在数码管显示器与单片机之间连入了驱动器,并且使用驱动芯片比较而言,比使用三极管等更易连接,更稳定,实物效果更加清爽明晰。
(3)方案二使用蜂鸣器比方案一使用的喇叭更易驱动,而效果是相同的。在实物中,方案一的喇叭很有可能是不能驱动的,会导致整点报时功能无法实现。
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进制
一、摘要
本次设计采用AT89C51内部定时器的功能,和外部数码管,驱动电路等共同构成的电子时钟电路可以调整24\12小时制计时方式,时间显示使用一个四位、一个两位共阳LED数码管动态显示。整个电路采用5V电源供电,并有整点报时的功能。
The design of the digital clock base on AT89C51 Abstract
课程设计
题目计算机控制技术综合课程设计
简易数字钟
二级学院电子信息与自动化
专 业电气工程及其自动化
班 级107070403
学生姓名冉静学号20
指导教师贺娟 雷李
考核项目
设计50分
平时成绩20分
答辩30分
设计质量20分
创新设计15分
报告质量15分
熟练程度20分
个人素质10分
得分
总分
考核等级
教师签名
简易数字时钟实验报告
This design USES AT89C51 internal timer function, and external digital tube, drive circuit together constitute electronic clock circuit can adjust 24\12 hours to make timing way, time display using a four, a two altogether Yang LED digital tube dynamic display. The whole circuit adopts 5V power supply, and have integral point to announce the function.
八、参考文献------------------------------------------------------------------------------------------------12
九、附录-------------------------------------------------------------------------------------------------------12
unsigned char code disp[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//位扫描
unsigned char data disdata[6];
void Delayms(int ms) //延时函数
{
while(ms)
{
unsigned char i;
for (i=0; i<120; i++);
二、概述
随着电子技术的大量应用,单片机作为微型计算机技术基础得到了广泛的应用,在工业控制技术、数据采集系统、智能化仪器仪表、办公自动化等领域中都有出色表现,成为计算机控制技术应用与生产实践最普遍的代表。本次课程设计的简易数字钟就是应用单片机技术的一个小的生活代表。
在本次课程设计中,本人主要负责硬件电路的制定、修正以及软件程序的调试。
3.4元器件清单
四、软件设计
4.1系统模块层次结构
4.2程序流程图
4.3源程序
#include<reg51.h>
sbit BUZ =P3^3;
sbit HOURADD=P3^0;//小时加1
sbit MITADD=P3^1;//分钟加1
sbit change=P3^2;//进制转换
unsigned int tmcnt;//定时器计数
一、摘要---------------------------------------------------------------------------------------------------------2
二、概述---------------------------------------------------------------------------------------------------------2
六、测试------------------------------------------------------------------------------------------------------11
七、总结-------------------------------------------------------------------------------------------------------11
三、硬件电路设计-------------------------------------------------------------------------------------------2
3.1方案比较及选择------------------------------------------------------------------------------------2
设计的简易数字钟能够实现以下功能:
1.准确显示“时”、“分”、“秒”,24小时制;
2.具有整点报时功能,在每小时59分51秒、53秒、55秒、57秒发出低音,59
秒整发出高音;
3.具有校时功能,用户可修改“时”、“分”,且互不影响;
4.可切换12小时制和24小时制。
三、硬件电路设计
3.1方案比较及选择
3.2原理框图---------------------------------------------------------------------------------------------4
3.3工作原理---------------------------------------------------------------------------------------------4
1.方案一
简易的时钟,具有,整点报时的功能。但是没有秒钟的显示。接通电源后,程序开始执行。K1为设置现在时间功能键;K2为小时调整,按一下小时加一;K3为分钟调整,按一下为分钟加一;K4为完成键,设置完成后按下时钟进入正常的走时状态。
其中,P0口接的电阻为限流电阻,选用的数码显示管所需电流比较小;4位LED数码管的共阳极引脚分别与V1-V4三极管的集电极相连,三极管的基极分别通过限流电阻与单片机的P2端口的P2.0-P2.3引脚上。4位数码管显示器分别由4只三极管控制,例如,P2.0输出为低电平时V4三极管导通,与其相连的共阳极数码管显示器开始工作;P2.0输出高电平时V4三极管截止,与其相连的数码管显示器停止工作。
(4)实验室提供的数码管显示器是4位,2位。没有方案一的6位,要配合提供的东西修改方案。
因此,本次课程设计采用的是方案二的硬件电路设计。
3.2原理框图
3.3工作原理
单片机的20脚接地,40脚接+5V。由晶振提供单片机的时钟震荡,由示波器检测为11.99998MHz,即约12MHz,使单片机实现内部时钟的运行方式。单片机的9脚接入上电复位的一般电路。按键输入控制单片机的程序入口,单片机内部的定时器提供一般时钟的计时要求,通过驱动电路实现数码管显示器的显示和蜂鸣器的整点报时等功能。
4.3源程序-------------------------------------------------------------------------------------------------7
五、调试过程------------------------------------------------------------------------------------------------10
3.4元器件清单------------------------------------------------------------------------------------------4
四、软件设计--------------------------------------------------------------------------------------------------5
disdata[5]=s%10;//秒钟低位
for(i=0;i<6;i++)//循环显示
{
P1=0xff;
P1=seg7[disdata[i]];
P2=disp[i];
wenku.baidu.comDelayms(2);//显示延时
}
}
void time0(void)interrupt 1 using 0 //时间计数函数
{
TH0=0xfc;//(65536-20000)/256;