日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]#include /*************************ds1302與at89s52引腳連接********************/ sbitT_RST=P3^5; sbitT_CLK=P3^6; sbitT_IO=P3^7; sbitACC0=ACC^0; sbitACC7=ACC^7; unsignedcharseg[]={0x00,0x01,0

#include

/*************************ds1302與at89s52引腳連接********************/
sbitT_RST=P3^5;
sbitT_CLK=P3^6;
sbitT_IO=P3^7;

sbitACC0=ACC^0;
sbitACC7=ACC^7;
unsignedcharseg[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};//0~~9段碼

/******************DS1302:寫入操作(上升沿)*********************/
voidwrite_byte(unsignedcharda)
{
unsignedchari;
ACC=da;
for(i=8;i>0;i--)
{
T_IO=ACC0;
T_CLK=0;
T_CLK=1;
ACC=ACC>>1;
}
}
/******************DS1302:讀取操作(下降沿)*****************/
unsignedcharread_byte(void)
{
unsignedchari;
for(i=0;i<8;i++)
{
ACC=ACC>>1;
T_CLK=1;
T_CLK=0;
ACC7=T_IO;
}
return(ACC);
}
/******************DS1302:寫入數(shù)據(jù)(先送地址,再寫數(shù)據(jù))***************************/
voidwrite_1302(unsignedcharaddr,unsignedcharda)
{
T_RST=0;//停止工作
T_CLK=0;
T_RST=1;//重新工作
write_byte(addr);//寫入地址

write_byte(da);
T_RST=0;
T_CLK=1;
}
/******************DS1302:讀取數(shù)據(jù)(先送地址,再讀數(shù)據(jù))**************************/
unsignedcharread_1302(unsignedcharaddr)
{
unsignedchartemp;
T_RST=0;//停止工作
T_CLK=0;
T_RST=1;//重新工作
write_byte(addr);//寫入地址
temp=read_byte();
T_RST=0;
T_CLK=1;//停止工作
return(temp);
}


/***********************延時程序=a*1ms**************************************/
voiddelay(unsignedchara)
{
unsignedchari;
while(a--!=0)
{
for(i=0;i<125;i++);
}
}

/***********************顯示程序**********************************************/
/*動態(tài)掃描條件(單個LED在1秒內(nèi)):count>=50次//點亮次數(shù)*/
/*time>=2ms//持續(xù)時間*/
/*DS1302秒,分,時寄存器是BCD碼形式:用16求商和余進行"高4位"和"低4位"分離*/
/*0x00,0x10,0x30,0x40,0x60,0x70:位選*/
/****************************************************************************/
voidled_disp(unsignedchar*poi)
{
P0=seg[*poi%16];//第1個數(shù)碼管:顯示秒(個位);
delay(2);//持續(xù)2ms
P0=0xff;//消影
P0=seg[*poi/16]^0x10;//第2個數(shù)碼管:顯示秒(十位);
delay(2);
P0=0xff;
poi++;
P0=seg[*poi%16]^0x30;//第4個數(shù)碼管:顯示分(個位)
delay(2);
P0=0xff;
P0=seg[*poi/16]^0x40;//第5個數(shù)碼管:顯示分(十位)
delay(2);
poi++;
P0=0xff;

P0=seg[*poi%16]^0x60;//第7個數(shù)碼管:顯示時(個位)
delay(2);
P0=0xff;

P0=seg[*poi/16]^0x70;//第8個數(shù)碼管:顯示時(十位)
delay(2);
P0=0xff;
}
/************************主程序**********************************************/
voidmain(void)
{
unsignedcharclk_time[3]={0x00,0x00,0x12};//秒,分,時寄存器初始值
unsignedchartemp=0x80;
unsignedchari;
write_1302(0x8e,0x00);//WP=0寫操作
for(i=0;i<3;i++)
{
write_1302(temp,clk_time);
temp+=2;
}
write_1302(0x8e,0x80);//WP=1寫保護
while(1)
{
led_disp(clk_time);
temp=0x81;
for(i=0;i<3;i++)
{
clk_time=read_1302(temp);
temp+=2;
}
}
}

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉