Blame | Last modification | View Log | Download
MPASM 01.02 Released SERVO.ASM 8-21-1999 18:28:26 PAGE 1LOC OBJECT CODE LINE SOURCE TEXTVALUE0001 #include 16C84.INC0001 ;0002 ; Definice registru a zakladnich maker pro 16C840003 ;0004 processor 16C840005 radix D00060000 0007 __16C84__: ; Priznak modulu 16C8400080009 ; Definice registru00100000 0011 IND0 equ 00H ; 0&1 Pristup na neprimou adresu0001 0012 TMR0 equ 01H ; 0 Real Time clock counter0002 0013 PCL equ 02H ; 0&1 Spodni cast PC0003 0014 STATUS equ 03H ; 0&1 Stavove bity0000 0015 _CARRY equ 00001 0016 _DC equ 10002 0017 _ZERO equ 20003 0018 _PD equ 30004 0019 _TO equ 40005 0020 _RP0 equ 50006 0021 _RP1 equ 60007 0022 _IRP equ 70004 0023 FSR equ 04H ; 0&1 Ukazatel pro neprime adresovani0005 0024 PORTA equ 05H ; 0&1 Data a rizeni portu A0006 0025 PORTB equ 06H ; 0&1 Data a rizeni portu B0008 0026 EEDATA_0 equ 08H ; 0 Data EEPROM0008 0027 EECON1_1 equ 08H ; 1 Rizeni EEPROM0000 0028 _EERD equ 00001 0029 _EEWR equ 10002 0030 _EEWREN equ 20003 0031 _EEWRERR equ 30004 0032 _EEIF equ 40009 0033 EEADR_0 equ 09H ; 0 Adresa EEPROM0009 0034 EECON2_1 equ 09H ; 1 Aktivacni pseudoregistr000A 0035 PCLATH equ 0AH ; 0&1 Horni cast PC pro move000B 0036 INTCON equ 0BH ; 0&1 Rizeni preruseni0000 0037 _RBIF equ 0 ;0001 0038 _INTF equ 10002 0039 _T0IF equ 20003 0040 _RBIE equ 30004 0041 _INTE equ 40005 0042 _T0IE equ 50006 0043 _EEIE equ 60007 0044 _GIE equ 700450046 page0 macro0047 bcf STATUS,_RP00048 endm00490050 page1 macro0051 bsf STATUS,_RP00052 endmMPASM 01.02 Released SERVO.ASM 8-21-1999 18:28:26 PAGE 2LOC OBJECT CODE LINE SOURCE TEXTVALUE0053 ;0054 ; Sada maker pro porovnani a skoky0055 ;00560057 ;--- Compare ---0058 CMP macro ZNAK, PROCEDURA ; if W=ZNAK then goto PROCEDURA0059 xorlw ZNAK ; if W#ZNAK then zachovej W a neskakej0060 btfsc STATUS,_ZERO0061 goto PROCEDURA0062 xorlw ZNAK0063 endm00640065 ;--- Skip if Carry ---0066 SC macro0067 btfss STATUS,_CARRY0068 endm00690070 ;--- Skip if not Carry ---0071 SNC macro0072 btfsc STATUS,_CARRY0073 endm00740075 ;--- Skip if Zero ---0076 SZ macro0077 btfss STATUS,_ZERO0078 endm00790080 ;--- Skip if not Zero ---0081 SNZ macro0082 btfsc STATUS,_ZERO0083 endm00840085 ;--- Skip if Borrow ( Negative ) --- ( po odecitani )0086 SB macro0087 btsfsc STATUS,_CARRY0088 endm0089 SN macro0090 btfsc STATUS,_CARRY0091 endm00920093 ;--- Skip if not Borrow ( Positive ) --- ( po odecitani )0094 SNB macro0095 btfss STATUS,_CARRY0096 endm0097 SP macro0098 btfss STATUS,_CARRY0099 endm01000101 cblock 0CH ; Prvni volny registr0102 endc000100020003 org 0MPASM 01.02 Released SERVO.ASM 8-21-1999 18:28:26 PAGE 3LOC OBJECT CODE LINE SOURCE TEXTVALUE00040000 2804 0005 goto Start0006 ;--------------------0007 org 40008 ;--------------------00090004 0010 Start:0011 page10004 1683 M bsf STATUS,_RP00005 3000 0012 movlw 00000000B ; inicializace citace a prescaleru0006 0081 0013 movwf TMR00007 3000 0014 movlw 00000000B ; konfigurace preruseni0008 008B 0015 movwf INTCON00160017 page10009 1683 M bsf STATUS,_RP0000A 30F7 0018 movlw 11110111B ; nastaveni portu na vstup nebo vystup000B 0085 0019 movwf PORTA ; 1=vstup 0=vystup000C 30F1 0020 movlw 11110001B000D 0086 0021 movwf PORTB0022000E 1781 0023 bsf TMR0, 7 ; vypni pull-up na PORTB (OPTION registr)00240025 page0000F 1283 M bcf STATUS,_RP000260010 0100 0027 clrw ; vynulovani portu0011 0085 0028 movwf PORTA0012 0086 0029 movwf PORTB00300013 1585 0031 bsf PORTA, 3 ; Pull-Up na tlacitka00320014 1086 0033 bcf PORTB, 1 ; zhasnuti LED0015 1106 0034 bcf PORTB, 20016 1186 0035 bcf PORTB, 300360017 0037 MainLoop:0038 ;prodleva 10ms00390017 30FA 0040 movlw 250 ; 2,5 ms0018 008C 0041 movwf CT100019 2033 0042 call Delay10us001A 30FA 0043 movlw 250 ; 2,5 ms001B 008C 0044 movwf CT10001C 2033 0045 call Delay10us001D 30FA 0046 movlw 250 ; 2,5 ms001E 008C 0047 movwf CT10001F 2033 0048 call Delay10us0020 30FA 0049 movlw 250 ; 2,5 ms0021 008C 0050 movwf CT10MPASM 01.02 Released SERVO.ASM 8-21-1999 18:28:26 PAGE 4LOC OBJECT CODE LINE SOURCE TEXTVALUE0022 2033 0051 call Delay10us00520023 1486 0053 bsf PORTB, 1 ; ON00540024 3096 0055 movlw 15000560025 1C85 0057 btfss PORTA, 1 ; Test TL10026 3064 0058 movlw 10000590027 1F06 0060 btfss PORTB, 6 ; Test TL20028 30C8 0061 movlw 20000620029 008C 0063 movwf CT10002A 2033 0064 call Delay10us0065002B 1086 0066 bcf PORTB, 1 ; OFF00670068002C 1106 0069 bcf PORTB, 2 ; zhasnuti LED002D 1186 0070 bcf PORTB, 30071002E 1C85 0072 btfss PORTA, 1 ; Test TL1002F 1506 0073 bsf PORTB, 2 ; rozsviceni LED200740030 1F06 0075 btfss PORTB, 6 ; Test TL20031 1586 0076 bsf PORTB, 3 ; rozsviceni LED200770032 2817 0078 goto MainLoop0079 ;---------------00800033 0081 Delay10us: ; Prodleva (DELAY10 * 10us)+3us0033 0000 0082 nop0034 0000 0083 nop0035 0000 0084 nop0036 0000 0085 nop0037 0000 0086 nop0038 0000 0087 nop0039 0000 0088 nop003A 0B8C 0089 decfsz CT10, 1003B 2833 0090 goto Delay10us003C 0008 0091 return00920093 #include SERVO.INC0001 ;----------------------------0002 ; Definice promenych0003 ;----------------------------00040005 cblock000C 0006000C 0007 CT10000D 00080009 endc0093MPASM 01.02 Released SERVO.ASM 8-21-1999 18:28:26 PAGE 5LOC OBJECT CODE LINE SOURCE TEXTVALUE00940095 end0096MPASM 01.02 Released SERVO.ASM 8-21-1999 18:28:26 PAGE 6SYMBOL TABLELABEL VALUECT10 000CDelay10us 0033EEADR_0 0009EECON1_1 0008EECON2_1 0009EEDATA_0 0008FSR 0004IND0 0000INTCON 000BMainLoop 0017PCL 0002PCLATH 000APORTA 0005PORTB 0006STATUS 0003Start 0004TMR0 0001_CARRY 0000_DC 0001_EEIE 0006_EEIF 0004_EERD 0000_EEWR 0001_EEWREN 0002_EEWRERR 0003_GIE 0007_INTE 0004_INTF 0001_IRP 0007_PD 0003_RBIE 0003_RBIF 0000_RP0 0005_RP1 0006_T0IE 0005_T0IF 0002_TO 0004_ZERO 0002__16C84__ 0000MEMORY USAGE MAP ('X' = Used, '-' = Unused)0000 : X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXX---0040 : ---------------- ---------------- ---------------- ----------------All other memory blocks unused.Errors : 0Warnings : 0Messages : 0