線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1511
推到 Plurk!
推到 Facebook!

89s51 的I/O控制

答題得分者是:if8051
zxcjeff
一般會員


發表:3
回覆:3
積分:1
註冊:2012-06-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-09-15 22:59:25 IP:114.41.xxx.xxx 訂閱
我想要用89S51的P0阜當輸入腳該怎麼使用??

我89S51的電壓用5V
輸入電壓要多少才會判定成高電位?


現在遇到的問題是
我把無線電模組(HT-12)收的信號電壓直接到51的P0.0(這樣只有2V)
我程式寫P0.0=1時 P1.0有方波輸出
這樣有時候會有方波 有時候又沒有方波 很不穩定
這樣是什麼問題??
編輯記錄
zxcjeff 重新編輯於 2012-09-15 09:07:07, 註解 無‧
if8051
中階會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-09-16 07:08:54 IP:114.40.xxx.xxx 訂閱
P0 是 open drain ,要 P0 當成 input 使用,必須在 Vcc +5v 和 P0 之間並聯一支 10K 歐姆 pull-up resistor 
提升電阻,如此 P0 才有輸入電壓的變化,要不然是成開路狀態 floating。

既然 P0.0 要當成 input ,就要如此宣告:bit HT_12;

HT_12 = P0.0;

P0.0 = 1; // 此時 P0.0 是當成輸出 high 5v,因為沒有接提升電阻處於開路狀態,外有接信號所以才有測到 2v

P0.0 high level 最好要有 2.5v 以上。


------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
編輯記錄
if8051 重新編輯於 2012-09-15 17:14:37, 註解 無‧
系統時間:2024-11-23 17:48:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!