PDA

View Full Version : CCS C và PIC18F458/4580


MC12
27-09-2007, 02:51 PM
em cũng bị vấn đề với 18F458, em có viết 1 chương trình điều khiển Graphic LCD cho 16F877A, chạy OK rồi, bây giờ em chuyển qua 18LF4580 thì em thay đổi #include <18F4580.h>, vậy mà nó không chạy. Em lại thử viết 1 chương trình đơn giản để nháy led ở 2 chân RB0 và RB1 . Nó cũng không chạy, em nghi em config bị sai nhưng mở file 18F4580.h ra thấy Fuses của nó rối quá, bác nào kinh nghiệm làm PIC18 giúp em với.
chương trình test đơn giản của em như sau :

#include <18F4580.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=4000000)
void main()
{ set_tris_b(0x00);

while (1)
{ output_high(pin_b0) ;
output_low(pin_b1) ;
delay_ms(500);
output_high(pin_b1) ;
output_low(pin_b0) ; }
}
/////////////////////////////

phần danh sách FUSES trong 18F4580.h như sau :
//////// Fuses: LP,XT,HS,RC,EC,EC_IO,H4,RC_IO,PROTECT,NOPROTECT
///Fuses:BROWNOUT_NOSL,BROWNOUT_SW,NOBROWNOUT,BROWNOU T,WDT1,WDT2,WDT4
//Fuses:WDT8,WDT16,WDT32,WDT64,WDT128,WDT,NOWDT,BORV 21,BORV28,BORV43
//////// Fuses: BORV46,PUT,NOPUT,CPD,NOCPD,NOSTVREN,STVREN,NODEBUG ,DEBUG
//////// Fuses: NOLVP,LVP,WRT,NOWRT,WRTD,NOWRTD,IESO,NOIESO,FCMEN, NOFCMEN
///Fuses: DEN,NOPBADEN,BBSIZ1K,BBSIZ2K,WRTC,NOWRTC,WRTB,NOWR TB,EBTR
////Fuses: EBTR,EBTRB,NOEBTRB,CPB,NOCPB,LPT1OSC,NOLPT1OSC,MCL R,NOMCLR
//Fuses: INST,NOXINST,INTRC,INTRC_IO,WDT256,WDT512,WDT1024, WDT2048
//Fuses: WDT4096,WDT8192,WDT16384,WDT32768

namqn: Bạn đang dùng CCS C chứ có phải C18 đâu, tôi tách ra thành 1 luồng khác

bien_van_khat
27-09-2007, 04:33 PM
Nếu bạn sử dụng PORTB thì cần thêm fuse NOPBADEN, vì khi POR mặc định các chân RB4 RB1 RB0 là analog input.