使用的模塊有:直流電機(jī),舵機(jī),蜂鳴器,紅外,溫度傳感器,lcd1602, ,
舵機(jī),這種舵機(jī)它的頻率是50HZ,一個(gè)周期為20ms,是通過一個(gè)周期中高低電平的占比來(lái)控制角度的角度的,本程序舵機(jī)是來(lái)回?cái)[動(dòng),不是停在五個(gè)角度(0,45,90,135,180)的某個(gè)角度,可通過紅外遙控來(lái)實(shí)現(xiàn)停在某個(gè)角度,電扇的開關(guān),也由紅外來(lái)控制。
為了方便起見,將過溫自動(dòng)報(bào)警,和使用舵機(jī)的功能,分成兩種模式,可通過紅外遙控來(lái)切換,因?yàn)槲抑坝龅竭^,使用了舵機(jī)后(需要用到定時(shí)器),溫度就不能正常顯示,
通過DS18b20來(lái)測(cè)溫度,在lcd1602上顯示溫度和時(shí)間,當(dāng)溫度超過26度時(shí)(可在代碼中修改),直流電機(jī)打開,蜂鳴器報(bào)警,低于26關(guān)閉。也可遙控打開或關(guān)閉電機(jī),沒有使用舵機(jī),此時(shí)直流電機(jī)不能改變方向。
當(dāng)遙控器按下時(shí),lcd1602顯示turn off,無(wú)法顯示溫度,定時(shí)器1初始化,舵機(jī)可以使用,利用舵機(jī)對(duì)直流電機(jī)來(lái)控制方向,將ds18b20和舵機(jī)分開使用的原因,ds18b20對(duì)時(shí)序的要求很高,如果用舵機(jī)的話就會(huì)使溫度無(wú)法正常顯示。
紅外遙控的優(yōu)先級(jí)始終大于超過溫度。
單片機(jī)源程序如下:
#include "reg52.h"
#include"temp.h"
#include"1302.h"
sbit IRIN=P3^2; //紅外
sbit duoji=P3^5;
uchar IrValue[6];//溫度數(shù)組
uchar zxc,count=0,flag1=1,flag2,k,m;
uchar Disp[16]="trun off ";
uchar push_val_left=14,pwm_val_left;
uint timer=0,flex;
uchar DisplayData[14]={'t'-0x30,'e'-0x30,'m'-0x30,'p'-0x30,':'-0x30,' '-0x30};
uchar code smgduan[10]={0,1,2,3,4,5,6,7,8,9};
void pwm_Servomoto_angle(unsigned int angle,unsigned int Servo_time)
{
push_val_left=5+angle*20/180; //舵機(jī)向左轉(zhuǎn)90度
// timer=0;
while(timer<=Servo_time); //延時(shí)400MS讓舵機(jī)轉(zhuǎn)到其位置 4000
delay(flex);
}
void pwm_Servomoto(void)
{
if(pwm_val_left<=push_val_left)
duoji=1;
else
duoji=0;
if(pwm_val_left>=200)
pwm_val_left=0;
}
void datapros(int temp)
{
float tp; uint h=4000;
if(temp< 0) //當(dāng)溫度值為負(fù)數(shù)
{
DisplayData[0] = 0x40; // -
//因?yàn)樽x取的溫度是實(shí)際溫度的補(bǔ)碼,所以減1,再取反求出原碼
temp=temp-1;
temp=~temp;
tp=temp;
temp=tp*0.0625*100+0.5;
}
else
{
DisplayData[6] = 0x00;
tp=temp;//因?yàn)閿?shù)據(jù)處理有小數(shù)點(diǎn)所以將溫度賦給一個(gè)浮點(diǎn)型變量
//如果溫度是正的那么,那么正數(shù)的原碼就是補(bǔ)碼它本身
temp=tp*0.0625*100+0.5;
}
if(flag2==0)
if(temp>2600)
{dj=1;
while(h)
{beep=~beep;
delay(10);
h--;
}
}
else
dj=0;
DisplayData[7] = smgduan[temp / 10000];
DisplayData[8] = smgduan[temp % 10000 / 1000];
DisplayData[9] = smgduan[temp % 1000 / 100] ;
DisplayData[10] = -2;
DisplayData[11] = smgduan[temp % 100 / 10];
DisplayData[12] = smgduan[temp % 10];
DisplayData[13] =51;
}
void test_servo(void)
{
int pos;
for(pos=0;pos<180;pos+=3)
{
pwm_Servomoto_angle(pos,100) ;
delay(300);
}
for(pos = 180; pos>=0; pos-=3) // goes from 180 degrees to 0 degrees
{
pwm_Servomoto_angle(pos,100) ;
delay(300);
}
}
void LcdDisplay()
{
lcdwrc(0x80+0X40);
lcdwrd('t');
lcdwrd('i');
lcdwrd('m');
lcdwrd('e');
lcdwrd(':');
lcdwrd(' ');
lcdwrd('0'+hsp[2]/16); //時(shí)
lcdwrd('0'+(hsp[2]&0x0f));
lcdwrd('-');
lcdwrd('0'+hsp[1]/16); //分
lcdwrd('0'+(hsp[1]&0x0f));
lcdwrd('-');
lcdwrd('0'+hsp[0]/16); //秒
lcdwrd('0'+(hsp[0]&0x0f));
}
//外部中斷0初始化
void IrInit()
{
IT0=1;//下降沿觸發(fā)
EX0=1;//打開中斷0允許
EA=1; //打開總中斷
IRIN=1;//初始化端口
}
//定時(shí)器1初始化
void timeinit()
{TMOD=0X10;
TH1=(65536-100)/256; //100US定時(shí)
TL1=(65536-100)%256;
TR1= 1;
ET1= 1;
EA = 1;
}
//main函數(shù)
void main()
{uchar i,n=0;
IrInit(); //紅外初始化
lcdinit();
Ds1302Init();
dj=0;
while(1)
{
if(flag1==1) //關(guān)閉定時(shí)器,實(shí)現(xiàn)功能為超過設(shè)定溫度打開電機(jī)
{
Ds1302ReadTime();
datapros(Ds18b20ReadTemp()); //數(shù)據(jù)處理函數(shù)
for(i=0;i<14;i++)
{
lcdwrd(DisplayData[i]+0x30);
}
LcdDisplay();
lcdwrc(0x80);
}
else //打開定時(shí)器,(電機(jī)舵機(jī))關(guān)閉溫度傳感器,和lcd1602
{ if(m==0)
{ timeinit();
m=1;
dj=0;
}
test_servo();
for(n=0;n<16;n++)
{
lcdwrd(Disp[n]);
}
lcdwrc(0x80+0x40);
for(n=0;n<16;n++)
{ lcdwrd(' ');
上一篇:使用普通IO口自定義協(xié)議實(shí)現(xiàn)兩個(gè)51單片機(jī)互相通訊
下一篇:51單片機(jī)控制的DHT11簡(jiǎn)易溫濕度檢測(cè)
推薦閱讀
史海拾趣
隨著公司規(guī)模的不斷擴(kuò)大和市場(chǎng)競(jìng)爭(zhēng)的加劇,Baumer Electric Ag開始實(shí)施國(guó)際化戰(zhàn)略。1979年,公司加大了出口力度,積極開拓海外市場(chǎng)。1980年,堡盟在法蘭克福成立了堡盟電氣有限公司,進(jìn)一步擴(kuò)大了在歐洲市場(chǎng)的影響力。此后,公司陸續(xù)在全球各地設(shè)立子公司和分支機(jī)構(gòu),形成了覆蓋全球的銷售和服務(wù)網(wǎng)絡(luò)。
格萊爾始終將技術(shù)創(chuàng)新視為企業(yè)發(fā)展的核心動(dòng)力。公司不斷投入研發(fā)資源,引進(jìn)先進(jìn)的生產(chǎn)設(shè)備和高精度的檢測(cè)儀器,確保產(chǎn)品質(zhì)量的穩(wěn)步提升。同時(shí),格萊爾還通過了ISQ9001質(zhì)量管理體系和IATF16949汽車質(zhì)量管理體系認(rèn)證,全部產(chǎn)品實(shí)現(xiàn)了符合RoHS標(biāo)準(zhǔn)的無(wú)鉛化生產(chǎn),達(dá)到了歐盟的環(huán)保要求。這些努力使得格萊爾的產(chǎn)品在市場(chǎng)上贏得了良好的口碑和廣泛的認(rèn)可。
在電子行業(yè)的初期,GSR Technology Ltd專注于研發(fā)高性能的傳感器技術(shù),特別是針對(duì)工業(yè)自動(dòng)化領(lǐng)域的GSR(Ground Surveillance Radar,地面監(jiān)視雷達(dá))技術(shù)。通過多年的技術(shù)積累和研發(fā)創(chuàng)新,公司成功開發(fā)出具有高精度、長(zhǎng)距離監(jiān)測(cè)能力的GSR系統(tǒng),填補(bǔ)了市場(chǎng)空白。這一技術(shù)突破吸引了眾多工業(yè)客戶的關(guān)注,公司迅速獲得市場(chǎng)準(zhǔn)入,并與多家知名企業(yè)建立了長(zhǎng)期合作關(guān)系。
AiT公司的創(chuàng)立源自一群對(duì)半導(dǎo)體技術(shù)充滿熱情的工程師。他們看到了半導(dǎo)體行業(yè)巨大的市場(chǎng)潛力和技術(shù)挑戰(zhàn),決心成立一家公司,專注于半導(dǎo)體產(chǎn)品的研發(fā)和生產(chǎn)。在創(chuàng)立初期,公司面臨資金短缺、市場(chǎng)競(jìng)爭(zhēng)激烈等諸多困難,但憑借著對(duì)技術(shù)的執(zhí)著追求和不懈努力,他們成功開發(fā)出了一系列高性能、高品質(zhì)的半導(dǎo)體產(chǎn)品,逐漸在市場(chǎng)中站穩(wěn)腳跟。
[求助]電氣規(guī)則檢查出錯(cuò)Output Pins And Power Pins…… #1 Error Output Pins And Power Pins On Net +10V Output Pins : mc1490.SCH(U2-1 @410,570) Power Pins : mc1490.SCH(U2-2 @410,560) #2 Error Output Pins And Power Pins On Net GND Output Pins ...… 查看全部問答∨ |
出錯(cuò):i2cwrite error:1460 麻煩高手指點(diǎn)一二 12c init iic irq mapping :[irq:27->sysIRQ:21]. OEMIoControl:Unspported Code 0x10100b4-device 0x0101 func 52 OEMIoControl:Unspported Code 0x10100b4-device 0x0101 func 62 CamCLOCKOn=1 syncist:IO_Abandoned I2CWrite error :146 ...… 查看全部問答∨ |
我現(xiàn)在的6713dsp是將256kiram分為兩個(gè)部分 192k用于放code和data 64k用于l2cache 但是現(xiàn)在速度還是上不去, 老板要求1-2毫秒完成的任務(wù),我現(xiàn)在用了18毫秒 不知道主頻太低是不是主要原因啊? 現(xiàn)在做了也有一段時(shí)間了 時(shí)間始終還是在18毫秒左 ...… 查看全部問答∨ |
本帖最后由 dontium 于 2015-1-23 11:13 編輯 我從一個(gè)DSP芯片里面把程序?qū)氲絚cb.dat文件里面, 想把它轉(zhuǎn)換成.out格式的文件。 請(qǐng)問高手,如何轉(zhuǎn)換? 謝謝! … 查看全部問答∨ |
請(qǐng)教這兩種LED光源要什么參數(shù)的驅(qū)動(dòng)器才合適(有現(xiàn)貨的廠家請(qǐng)自薦) 一款光源參數(shù)為輸出DC2V 電流350 5W 白光光條另一款為輸出DC電壓3.2-3.4V 電流350 1w曖光燈珠 3個(gè)焊在鋁基板上 [ 本帖最后由 akli9093 于 2011-4-21 18:54 編輯 ]… 查看全部問答∨ |
菜鳥如我剛接觸stm32,之前只學(xué)過一點(diǎn)51。哪位大俠能說說SysTick時(shí)鐘,SYSCLK時(shí)鐘,還有HCLK時(shí)鐘之間的聯(lián)系?看了很久還是不明白,《stm32不完全手冊(cè)》里面寫 //初始化延遲函數(shù)//SYSTICK的時(shí)鐘固定為HCLK時(shí)鐘的1/8//SYSCLK:系統(tǒng)時(shí)鐘void delay_ini ...… 查看全部問答∨ |
下面是我的程序及硬件電路,我想通過按最左上角的鍵讓P1.6置低電平,讓蜂鳴器響起來(lái),我的思路是先檢測(cè)是否有鍵按下,通過對(duì)比P0口的前后電平變化來(lái)實(shí)現(xiàn),然后具體掃描時(shí)哪個(gè)鍵,但按鍵怎么都不起作用,用proteus仿真時(shí)發(fā)現(xiàn)按下開關(guān),那個(gè)開關(guān)處電 ...… 查看全部問答∨ |
$(\'swf_t67\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMzQ3Nzg4MjEy/v.sw ...… 查看全部問答∨ |
以前就來(lái)過eeworld,期間陸續(xù)回來(lái)離開過幾次,這次又注冊(cè)新號(hào)回來(lái)。發(fā)現(xiàn)eeworld的版面基本還是老樣子,看著真不習(xí)慣。版面顯示很混亂,主次不分,總給人一種雜亂無(wú)序的感覺。雖然我肯定不是技術(shù)高手,但是對(duì)于一個(gè)沒有考慮到人類視覺感官的論壇,真 ...… 查看全部問答∨ |
串口問題:芯片與串口調(diào)試助手的第一次發(fā)送時(shí),芯片發(fā)送的第一個(gè)字符收不到 最近發(fā)現(xiàn)一個(gè)很奇怪的問題:芯片與串口調(diào)試助手的第一次發(fā)送時(shí),芯片發(fā)送的第一個(gè)字符收不到,第二次就全能收到了。求解 如我發(fā)送一個(gè)“hallo,world!”第一次發(fā)送就變成了“allo,world”第二次再發(fā)送就正常了。但只要一按復(fù)位鍵,第一次又變成 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實(shí)惠套件和強(qiáng)大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動(dòng)Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴(kuò)展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機(jī)自啟動(dòng)
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測(cè)試
- AI算力狂飆下的能源困局,ST如何突圍?
- 韓國(guó)研究人員開發(fā)出耐火電池電解質(zhì)以防止熱失控
- “史上最嚴(yán)電池安全令”或引發(fā)產(chǎn)業(yè)第四次大洗牌
- 現(xiàn)代汽車發(fā)布新一代混動(dòng)系統(tǒng),燃油效率提升45%
- 三星顯示將全面采用雙棧串聯(lián)技術(shù)提升車載OLED性能
- 禾賽科技計(jì)劃2026年推L3級(jí)智駕專用激光雷達(dá)“千厘眼”
- 寧德時(shí)代發(fā)布驍遙雙核電池:跨體系技術(shù)革新,續(xù)航超1000km
- 寧德時(shí)代發(fā)布全球首款800km續(xù)航12C超充磷酸鐵鋰電池
- 華為發(fā)布全液冷超充技術(shù),15分鐘充電90%革新重卡市場(chǎng)
- 車規(guī)級(jí)MCU介紹
- 有獎(jiǎng)直播:遠(yuǎn)近皆宜的無(wú)線連接方案 3月25日(周四)上午10:00 邀您觀看!
- 評(píng)論有禮:用混合信號(hào)示波器探索總線的秘密
- PI有獎(jiǎng)問答第二期 看視頻 讀資料 答題贏好禮
- 多款TI Launch板免費(fèi)測(cè)評(píng)試用,趕緊來(lái)看看吧!
- 免費(fèi)申請(qǐng)測(cè)評(píng):超小型 Linux 開發(fā)套件:Quantum Tiny Linux(帶 SoM 和擴(kuò)展板)
- EEWORLD下載中心熱力上線!
- 圍觀Vishay新出爐超低ESR T55系列“萌寵們”,有驚喜!
- 您的電源符合能耗標(biāo)準(zhǔn)嗎?關(guān)注PI InnoSwitch3系列,答題贏好禮!
- STM32 無(wú)法通過 %f 打印浮點(diǎn)數(shù)
- STM32 硬件CRC和軟件CRC速度比較
- STM32F4(用SysTick實(shí)現(xiàn)Delay函數(shù))
- STM32F4(BUZZ)
- STM32F4(讀取芯片ID)
- LG電子:退身「手機(jī)」,進(jìn)軍「汽車」市場(chǎng)
- 車載調(diào)度算法的改進(jìn)設(shè)計(jì)及應(yīng)用分析
- 汽車電子產(chǎn)品EMC標(biāo)準(zhǔn)與常見解決方法
- 48V輕混,為什么即將成為燃油車的“標(biāo)配”?
- ARM確認(rèn)華為擁有v9架構(gòu)授權(quán),麒麟芯片或在汽車行業(yè)大展拳腳
- stm資料之一2007-2008年全國(guó)巡回研討會(huì)演講稿
- 誰(shuí)有風(fēng)火輪觸摸板的原理圖
- 【TI原創(chuàng)】基于LM3S8962的網(wǎng)絡(luò)收音機(jī)(七) --- 網(wǎng)絡(luò)實(shí)時(shí)播放MP3
- 485
- 買個(gè)安捷倫的示波器, 指教
- 請(qǐng)求嵌入式中結(jié)構(gòu)體元素賦值問題
- 無(wú)線遙控玩具汽車(附源碼)
- 如何調(diào)用別的驅(qū)動(dòng)中的未導(dǎo)出函數(shù)?
- 請(qǐng)教uclinux不執(zhí)行/etc/rc的問題
- 為什么2407在線調(diào)試不好使