|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
20-05-2007, 08:34 PM | #34 |
Đệ tử 1 túi
Tham gia ngày: Nov 2006
Bài gửi: 25
: |
Bạn namqn
cho mình hỏi 1 tí trong Datasheet PIC 16F877a trang 38 ở ví dụ EXAMPLE 3-4 ở dòng 3 từ dưới đếm lên XORLW 0X03 đúng ra nó phải là XORLW 0X04 không biết tôi nghĩ như vậy có đúng không ? xin bạn chỉ dùm sau đây là nguyên bản của Datasheet -------------------------------------------------------------------------- EXAMPLE 3-4: WRITING TO FLASH PROGRAM MEMORY -------------------------------------------------------------------------- ; This write routine assumes the following: ; ; 1. A valid starting address (the least significant bits = ‘00’)is loaded in ADDRH:ADDRL ; 2. The 8 bytes of data are loaded, starting at the address in DATADDR ; 3. ADDRH, ADDRL and DATADDR are all located in shared data memory 0x70 - 0x7f ; BSF STATUS,RP1 ; BCF STATUS,RP0 ; Bank 2 MOVF ADDRH,W ; Load initial address MOVWF EEADRH ; MOVF ADDRL,W ; MOVWF EEADR ; MOVF DATAADDR,W ; Load initial data address MOVWF FSR ; LOOP MOVF INDF,W ; Load first data byte into lower MOVWF EEDATA ; INCF FSR,F ; Next byte MOVF INDF,W ; Load second data byte into upper MOVWF EEDATH ; INCF FSR,F ; BSF STATUS,RP0 ; Bank 3 BSF EECON1,EEPGD ; Point to program memory BSF EECON1,WREN ; Enable writes BCF INTCON,GIE ; Disable interrupts (if using) MOVLW 55h ; Start of required write sequence: MOVWF EECON2 ; Write 55h MOVLW AAh ; MOVWF EECON2 ; Write AAh BSF EECON1,WR ; Set WR bit to begin write NOP ; Any instructions here are ignored as processor ; halts to begin write sequence NOP ; processor will stop here and wait for write complete ; after write processor continues with 3rd instruction BCF EECON1,WREN ; Disable writes BSF INTCON,GIE ; Enable interrupts (if using) BCF STATUS,RP0 ; Bank 2 INCF EEADR,F ; Increment address MOVF EEADR,W ; Check if lower two bits of address are ‘00’ ANDLW 0x03 ; Indicates when four words have been programmed XORLW 0x03 ; BTFSC STATUS,Z ; Exit if more than four words, GOTO LOOP ; Continue if less than four words |
|
|
Similar Threads | ||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
bác fall cho em hỏi tý về CCSC tại sao lại "Out of ROM" sớm thế? | MoH | Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) | 12 | 20-10-2006 11:31 AM |
Hội thảo: "Tầm nhìn dientuvietnam 2006" | falleaf | Đóng góp ý kiến | 2 | 03-08-2006 06:48 PM |
Ý kiến về "Tài liệu hướng dẫn PIC - Tiếng Việt" | baoquyen | Đóng góp ý kiến | 8 | 04-12-2005 10:04 PM |
"Mechatronics handbook " | elecminh | Điều khiển | 3 | 07-09-2005 12:42 AM |
Nộp bài tập "Hoc PIC trong 1 ngày" | teo | Cơ bản về vi điều khiển và PIC | 5 | 02-06-2005 01:11 AM |