Rev 410 | Blame | Compare with Previous | Last modification | View Log | Download
CCS PCW C Compiler, Version 3.110, 15448Filename: d:\@kaklik\programy\pic_c\mereni\vyskomer_drak\main.LSTROM used: 54 (5%)Largest free fragment is 970RAM used: 5 (7%) at main() level6 (9%) worst caseStack: 1 locations*0000: MOVLW 000001: MOVWF 0A0002: GOTO 0190003: NOP.................... #include "D:\@Kaklik\programy\PIC_C\mereni\vyskomer_drak\main.h".................... #include <16F84.h>.................... //////// Standard Header file for the PIC16F84 device ////////////////.................... #device PIC16F84.................... #list........................................ #use delay(clock=4000000)0004: MOVLW 120005: MOVWF 040006: MOVF 00,W0007: BTFSC 03.20008: GOTO 0180009: MOVLW 01000A: MOVWF 0D000B: CLRF 0C000C: DECFSZ 0C,F000D: GOTO 00C000E: DECFSZ 0D,F000F: GOTO 00B0010: MOVLW 4A0011: MOVWF 0C0012: DECFSZ 0C,F0013: GOTO 0120014: NOP0015: NOP0016: DECFSZ 00,F0017: GOTO 0090018: RETLW 00.................... #fuses XT,NOWDT................................................................................ #DEFINE SCLK PIN_A2.................... #DEFINE DOUT PIN_A3.................... #DEFINE DIN PIN_A1.................... #include "MS5534A.c"........................................ #DEFINE CLK 250.................... #DEFINE WORD1 0b111010101000.................... #DEFINE WORD2 0b111010110000.................... #DEFINE WORD3 0b111011001000.................... #DEFINE WORD4 0b111011010000........................................ void send_bit(bit).................... {.................... output_bit(DIN,bit);.................... output_high(SCLK);.................... Delay_us(CLK);.................... output_low(SCLK);.................... }.................... int1 read_bit().................... {.................... output_high(SCLK);.................... Delay_us(CLK);.................... output_low(SCLK);.................... if (input(DOUT)) return true;.................... if (!input(DOUT)) return false;.................... }........................................ void read_byte(*byte_r).................... {.................... int i;........................................ for(i=0;i>=7;i++).................... {.................... *byte_r = read_bit();.................... *byte_r << 1;.................... }.................... }........................................ void send_command(command,width).................... {.................... int i;.................... for (i=width;i>=0;i--).................... {.................... send_bit(bit_test(command,0));.................... command >>1;.................... }.................... }........................................ void bar_reset().................... {.................... int8 i;........................................ for(i=0;i>=20;i++) send_bit(Bit_test(i,0));.................... }........................................ int16 bar_con_pre().................... {.................... int16 word;........................................ send_command(0b1111010000,9);........................................ Delay_ms(10);........................................ While(input(DOUT)) Delay_us(100);........................................ read_byte(&word);.................... word << 8;.................... read_byte(&word);........................................ return word;.................... }........................................ int16 bar_con_term().................... {.................... int16 word;........................................ send_command(0b1111001000,9);........................................ Delay_ms(10);........................................ While(input(DOUT)) Delay_us(100);........................................ read_byte(&word);.................... word << 8;.................... read_byte(&word);........................................ return word;.................... }........................................ int16 bar_read_cal(command).................... {.................... int16 word;........................................ send_command(command,11);........................................ Delay_ms(10);........................................ While(input(DOUT)) Delay_us(100);........................................ read_byte(&word);.................... word << 8;.................... read_byte(&word);........................................ return word;.................... }................................................................................................................................................................ void main().................... {0019: CLRF 04001A: MOVLW 1F001B: ANDWF 03,F.................... output_high(pin_B2);001C: BSF 03.5001D: BCF 06.2001E: BCF 03.5001F: BSF 06.2.................... while(true).................... {.................... while(!input(pin_B1))0020: BSF 03.50021: BSF 06.10022: BCF 03.50023: BTFSC 06.10024: GOTO 02D.................... {.................... output_high(pin_A3);0025: BSF 03.50026: BCF 05.30027: BCF 03.50028: BSF 05.3.................... Delay_ms(50);0029: MOVLW 32002A: MOVWF 12002B: CALL 004.................... }002C: GOTO 020.................... output_low(pin_A3);002D: BSF 03.5002E: BCF 05.3002F: BCF 03.50030: BCF 05.3.................... Delay_ms(50);0031: MOVLW 320032: MOVWF 120033: CALL 004.................... }0034: GOTO 020........................................ }....................0035: SLEEP