會員登陸
帳號:

密碼:

記住我



忘記密碼?

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


正在流覽:   1 名訪客





12F629運作問題
新會員
註冊日期:
2月14日 20:56:59
所屬群組:
註冊會員
文章: 4
等級: 1; EXP: 21
HP : 0 / 5
MP : 1 / 4
離線
各位好:

簡單做一電路讓GP0 輸出的RELAY可以動作,但是不管如何燒錄都無法運作。記得幾年前也是這樣,後來換不同英文字母代號的就可以(同樣是12F629 I/P ),這次適用12F629 I/P17F 後面的英文代號(I/P[color=990000]17F[/color)是有特別要注意或是在程式部分需設定?

因為是初手,敬請各位高手協助,謝謝!

環境: CCS V5.0.3.5
燒錄器: wellon VP190 (燒錄器晶片選12F629)
程式碼:

#include <12F629.h>
#use delay(clock=4000000)

#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES CPD //No EE protection
#FUSES PROTECT //Code protected from reads
#FUSES NOMCLR //Master Clear pin disabled
#FUSES NOPUT //No Power Up Timer
#FUSES BROWNOUT //Reset when brownout detected 過熱reset


#define O_RELAY PIN_A0
#define I_ON_SW PIN_A1
#define O_ON_LED PIN_A2
#define I_OFF_SW PIN_A3
#define O_OFF_LED PIN_A4
#define I_Trigger PIN_A5
#define Wait10sec 50 // 10s=10000ms->10000/200=50
#define Wait9sec 45 // 9s =9000ms->9000/200=45
#define Wait8sec 40 // 8s =8000ms->8000/200=40
#define Wait7sec 35 // 7s =7000ms->7000/200=35


int1 bRelayON; //boolean
char iTimerCnt,iWaitTime; //,iPTime;


void Timer(void) // delay
{
iTimerCnt=0;
while( iTimerCnt <= iWaitTime)
{
delay_ms (200); //delay 200ms
iTimerCnt++;
}
}

void main()
{

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);//精準度設定
setup_timer_1(T1_DISABLED); //Timer 1 Disable
setup_comparator(NC_NC); //analog 不比較
setup_vref(FALSE );
output_low(O_RELAY); // Let relay OFF
bRelayON = FALSE;

//main loop
while( TRUE )
{

if( bRelayON)
{
if( !input(I_OFF_SW) && input(I_ON_SW) )
{
delay_ms(110);
// Let relay on
bRelayON = FALSE;
output_high(O_OFF_LED);
iWaitTime = Wait8sec;
Timer();
output_low(O_RELAY);
output_low(O_OFF_LED);
//
}

}
else //else b
{
if( !input(I_ON_SW) && input(I_OFF_SW) )
{
delay_ms(110);
// Let relay on
bRelayON = TRUE;
output_high(O_RELAY);
output_high(O_ON_LED);
iWaitTime = Wait8sec;
Timer();
output_low(O_ON_LED);
}
} //else b
delay_ms(2000);

} //while
} //main

2月15日 10:14:43
轉換PDF檔 列印


Re: 12F629運作問題
新會員
註冊日期:
2月14日 20:56:59
所屬群組:
註冊會員
文章: 4
等級: 1; EXP: 21
HP : 0 / 5
MP : 1 / 4
離線
用real pic simulator是可以運作正常。
但是燒錄後都無法運作。
已經試了不同家買的12F629都一樣...
不知道該怎摩繼續下去//......

2月19日 21:33:26
轉換PDF檔 列印


Re: 12F629運作問題
初級會員
註冊日期:
2005/03/30 13:56
所屬群組:
註冊會員
文章: 28
等級: 4; EXP: 3
HP : 0 / 75
MP : 9 / 2692
離線
1.請確認GP0 輸出信號是否正確 ?
2.GPIO (25mA)應無法直接推動Relay (80mA), 請以電晶體 或2003IC 推動看看。

2月20日 09:48:59
轉換PDF檔 列印


Re: 12F629運作問題
新會員
註冊日期:
2月14日 20:56:59
所屬群組:
註冊會員
文章: 4
等級: 1; EXP: 21
HP : 0 / 5
MP : 1 / 4
離線
有接c945作放大,
現在發現有設定 INTRC_IO
但在燒錄後變成 external clock,
難道是 12f629 有分無內部clock的嗎?

附加檔案:



jpg  1.jpg (193.69 KB)
50977_58aa5593aff3b.jpg 1051X877 px

2月20日 10:34:38
轉換PDF檔 列印


Re: 12F629運作問題
資深會員
註冊日期:
2009/04/07 13:30
所屬群組:
註冊會員
文章: 151
等級: 11; EXP: 34
HP : 0 / 258
MP : 50 / 6151
離線
嗯. 是我沒看過的燒錄器耶.

話說, 你不妨試著把右方 "自動燒錄設置" 裡的 "配置位燒錄" 勾選起來再燒錄看看.

說不定 "配置位燒錄" 指的是 Configuration Bits ,

如果是, 那你可能就能中大奬了。

2月20日 12:56:32
轉換PDF檔 列印


Re: 12F629運作問題
新會員
註冊日期:
2月14日 20:56:59
所屬群組:
註冊會員
文章: 4
等級: 1; EXP: 21
HP : 0 / 5
MP : 1 / 4
離線
謝謝您。
真的是此問題(第一次使用這家的燒錄器,但試過Hi-LO的燒錄器也不成功),之前請教公司同事也沒提及此項,本來要放棄電路製作,
也花很多時間找資料,也測試(浪費)12C508A 好幾顆,
再把 12c508A補燒錄config後也都OK!
再次謝謝!.....

2月20日 17:16:47
轉換PDF檔 列印


Re: 12F629運作問題
資深會員
註冊日期:
2004/07/23 16:25
所屬群組:
註冊會員
文章: 1150
等級: 29; EXP: 67
HP : 0 / 716
MP : 383 / 26906
離線
這類IC ,會將 OSCCAL的值,放在 ROM 的最後一行,MCU 啟動時,會從最後一行啟動 MOVLW 0Xxx

然後程式的第一行做 MOVWF OSCCAL 這個動作,校正OSC

你這是用C做的,我猜 初始化一定有這樣做,如果你用 ASM ,每個步驟就很明確。

所以你在燒過的過程,將 最後一行 MOVLW 0xXX 洗掉了,又沒整合到HEX FILE 之中,

就寫入FLASH ,然後程式 執行最後一行時就gg了

2月20日 17:42:29
轉換PDF檔 列印






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

[進階搜尋]


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