會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





PIC12F1840輸出無法為0
新會員
註冊日期:
11月28日 14:36:49
所屬群組:
註冊會員
文章: 3
等級: 1; EXP: 10
HP : 0 / 2
MP : 0 / 0
離線
各位好,
小弟最近在使用PIC12F1840時,遇到一個問題,
開機時RA1為input,當收到訊號後,會切換成output,
輸出high可以量到5V,
但是輸出low時,量到電壓為2.5V,
RA1外部有一個分壓電路2.5V,
是輸出能力不足,無法將電壓降成0V,還是需要做甚麼設定。

因為同樣的電路,同樣的PIC,別人的code是可以動作的。謝謝大家

11月28日 15:00:55
轉換PDF檔 列印


Re: PIC12F1840輸出無法為0
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14184
等級: 72; EXP: 56
HP : 1073 / 1789
MP : 4728 / 71251
離線
有點疑惑,可以添上電路圖嗎?


1. 開機時 RA1為input,當收到訊號後,會切換成output,
ANS: RA1 為輸入及輸出兩種功能嗎?


2 . 輸出high可以量到5V, 但是輸出low時,量到電壓為2.5V,
RA1外部有一個分壓電路2.5V,

ANS:RA1 的 ADC 的輸入功能有關閉且設成 Digital I/O 模式嗎?
這 2.5V 是哪來的電壓,輸出為 Low 應該不會有電壓出現的。

11月28日 15:43:43
轉換PDF檔 列印


Re: PIC12F1840輸出無法為0
資深會員
註冊日期:
2007/06/05 21:45
所屬群組:
註冊會員
文章: 952
等級: 27; EXP: 42
HP : 0 / 660
MP : 317 / 20333
離線
1. 自行debug
沒說清楚,也沒關係...

2. 發問題
A: 跟硬體線路有關,就要提供線路
B: 跟軟體相關,也要提供作法與程式碼

另外你怎麼確認 你說的 你做的 是對的.
例: RA1外部有一個分壓電路2.5V,
如果把分壓電路移走呢?


>>因為同樣的電路,同樣的PIC,別人的code是可以動作的
這不就說明 你的code有問題了嗎?
另外 同樣的電路 也有可能你的硬體線路錯了或壞了...

11月28日 15:58:00
轉換PDF檔 列印


Re: PIC12F1840輸出無法為0
新會員
註冊日期:
11月28日 14:36:49
所屬群組:
註冊會員
文章: 3
等級: 1; EXP: 10
HP : 0 / 2
MP : 0 / 0
離線
您好:
我的code很簡單

TRISAbits.RA1 = 0;
while(1)
{
RA1 = 1;
DelayMs(500);
RA1 = 0;
DelayMs(500);
}

請問是code哪裡出問題了 謝謝

11月28日 16:17:58
轉換PDF檔 列印


Re: PIC12F1840輸出無法為0
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14184
等級: 72; EXP: 56
HP : 1073 / 1789
MP : 4728 / 71251
離線
RA1 的類比輸入功能要關閉。

11月28日 18:56:06
轉換PDF檔 列印


Re: PIC12F1840輸出無法為0
新會員
註冊日期:
11月28日 14:36:49
所屬群組:
註冊會員
文章: 3
等級: 1; EXP: 10
HP : 0 / 2
MP : 0 / 0
離線
版主您好:
抱歉,我再補上我init的code,謝謝

void Init(void) {

OSCCON = 0x6A; // 4M Hz HF
PORTA = 0x0;
LATA = 0x0;
ANSELA = 0x0;
TRISA = 0x2E; // 0010 1110
OPTION_REGbits.nWPUEN = 0; //
/* disable interrupt */
INTCONbits.PEIE = 0;
INTCONbits.GIE = 0;
WPUA = 0x00;

/* Init Timer 0 */
OPTION_REG = 0b00000001; // Timer0 = Fosc/4, prescaler:4
INTCONbits.TMR0IF = 0; //
TMR0IE = 1; //Enable timer 0 Overflow interrupt

/* Init Timer 2 */
T2CON = 0x7f; // Timer2 = Fosc/4, prescaler:64, 1:15 postscale
PR2 = 255;
// TMR2IE = 1; //Enable timer 0 Overflow interrupt

/* enable interrupt */
INTCONbits.PEIE = 1; //Enable Extrenal interrupt
INTCONbits.GIE = 1; // Enable Global Interrupt

}

11月29日 09:14:15
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2017 Summer Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project