没有合适的资源?快使用搜索试试~ 我知道了~
时钟程序电子时钟将秒数逢60进1取出时、分、秒显示
需积分: 15 7 下载量 9 浏览量
2009-05-16
11:34:12
上传
评论
收藏 1KB TXT 举报
温馨提示
试读
2页
电子时钟将秒数逢60进1取出时、分、秒显示
资源推荐
资源详情
资源评论
电子时钟将秒数逢60进1取出时、分、秒显示
编程思路:主程序开始后先初始化;再用定时器T1定时100Ms加软件延时产生1s脉冲,用变量a计秒数;之后将a中的秒数转化为时钟数、分钟数和秒钟数,各两位,存在数组sz[]中,从sz[0]到sz[5]分别时钟数分钟数和秒钟数;最后用现实子程序将数组sz[]中的数显示出来。(主频6MHz,不能校时)
#include<reg52.h>
#define uchar unsigned char
code uchar TAB[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar sz[6];
unsigned int i,a,b,c; /*秒数a必须用无符号整型数*/
void bin_hms() /*将a中的秒数转化为时,分和秒数的子函数*/
{
if(a>=46800)a=a-43200; /*若秒数大于46800s(13h)需减43200s(12h)*/
sz[0]=a/3600;
sz[1]=a/3600%10;
sz[2]=a%3600/600;
sz[3]=a%3600/60%10;
sz[4]=a%60/10;
sz[5]=a%60%10;
}
void delay()
{
for(i=0;i<12;i++);
}
void disp()
{
while(!TF1)
{
P1=0x00;
P3=0xdf;
编程思路:主程序开始后先初始化;再用定时器T1定时100Ms加软件延时产生1s脉冲,用变量a计秒数;之后将a中的秒数转化为时钟数、分钟数和秒钟数,各两位,存在数组sz[]中,从sz[0]到sz[5]分别时钟数分钟数和秒钟数;最后用现实子程序将数组sz[]中的数显示出来。(主频6MHz,不能校时)
#include<reg52.h>
#define uchar unsigned char
code uchar TAB[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar sz[6];
unsigned int i,a,b,c; /*秒数a必须用无符号整型数*/
void bin_hms() /*将a中的秒数转化为时,分和秒数的子函数*/
{
if(a>=46800)a=a-43200; /*若秒数大于46800s(13h)需减43200s(12h)*/
sz[0]=a/3600;
sz[1]=a/3600%10;
sz[2]=a%3600/600;
sz[3]=a%3600/60%10;
sz[4]=a%60/10;
sz[5]=a%60%10;
}
void delay()
{
for(i=0;i<12;i++);
}
void disp()
{
while(!TF1)
{
P1=0x00;
P3=0xdf;
资源评论
lynnjenny
- 粉丝: 0
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功