基于51单片机的电子时钟设计
成绩
课程论文
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目, 数字电子时钟的设计
学生姓名, 朱浔 学生学号, 1008030335 系 别, 电气学院
专 业, 电子信息
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
年 级, 10级
任课教师, 权楯忠
目 录
一.课程设计目的 .................................................................................................... - 2 - 二.课程设计题目描述和要求 ................................................................................ - 2 - 三.课程设计报告内容 ............................................................................................ - 2 - 3.1、设计思路 ......................................................................................................- 2 - 3.2、
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
设计与论证 ..........................................................................................- 3 -
3.2.1数码管显示选择方案............................................................................. - 4 -
3.2.2数码管驱动选择方案............................................................................. - 4 - 3.3、 设计原理、程序及流程图 ........................................................................- 5 -
3.3.1流程图..................................................................................................... - 5 -
3.3.2电路原理图............................................................................................. - 6 -
3.3.3 C语言程序及说明................................................................................. - 6 - 3.4、PROTUES仿真图,及作品成型图 ..................................................................- 9 -
3.4.1 protues 仿真图.................................................................................... - 9 -
3.4.2实践电路板照片........................................................错误~未定义
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
签。 3.5安装与调试结果 ...........................................................................................- 10 -
3.5.1电路安装............................................................................................... - 10 -
3.5.2电路调试............................................................................................... - 10 -
3.5.3 软件调试.............................................................................................. - 11 -
3.5.4 性能测试.............................................................................................. - 11 - 四.总结................................................................................................................... - 11 -
- 1 -
参考书目................................................................................................................. - 12 -
数字电子钟的设计
学生:朱浔
指导老师:权楯忠
电气信息工程学院电子信息工程专业
一.课程设计目的:
1、巩固和加深对单片机原理知识的理解和运用; 2、进一步提高学生综合运用所学知识的能力; 3、培养学生综合分析问题、发现问题和解决问题的能力。
二.课程设计题目描述和要求:
1、方案论证,确定总体电路原理图。
2、元器件选择,设计PCB图(或用万能电路实验板搭线)。 3、绘制程序流程图,编写C语言源程序。
4、安装调试,实现数字时钟的基本功能,即能正确显示时、分、秒;可调整时
间;秒闪功能。
三.课程设计报告内容:
3.1、设计思路:
3.1.1根据所需实现的功能画出程序流程图,如3.5所示。 3.1.2将电路按照3.6原理图焊接起来,定义开关K1,K2,K3分别接单片机的
- 2 -
P3.2,P3.2,P3.5引脚。
3.1.3用软件延时对K1,K2,K3进行两级防抖。启动系统,中断初始化,定时
器0只用来做计时,定时器1根据需要可选择进入定时模式或者计数模式。
外部中断1,2用来等待外部按键的按下。
3.1.4当先按下K1时,进入外部中断0,主函数调用时间显示函数,定时器1
处于计数工作模式,num=num+1,num为1时按K2,K3对小时进行加减来调
整小时位,num=2按K2,K3对分进行调整,当num=3按K2,K3对秒进行调
整,当num=4时就对num进行清零,跳出时间调节。
3.1.5当先按下K2时,进入外部中断1,cmd=cmd+1,主函数调用秒
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
显示函数,
进入秒表状态,此时将定时器1的工作模式改为计时,使其每10ms进行一次
中断,并设定当cmd位偶数时进行秒表计时,当cmd为奇数时停止秒表计时。
K1用来对秒表进行清零,在秒表处于00-00-00状态时,按K1退出秒表,进
入时间显示状态。
3.2、方案设计与论证:
电 源
模
块
单驱
片动
模机
块 模按 块 键
模
LED显示模块 块
图1 系统整体框图
整个系统用单片机作为中央控制器,由单片机执行采集芯片内部时钟信号,时钟信号通过单片机I/O口传给单片机,单片机模块控制驱动模块驱动显示模块,通过显示模块来实现信号的输出、LED的显示及相关的控制功能。系统设有按键模块用于对时间进行调整及扩展多个小键盘。
- 3 -
3.2.1数码管显示选择方案
方案一:静态显示。静态显示,即当显示器显示某一字符时,相应的发光二极管恒定导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时较小电流能获得较高的亮度,且字符不闪烁。但因当所需显示的位数较多时,静态显示所需的I/O口数较大,造成资源的浪费。
方案二:动态显示。动态显示,即各位数码管轮流点亮,对于显示器各位数码管,每隔一段延时时间循环点亮一次。利用人的视觉暂留功能可以看到整个显示,但须保证扫描速度足够快,人的视觉暂留功能才可察觉不到字符闪烁。显示器的亮度与导通电流、点亮时间及间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。
从节省单片机芯片I/O口和降低能耗角度出发,本数字电子钟数码管显示选择设计采用方案二。
3.2.2数码管驱动选择方案
方案一:上拉电阻驱动方式。数码管段码与接有上拉电阻的单片机芯片I/O口相连,通过编程,单片机芯片即控制段码电平的高低。该方式经费低,但实物制作较复杂。
方案二:7407芯片驱动方式。数码管段码与7407芯片B口相连,7407芯片A口与单片机芯片I/O口,通过编程,单片机芯片即可控制段码电平的高低。该方式实物制作简单,增强驱动数码管段码能力。
从实物制作简易程度与驱动数码管段码能力角度出发,本数字电子钟数码管驱动选择设计采用方案二。
- 4 -
3.3、 设计原理、程序及流程图:
3.3.1 流程图
启动
对中断初始
化
是 否 是否进入
秒表显示
选择秒表显选择时间显
示功能 示功能
否
是否启否 是否进
动秒表 入调时
是 是
运行秒表 各时间调整
- 5 -
3.3.2电路原理图
3.3.3 C语言程序及说明
#include"reg51.h"
#define uchar unsigned char #define uint unsigned int
code uchar d[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uint second=0,minter=50,hour=11; uint sshi,sge,mge,mshi,hshi,hge; static char court=0;
- 6 -
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P24=P2^4;
sbit P25=P2^5;
sbit P26=P2^6;
sbit P27=P2^7;
sbit P20=P2^0;
void delay() //单个LED延时函数
{uchar i;
for(i=0;i<15;i++);
}
void int1() interrupt 1 using 2 //定时中断响应 定50MS
{ TH0=0x4c; TL0=0x00; court++;
}
void main() //主函数
{
TMOD=0x01; TH0=0x4c; TL0=0x00; EA=1; ET0=1;
TR0=1;
P1=0XFF;
for(;;)
{
sshi=second/10; //求分秒时的个位
sge=second%10;
mshi=minter/10;
mge=minter%10;
hshi=hour/10;
hge=hour%10;
P0=d[sge]; //时分秒在LED的显示
- 7 -
P27=1; //P0口数据输出;P2口选通信号
delay();
P27=0;
P0=d[sshi];
P26=1;
delay();
P26=0;
P0=0xbf;
P25=1;
delay();
P25=0;
P0=d[mge];
P24=1;
delay();
P24=0;
P0=d[mshi];
P23=1;
delay();
P23=0;
P0=0xbf;
P22=1;
delay();
P22=0;
P0=d[hge];
P21=1;
delay();
P21=0;
P0=d[hshi];
P20=1;
delay();
- 8 -
P20=0;
if(court==20) //判断定时1S的时间到了吗 如果到了
就执行IF后面的 ;否则就跳转
{court=0; //执行LED显示程序
second++;
if(second==60)
{ second=0;minter++;
if(minter==60)
{minter=0;hour++;
if(hour==24)
hour=0;
}
}
}
}
}
3.4、protues仿真图,及作品成型图
3.4.1 protues 仿真图
- 9 -
3.5安装与调试结果:
3.5.1电路安装
安照电路原理图把元器件安装到已打好的铜板对应的位置,把个元器件固定在铜板后,用导线把对应的元器件的引脚相连接,再用焊锡焊接好即可。注意事项:
(1)元器件的布局应尽量集中,且各个元器件间引脚的连线应尽量短、不弯 曲,跳线尽量少。
(2)各个元器件引脚的焊接不要虚焊。
3.5.2电路调试
把相应编译好的目标程序代码加载到单片机芯片AT89S51,可接上5V电压源即开始进行硬件电路的调试工作。如果显示结果不符合设计要求,即检查电路各连接点是否正确连接,再次进行硬件电路的调试工作,或是检查代码程序是否符合硬件电路的设计,若有错即进行相应的修改,编译后,再进行硬件电路的调试工作。如此反复操作,直到调试出正确结果。
- 10 -
3.5.3 软件调试
(1) 在计算机上运行程序调试软件Keil,进行程序调试。
(2)利用Proteus 软件进行仿真模拟。
(3)加载程序代码到单片机芯片AT89S51中,进行模拟仿真。若出现错误,查看错误后进行相应修改再进行调试与模拟仿真,直到调试出正确结果。 3.5.4 性能测试
系统上电后进行功能的测试,通过测试观察到,系统上电后数码管上显示时间:11-11-11。通过测试,本作品设计实现了数字电子钟的基本功能,且系统工作稳定。经过全组组员一起调试及验证,计时误差为1.0秒。
四.总结:
本次课程设计的题目是LED数字显示电子时钟。经过本组同学的共同努力,终于调试成功,并经过测试数据显示, 系统的可靠性已经基本能够达到实际电子钟的设计要求,同时本单片机数字电子钟系统具有扩展性。
本设计从经济实用的角度出发,采用美国Atmel公司的单片机AT89S51与显示驱动芯片7407作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、电源输入等电路并用C语言编写主控芯片的控制程序,研制了一款可以调时并带有秒表功能的电子时钟。使用单片机制作的电子时钟具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于体育赛事和车站、办公室及家庭等场所,有一定的实用性。此电子时钟严格按照要求设计,基本达到了预期效果,能够正确的显示时分秒的计时,算上是一次比较成功的设计了。
实验中遇到了不少问题,但我们一起改进和综合了如下。
1.按键问题。此设计中,很多功能选择是通过按键开关实现的。在仿真中发现,调整数值时,有时按键反应太快,按一次,跳了几下,使设置时间很不方便。于是用软件延时将按键进行两级防抖,从而大大提高了按钮的可操作性。
2.添加功能问题。此设计中,除了基本的功能外,我们发现没有突出的亮点,于是想到添加一个秒表计时的功能,我们将定时器1进行时分复用,通过按键按下的先后顺序对定时器1的计时或计数进行功能选择,此程序是在调时进行后由开关1控制,进行复位和控制,可以实现叠加计时和清零。
- 11 -
课程设计是培养学生综合运用所学知识,发现实际问题、提出实际问题、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际学习能力、动手能力的具体训练和考察过程。
在此次数字钟设计过程中, 在学习新知识的同时,把在课程中学到的理论知识运用到实际作品设计、操作中,更进一步地熟悉了单片机芯片的结构及掌握了其工作原理和具体的使用方法与相关元器件的参数计算方法、使用方法,了解了电路的开发和制作及课程设计报告的编写。加深了对相关理论知识及专业知识的掌握度,增强自身的动手能力,锻炼及提高了理解问题、分析问题、解决问题的能力,更深刻的体会到了理论联系实际的重要性。
最后,我们组通过此次单片机课程设计不仅仅将我们一学期在单片机课程上的所学很好的应用到了实际设计中,更是将理论知识应用到了实践中,这才是真正的学习,不仅仅是读万卷书,更要行万里路,讲知识与实践有机的结合。也十分感谢老师为我们提供了这次单片机课程设计的机会,我们也通过此次课程设计,更清晰更实际的接触到了单片机。
参考书目:
,1, 蒋辉平,《单片机原理与应用设计》,北京,北京航空航天大学出版社,2007年
等,《单片机原理及应用》,长沙,湖南大学出版社,2004年 ,2, 李鸿
,3, 楼然苗,李光飞,《单片机课程设计指导》,北京,北京航空航天出版社,2007年 ,4, Kenneth A.Reek,《C和指针》,北京,人民邮电出版社,2008年
- 12 -