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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 繼電器定時(shí)器程序#include//器件配置文件#defineucharunsignedchar//變量類型的宏定義#defineuintunsignedintucharDATA_7SEG[10]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};/*0~9的數(shù)碼管段

繼電器定時(shí)器程序

#include//器件配置文件
#defineucharunsignedchar//變量類型的宏定義

#defineuintunsignedint
ucharDATA_7SEG[10]={0xfc,0x60,0xda,0xf2,0x66,
0xb6,0xbe,0xe0,0xfe,0xf6};/*0~9的數(shù)碼管段碼*/
ucharx[4];/*存放走時(shí)的數(shù)組*/
uchary[4]={0,0,0,0};/*存放定時(shí)1的數(shù)組*/
ucharz[4]={0,0,0,0};/*存放定時(shí)2的數(shù)組*/
ucharact[4]={0xfe,0xfd,0xfb,0xf7};/*四位數(shù)碼管的位選碼*/
voiddelay(uintk);//延時(shí)子函數(shù)聲明
voidconv();//走時(shí)轉(zhuǎn)換子函數(shù)聲明
voidp_out();//判別定時(shí)到否子函數(shù)聲明
voidp_out1();//判別定時(shí)到否子函數(shù)1聲明
voidt_adj();//走時(shí)調(diào)整子函數(shù)聲明
uchardEDA=0;/*100mS計(jì)數(shù)單元清零*/
bitd_05s=0;/*0.5秒標(biāo)志*/
bito_f1=0;/*定時(shí)1啟/停標(biāo)志*/
bito_f2=0;/*定時(shí)2啟/停標(biāo)志*/
ucharset=0;/*功能鍵標(biāo)志*/
ucharh=0;
ucharn=0;
ucharm=0;
ucharflag;
ucharleft=0;
ucharsec=0;
ucharmin=0;
ucharhour=0;
ucharmin1=0;
ucharhour1=0;
ucharmin2=0;
ucharhour2=0;
ucharup=0;
bitflag1=0;
bitflag2=0;

/*顯示走時(shí)*/
voidtime()
{
for(h=0;h<4;h++)
{P1=DATA_7SEG[x[h]];//輸出數(shù)碼管的字形碼
P3=act[h];p_out();//輸出數(shù)碼管的位碼。判斷輸出
if(P3_2==0){if(d_05s==1)P1_0=1;elseP1_0=0;}/*百位數(shù)碼管點(diǎn)亮?xí)r,控制小數(shù)點(diǎn)
(秒點(diǎn))閃爍*/
delay(2);}//每位數(shù)碼管點(diǎn)亮2ms
if(o_f1==1){P1=0x01;P3_3=1;P3_2=1;P3_1=0;P3_0=1;}/*若定時(shí)1啟動(dòng),
點(diǎn)亮十位數(shù)碼管小數(shù)點(diǎn)*/
else{P1=0x00;P3_3=1;P3_2=1;P3_1=1;P3_0=1;}p_out();/*否則十位數(shù)碼管
小數(shù)點(diǎn)不亮*/
delay(2);
if(o_f2==1){P1=0x01;P3_3=1;P3_2=1;P3_1=1;P3_0=0;}/*若定時(shí)2啟動(dòng),
點(diǎn)亮個(gè)位數(shù)碼管小數(shù)點(diǎn)*/
else{P1=0x00;P3_3=1;P3_2=1;P3_1=1;P3_0=1;}p_out();/*否則個(gè)位數(shù)碼管
小數(shù)點(diǎn)不亮*/
delay(2);
}

/*定時(shí)器T0初始化*/
voidinit_timer0()
{
TMOD=0x11;
TH0=-(50235/256);
TL0=-(50235%256);
IE=0x8a;
TR0=1;
}

/*定時(shí)器T1初始化*/
voidinit_timer1()
{
TH1=-(5000/256);
TL1=-(5000%256);
}


/*延時(shí)k*1ms子函數(shù)*/
voiddelay(uintk)
{
uinti,j;
for(i=0;ifor(j=0;j<60;j++)
{;}}
}

/*100mS定時(shí)中斷服務(wù)子函數(shù)*/
voidzd0(void)interrupt1
{
TH0=-(50235/256);//重裝100ms定時(shí)初值
TL0=-(50235%256);
deda++;//100ms計(jì)時(shí)單元遞增
}

/*10mS定時(shí)中斷服務(wù)子函數(shù)*/
voidzd1(void)interrupt3
{uchari,j;i=P1;j=P3;
TH1=-(5000/256);
TL1=-(5000%256);
if(m==1)n++;
if(n>=30){n=0;m=0;}
P3_7=0;
P1=0xff;
if(P1!=0xff)
{
if(n==0)m=1;
{if(n==1)
{
if(P1_0==0){set++;left=0;}
if(set>=4)set=0;
if(set==1)flag=0x55;
if(P1_1==0)left++;
if(left>=4)left=0;
if(P1_2==0){up++;
switch(left)
{
case0:{if(up>=10)up=0;}break;
case1:{if(up>=6)up=0;}break;
case2:{if(up>=10)up=0;}break;
case3:{if(up>=3)up=0;}break;
default:break;
}
}
if(P1_2==0){
switch(set)
{case0:break;
case1:x[left]=up;break;
case2:{y[left]=up;if(P1_3==0)o_f1=!o_f1;}break;
case3:{z[left]=up;if(P1_3==0)o_f2=!o_f2;}break;
default:break;}
}
else{
switch(set)
{case0:break;
case1:up=x[left];break;
case2:{up=y[left];if(P1_3==0)o_f1=!o_f1;}break;
case3:{up=z[left];if(P1_3==0)o_f2=!o_f2;}break;
default:break;}
}}
}}
P1=i;P3=j;
}

/*顯示調(diào)整走時(shí)*/
voidt_adj()
{p_out1();
for(h=0;h<4;h++)//四位數(shù)碼管每位點(diǎn)亮3ms
{if(h==left)P1=0x00;
else{P1=DATA_7SEG[x[h]];
P3=act[h];p_out();
delay(3);}}
P1=DATA_7SEG[up];P3=act[left];
hour=x[3]*10+x[2];min=x[1]*10+x[0];
p_out();
delay(12);//需調(diào)整的數(shù)碼管點(diǎn)亮12ms
if(o_f1==1){P1=0x01;P3_3=1;P3_2=1;P3_1=0;P3_0=1;}/*若定時(shí)1啟動(dòng),
點(diǎn)亮十位數(shù)碼管小數(shù)點(diǎn)*/
else{P1=0x00;P3_3=1;P3_2=1;P3_1=1;P3_0=1;}p_out();/*否則十位數(shù)碼管
小數(shù)點(diǎn)不亮*/
delay(12);//需調(diào)整的數(shù)碼管點(diǎn)亮12ms
if(o_f2==1){P1=0x01;P3_3=1;P3_2=1;P3_1=1;P3_0=0;}/*若定時(shí)2啟動(dòng),
點(diǎn)亮個(gè)位數(shù)碼管小數(shù)點(diǎn)*/
else{P1=0x00;P3_3=1;P3_2=1;P3_1=1;P3_0=1;}p_out();/*否則個(gè)位數(shù)碼管
小數(shù)點(diǎn)不亮*/
delay(12);//需調(diào)整的數(shù)碼管點(diǎn)亮12ms
}

/*顯示調(diào)整定時(shí)1*/
voidt1_adj()
{p_out1();
for(h=0;h<4;h++)//四位數(shù)碼管每位點(diǎn)亮3ms
{if(h==left)P1=0x00;
else{P1=DATA_7SEG[y[h]];
P3=act[h];p_out();
delay(3);}}
P1=DATA_7SEG[up];P3=act[left];//需調(diào)整的數(shù)碼管點(diǎn)亮18ms
hour1=y[3]*10+y[2];min1=y[1]*10+y[0];
p_out();
delay(18);
if(o_f1==1){P1=0x01;P3_3=0;P3_2=1;P3_1=0;P3_0=1;}/*若定時(shí)1啟動(dòng),
點(diǎn)亮十位數(shù)碼管小數(shù)點(diǎn)*/
else{P1=0x01;P3_3=0;P3_2=1;P3_1=1;P3_0=1;}/*否則十位數(shù)碼管
小數(shù)點(diǎn)不亮*/
p_out();
delay(18);//需調(diào)整的數(shù)碼管點(diǎn)亮18ms
}


/*顯示調(diào)整定時(shí)2*/
voidt2_adj()
{p_out1();
for(h=0;h<4;h++)//四位數(shù)碼管每位點(diǎn)亮3ms
{if(h==left)P1=0x00;
else{P1=DATA_7SEG[z[h]];//需調(diào)整的數(shù)碼管點(diǎn)亮18ms
P3=act[h];p_out();
delay(3);}}
P1=DATA_7SEG[up];P3=act[left];
hour2=z[3]*10+z[2];min2=z[1]*10+z[0];
p_out();
delay(18);
if(o_f2==1){P1=0x01;P3_3=1;P3_2=0;P3_1=1;P3_0=0;}/*若定時(shí)2啟動(dòng),
點(diǎn)亮個(gè)位數(shù)碼管小數(shù)點(diǎn)*/
else{P1=0x01;P3_3=1;P3_2=0;P3_1=1;P3_0=1;}/*否則個(gè)位數(shù)碼管
小數(shù)點(diǎn)不亮*/
p_out();
delay(18);//需調(diào)整的數(shù)碼管點(diǎn)亮18ms
}


/*時(shí)、分、秒計(jì)時(shí)單元轉(zhuǎn)換*/
voidconv()
{
if(deda<=5)d_05s=0;//每500ms,秒點(diǎn)取反
elsed_05s=1;
if(deda>=10){sec++;deda=0;}//每1000ms,秒單元遞增
if(sec>=60){min++;sec=0;}//每60s,分單元遞增
if(min>=60){hour++;min=0;}//每60m,時(shí)單元遞增
if(hour>=24){hour=0;}//每24h,時(shí)單元清零
}

/*判別定時(shí)到否子函數(shù)*/
voidp_out()
{
if(o_f1==1)//若定時(shí)1啟動(dòng)
{if(hour==hour1)//定時(shí)1時(shí)間到
{if(min==min1)
{flag1=1;if(d_05s==1)P3_4=0;elseP3_4=1;}}}//繼電器輸出標(biāo)志置1,蜂鳴器間斷鳴響
if(flag1==1)P3_5=0;//若輸出標(biāo)志為1,繼電器吸合

if(o_f2==1)//若定時(shí)2啟動(dòng)
{if(hour==hour2)//定時(shí)2時(shí)間到
{if(min==min2)
{flag1=0;if(d_05s==1)P3_4=0;elseP3_4=1;}}}//繼電器輸出標(biāo)志置0,蜂鳴器間斷鳴響
if(flag1==0)P3_5=1;//若輸出標(biāo)志為0,繼電器釋放
}

/*判別定時(shí)到否子函數(shù)1*/
voidp_out1()
{
if(o_f1==1)//若定時(shí)1啟動(dòng)
{if(hour==hour1)//定時(shí)1時(shí)間到
{if(min==min1)
{flag1=1;}}}//繼電器輸出標(biāo)志置1
if(flag1==1)P3_5=0;//若輸出標(biāo)志為1,繼電器吸合

if(o_f2==1)//若定時(shí)2啟動(dòng)
{if(hour==hour2)//定時(shí)2時(shí)間到
{if(min==min2)
{flag1=0;}}}//繼電器輸出標(biāo)志置0
if(flag1==0)P3_5=1;//若輸出標(biāo)志為0,繼電器釋放
}


/*主函數(shù)*/
voidmain()
{
init_timer0();/*定時(shí)器T0初始化*/
init_timer1();/*定時(shí)器T1初始化*/

while(1)
{
/*將顯示緩沖數(shù)組內(nèi)容移到時(shí)、分計(jì)時(shí)單元*/
hour=x[3]*10+x[2];min=x[1]*10+x[0];
hour1=y[3]*10+y[2];min1=y[1]*10+y[0];
hour2=z[3]*10+z[2];min2=z[1]*10+z[0];
conv();/*時(shí)、分、秒及100mS單元轉(zhuǎn)換*/
/*將轉(zhuǎn)換后的時(shí)、分計(jì)時(shí)單元內(nèi)容移到顯示緩沖數(shù)組*/
x[3]=hour/10;x[2]=hour%10;x[1]=min/10;x[0]=min%10;
y[3]=hour1/10;y[2]=hour1%10;y[1]=min1/10;y[0]=min1%10;
z[3]=hour2/10;z[2]=hour2%10;z[1]=min2/10;z[0]=min2%10;
switch(set)
{
case0:time();break;/*顯示走時(shí)*/
case1:t_adj();break;/*顯示調(diào)整走時(shí)*/
case2:t1_adj();break;/*顯示調(diào)整定時(shí)1*/
case3:t2_adj();break;/*顯示調(diào)整定時(shí)2*/
default:break;
}
if(flag!=0x55)/*判斷RAM受干擾標(biāo)志,若受干擾,
則顯示器閃爍告警*/
{uchari;P3_4=1;P3_5=1;
for(i=0;i<100;i++)/*點(diǎn)亮顯示器200mS*/
{
P1=DATA_7SEG[x[3]];P3=0xf7;delay(1);
P1=DATA_7SEG[x[2]];P3=0xfb;delay(1);
P1=DATA_7SEG[x[1]];P3=0xfd;delay(1);
P1=DATA_7SEG[x[0]];P3=0xfe;delay(1);
}

P1=0xff;P3=0xff;delay(400);/*熄滅顯示器200mS*/
P3_7=0;
/*如有鍵按下達(dá)0.5S則退出閃爍狀態(tài)同時(shí)掉電標(biāo)志置55H。*/
if(P1!=0xff){
delay(10);if(P1_0==0)flag=0x55;F0:if(P1!=0xff)gotoF0;
}P3_7=1;
}
elseTR1=1;/*啟動(dòng)定時(shí)器1*/
}}

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

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉