熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
baiyun1234 發(fā)表于 2019-10-11 13:11 謝謝,非常感謝 |
baiyun1234 發(fā)表于 2019-10-11 13:59 謝謝了 |
buzzerflag=1;// 后面是g,不是h.寫錯(cuò)了。![]() 上面的兩個(gè)地方 |
在你的main之前加上一句這個(gè): void delayms(uint); |
//注釋:你這個(gè) “BUZCOM=Bin(00001001); //打開”我不知道哪一位是控制buzzer的,你自己改,我下面的是 根據(jù)你的copy的。 // 我自己寫的延時(shí),晶振11.0592 ,這個(gè)延時(shí)是1ms,你的晶振是多少,你自己定. //你的代碼頂部加一個(gè): #define uint unsigned int(如果有就算了) void beep_on() { unsigned char i; unsigned char time_cnt; unsigned char beep_cnt,p; bit buzzerflag; if(temperature>29) buzzerflah=1; while(buzzerflag) { for(i=3;i>0;i--) { delayms(100); BUZCOM=Bin(00001001); //打開 delayms(100); BUZCON=Bin(00001000); //close } delayms(500); if(temperature<=29) { BUZCON=Bin(00001000) //close delayms(20); buzzerflah=0; } } } //delayms void delayms(uint time) { uint i,j; for( i=0;i<time;i++) for(j=0;j<112;j++); } |
for循環(huán)寫成死循環(huán),不然響幾次后就不響了 |
我加了 IF延時(shí) 也沒有作用 |
Powered by 單片機(jī)教程網(wǎng)