Rev 321 | 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 label2684385510216 label268438551rcsta.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 label268438551Loopreceive = rcreg021A 50AE MOVF gbl_rcreg, W021C 6E07 MOVWF CompTempVarRet489End Function021E 0012 RETURNSub send(c As Byte)Do while (pir1 & (1 << TXIF)) = 0 Loop0204 label2684385620204 A89E BTFSS gbl_pir1,40206 D7FE BRA label268438562txreg = c0208 5007 MOVF send_00000_arg_c, W020A 6EAD MOVWF gbl_txregEnd Sub020C 0012 RETURNSub main()Dim motors As ByteDim sensors As ByteDim buttons As ByteDim leds As ByteDim count As wordDim 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_rcstamotors = 0x000256 6A01 CLRF main_1_motorsdo while (portb.0 = 1)0258 label2684385980258 B081 BTFSC gbl_portb,0025A D7FE BRA label268438598loopleds = 0xF0025C 0EF0 MOVLW 0xF0025E 6E03 MOVWF main_1_ledscount = 4000000260 0E80 MOVLW 0x800262 6E04 MOVWF main_1_count0264 0E1A MOVLW 0x1A0266 6E05 MOVWF main_1_count+D'1'do while (count > 0)0268 label2684386030268 5004 MOVF main_1_count, W026A 0800 SUBLW 0x00026C B0D8 BTFSC STATUS,C026E 5005 MOVF main_1_count+D'1', W0270 E013 BZ label268438605count = count -10272 0E01 MOVLW 0x010274 5C04 SUBWF main_1_count, W0276 6E07 MOVWF CompTempVar4920278 A0D8 BTFSS STATUS,C027A 0605 DECF main_1_count+D'1', F027C 5007 MOVF CompTempVar492, W027E 6E04 MOVWF main_1_countif count < 300000 thenleds = leds | 10280 0E01 MOVLW 0x010282 1003 IORWF main_1_leds, W0284 6E03 MOVWF main_1_ledsend ifif count < 200000 thenleds = leds | 20286 0E02 MOVLW 0x020288 1003 IORWF main_1_leds, W028A 6E03 MOVWF main_1_ledsend ifif count < 100000 thenleds = leds | 4028C 0E04 MOVLW 0x04028E 1003 IORWF main_1_leds, W0290 6E03 MOVWF main_1_ledsend iflata = leds0292 5003 MOVF main_1_leds, W0294 6E89 MOVWF gbl_lataloop0296 D7E8 BRA label2684386030298 label268438605leds = 0xFF0298 6803 SETF main_1_ledslata = 0xFF029A 6889 SETF gbl_lataDo while 1029C label268438623sensors =0xFF029C 6802 SETF main_1_sensorssensors = Call receive() 'prijmi stav cidel senzoru029E EC07F001 CALL receive_0000002A2 5007 MOVF CompTempVarRet489, W02A4 6E02 MOVWF main_1_sensorsIf (!((sensors.0) and (sensors.1))) Then02A6 6A06 CLRF CompTempVar49102A8 A202 BTFSS main_1_sensors,102AA D003 BRA label26843862802AC A002 BTFSS main_1_sensors,002AE D001 BRA label26843862802B0 2A06 INCF CompTempVar491, F02B2 label26843862802B2 5206 MOVF CompTempVar491, F02B4 E102 BNZ label26843862902BA label268438629motors = 0x7702B6 0E77 MOVLW 0x7702B8 6E01 MOVWF main_1_motorsEnd IfIf (!(sensors.2)) Then02BA B402 BTFSC main_1_sensors,202BC D002 BRA label26843863202C2 label268438632motors = 0xF702BE 0EF7 MOVLW 0xF702C0 6E01 MOVWF main_1_motorsEnd IfIf (!(sensors.3)) Then02C2 B602 BTFSC main_1_sensors,302C4 D002 BRA label26843863502CA label268438635motors = 0x7F02C6 0E7F MOVLW 0x7F02C8 6E01 MOVWF main_1_motorsEnd Iflata = sensors02CA 5002 MOVF main_1_sensors, W02CC 6E89 MOVWF gbl_latacall send(motors)02CE 5001 MOVF main_1_motors, W02D0 6E07 MOVWF send_00000_arg_c02D2 EC02F001 CALL send_00000Loop02D6 D7E2 BRA label268438623End Sub////////////////////////////////////////// Code with no source :-)////////////////////////////////////////0200 EF6CF001 GOTO _startup02D8 _startup02D8 EF10F001 GOTO main300000 FEFF DW 0xFEFF300002 FEF6 DW 0xFEF6300004 FEFF DW 0xFEFF300006 FFFB DW 0xFFFB300008 3FF0 DW 0x3FF030000A 9FFF DW 0x9FFF30000C BFFF DW 0xBFFF