?? cd4094.c
字號:
#include <at89x51.h>
#include <DS1302.h>
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
unsigned char time[]={0,0,0,0,0,0};//用來儲存時間
SYSTEMTIME time1; //在ds1302.h文件中已經定義了一個名字為SYSTEMTIME的結構體,在這里我們定義一個變量名
//為time的SYSTEMTIME結構體
void delay(unsigned char i) //延時子程序
{
unsigned char j;
while((i--)!=0)
{
for(j=123;j>0;j--);
}
}
void display(qian,bai,shi,ge,fen,miao) //顯示子程序
unsigned char qian,bai,shi,ge,fen,miao;
{
P2=0xfe;
SBUF=dispcode[qian];
P3_2=1;
delay(3);
P3_2=0;
P2=0xfd;
SBUF=dispcode[bai];
P3_2=1;
delay(3);
P3_2=0;
P2=0xfb;
SBUF=0x40;
P3_2=1;
delay(3);
P3_2=0;
P2=0xf7;
SBUF=dispcode[shi];
P3_2=1;
delay(3);
P3_2=0;
P2=0xef;
SBUF=dispcode[ge];
P3_2=1;
delay(3);
P3_2=0;
P2=0xdf;
SBUF=0x40;
P3_2=1;
delay(3);
P3_2=0;
P2=0xbf;
SBUF=dispcode[fen];
P3_2=1;
delay(3);
P3_2=0;
P2=0x7f;
SBUF=dispcode[miao];
P3_2=1;
delay(3);
P3_2=0;
}
void main()
{
Initial_DS1302(); //初始化DS1302這個時鐘芯片,
while(1) //無限地循環
{
DS1302_GetTime(&time1); //讀取時間參數
time[5]=(time1.Second)%10; //把秒的個位數據存入time[5]
time[4]=(time1.Second)/10; //把秒的十位數據存入time[4]
time[3]=(time1.Minute)%10; //把分的個位數據存入time[3]
time[2]=(time1.Minute)/10; //把分的十位數據存入time[2]
time[1]=(time1.Hour)%10; //把時的個位數據存入time[1]
time[0]=(time1.Hour)/10; //把時的十位數據存入time[0]
display(time[0],time[1],time[2],time[3],time[4],time[5]); //顯示時間
}
}
void uart() interrupt 4
{
TI=0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -