- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子时钟
预备知识: 数码管:
图3.1.4数码管内部原理图
内部接线
LED6I 7^ 4 5 6 7 8 9 on cdchKaE6fg b c即LED5z?— 7-4 5-6 7 X 9 O cd ch_b aE5ftLlwI 7^ 4 5 6 7 X 9 n cd c-h-bT--4f gIwcm
LED6
I 7^ 4 5 6 7 8 9 o
n cdchKaE6fg b c即
LED5
z?
— 7-4 5-6 7 X 9 O cd ch_b aE5ftLl
w
I 7^ 4 5 6 7 X 9 n cd c-h-bT--4f g
I
w
cm
LED3 LED4
I.ED2
1 2 J 5 6 7 X 9 仆 cd c h b a f E-
4 5 6 7 8 9 Q c h b n:2f£_
cd
E
b cdp
:匚」 —2456-7-8 9-0 e-JU- c-h bTTTT
LEDI
C语言程序:
一、电子时钟
(-)设计目的
通过电子时钟综合设计,使学生学会利用8051定时器时间计时处理功能,了解按 键扫描及控制LED数码管显示原理,掌握单片机和按键以及LED数码管硬件电路 设计及控制程序的设计方法。思考按键消除抖动、LED动态显示与静态显示的特 点,从而提高学生解决实际问题的能力。
(-)设计任务及要求
利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟,要求:
在4位数码管上显示当前时间。显示格式“13寸I]寸分分
由LED闪动做秒显示。
利用按键可对吋间及闹玲进行设置,并可显示闹玲吋间。当闹玲时间到蜂鸣 器发出声响,按停止键使可使闹玲声停止。
(三) 我采用的是TB-22766板子,单片机类型是STC89C52RC
(四) 软件设计思想:
采用语言:C语言,主要中断:内部TO中断为唯一的中断,主程序大体分为两部 分:无按键被按下吋的显示,有按键被按下吋,输入定口寸时间或者书输入当前时 间,然后的显示软件,最后是一个蜂鸣器的控制程序。前面是三个子程序:两个 按键扫描和一个延时小程序。
按键的扫描程序设置:
检测所有按键
具体的C语言程序:
基于JD51开发板的电子闹钟程序
5^^ ^Jc ^Jc 5^C 5^C 3^C 5^C ^Jc ^Jc ^Jc 5^C 5^C 5^^ 5^^ 5^^ 5^C 5^C 5^C 5^C 5^^ 5^^ 5^^
* * *
1、 基础功能为计时,并显示当前时间。
2、 秒表功能,按下keyl键进入秒表模式,再次按下key3开始计时,再次按 下keyl停止,按下keyl再次开始计时,按key4跳岀秒表程序。
3、 调时功能,按下key2进入调时模式,key3调小时,key4调分钟,key2 确定并退岀。
4、 闹钟功能,按卜key3进入闹钟设定模式,key3调小时,key4调分钟,key2 确定并退出,当设定时间到达是,响铃,key3可以退出响铃。
5、 观看当前具体时刻,按key4进入,观看当前秒数,约12s后自动退出。 Planed by LD?
****** ** ******************** ** ****************** *** / include “reg52.h”
//#include delay.c
#define uchar unsigned char sbit CE573=P2A5; //
sbit BUZZER=P2A4;
sbit KEY1=P3A3;
sbit KEY2=P3A2;
sbit KEY3=P3A4;
sbit KEY4=P3A5;
sbit KEY5=P3A7;
code unsigned char
digseg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA 1,0x86‘0x8E};
//89AbCdEF
code unsigned char segsel[]={0xfe,0xfd,0xfb,0xf7};
〃数码管段选
int sum=0;
int s=30; 〃当前时间 秒
int mi=0; 〃当前时间 分
int h=0; 〃当前吋间吋
int a;
int b;
int k;
int x”乙xl,x2;
int swt=l;
int swt2=l;
int min=l; 〃闹钟分
int hour=0; //闹钟时
int m=l;〃设定初始参数 unsigned char beat;
code unsigned
song[]={0x82,0x01,0x81,0x94,0x84,0xB4,0xA4,0x04,0x82,0x01,0x81,0x94,0x84,0xC4, 0
文档评论(0)