標(biāo)題: 單片機(jī)的智能燈控制系統(tǒng),是代碼有問題還是電路有問題? [打印本頁]

作者: 1751109498    時(shí)間: 2021-3-21 11:10
標(biāo)題: 單片機(jī)的智能燈控制系統(tǒng),是代碼有問題還是電路有問題?
是代碼有問題還是電路有問題呀!我基礎(chǔ)比價(jià)薄弱!改了很久了實(shí)在沒辦法了才拿出來問大家 希望大家?guī)蛶兔?br /> #include<reg51.h>//單片機(jī) C語言的頭文件
#include<intrins.h>//包含 51 單片機(jī)的幾條匯編
語句的 C 語言調(diào)用接口
#include<absacc.h>//頭文件
#define uc unsigned char
#define ui unsigned int//定義
sbit GM=P1^0;//光敏
sbit RT=P1^5;//人體紅外
sbit KZ=P3^5;//繼電器控制燈
uc sec=0;
void init()//初始化子函數(shù)
{
GM=0;//光敏置低 //光敏輸出低電平(復(fù)
位)
RT=0;//人體紅外置低 //紅外輸出低電平
(復(fù)位)
TMOD=0x01;//定時(shí)器 0工作方式 1
TH0=0x3c;
TL0=0xb0;//賦初值 50ms
ET0=1;//打開定時(shí)中斷 0允許開關(guān)
TR0=1;//打開定時(shí)器 0定時(shí)開關(guān)
EA=1;//打開中斷 0總開關(guān)
}
void main()//主函數(shù)
{
init();//初始化函數(shù)
while(1);//空循環(huán)
}
void T0_time()interrupt 1 //定時(shí)器執(zhí)行函數(shù),
熱釋電模塊和光線感應(yīng)和控制繼電器都是在定時(shí)器
里完成
{
uc m;//定義變量 m
TH0=0x3c;
TL0=0xb0;//重新賦初值 50 ms
m++;//m 加一次是 50 ms
if(m>=20)//加到 20次,就是一秒
{
m=0;//m 清零
if(RT==0||GM==0) //當(dāng)熱釋電和光敏
有一個(gè)不符合條件(符合條件就是熱釋電檢測(cè)到人,
光敏檢測(cè)到環(huán)境光線弱)
{
sec++;//sec變量加
if(sec>10)//從亮燈到條件不符熄燈,中間延時(shí)
10秒鐘
{
sec=0;//sec清零
KZ=1;//控制繼電器關(guān)閉
}
}
if(RT==1&&GM==1)//當(dāng) 熱 釋 電 和 光
敏都符合條件,則秒計(jì)時(shí)參數(shù)歸零,開燈
{
sec=0;//sec清零
KZ=0;//控制繼電器打開
}
}
}

X6LC3(SYWMTE4F}`HZF3~IB.png (71.84 KB, 下載次數(shù): 59)

X6LC3(SYWMTE4F}`HZF3~IB.png

作者: 張?zhí)鞄?nbsp;   時(shí)間: 2021-3-21 11:59
第一個(gè):KZ端口沒有初始化;
第二個(gè):uc m;//定義變量 m。m為局部變量,不能實(shí)現(xiàn)累加功能。要改為全局變量或靜態(tài)局部變量。
第三個(gè):仿真晶體沒頻率值
作者: taotie    時(shí)間: 2021-3-21 12:25
程序中  ;  () {}這些都是中文字符把他都替換成英文
作者: 1751109498    時(shí)間: 2021-3-21 13:31
taotie 發(fā)表于 2021-3-21 12:25
程序中  ;  () {}這些都是中文字符把他都替換成英文

好的 十分感謝
作者: 1751109498    時(shí)間: 2021-3-21 13:32
張?zhí)鞄?發(fā)表于 2021-3-21 11:59
第一個(gè):KZ端口沒有初始化;
第二個(gè):uc m;//定義變量 m。m為局部變量,不能實(shí)現(xiàn)累加功能。要改為全局變 ...

好的 我改改試試  十分感謝
作者: taotie    時(shí)間: 2021-3-21 13:51






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