全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1277
推到 Plurk!
推到 Facebook!

8051與瓦斯感測器連接問題

答題得分者是:ScottWang
J26831234
一般會員


發表:1
回覆:3
積分:0
註冊:2012-10-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-10-02 02:53:15 IP:61.64.xxx.xxx 訂閱
我是組合語言的新手.. 但我研究好久..
請問我要如何讓我的感測器的訊號high動作變成LOW動作
因為電路那邊 我的瓦斯感測器 要感測到瓦斯才不會動作..我想讓他相反過來
請問各位大大 我要變更哪邊的程式碼才能讓他相反動作

WLED REG P1.0
AH REG P1.1 ; ALARM CONTROL
TRI REG P3.2 ; SENSOR SW HIGH ACTIVE
TEL_RY REG P1.3
; HT9200A
CE92 REG P3.5 ; LOW ACTIVE
CLK1 REG P0.6
DAT REG P0.7
;------------------------
; LCD CONTROL
RS REG P0.0
EN REG P3.6
; ISD CHIP A0--A7 : P0.0--P0.7
CE REG P1.4 ; PL(1420) PE(1420) PD(2590) GND
EOM REG P1.5
A6 REG P1.6 ; ISD 1420 A0--A7
A7 REG P1.7
A8 REG P1.6 ; ISD 2590
A9 REG P1.7
REC REG P3.7 ; ADD REC KEY
;-------------------------------------------
ORG 0H
JMP BEGIN
;----------------------
INIT_PORT:
SETB TRI
CALL REC_OFF
CALL CE_HI
MOV P0, 0
CALL A8_LO
CALL A9_LO
CLR EN ; ACT. HI
CALL TEL_OFF
SETB CE92 ; HE9200 CE ACT. LOW
CLR AL
RET
編輯記錄
J26831234 重新編輯於 2012-10-02 04:12:47, 註解 無‧
if8051
中階會員


發表:2
回覆:53
積分:61
註冊:2012-08-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-10-02 06:30:14 IP:114.40.xxx.xxx 訂閱
抱歉!我只會 C 語言,看你這組合語言也不完整,只是宣告而已;建議學 C 語言會事半功倍,
開發效率奇高,易讀,易除錯,移植性高,易學易用。

8051 input sensor 最好設計成 active low

if ( ! sensor )
{
statement ;
}

以上是當 sensor 是 low 時執行 statement 的動作
------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
J26831234
一般會員


發表:1
回覆:3
積分:0
註冊:2012-10-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-10-02 11:01:57 IP:61.62.xxx.xxx 訂閱
重點是 我大約只會組合語言..
尤其快要交報告了..
ScottWang
版主


發表:32
回覆:486
積分:688
註冊:2009-04-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-10-02 13:47:31 IP:36.229.xxx.xxx 訂閱
1. 你是用那種編譯器,keil 的嗎?
2. 你有標示瓦斯感測器在MCU的腳位嗎?

J26831234
一般會員


發表:1
回覆:3
積分:0
註冊:2012-10-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2012-10-02 13:58:01 IP:27.53.xxx.xxx 訂閱
 對 是keil
這是從廣華買的 原先感測器是磁簧
腳位直接是p3.2
我原本想直接從程式碼下手
但研了一個禮拜 問學長 學長也看不出怎麼改..
但學長說只要改主程式
請問我要把我已經畫好的電路圖跟程式碼複製上來嗎
ScottWang
版主


發表:32
回覆:486
積分:688
註冊:2009-04-27

發送簡訊給我
#6 引用回覆 回覆 發表時間:2012-10-02 14:41:38 IP:36.229.xxx.xxx 訂閱
>TRI REG P3.2 ; SENSOR SW HIGH ACTIVE
我在想應該也是這裡,但還是想確認一下.
>請問我要如何讓我的感測器的訊號high動作變成LOW動作
>因為電路那邊 我的瓦斯感測器 要感測到瓦斯才不會動作..我想讓他相反過來
如果你說的是瓦斯感測器的輸出,那麼,只要再加一級NPN電晶體做反相就可以了,如瓦斯感測器的輸出接4.7K~10K再接到NPN電晶體的B極,E極接地,C級接一個10K到 5V,C極就做為新的輸出,接到P3.2.

若還不行,再把相關的資料貼上來.
標題麻煩改一下,如:8051與瓦斯感測器連接問題.


J26831234
一般會員


發表:1
回覆:3
積分:0
註冊:2012-10-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2012-10-02 18:11:31 IP:59.126.xxx.xxx 訂閱
謝神大!!!!!
成功了 謝謝神大!!!!!!!!!!!!!
系統時間:2017-12-14 14:25:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!