1、 单片机应用课程设计 电子时钟电子时钟 专专 业:业: 电气工程及其自动化电气工程及其自动化 班班 级:级: 姓姓 名:名: 指导教师:指导教师: 电子时钟设计报告电子时钟设计报告 一一、课题设计目的课题设计目的 数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应 用。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具 备了多媒体的色彩。单片机 STC89C51 在 Proteus 软件中实现数字时钟的定时、 时间调整、闹正设置等功能。具有体积小、功能强可靠性高、价格低廉等一系列 优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们 工作和和生活
2、的各个角落,有力地推动了各行业的技术改造和产品的更新换代, 应用前景广阔。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常 工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系 统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小 决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。 二、实验目的及意义:二、实验目的及意义: 1. 理解学习 LED 数码管显示、以及硬件各引脚的含义 2. 学习 C51 语言的应用。 3. 学习 Proteus、KEIL 软件的应用。 4. 培养解决实际问题的能力。 三三、设计任务及要求、设计任务及要求
3、(系统的主要功能)(系统的主要功能) 1.具有时、分、秒计数显示功能,以24小时循环 2.LED数码管显示时、分、秒的个位和十位 3.可以在任意时刻校准时间 4.能够完成时间的显示、定时闹钟、复位等功能 四、四、工作原理及工作原理及设计流程图设计流程图 主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完 后,就可以显示时间。按键处理是先检测秒按键是否按下,秒按键如果按下,秒 就加 1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加 1; 如果没有按下,就检测时按键是否按下,时按键如果按下,时就加 1;如果没有 按下,就把时间显示出来。 N Y N Y N Y 时加
4、1 显示时间 结束 开始 秒按键按下? 秒加 1 分按键按下? 分加 1 时按键按下? 定时器中断时是先检测 1 秒是否到,1 秒如果到,秒单元就加 1;如果没到, 就检测 1 分钟是否到,1 分钟如果到,分单元就加 1;如果没到,就检测 1 小时 是否到,1 小时如果到,时单元就加 1,如果没到,就显示时间。 N 24 小时到? 分单元清零,时单元加 1 N N N Y Y 时单元清零 时间显示 中断返回 开始 一秒时间到? 60 秒时间到? 60 分钟到? 秒单元加 1 秒单元清零,分单元加 1 Y Y 五、硬件原理图五、硬件原理图 六、程序源代码六、程序源代码 /* 硬件连接: 数码管:
5、段码为:P1 位码分别为:P2.5P2.0 蜂鸣器:P2.7 功能键 k1:P3.4 加建 k2:P3.5 减键 k3:P3.6 */ #include /51 头文件 sbit smg1=P25;/位码 1 声明 sbit smg2=P24;/位码 2 声明 sbit smg3=P23;/位码 3 声明 sbit smg4=P22;/位码 4 声明 sbit smg5=P21;/位码 5 声明 sbit smg6=P20;/位码 6 声明 sbit k1=P34; /按键 k1 的声明 sbit k2=P35; /按键 k2 的声明 sbit k3=P36; /按键 k3 的声明 sbit
6、beep=P27; /蜂鸣器声明 /*定义一些变量*/ char d=0,e=0,a=0,b=0,n=0,shi=12,fen=0,miao=0,b_shi=6,b_fen=30,b_miao=0; char code table=/共阳级数码管码表 0-9 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; void init();/初始化函数声明 void delay(int z); /带参数延时函数声明 void display(char s,f,m);/带参数显示函数声明 void key();/按键控制函数声明 void main()/主函数 init(); /调用初始化函数 while(1)/主函数内大循环 if(d=0) ke