没有合适的资源?快使用搜索试试~ 我知道了~
时钟设计程序 c语言
需积分: 10 1 下载量 169 浏览量
2013-06-04
22:17:38
上传
评论
收藏 7KB TXT 举报
温馨提示
试读
13页
用c语言写的时钟设计电路 AT89C51
资源推荐
资源详情
资源评论
#include<reg51.h>
#include<intrins.h>
//****************************宏定义********************************
#define uchar unsigned char
#define uint unsigned int
//****************************位声明********************************
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
sbit key5=P1^4;
sbit key6=P1^5;
sbit fmq=P2^0;
//************************数码管显示的数值**************************
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
// 0 1 2 3 4 5
0x82,0xf8,0x80,0x90,0xbf,0x0ff};
// 6 7 8 9 - 灭
uchar code wei[]={0x20,0x10,0x08,0x04,0x02,0x01};
//****************************函数声明******************************
void jia();
void jian();
//********************数组定义,数组内含有8 个数值******************
uchar table1[6],table2[6],table3[6];
//**************************时间显示初始值**************************
uchar shi=12,fen=0,miao=0;
//**************************定义全局变量****************************
uchar shi1,fen1,miao1;
uchar shi2,fen2,miao2;
uchar flag, flag1, wss, cnt, cnt1, alm1;
#include<intrins.h>
//****************************宏定义********************************
#define uchar unsigned char
#define uint unsigned int
//****************************位声明********************************
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
sbit key5=P1^4;
sbit key6=P1^5;
sbit fmq=P2^0;
//************************数码管显示的数值**************************
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
// 0 1 2 3 4 5
0x82,0xf8,0x80,0x90,0xbf,0x0ff};
// 6 7 8 9 - 灭
uchar code wei[]={0x20,0x10,0x08,0x04,0x02,0x01};
//****************************函数声明******************************
void jia();
void jian();
//********************数组定义,数组内含有8 个数值******************
uchar table1[6],table2[6],table3[6];
//**************************时间显示初始值**************************
uchar shi=12,fen=0,miao=0;
//**************************定义全局变量****************************
uchar shi1,fen1,miao1;
uchar shi2,fen2,miao2;
uchar flag, flag1, wss, cnt, cnt1, alm1;
// 1 秒等时位闪次数校时闹1 闹2 闹3
uint flag2;
// 蜂鸣
//*********************延时函数,用于动态扫描数码管*****************
void delay(uchar i)
{ uchar x,y;
for(x=i;x>0;x--)
for(y=120;y>0;y--);
}
//*******************************初始化函数*************************
void init()
{ TMOD=0x01; //工作方式1
TH0=0x3c; //定时时间为:50ms (65536-50000)/256
TL0=0x0b0; //(65536-50000)%256
ET0=1; //打开定时器
EA=1; //开总中断
TR0=1; //启动定时器
}
//********************显示子函数,用于显示时间数值*****************
void display()
{ uchar i;
if(cnt!=4||wss==0)
{ table1[0]=miao%10; //分离秒的个位与十位
table1[1]=miao/10;
}
else
{ table1[0]=table1[1]=11;}
if(cnt!=5||wss==0)
{ table1[2]=fen%10; //分离分的个位与十位
table1[3]=fen/10;
uint flag2;
// 蜂鸣
//*********************延时函数,用于动态扫描数码管*****************
void delay(uchar i)
{ uchar x,y;
for(x=i;x>0;x--)
for(y=120;y>0;y--);
}
//*******************************初始化函数*************************
void init()
{ TMOD=0x01; //工作方式1
TH0=0x3c; //定时时间为:50ms (65536-50000)/256
TL0=0x0b0; //(65536-50000)%256
ET0=1; //打开定时器
EA=1; //开总中断
TR0=1; //启动定时器
}
//********************显示子函数,用于显示时间数值*****************
void display()
{ uchar i;
if(cnt!=4||wss==0)
{ table1[0]=miao%10; //分离秒的个位与十位
table1[1]=miao/10;
}
else
{ table1[0]=table1[1]=11;}
if(cnt!=5||wss==0)
{ table1[2]=fen%10; //分离分的个位与十位
table1[3]=fen/10;
剩余12页未读,继续阅读
资源评论
u010957442
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功