#include <reg51.h>
#define BYTE unsigned char
sbit sw4=P2^6;
sbit sw3=P2^5;
sbit sw2=P2^4;
sbit a=P1^0;
sbit P3_3=P3^3;
sbit P3_2=P3^2;
unsigned int sec=0,min=0,hour=0,t=0;
code unsigned char dis_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} ;//0--9段码表
BYTE led8[6] ;
void delay(unsigned int DelayTime)
{ unsigned int j=0;
for( ;DelayTime>0;DelayTime--)
{for(j=0;j<2;j++)
{;}
}
}
void display_led(void)
{P2=0xfb ;
P0=dis_code[led8[0]];
delay(10);
P2=0xf7 ;
P0=dis_code[led8[1]];
delay(10);
P2=0xef ;
P0=dis_code[led8[2]];
delay(10);
P2=0xdf ;
P0=dis_code[led8[3]];
delay(10);
P2=0xbf ;
P0=dis_code[led8[4]];
delay(10);
P2=0x7f;
P0=dis_code[led8[5]];
delay(10);
}
void intt0(void)interrupt 0 using 2
{
EA=0;
if(sw2==0)
{delay(6000) ;
if(sw2==0)
while(sw2==0)
;
{if(sw2==1)
{ sec++;
if(sec==60)
{sec=0;
sw2=1;
}
}
}
}
if(sw3==0)
{delay(6000) ;
if(sw3==0)
while(sw3==0)
;
{if(sw3==1)
{ min++;
if(min==60)
{min=0;
sw3=1;
}
}
}
}
if(sw4==0)
{delay(6000) ;
if(sw4==0)
while(sw4==0)
;
{if(sw4==1)
{ hour++;
if(hour==24)
{hour=0;
sw4=1;
}
}
}
}
EA=1;
}
void time1(void)interrupt 1 using 1 //定时器0,每秒sec加1
{
t++;
TH0=0x3c;
TL0=0xb0;
if(t==20)
{
sec++;
t=0;
}
}
//秒,分,时循环;对数码管每位赋值;并把八段码送给P0口_______________________
void time_change()
{ unsigned int p;
if(sec==60)
{sec=0;
min++;
if(min==60)
{min=0;
hour++;
if(hour==24)
hour=0;
}
}
ET0=0;
led8[5]=hour/10;
led8[4]=hour%10;
led8[3]=min/10;
led8[2]=min%10;
led8[1]=sec/10;
led8[0]=sec%10;
ET0=1;
for(p=0;p<3;p++)
display_led();
}
void set(bit sw) //检测按键子程序
{if(sw==0)
{ P3_3=0;
P3_2=0;
}
if(sw==1)
{ P3_3=0;
P3_2=1;
}
}
void time_set() //检测按键
{ set(sw2);
set(sw3);
set(sw4);
}
void initial() //处初始化
{EA=1;
ET0=1;
IT0=1;
EX0=1;
IP=0x01;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
TR0=1;
P0=0xff;
P1=0xff;
P2=0xff;
P3_3=1;
}
main()
{initial();
while(1)
{
time_change();
time_set();
}
}
weixin_42653672
- 粉丝: 109
- 资源: 1万+
最新资源
- 高校毕业生就业信息-JAVA-基于springboot的高校毕业生就业信息管理系统(毕业论文)
- node-red-contrib-opcua-test.json
- 高校社团管理-JAVA-基于springBoot的高校社团管理系统的设计与实现(毕业论文)
- 基于pytorch实现的ghostnetv1、v2、v3对10种鸟类图像识别【完整代码+数据集】
- 医疗设备管理-JAVA-基于springboot的医疗设备管理系统设计与实现(毕业论文)
- 基于AT89C52单片机的6位电子密码锁设计-14.zip
- 解决用STM32CubeMX配置FreeRTOS时头文件丢失问题
- 古城景区-JAVA-基于Spring Boot的古城景区管理系统的设计与实现(毕业论文)
- 2024全国大学生软件测试大赛Web赛项-省赛真题
- 商用密码,我国商用密码行业发展介绍
- 交通旅游订票-JAVA-基于spring boot的交通旅游订票系统设计与实现(毕业论文)
- 商用密码法律法规及标准体系解读V1.8-240827
- 流浪动物救助-JAVA-基于spring boot的流浪动物救助系统的设计与实现(毕业论文)
- Hadoop与Spark集群搭建及中文字频统计与Titanic数据分类实战
- 中国飞行器设计大赛圆筒权重文件
- 学生成绩管理-JAVA-基于spring boot的软件学院学生成绩管理系统的设计与实现(毕业论文)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈