|
Tài trợ cho PIC Vietnam |
Bootloaders - Programmers - Debuggers - Emulators Những công cụ cần thiết để lập trình cho PIC/dsPIC |
|
Ðiều Chỉnh | Xếp Bài |
03-09-2009, 06:40 PM | #4 |
Nhập môn đệ tử
Tham gia ngày: May 2009
Bài gửi: 1
: |
Em cũng thử dùng chương trình trên của bác để nạp vào PIC18F97J60 nhưng chuyển sang Program Memory tại địa chỉ 0x2000 thì không thấy có data nào ghi vào địa chỉ đó cả. Cho em hỏi có cần phải thiết lập gì thêm nữa không ạ? Đoạn chương trình e chỉnh sửa:
TBLPTR = 0x2000; // địa chỉ của vùng nhớ mà data đc ghi, ở đây mình dùng 0x2000 EECON1bits.WREN = 1; // enable write to memory EECON1bits.FREE = 1; // enable Row Erase operation INTCONbits.GIE = 0; // disable interrupts // EECON2 = 0x55; // EECON2 = 0xAA; // EECON1bits.WR = 1; _asm MOVLW 0x55 MOVWF 0xfa7, ACCESS MOVLW 0xaa MOVWF 0xfa7, ACCESS BSF 0xfa6, 0x1, ACCESS _endasm INTCONbits.GIE = 1; // enable interupt // ghi 64 bytes data vào holding register trước khi bắt đầu write for (j=0;j<64;j++) { TABLAT = 0x43; // kí tự C sẽ đc ghi vào từng byte bộ nhớ _asm TBLWTPOSTINC _endasm } EECON1bits.WREN = 1; // bật bít write, cho phép ghi INTCONbits.GIE = 0; // tạm thời disable interrupt //EECON2 = 0x55; // unlock register //EECON2 = 0xAA; //EECON1bits.WR = 1; // bắt đầu ghi _asm MOVLW 0x55 MOVWF 0xfa7, ACCESS MOVLW 0xaa MOVWF 0xfa7, ACCESS BSF 0xfa6, 0x1, ACCESS _endasm while (EECON1bits.WR); // trong khi đang ghi thì chờ INTCONbits.GIE = 1; // enable interupt EECON1 = 0x00; // disable WREN , ko cho phép ghi nữa Cảm ơn các bác nhiều. |
|
|