Blame | Last modification | View Log | Download
;/////////////////////////////////////////////////////////////////////////////////;// Code Generator: BoostBasic Compiler - http://www.sourceboost.com;// Version : 6.70;// License Type : Pro License;// Limitations : PIC18 max code size:Unlimited, max RAM banks:Unlimited;/////////////////////////////////////////////////////////////////////////////////'robot'#pragma DATA _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H#pragma DATA _CONFIG1H, _OSCS_OFF_1H & _HSPLL_OSC_1H#pragma DATA _CONFIG2L, _BOR_ON_2L & _BORV_42_2L & _PWRT_ON_2L#pragma DATA _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H#pragma DATA _CONFIG3H, _CCP2MX_OFF_3H#pragma DATA _CONFIG4L, _STVR_ON_4L & _LVP_OFF_4L & _DEBUG_OFF_4L#pragma DATA _CONFIG5L, _CP0_ON_5L & _CP1_ON_5L & _CP2_ON_5L & _CP3_ON_5L#pragma DATA _CONFIG5H, _CPB_ON_5H & _CPD_ON_5H#pragma DATA _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L#pragma DATA _CONFIG6H, _WRTC_ON_6H & _WRTB_ON_6H & _WRTD_OFF_6H#pragma DATA _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L#pragma DATA _CONFIG7H, _EBTRB_ON_7H#pragma CLOCK_FREQ 40000000Function receive() As ByteIf ( (rcsta.OERR = 1) ) Then020E A2AB BTFSS gbl_rcsta,10210 D002 BRA label2684385500216 label268438550rcsta.CREN = 00212 98AB BCF gbl_rcsta,4rcsta.CREN = 10214 88AB BSF gbl_rcsta,4End IfDo While (pir1.RCIF = 0)0216 AA9E BTFSS gbl_pir1,50218 D7FE BRA label268438550Loopreceive = rcreg021A 50AE MOVF gbl_rcreg, W021C 6E0A MOVWF CompTempVarRet489End Function021E 0012 RETURNSub send(c As Byte)Do while (pir1 & (1 << TXIF)) = 0 Loop0204 label2684385610204 A89E BTFSS gbl_pir1,40206 D7FE BRA label268438561txreg = c0208 500A MOVF send_00000_arg_c, W020A 6EAD MOVWF gbl_txregEnd Sub020C 0012 RETURNSub main()Dim motors As ByteDim sensors As ByteDim leds As ByteDim leds1 As ByteDim buttons As ByteDim i As Long'NASTAVENI IOlata=0xFF0220 6889 SETF gbl_latalatb=00222 6A8A CLRF gbl_latblatc=0xFF0224 688B SETF gbl_latctrisa=0xF00226 0EF0 MOVLW 0xF00228 6E92 MOVWF gbl_trisatrisb=0x3F022A 0E3F MOVLW 0x3F022C 6E93 MOVWF gbl_trisbtrisc=0x9F022E 0E9F MOVLW 0x9F0230 6E94 MOVWF gbl_trisc'VYPNOUT ADCadcon1=0xC60232 0EC6 MOVLW 0xC60234 6EC1 MOVWF gbl_adcon1adcon0=0xC00236 0EC0 MOVLW 0xC00238 6EC2 MOVWF gbl_adcon0'UART 9600bpsspbrg=64023A 0E40 MOVLW 0x40023C 6EAF MOVWF gbl_spbrgtxsta = txsta & ~(1 << BRGH)023E 0EFB MOVLW 0xFB0240 14AC ANDWF gbl_txsta, W0242 6EAC MOVWF gbl_txstatxsta = txsta | (1 << TXEN)0244 0E20 MOVLW 0x200246 10AC IORWF gbl_txsta, W0248 6EAC MOVWF gbl_txstarcsta = rcsta | (1 << CREN)024A 0E10 MOVLW 0x10024C 10AB IORWF gbl_rcsta, W024E 6EAB MOVWF gbl_rcstarcsta = rcsta | (1 << SPEN)0250 0E80 MOVLW 0x800252 10AB IORWF gbl_rcsta, W0254 6EAB MOVWF gbl_rcstaleds = 0xFF0256 6803 SETF main_1_ledsleds1 = 0x0F0258 0E0F MOVLW 0x0F025A 6E04 MOVWF main_1_leds1motors = 0x00025C 6A01 CLRF main_1_motorsDo while 1025E label268438595buttons = portb025E 5081 MOVF gbl_portb, W0260 6E05 MOVWF main_1_buttonsIf (buttons.1)=0 Then0262 B205 BTFSC main_1_buttons,10264 D022 BRA label26843859802AA label268438598i=00266 6A06 CLRF main_1_i0268 6A07 CLRF main_1_i+D'1'026A 6A08 CLRF main_1_i+D'2'026C 6A09 CLRF main_1_i+D'3'leds1 = leds1 - 1026E 0404 DECF main_1_leds1, W0270 6E04 MOVWF main_1_leds1lata = leds10272 5004 MOVF main_1_leds1, W0274 6E89 MOVWF gbl_lataDo while i <= 5000000276 label2684386030276 5009 MOVF main_1_i+D'3', W0278 0800 SUBLW 0x00027A E108 BNZ label268438604027C 5008 MOVF main_1_i+D'2', W027E 0807 SUBLW 0x070280 E105 BNZ label2684386040282 5007 MOVF main_1_i+D'1', W0284 08A1 SUBLW 0xA10286 E102 BNZ label2684386040288 5006 MOVF main_1_i, W028A 0820 SUBLW 0x20028C label268438604028C E202 BC label4026532463028E AE09 BTFSS main_1_i+D'3',70290 D008 BRA label2684386080292 label4026532463i=i+10292 2A06 INCF main_1_i, F0294 B4D8 BTFSC STATUS,Z0296 2A07 INCF main_1_i+D'1', F0298 B4D8 BTFSC STATUS,Z029A 2A08 INCF main_1_i+D'2', F029C B4D8 BTFSC STATUS,Z029E 2A09 INCF main_1_i+D'3', Floop02A0 D7EA BRA label26843860302A2 label268438608motors = motors + 0x1102A2 0E11 MOVLW 0x1102A4 2401 ADDWF main_1_motors, W02A6 6E01 MOVWF main_1_motorselseif (buttons.4)=0 Then02A8 D023 BRA label26843861902AA B805 BTFSC main_1_buttons,402AC D021 BRA label26843861902F0 label268438619i=002AE 6A06 CLRF main_1_i02B0 6A07 CLRF main_1_i+D'1'02B2 6A08 CLRF main_1_i+D'2'02B4 6A09 CLRF main_1_i+D'3'leds1 = leds1 + 102B6 2804 INCF main_1_leds1, W02B8 6E04 MOVWF main_1_leds1lata = leds102BA 5004 MOVF main_1_leds1, W02BC 6E89 MOVWF gbl_lataDo while i <= 50000002BE label26843862402BE 5009 MOVF main_1_i+D'3', W02C0 0800 SUBLW 0x0002C2 E108 BNZ label26843862502C4 5008 MOVF main_1_i+D'2', W02C6 0807 SUBLW 0x0702C8 E105 BNZ label26843862502CA 5007 MOVF main_1_i+D'1', W02CC 08A1 SUBLW 0xA102CE E102 BNZ label26843862502D0 5006 MOVF main_1_i, W02D2 0820 SUBLW 0x2002D4 label26843862502D4 E202 BC label402653246802D6 AE09 BTFSS main_1_i+D'3',702D8 D008 BRA label26843862902DA label4026532468i=i+102DA 2A06 INCF main_1_i, F02DC B4D8 BTFSC STATUS,Z02DE 2A07 INCF main_1_i+D'1', F02E0 B4D8 BTFSC STATUS,Z02E2 2A08 INCF main_1_i+D'2', F02E4 B4D8 BTFSC STATUS,Z02E6 2A09 INCF main_1_i+D'3', Floop02E8 D7EA BRA label26843862402EA label268438629motors = motors - 0x1102EA 0E11 MOVLW 0x1102EC 5C01 SUBWF main_1_motors, W02EE 6E01 MOVWF main_1_motorsEnd Ifleds = 0xFF02F0 6803 SETF main_1_ledssensors =0xFF02F2 6802 SETF main_1_sensorssensors = Call receive() 'prijmi stav cidel senzoru02F4 EC07F001 CALL receive_0000002F8 500A MOVF CompTempVarRet489, W02FA 6E02 MOVWF main_1_sensors'Bity v bajtu sensors'BIT3=LEVE SPODNI, BIT2=PRAVE SPODNI, BIT1=LEVE PREDNI, BIT0=PRAVE PREDNI'prislusny bit v nule znamena aktivni senzorIf (sensors.0)=0 Then02FC B002 BTFSC main_1_sensors,002FE D003 BRA label2684386430306 label268438643'pravy predni senzor aktivni'rozsvit prislusnou LED k senzoru, zatim jen v promenneleds = leds & ~(1 << 1) 'led sviti, kdyz se ji bit znuluje0300 0EFD MOVLW 0xFD0302 1403 ANDWF main_1_leds, W0304 6E03 MOVWF main_1_ledsEnd IfIf (sensors.1)=0 Then0306 B202 BTFSC main_1_sensors,10308 D003 BRA label2684386460310 label268438646'levy predni senzor aktivni'rozsvit prislusnou LED k senzoru, zatim jen v promenneleds = leds & ~(1 << 2) 'led sviti, kdyz se ji bit znuluje030A 0EFB MOVLW 0xFB030C 1403 ANDWF main_1_leds, W030E 6E03 MOVWF main_1_ledsEnd IfIf (sensors.2)=0 Then0310 B402 BTFSC main_1_sensors,20312 D003 BRA label268438649031A label268438649'pravy spodni senzor aktivni'rozsvit prislusnou LED k senzoru, zatim jen v promenneleds = leds & ~(1 << 0) 'led sviti, kdyz se ji bit znuluje0314 0EFE MOVLW 0xFE0316 1403 ANDWF main_1_leds, W0318 6E03 MOVWF main_1_ledsEnd IfIf (sensors.3)=0 Then031A B602 BTFSC main_1_sensors,3031C D003 BRA label2684386520324 label268438652'levy spodni senzor aktivni'rozsvit prislusnou LED k senzoru, zatim jen v promenneleds = leds & ~(1 << 3) 'led sviti, kdyz se ji bit znuluje031E 0EF7 MOVLW 0xF70320 1403 ANDWF main_1_leds, W0322 6E03 MOVWF main_1_ledsEnd Iflata = leds0324 5003 MOVF main_1_leds, W0326 6E89 MOVWF gbl_latacall send(motors)0328 5001 MOVF main_1_motors, W032A 6E0A MOVWF send_00000_arg_c032C EC02F001 CALL send_00000Loop0330 D796 BRA label268438595End Sub////////////////////////////////////////// Code with no source :-)////////////////////////////////////////0200 EF99F001 GOTO _startup0332 _startup0332 EF10F001 GOTO main300000 FEFF DW 0xFEFF300002 FEF6 DW 0xFEF6300004 FEFF DW 0xFEFF300006 FFFB DW 0xFFFB300008 3FF0 DW 0x3FF030000A 9FFF DW 0x9FFF30000C BFFF DW 0xBFFF