下面是我用PIC10F200写的一个简单的程序,但始终没有波形输出<br />主要就是在上电的时候输出一个脉冲波形<br />我又检查不出来什么问题<br />好几年没有用过PIC单片机了,哪位大侠帮帮忙!<br /><br /><br /><br /> list p=10F200 ; list directive to define processor<br /> #include <p10F200.inc> ; processor specific variable definitions<br /><br /> __CONFIG _MCLRE_ON & _CP_OFF & _WDT_OFF<br /><br />; '__CONFIG' directive is used to embed configuration word within .asm file.<br />; The lables following the directive are located in the respective .inc file. <br />; See respective data sheet for additional information on configuration word.<br /><br /><br />;***** VARIABLE DEFINITIONS<br />temp EQU 0x10<br />temp1 EQU 0x11<br /> <br /> <br /><br />;**********************************************************************<br />; ORG 0xFF ; processor reset vector<br /><br />; Internal RC calibration value is placed at location 0xFF by Microchip<br />; as a movlw k, where the k is a literal value.<br /> <br /><br /> ORG 0x00 ; coding begins here<br />init<br /> ;IO初始化,设置GP0/GP1输出0,GP2/GP3为输入<br /> MOVLW 0x00<br /> MOVWF OSCCAL <br /> MOVLW 0xc0<br /> OPTION<br /> MOVLW 0x0C<br /> TRIS GPIO<br /> MOVLW 0x00<br /> MOVWF GPIO<br /><br />start<br /> ;延时20ms<br /> CALL delay10ms<br /> CALL delay10ms<br /> ;GP0输出高<br /> MOVLW 0x01 <br /> MOVWF GPIO<br /> ;延时70ms<br /> CALL delay10ms<br /> CALL delay10ms<br /> CALL delay10ms<br /> CALL delay10ms<br /> CALL delay10ms<br /> CALL delay10ms<br /> CALL delay10ms<br /> CALL delay10ms<br /> ;GP1输出高<br /> MOVLW 0x03 <br /> MOVWF GPIO<br /> ;延时10ms<br /> CALL delay10ms<br /> ;GP1输出低<br /> MOVLW 0x01 <br /> MOVWF GPIO<br /> ;延时10ms<br /> CALL delay10ms<br /> ;GP1输出高<br /> MOVLW 0x03 <br /> MOVWF GPIO<br /><br /> ;延时10ms<br /> CALL delay10ms<br /> SLEEP<br /><br />done<br /> NOP<br /> GOTO done<br /><br /><br />delay10ms<br /> MOVLW 0x0e<br /> MOVWF temp<br />d2<br /> MOVLW 0xed<br /> MOVWF temp1<br />d1<br /> DECFSZ temp1,1<br /> GOTO d1<br /> DECFSZ temp,1<br /> GOTO d2<br /> RETLW 0 <br /><br /><br /><br /> END ; directive 'end of program'<br /><br /><br /> |
|