• 大小: 89KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: 51单片机  

资源简介

基于51单片机的作息时间控制,含声光提醒,时钟闹钟显示且均可调, keil工程、proteus工程都已打包上传,内含使用说明,欢迎大家互相借鉴学习。

资源截图

代码片段和文件信息

/* **************************************************************
P0?????????P2^4-P2^7?????P3_2????? P1_3????1P1_1????1P1_2??????
************************************************************* */
#include
#include
#define uchar unsigned char;
#define uint unsigned int;
sbit ss=P1^4;
sbit sb1=P1^2;
sbit sb2=P1^3;
sbit sb3=P1^1;
sbit beep=P1^5;
uchar dcode[]={0x3F0x060x5B0x4F0x660x6D0x7D0x070x7F0x6F};//???????
uchar wcode[]={0x7F0xBF0xDF0xEF0xFF};//???????
//uchar dcode[]={0xC00xF90xA40xB00x990x920x820xf80x800x90};//???????
//uchar wcode[]={0x010x020x040x080x00};//???????
uchar count=0second=0minute=5hour=10ji=0;
unsigned char dhour[]={1000}dminute[]={700};
uchar flag1=2flag3=0;
bit flag2=0;   //flag1?1?2?????flag1?0????????flag2=0????
void init(void);
void delay(void);
void disp(void);
void int0(void);
scan(unsigned char);
void set(void);
void timer(void);
void match(void);
void tiao(void);

void main(void)
{
init();
while(1)
{
    disp();
tiao();
match();
if(flag1==0||flag1==1)
{
set();
}
}
}
void init(void) //???
{
IT0=1; //????  
EX0=1;
TMOD=0x01;
TH0=0x3c;
  TL0=0xb0; //???0???50ms????
EA=1; 
TR0=1;
ET0=1;
}
void delay(void)    //????
{
    unsigned char ij;
    for(i=1;i>0;i--)
        for(j=142;j>0;j--);
}
void disp(void) //????
{
if(flag1==1||flag1==2)
{
P2=wcode[4];
P0=dcode[hour/10];
P2=wcode[0];
delay();
P2=wcode[4];
P0=dcode[hour%10]; 
P2=wcode[1];
delay();
P2=wcode[4];  
P0=dcode[minute/10];
P2=wcode[2];
delay();
P2=wcode[4];  
P0=dcode[minute%10];
P2=wcode[3];
delay(); 
P2=wcode[4];
if(flag1==2)
flag2=0;

if(flag1==0)
{  
P2=wcode[4];
P0=dcode[dhour[0]/10];
P2=wcode[0];
delay();
P2=wcode[4];
P0=dcode[dhour[0]%10]; 
P2=wcode[1];
delay();
P2=wcode[4];  
P0=dcode[dminute[0]/10];
P2=wcode[2];
delay();
P2=wcode[4];  
P0=dcode[dminute[0]%10];
P2=wcode[3];
delay(); 
P2=wcode[4];
}
}
void tiao(void) //??????
{
if(second>=60)
{
second=0;
minute++;
if(minute>=60)
{
minute=0;
hour++;
if(hour>24)
{
hour=0;
}
}
}
}

void int0(void) interrupt 0 //INT0???????
{
flag1++;
if(flag1>2)flag1=0;
}
scan(unsigned char jj) //?????
{
if(flag1==0)
{
while(1)
{ flag2=1;
if(sb2==0)
{
while(sb2==0)disp();
dhour[jj]=dhour[jj]+1;
if(dhour[jj]>=24){dhour[jj]=0;}
}
if(sb3==0)
{  
while(sb3==0)disp();
dminute[jj]=dminute[jj]+1;
if(dminute[jj]>=60){dminute[jj]=0;}
}
if(flag1!=0)
{
break;
}
disp();
 }
 }
if(flag1==1)
{
  while(1)
{   flag2=1;
if(sb2==0)
{  
while(sb2==0)disp();
hour++;
if(hour>=24)hour=0;
}
if(sb3==0)
{
while(sb3==0)disp();
minute++;
if(minute>=60)minute=0;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-06-25 16:41  作息时间控制器\
     目录           0  2020-06-25 16:40  作息时间控制器\gongcheng\
     文件        9388  2020-06-25 08:37  作息时间控制器\gongcheng\Backup Of 新工程.pdsbak
     文件       22826  2020-06-25 16:39  作息时间控制器\gongcheng\Last Loaded 新工程.pdsbak
     文件       22780  2020-06-25 16:40  作息时间控制器\gongcheng\新工程.pdsprj
     文件        1495  2020-06-25 16:40  作息时间控制器\gongcheng\新工程.pdsprj.LAPTOP-F33L501D.w10.workspace
     目录           0  2020-06-25 16:40  作息时间控制器\zuoxi\
     目录           0  2020-06-25 12:01  作息时间控制器\zuoxi\Listings\
     文件       14151  2020-06-25 12:01  作息时间控制器\zuoxi\Listings\STARTUP.lst
     文件        8580  2020-06-25 12:01  作息时间控制器\zuoxi\Listings\zuoxishijian.lst
     文件       15959  2020-06-25 12:01  作息时间控制器\zuoxi\Listings\zuoxishijiankongzhi.m51
     目录           0  2020-06-25 12:01  作息时间控制器\zuoxi\objects\
     文件         828  2020-06-25 12:01  作息时间控制器\zuoxi\objects\STARTUP.obj
     文件       11864  2020-06-25 12:01  作息时间控制器\zuoxi\objects\zuoxishijian.obj
     文件       10591  2020-06-25 12:01  作息时间控制器\zuoxi\objects\zuoxishijiankongzhi
     文件        1069  2020-06-25 12:01  作息时间控制器\zuoxi\objects\zuoxishijiankongzhi.build_log.htm
     文件        3305  2020-06-25 12:01  作息时间控制器\zuoxi\objects\zuoxishijiankongzhi.hex
     文件         153  2020-06-25 12:01  作息时间控制器\zuoxi\objects\zuoxishijiankongzhi.lnp
     文件        6376  2015-05-29 12:09  作息时间控制器\zuoxi\STARTUP.A51
     文件        3708  2020-06-25 12:01  作息时间控制器\zuoxi\zuoxishijian.c
     文件       70609  2020-06-25 16:40  作息时间控制器\zuoxi\zuoxishijiankongzhi.uvgui.w10
     文件        5405  2020-06-25 16:40  作息时间控制器\zuoxi\zuoxishijiankongzhi.uvopt
     文件       14061  2020-06-25 16:40  作息时间控制器\zuoxi\zuoxishijiankongzhi.uvproj
     文件         143  2020-06-25 16:43  作息时间控制器\说明.txt

评论

共有 条评论