找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3117|回復(fù): 1
收起左側(cè)

基于89C51的日歷時(shí)鐘設(shè)計(jì)

[復(fù)制鏈接]
ID:361773 發(fā)表于 2018-7-2 15:43 | 顯示全部樓層 |閱讀模式
上原理圖鬧鐘1
鬧鐘
時(shí)間
日期


程序。。
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar miao=0,fen=0,shi=0,ri=06,yue=07,nian=18;//年月日時(shí)分秒定義
uchar i1=0,i2=0;                      //判斷按鍵變量
uchar miao1,fen1,shi1,miao2,fen2,shi2,naofen[]={0,0};//調(diào)鬧鐘變量
uchar d1,d2,d3,d4,d5;                  //顯示變量
uchar t1=1,t2=1,t3=1;                  //顯示延時(shí)變量
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};            //用于顯示的數(shù)組 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)                //延時(shí)                           
{
uint z;
for(ms;ms>0;ms--)
for(z=200;z>0;z--);
}
void init1()                        //定時(shí)器1初始化 裝初值
{
TMOD=0x10;
ET1=1;
TH1=(65535-50000)/256;
TL1=(65535-50000)%256;
TR1=1;                                                                          EA=1;
}
void timer1() interrupt 3 using 1        //定時(shí)器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)                          //調(diào) 鬧鐘1
{
if(i2==2)
{
miao1++;
if(miao1==60)miao1=0;
篇幅所限,下載附件

總原理圖。

總原理圖。
鬧鐘19-12-02.jpg

萬(wàn)年歷

萬(wàn)年歷

鬧鐘

鬧鐘


時(shí)間

時(shí)間

511.rar

22.92 KB, 下載次數(shù): 29, 下載積分: 黑幣 -5

包括DSN原理圖和HEX文件

回復(fù)

使用道具 舉報(bào)

ID:384387 發(fā)表于 2018-9-22 01:48 | 顯示全部樓層
很好很強(qiáng)大
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表