標(biāo)題:
51單片機(jī)制作一個定時鬧鐘程序
[打印本頁]
作者:
12eds
時間:
2020-5-23 22:36
標(biāo)題:
51單片機(jī)制作一個定時鬧鐘程序
這里是源碼部分
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit we=P2^7;
sbit du=P2^6;
uchar code table[]={0x3f,0x06,0x5B,0x4F,0x66,
0x6D,0x7D,0x07,0x7F,0x6F,
0x77,0x7C,0x39,0x5E,0x79,
0x71,0x76,0x38,0x37,0x3E,
0x73,0x5C,0x40,0x00,};
uchar num=0,aa,s,g,m,f,h;
void delay(uchar x);
void main()
{
TMOD=0x01; //設(shè)置內(nèi)部中斷0,1的工作方式為方式1
EA=1; //開總中斷
ET0=1; //允許中斷
TR0=1; //開中斷0
TH0=0x4c;
TL0=0x00;
while(1)
{
du = 1;
P0 = 0;
du = 0;
we = 1;
P0 = 0x3e;
we = 0;
du = 1;
P0 = table[s]; //十位
du = 0;
delay(10);
du = 1;
P0 = 0;
du = 0;
we = 1;
P0 = 0x3d;
we = 0;
du = 1;
P0 = table[g]; //個位
du = 0;
delay(10);
du = 1;
P0 = 0;
du = 0;
we = 1;
P0 = 0x1f; //顯示分鐘
we = 0;
du = 1;
P0 = table[m];
du = 0;
delay(10);
du = 1;
P0 = 0;
du = 0;
we = 1;
P0 = 0x2f;
we = 0;
du = 1;
P0 = table[h];
du = 0;
delay(10);
if(aa == 20)
{
aa = 0;
if(num == 59)
{
num = 0;
f++;
}
else
num++;
s = num/10;
g = num%10;
m = f%10;
h = f/10;
}
if(h == 6)
f = 0;
}
}
void timer0() interrupt 1 //內(nèi)部中斷0
{
TH0=0x4c;
TL0=0x00;
aa++;
}
void delay(uchar x)
{
uchar y,z;
for(y=x;y>0;y--)
for(z=120;z>0;z--)
}
復(fù)制代碼
作者:
admin
時間:
2020-5-24 19:24
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1