只需一步,快速開始
熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
我做的是一個(gè)水箱監(jiān)控,現(xiàn)在在消聲的問題上出現(xiàn)了困難。要求也很簡(jiǎn)單,當(dāng)水位上限到的時(shí)候就報(bào)警,按下消聲按鈕后就消聲,完了然后下次水位又到上限的時(shí)候再報(bào)警,按下消聲后再消聲,如此循環(huán),水位下限也是一樣的。看下程序吧#include<reg52.h>sbit FH=P1^6; //上限報(bào)警信號(hào)sbit XSH=P3^3; //消聲按鈕sbit BJ=P3^7; //報(bào)警sbit EL=P1^7; //下限報(bào)警信號(hào)unsigned int i;bit BJ_flags=0;bit BJ_flagx=0;void init_T0(void){TMOD=0x01;TH0=0;TL0=0;ET0=1;}void int_T0(void) interrupt 1{TH0=0xf1;TL0=0xf1;if(BJ_flags==0&&FH==0) //BJ=!BJ;if(BJ_flagx==0&&EL==0)BJ=!BJ;}void main(void){init_T0();EA=1;TR0=1;while(1){ if(XSH==0) //消聲BJ_flags=1;BJ_flagx=1;}}我這個(gè)程序就是 報(bào)警-消聲后 再次到水位上限它就不會(huì)報(bào)警了,這該怎么解決呢。我是新手,希望大俠幫幫忙。因?yàn)楣ぷ髟虼_實(shí)沒時(shí)間系統(tǒng)的學(xué)習(xí)單片機(jī),這個(gè)問題已經(jīng)有2個(gè)星期了,靠自己零碎的學(xué)習(xí)真的抓不到突破口了,希望朋友們幫下忙 謝了
使用道具 舉報(bào)
ORG 00H;剛剛寫的,試ok了!!START:
JB P1.6,QQ; 觸控0電位上位
AJMP QQ1; QQ: JB P1.7,START; 觸控0電位下位 AJMP QQ1; QQ1: JB P3.3,QQ2; 消按鍵!0電位有效
SETB P3.7; 報(bào)警關(guān)!!! JNB P1.7,$; 等待水位正常!! JNB P1.6,$; 等待水位正常!! AJMP START QQ2:
LCALL DELAY; CLR P3.7; 報(bào)警0電位有效 AJMP START;DELAY: MOV R3,#200; D1:MOV R4,#256; D2:DJNZ R4,D2; DJNZ R3,D1; RET
END
本版積分規(guī)則 發(fā)表回復(fù) 回帖后跳轉(zhuǎn)到最后一頁
手機(jī)版|小黑屋|51黑電子論壇 | 管理員QQ:125739409;技術(shù)交流QQ群281945664
Powered by 單片機(jī)教程網(wǎng)