欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機程序中加一個開關,模擬壓力傳感器開關的問題
[打印本頁]
作者:
dream602
時間:
2019-4-9 19:36
標題:
單片機程序中加一個開關,模擬壓力傳感器開關的問題
這個仿真圖是模擬熱釋電傳感器使燈泡發光的。現在想在里面加一個開關,模擬壓力傳感器開關,當檢測到壓力,開關閉合,使燈泡發光,并延時20s左右,請問這個開關應該加在哪? 然后程序可以請幫忙改一下嗎?
TIM截圖20190409193232.png
(16.4 KB, 下載次數: 71)
下載附件
紅外傳感仿真圖
2019-4-9 19:34 上傳
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit XinHao =P1^0;
sbit Light =P2^0;
void Delay(void)
{
uint x, y;
for(x=100;x>0;x--)
for(y=100;y>0;y--);
}
void delay1(void) //定時器延時兩分鐘
{
uchar count=180;
TMOD=0x01; //定時器0工作方式1
TR0=1; //啟動定時器
TH0=0;
do{
TF0=0;
TL0=0x0F;
while(!TF0); //定時是否溢出
} while((count--) > 0);
TR0=0;
TF0=0;
}
void dianliang(void)
{
Light = 1; //點亮燈泡
XinHao = 1;
if(XinHao == 1) //判斷是否無信號
{
Delay(); //延時防抖動
XinHao = 1;
if(XinHao == 1) //再次確定無信號
{
delay1(); //利用定時器延時兩分鐘
Light = 0; //熄滅燈泡
}
}
}
void main(void)
{
Light = 0; //初始時燈泡熄滅
while(1)
{
XinHao = 1;
if(XinHao == 0) //檢測是否有信號
{
Delay(); //延時防信號抖動
XinHao = 1;
if(XinHao == 0)
{
dianliang(); //有,點亮燈泡
}
}
}
}
作者:
devcang
時間:
2019-4-9 20:02
那么多IO,隨便加了。。。。。不過,單個按鈕,通常接在外部中斷上。
程序呢, if(XinHao == 0) //檢測是否有信號 之前判斷開關狀態,并做處理
作者:
孤劍酷
時間:
2019-4-11 10:58
這題目,要考慮一下思路的,比如你的傳感器觸發方式要進行考慮,比如你是模擬觸發,那就要增加AD電路,將模擬量轉換成數字量再連接IO端口
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1