ขอความกรุณาด้วยครับ build ผ่านเเต่ burn ไม่ได้ programming failed at program memory address 0x000000

กระทู้สนทนา
เป็นโปรเเกรม A/D IC MCP3201 12 bit เข้า pic16f628a ออกจอLCD ครับ โปรเเกรมเป็นดังนี้
List P=16f628A,W=-302
#include <P16F628A.INC>
#DEFINE LOW_E BCF PORTA,0
#DEFINE HIGH_E BSF PORTA,0
#DEFINE LOW_RS BCF PORTA,1
#DEFINE HIGH_RS BSF PORTA,1
#DEFINE LOW_CLK BCF PORTA,2
#DEFINE HIGH_CLK BSF PORTA,2
#DEFINE LOW_CS BCF PORTA,4
#DEFINE HIGH_CS BSF PORTA,4

SAVE1 EQU 0X70
SAVE2 EQU 0X71
SAVE3 EQU 0X72
SAVE4 EQU 0X77
LOOP EQU 0X73
DELAY_X EQU 0x74
DELAY_Y EQU 0x75
DELAY_Z EQU 0x76
TOTAL1 EQU 0X78

__CONFIG 0X3F61
ORG 0x0000
MOVLW .7
MOVWF CMCON
BSF STATUS,RP0
MOVLW B'00001000'
MOVWF TRISA
CLRF TRISB
BCF STATUS,RP0
CLRF PORTA
CLRF PORTB


HIGH_CS
NOP
BEGIN: CLRF SAVE1
CLRF SAVE2
CLRF SAVE3
CLRF SAVE4
CLRF TOTAL1
LOW_CS
NOP
HIGH_CLK
NOP ; 1st CLOCK
LOW_CLK
NOP
HIGH_CLK
NOP ; 2nd CLOCK
LOW_CLK
NOP
HIGH_CLK
NOP ; 3rd CLOCK
LOW_CLK
NOP

BTFSS PORTA,3 ; GETBIT
MOVLW B'00000001'
MOVLW B'00000000'
MOVWF SAVE1
HIGH_CLK
NOP
LOW_CLK
NOP
BTFSS PORTA,3
MOVLW B'00000010'
MOVLW B'00000000'
MOVWF SAVE2
HIGH_CLK
NOP
LOW_CLK
NOP
BTFSS PORTA,3
MOVLW B'00000100'
MOVLW B'00000000'
MOVWF SAVE3
HIGH_CLK
NOP
LOW_CLK
NOP
BTFSS PORTA,3
MOVLW B'00001000'
MOVLW B'00000000'
MOVWF SAVE4


MOVF SAVE1,0
IORWF SAVE2,0
IORWF SAVE3,0
IORWF SAVE4,0

MOVWF TOTAL1

HIGH_CS



CALL DELAY1S ; LCD
CALL DELAY1S

CALL INITIAL
CALL DELAY2MS
CALL CLEAR


MOVLW 0X80
CALL WRITE_COM2
MOVLW 0X80
IORWF TOTAL1,0
CALL WRITE_DATA
CALL DELAY1S
GOTO BEGIN

INITIAL: CALL FUNCTION_SET
CALL DELAY15MS
CALL FUNCTION_SET
CALL DELAY2MS
CALL FUNCTION_SET
CALL DELAY2MS
CALL FUNCTION_SET
CALL ENTRY_MODE
CALL DISPLAY_CONTROL
CALL CURSOR_CONTROL
RETURN

FUNCTION_SET: MOVLW B'00111000'
CALL WRITE_COM1
RETURN

ENTRY_MODE: MOVLW B'00000110'
CALL WRITE_COM1
RETURN

DISPLAY_CONTROL:MOVLW B'00001100'
CALL WRITE_COM1
RETURN

CURSOR_CONTROL: MOVLW B'00010100'
CALL WRITE_COM1
RETURN

CLEAR: MOVLW B'00000001'
CALL WRITE_COM2
RETURN

WRITE_COM1: LOW_RS
HIGH_E
MOVWF PORTB
NOP
LOW_E
CALL DELAY40US
HIGH_E
RETURN

WRITE_COM2: LOW_RS
HIGH_E
MOVWF PORTB
NOP
LOW_E
CALL DELAY2MS
HIGH_E
RETURN

WRITE_DATA: HIGH_RS
HIGH_E
MOVWF PORTB
NOP
LOW_E
CALL DELAY2MS
HIGH_E
RETURN

DELAY2MS: CLRF DELAY_X
CLRF DELAY_Y
MOVLW 0X07
MOVWF DELAY_Y
DECFSZ DELAY_X,1
GOTO $-1
DECFSZ DELAY_Y,1
GOTO $-3
RETURN

DELAY15MS: CLRF DELAY_X
CLRF DELAY_Y
MOVLW 0X20
MOVWF DELAY_Y
DECFSZ DELAY_X,1
GOTO $-1
DECFSZ DELAY_Y,1
GOTO $-3
RETURN

DELAY40US: CLRF DELAY_X
MOVLW 0X2F
MOVWF DELAY_X
DECFSZ DELAY_X,1
GOTO $-1
RETURN

DELAY1S: CLRF DELAY_X
CLRF DELAY_Y
MOVLW 0X0F
MOVWF DELAY_Z
DECFSZ DELAY_X,1
GOTO $-1
DECFSZ DELAY_Y,1
GOTO $-3
DECFSZ DELAY_Z,1
GOTO $-5
RETURN
END

จากคุณ ก๊อบ (A:192.168.0.82 X:161.246.20.107)
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่