初次游荡PIC就触礁。敬请老水手指点指点。 暂时还没有PIC调试设备和用户板,用了手边一片16F84a接上LED和输入按钮就准备上上手。简短程序在MPLAB IDE上软仿真正常,但写入后片子就是不能运行。 供电电压、复位脚电压、晶振脚的波形都正常。 我用的是superpro/z写入器,由于里面列表中仅有含16F84,我是用它代替16F84a。选用的是Intel格式。写入后再读回与源程序反汇编代码无异常。另外我试将Config的各项都更改过,仍不能运行。 在superpro/z写入器选择16F84片子后有配置字选项,其中有ID0~ID3输入框,默认均为3FFF,我不知道其意义。请问应该如何填写?另外,看门狗、上电定时器、晶振方式、代码保护的选项应该与程序中config一致吗? 敬请前辈给与帮助
以下是那段代码 list p=16F84A #include <p16F84A.inc> __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _XT_OSC
INT_VAR UDATA 0x0C COUNT RES 1 DVAR RES 1 DVAR1 RES 1 DVAR2 RES 1
RESET_VECTOR CODE 0x000 goto start
MAIN CODE start CLRF PORTB MOVLW 0xF0 bsf STATUS,5 ;RP0置1,选中Bank1;以便设置寄存器TRISB MOVWF TRISB ;RB口D3~D0为输入; BCF STATUS,5 movwf PORTB ;无效clear PORTC clrf COUNT ;clr count IncCount incf COUNT,F ;increment count movf COUNT,W movwf PORTB ;display on port c call Delay goto IncCount ;loop Delay movlw 0xFF; set outer delay loop movwf DVAR2 Delay0 movlw 0xFF; set outer delay loop movwf DVAR1 Delay1 movlw 0x08 movwf DVAR; set inner delay loop Delay2 decfsz DVAR goto Delay2 decfsz DVAR1 goto Delay1 decfsz DVAR2 goto Delay0 return END
|