您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机PIC单片机玩具车程序 正文
PIC单片机玩具车程序

PIC单片机玩具车程序

点击数:7448 次   录入时间:03-04 11:39:06   整理:http://www.55dianzi.com   PIC单片机
SUBWF BT5,0  ; LOW
BTFSC STATUS,CARRY ; BIT
GOTO CALI  ;-----------------
MOV LW 27  ; <- Schleife +2
SUBWF BT5,0  ;
BTFSC STATUS,CARRY ; Hi BIT > 25?
GOTO CALEX  ;-----------------
MOV LW 00100000b ;
ADDWF OSCCAL,1 ;
GOTO CALI  ;-----------------
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ; -----------------------------------
CALEX  MOV LW INOUT  ; GP3 input, rest output
TRIS GPIO  ; tristate port GPIO




MOV LW 11010110b ; no wakeup, no pullup, T0 int., hightolow, T0, 1:128
OPTION




COMF XOR,0  ; inverted stored for reset conditions (all zero)
XORWF SOLL,0  ; for brown out to start 
XORWF IST,0  ; with same speed
BTFSC STATUS,ZERO ; all Bytes ok?
GOTO START  ; -----------------------------------




CLEAR BCF ACKBIT  ;
CLRF IST  ; -----------------------------------
CLRF SOLL  ; set all register to start condition
CLRF S31  ;
CLRF LO  ;
CLRF HI  ; set PWM to 1 to force a jump
CLRF PWM  ; in STEP for stop condition
INCF PWM  ; -----------------------------------




BEGIN
; EEPROM ............................................................




LOADREG  MOV LW 0x30  ;
MOV WF FSR  ; Pointer for indirect Adressing




CLRF EEADDR  ;
EEREAD BSF STATUS,SEITE ; set to 200H begin EEPROM
CALL READ_RANDOM ;
BCF STATUS,SEITE ; auf ROM seite 0
BTFSS PC_OFFSET,EE_OK ;(BTFSC STATUS,ZERO) ERROR?
GOTO EEREAD  ;
MOV F EEDATA,0 ;
MOV WF INDF  ;
MOV LW 0x3F  ;
XORWF FSR,0  ;
ANDLW 00111111b ;
BTFSC STATUS,ZERO ;
GOTO EEEXIT  ;
INCF FSR,1  ;
INCF EEADDR  ;
GOTO EEREAD  ;




EEEXIT  MOV F CV3,0  ;
BTFSC STATUS,ZERO ;
IORLW 1  ;
XORLW 0xFF  ; complement W
BCF FSR,5  ; rampage back to 0x10..
MOV WF ACC  ;
BSF FSR,5  ; rampage to 0x30..
MOV F CV4,0  ;
BTFSC STATUS,ZERO ;
IORLW 1  ;
XORLW 0xFF  ; complement W
BCF FSR,5  ; rampage back to 0x10..
MOV WF DEC  ;
;--------------------------------
BSF FSR,5  ;
MOV F CV64,0  ; copy config
BCF FSR,5  ; to
MOV WF FLAG  ; lower ram page
;--------------------------------
MOV LW 0x09  ; adress = BT1 - 1
MOV WF FSR  ; Pointer for indirect Adressing




GOTO START  ;
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^




;..................................................................
SPDTAB  MOV F S31,0 ;13
ADDWF PC ;14
RETLW 0 ;15-16
RETLW 0 ;
RETLW 0 ;
RETLW 0 ;
RETLW 2 ; 1
RETLW 3 ; 2
RETLW 5 ; 3
RETLW 7 ; 4
RETLW 10 ; 5
RETLW 13 ; 6
RETLW 18 ; 7
RETLW 22 ; 8
RETLW 28 ; 9
RETLW 34 ; 10
RETLW 41 ; 11
RETLW 48 ; 12
RETLW 56 ; 13
RETLW 65 ; 14
RETLW 74 ; 15
RETLW 84 ; 16
RETLW 95 ; 17
RETLW 106 ; 18
RETLW 118 ; 19
RETLW 131 ; 20
RETLW 144 ; 21
RETLW 158 ; 22
RETLW 173 ; 23
RETLW 188 ; 24
RETLW 204 ; 25
RETLW 220 ; 26
RETLW 237 ; 27
RETLW 255 ; 28
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^




;....................................................................
;--------------------- multiply MULT1 * MULT2 = hi MULT1 low MULT2 --
MULTIP  MOV LW 9  ;   1   
MOV WF COUNT  ;   2
CLRW   ;   3
BCF STATUS,CARRY ;   4
MULTI  MOV WF TEMP  ; 1 
RRF TEMP,0  ; 2 
RRF MULT2,1  ; 3 
BTFSC STATUS,CARRY ; 4 
ADDWF MULT1,0  ; 5 
DECFSZ COUNT,1  ; 6 
GOTO MULTI  ; 7-8 
MOV WF MULT1  ; 9*8=72  76
RETLW 0  ; END MULTIP 77-78
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^




;SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS




START CLRWDT   ;    12




MOV LW 0xFF  ;    13
MOV WF BT4  ;    14
MOV WF BT5  ;    15
MOV WF BT6  ;    16




MOV LW 0x09  ; Pointer for ind. Adressing 17
MOV WF FSR  ; (BT1 - 1)   18




MOV LW 11  ;    19
MOV WF PRE  ; PRE to 10 Bit for Preample 20
;-------------
INTEST CLRF HI  ;    20
INTST BCF STEPOK?  ;    21
NOP   ;    22
CALL IN  ;    23-24
BTFSC STEPOK?  ;    4.
GOTO STEPOK  ;    5.-6
CALL STEP  ;    6.-7.
BTFSC DCCIN  ; ########### input ########## 1  (25)
BSF BITHI  ;    2




BTFSC FLACKER  ;    3
BTFSC BT2,3  ;    4

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  下一页


本文关键字:单片机  程序  玩具  PIC单片机单片机-工控设备 - PIC单片机

上一篇:LCD1602显示C语言