欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 基于51單片機(jī)的萬(wàn)年歷(實(shí)時(shí)時(shí)鐘) 數(shù)碼管顯示版本 需要ds1302 [打印本頁(yè)]

作者: wxsalan    時(shí)間: 2020-6-11 19:30
標(biāo)題: 基于51單片機(jī)的萬(wàn)年歷(實(shí)時(shí)時(shí)鐘) 數(shù)碼管顯示版本 需要ds1302
最近幫朋友做設(shè)計(jì),各種找萬(wàn)年歷的程序,仿真原理圖,想?yún)⒖迹前l(fā)現(xiàn)好多并不能用,改了好久改的,大家可以放心下載,有任何問(wèn)題,歡迎提問(wèn)
供大家學(xué)習(xí)參考,還請(qǐng)大家不要直接原本照抄

單片機(jī)源程序如下:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit DS1302_SCLK=P1^6;          //1302引腳位變量定義
sbit DS1302_IO=P1^7;
sbit DS1302_RST=P1^5;
sbit ACC_7=ACC^7;           //ACC位變量定義        
sbit ACC_0=ACC^0;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar second,minute,hour,week,day,month,year;    //定義年,月,日,星期,時(shí),分,秒計(jì)數(shù)變量
uchar t1302[]={0x20,0x06,0x11,0x12,0x00,0x00};   //DS1302初值:年,月,日,星期,時(shí),分,秒
void delay (uint x)           //延時(shí)函數(shù)
{
uint i,j;
for(i=x;i>0;i--);
for(j=0;j<120;j++);
}
void display()
{
P0=0;
P2=0xfe;
P0=table[year/16] ;                                       //顯示年的十位
delay(15);
P2=0xff;
P2=0xfd;
P0=(table[year%16])|0X80;                                 //顯示年的個(gè)位  
delay(15);
P2=0xff;
P2=0xfb;   
P0=table[(month/16)]  ;                                   //顯示月的十位
delay(15);
P2=0xff;
P2=0xf7;        
P0=(table[month%16])|0X80;                                //顯示月的個(gè)位        
delay(15);
P2=0xff;
P2=0xef;        
P0=table[day/16];                                         //顯示日的十位      
delay(15);  
P2=0xff;
P2=0xdf;        
P0=table[day%16]|0X80;                                    //顯示日的個(gè)位        
delay(15);
P2=0xff;
P2=0xbf;
P0=table[hour/16] ;                                       //顯示時(shí)的十位
delay(15);
P2=0xff;
P2=0x7f;
P0=(table[hour%16])|0X80;                                 //顯示時(shí)的個(gè)位  
delay(15);  
P2=0xff;
P3=0xfe;        
P0=table[(minute/16)]  ;                                  //顯示分的十位
delay(15);
P3=0xff;
P3=0xfd;        
P0=(table[minute%16])|0X80;                               //顯示分的個(gè)位        
delay(15);
P3=0xff;
P3=0xfb;        
P0=table[second/16];                                      //顯示秒的十位      
delay(15);
P3=0xff;
P3=0xf7;        
P0=table[second%16];                                      //顯示秒的個(gè)位        
delay(15);
P3=0xff;
}
void init()
{
TMOD=0x11;                    //指定定時(shí)/計(jì)數(shù)器的工作方式為3
TH0=0;                        //定時(shí)器T0的高四位=0
TL0=0;                        //定時(shí)器T0的低四位=0
EA=1;                         //系統(tǒng)允許有開(kāi)放的中斷
ET0=1;                        //允許T0中斷
TR0=1;                        //開(kāi)啟中斷,啟動(dòng)定時(shí)器
}
void timer0() interrupt 1                   //中斷函數(shù)讀取1302數(shù)據(jù)
{
second=read_ds1302(0x81);          //讀秒寄存器        
minute=read_ds1302(0x83);          //讀分寄存器           
hour=read_ds1302(0x85);           //讀時(shí)寄存器      
month=read_ds1302(0x89);          //讀月寄存器         
day=read_ds1302(0x87);           //讀日寄存器         
year=read_ds1302(0x8d);           //讀年寄存器         
}


余下代碼在附件keil工程文件中,附件包含proteus仿真原理圖 電子時(shí)鐘數(shù)碼管.zip (43.66 KB, 下載次數(shù): 83)

05.png (69.7 KB, 下載次數(shù): 188)

05.png

04.png (171.15 KB, 下載次數(shù): 177)

04.png

03.png (238.07 KB, 下載次數(shù): 171)

03.png

作者: wxsalan    時(shí)間: 2020-6-11 19:34
有一個(gè)warning是因?yàn)槲以谥骱瘮?shù)中沒(méi)有調(diào)用1302的初始化函數(shù),因?yàn)椴幌霃脑O(shè)定的時(shí)間開(kāi)始走,如有需要可以去掉主函數(shù)init_1302()前面的"//"
作者: hnxtlxx    時(shí)間: 2023-5-22 15:09
請(qǐng)問(wèn)沒(méi)有按鍵,怎么調(diào)時(shí)間?




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1