標題: 基于89C51的日歷時鐘設計 [打印本頁]
作者: HAIDISUN_CAO 時間: 2018-7-2 15:43
標題: 基于89C51的日歷時鐘設計
上原理圖鬧鐘1
鬧鐘
時間
日期
程序。。
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar miao=0,fen=0,shi=0,ri=06,yue=07,nian=18;//年月日時分秒定義
uchar i1=0,i2=0; //判斷按鍵變量
uchar miao1,fen1,shi1,miao2,fen2,shi2,naofen[]={0,0};//調鬧鐘變量
uchar d1,d2,d3,d4,d5; //顯示變量
uchar t1=1,t2=1,t3=1; //顯示延時變量
uint n13,n12,n11,n21,n22,n23,nz1,nz2; //鬧鐘變量
void xianshi();
void init1();
void delayms(uchar ms);
void display(d1,d2,d3,d4,d5);
void naozhong();
int key();
void tiaobiao();
sbit nao1=P1^0; //定義鬧鐘1端
sbit nao2=P1^1; //定義鬧鐘2端
sbit key1=P1^4; //定義按鍵1
sbit key2=P1^5; //定義按鍵2
sbit key3=P1^6; //定義按鍵3
sbit key4=P1^7; //定義按鍵4
uint num[]={0x3F,0x06,0x5B,0x4F,
0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x40,0x80}; //用于顯示的數組 0,1,2,3,4,5,6,7,8,9,-,.
void main() //主程序
{
init1();
while(1)
{
key();
xianshi();
tiaobiao();
naozhong();
}
}
void xianshi() //顯示切換
{
if(i1==0)display(shi,11,fen,11,miao);
if(i1==1)display(nian,10,yue,10,ri);
if(i1==2)display(shi1,10,fen1,10,miao1);
if(i1==3)display(shi2,10,fen2,10,miao2);
}
void delayms(uchar ms) //延時
{
uint z;
for(ms;ms>0;ms--)
for(z=200;z>0;z--);
}
void init1() //定時器1初始化 裝初值
{
TMOD=0x10;
ET1=1;
TH1=(65535-50000)/256;
TL1=(65535-50000)%256;
TR1=1; EA=1;
}
void timer1() interrupt 3 using 1 //定時器1方式1中斷
{
uchar count;
count++;
if(count==20)
{
nz1++;
nz2++;
miao++;
count=0;
if(miao==60)
{
fen++;
miao=0;
if(fen==60)
{
shi++;
fen=0;
if(shi==24)
{
ri++;
shi=0;
if((yue==1||3||5||7||8||10||12)&&(ri==33))
{
yue++;
ri=1;
}
if((yue==4||6||9||11)&&(ri==32))
{
yue++;
ri=1;
}
if((nian%4==0)&&(yue==2)&&(ri==30))
{
yue++;
ri=1;
}
if((nian%4!=0)&&(yue==2)&&(ri==29))
{
yue++;
ri=1;
}
if(yue==13)
{
nian++;
yue=1;
if(nian==99)nian=0;
}
}
}
}
}
TH1=(65535-50000)/256;
TL1=(65535-50000)%256;
}
void naozhong() //鬧鐘
{
n13=miao1-miao;
n12=fen1-fen;
n11=shi1-shi;
n21=miao2-miao;
n22=fen2-fen;
n23=shi2-shi;
if(i1==2&&key()==3) //調 鬧鐘1
{
if(i2==2)
{
miao1++;
if(miao1==60)miao1=0;
篇幅所限,下載附件
無標題.png (273.33 KB, 下載次數: 39)
下載附件
總原理圖。
2018-7-2 15:38 上傳
鬧鐘19-12-02.jpg (241.91 KB, 下載次數: 27)
下載附件
2018-7-2 15:39 上傳
時間 15.50.13.jpg (241.18 KB, 下載次數: 24)
下載附件
萬年歷
2018-7-2 15:39 上傳
鬧鐘02-12-19.jpg (241.19 KB, 下載次數: 38)
下載附件
鬧鐘
2018-7-2 15:39 上傳
-
時間 18-06-29.jpg
(241.47 KB, 下載次數: 37)
下載附件
2018-7-2 15:39 上傳
時間
-
-
511.rar
2018-7-2 15:43 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
22.92 KB, 下載次數: 29, 下載積分: 黑幣 -5
包括DSN原理圖和HEX文件
作者: bx5517 時間: 2018-9-22 01:48
很好很強大
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |