欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
如何做到51單片機(jī)的高電平輸入檢測
[打印本頁]
作者:
InazumaGDI
時(shí)間:
2018-11-5 14:12
標(biāo)題:
如何做到51單片機(jī)的高電平輸入檢測
本帖最后由 InazumaGDI 于 2018-11-5 14:14 編輯
如題,我在做一個(gè)由紅外人體檢測模塊SR501 (默認(rèn)輸出低電平 觸發(fā)輸出高電平) 觸發(fā)的蜂鳴器
使用的單片機(jī)為STC89C52RC 代碼如下
#include <reg52.h>
sbit HW = P2^0; //定義紅外傳感器針腳 P2.0
void delay(unsigned long time) //延時(shí)
{
unsigned long i,j;
for(i=0;i<time;i++)
for(j=0;j<19;j++)
{}
}
void main()
{
HW = 0; //初始化紅外針腳為低電平
P1 = 0xff; //初始化P1針腳為1111 1111
while(1) //循環(huán)
{
if(HW == 1); //當(dāng)紅外探頭被觸發(fā) 默認(rèn)低電平轉(zhuǎn)換為高電平
{
P1 = 0x00; //P1針腳轉(zhuǎn)為 0000 0000
delay(5000); //延時(shí)5S
P1 = 0xff; //關(guān)閉P1針腳
}
}
}
燒錄后發(fā)現(xiàn) P1針腳一直為低電平,后來查閱資料發(fā)現(xiàn)51單片機(jī)的針腳為準(zhǔn)雙向接口,檢測輸入的
時(shí)候需要輸出一個(gè)1(高電平),然后外部輸入0(低電平)才可以觸發(fā),也就是輸入只能檢測低電平,不可以檢測高電平輸入。 請(qǐng)問有沒有方法從程序上實(shí)現(xiàn)高電平輸入檢測?
作者:
xuyaqi
時(shí)間:
2018-11-5 16:38
端口先輸出一個(gè)1(高電平),然后檢查端口電平,如果是1那么說明端口是輸入了高電平,否則是就是輸入了低電平。
作者:
Colin_zhai
時(shí)間:
2018-11-5 16:46
1.STC文檔里面是有配置的,IO設(shè)成高阻輸入,應(yīng)可以解決(通過軟件配置PxM0,PxM1)
2.實(shí)測STC89C52RC,IO初始化低,通過TLP521拉高是可以檢測的(未配置PxM0,PxM1)。
3.普通外設(shè)可能無較強(qiáng)的驅(qū)動(dòng)能力,是無法把51 IO口拉高的.
作者:
Nan1996
時(shí)間:
2018-11-5 17:24
紅外感應(yīng)模塊輸出的電壓太小,通過一個(gè)三極管放大電流就行了,可以通過普通引腳,直接去判斷引腳電位,0或1,也可以通過外部中斷來觸發(fā),再或者就是使用ad轉(zhuǎn)換進(jìn)行電位采集放大
作者:
Nan1996
時(shí)間:
2018-11-5 17:27
紅外感應(yīng)模塊輸出的電位低,通過一個(gè)三極管放大之后就可以通過普通引腳進(jìn)行檢測電位,0或1,再或者就是通過ad轉(zhuǎn)換進(jìn)行程序內(nèi)放大
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1