From e6bffe23c87a9f6de8abdec747600f674b9cab62 Mon Sep 17 00:00:00 2001 From: William Harrington Date: Sat, 27 Jul 2019 22:16:27 -0500 Subject: Copy project files into repo --- build/default/production/i2c.p1 | 410 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 410 insertions(+) create mode 100755 build/default/production/i2c.p1 (limited to 'build/default/production/i2c.p1') diff --git a/build/default/production/i2c.p1 b/build/default/production/i2c.p1 new file mode 100755 index 0000000..7ae1e28 --- /dev/null +++ b/build/default/production/i2c.p1 @@ -0,0 +1,410 @@ +Version 4.0 HI-TECH Software Intermediate Code +"2968 C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2968: extern volatile __bit TRISC3 __attribute__((address(0x43B))); +[v _TRISC3 `Vb ~T0 @X0 0 e@1083 ] +"2971 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2971: extern volatile __bit TRISC4 __attribute__((address(0x43C))); +[v _TRISC4 `Vb ~T0 @X0 0 e@1084 ] +"815 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 815: extern volatile unsigned char SSPCON __attribute__((address(0x014))); +[v _SSPCON `Vuc ~T0 @X0 0 e@20 ] +"1754 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1754: extern volatile unsigned char SSPCON2 __attribute__((address(0x091))); +[v _SSPCON2 `Vuc ~T0 @X0 0 e@145 ] +"1823 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1823: extern volatile unsigned char SSPADD __attribute__((address(0x093))); +[v _SSPADD `Vuc ~T0 @X0 0 e@147 ] +"1830 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1830: extern volatile unsigned char SSPSTAT __attribute__((address(0x094))); +[v _SSPSTAT `Vuc ~T0 @X0 0 e@148 ] +"2806 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2806: extern volatile __bit SEN __attribute__((address(0x488))); +[v _SEN `Vb ~T0 @X0 0 e@1160 ] +"2791 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2791: extern volatile __bit RSEN __attribute__((address(0x489))); +[v _RSEN `Vb ~T0 @X0 0 e@1161 ] +"2632 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2632: extern volatile __bit PEN __attribute__((address(0x48A))); +[v _PEN `Vb ~T0 @X0 0 e@1162 ] +"808 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 808: extern volatile unsigned char SSPBUF __attribute__((address(0x013))); +[v _SSPBUF `Vuc ~T0 @X0 0 e@19 ] +"2737 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2737: extern volatile __bit RCEN __attribute__((address(0x48B))); +[v _RCEN `Vb ~T0 @X0 0 e@1163 ] +"2374 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2374: extern volatile __bit ACKDT __attribute__((address(0x48D))); +[v _ACKDT `Vb ~T0 @X0 0 e@1165 ] +"2377 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2377: extern volatile __bit ACKEN __attribute__((address(0x48C))); +[v _ACKEN `Vb ~T0 @X0 0 e@1164 ] +"54 C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 54: __asm("INDF equ 00h"); +[; <" INDF equ 00h ;# "> +"61 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 61: __asm("TMR0 equ 01h"); +[; <" TMR0 equ 01h ;# "> +"68 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 68: __asm("PCL equ 02h"); +[; <" PCL equ 02h ;# "> +"75 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 75: __asm("STATUS equ 03h"); +[; <" STATUS equ 03h ;# "> +"161 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 161: __asm("FSR equ 04h"); +[; <" FSR equ 04h ;# "> +"168 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 168: __asm("PORTA equ 05h"); +[; <" PORTA equ 05h ;# "> +"218 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 218: __asm("PORTB equ 06h"); +[; <" PORTB equ 06h ;# "> +"280 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 280: __asm("PORTC equ 07h"); +[; <" PORTC equ 07h ;# "> +"342 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 342: __asm("PORTD equ 08h"); +[; <" PORTD equ 08h ;# "> +"404 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 404: __asm("PORTE equ 09h"); +[; <" PORTE equ 09h ;# "> +"436 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 436: __asm("PCLATH equ 0Ah"); +[; <" PCLATH equ 0Ah ;# "> +"456 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 456: __asm("INTCON equ 0Bh"); +[; <" INTCON equ 0Bh ;# "> +"534 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 534: __asm("PIR1 equ 0Ch"); +[; <" PIR1 equ 0Ch ;# "> +"596 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 596: __asm("PIR2 equ 0Dh"); +[; <" PIR2 equ 0Dh ;# "> +"636 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 636: __asm("TMR1 equ 0Eh"); +[; <" TMR1 equ 0Eh ;# "> +"643 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 643: __asm("TMR1L equ 0Eh"); +[; <" TMR1L equ 0Eh ;# "> +"650 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 650: __asm("TMR1H equ 0Fh"); +[; <" TMR1H equ 0Fh ;# "> +"657 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 657: __asm("T1CON equ 010h"); +[; <" T1CON equ 010h ;# "> +"732 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 732: __asm("TMR2 equ 011h"); +[; <" TMR2 equ 011h ;# "> +"739 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 739: __asm("T2CON equ 012h"); +[; <" T2CON equ 012h ;# "> +"810 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 810: __asm("SSPBUF equ 013h"); +[; <" SSPBUF equ 013h ;# "> +"817 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 817: __asm("SSPCON equ 014h"); +[; <" SSPCON equ 014h ;# "> +"887 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 887: __asm("CCPR1 equ 015h"); +[; <" CCPR1 equ 015h ;# "> +"894 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 894: __asm("CCPR1L equ 015h"); +[; <" CCPR1L equ 015h ;# "> +"901 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 901: __asm("CCPR1H equ 016h"); +[; <" CCPR1H equ 016h ;# "> +"908 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 908: __asm("CCP1CON equ 017h"); +[; <" CCP1CON equ 017h ;# "> +"966 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 966: __asm("RCSTA equ 018h"); +[; <" RCSTA equ 018h ;# "> +"1061 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1061: __asm("TXREG equ 019h"); +[; <" TXREG equ 019h ;# "> +"1068 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1068: __asm("RCREG equ 01Ah"); +[; <" RCREG equ 01Ah ;# "> +"1075 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1075: __asm("CCPR2 equ 01Bh"); +[; <" CCPR2 equ 01Bh ;# "> +"1082 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1082: __asm("CCPR2L equ 01Bh"); +[; <" CCPR2L equ 01Bh ;# "> +"1089 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1089: __asm("CCPR2H equ 01Ch"); +[; <" CCPR2H equ 01Ch ;# "> +"1096 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1096: __asm("CCP2CON equ 01Dh"); +[; <" CCP2CON equ 01Dh ;# "> +"1154 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1154: __asm("ADRESH equ 01Eh"); +[; <" ADRESH equ 01Eh ;# "> +"1161 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1161: __asm("ADCON0 equ 01Fh"); +[; <" ADCON0 equ 01Fh ;# "> +"1257 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1257: __asm("OPTION_REG equ 081h"); +[; <" OPTION_REG equ 081h ;# "> +"1327 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1327: __asm("TRISA equ 085h"); +[; <" TRISA equ 085h ;# "> +"1377 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1377: __asm("TRISB equ 086h"); +[; <" TRISB equ 086h ;# "> +"1439 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1439: __asm("TRISC equ 087h"); +[; <" TRISC equ 087h ;# "> +"1501 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1501: __asm("TRISD equ 088h"); +[; <" TRISD equ 088h ;# "> +"1563 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1563: __asm("TRISE equ 089h"); +[; <" TRISE equ 089h ;# "> +"1620 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1620: __asm("PIE1 equ 08Ch"); +[; <" PIE1 equ 08Ch ;# "> +"1682 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1682: __asm("PIE2 equ 08Dh"); +[; <" PIE2 equ 08Dh ;# "> +"1722 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1722: __asm("PCON equ 08Eh"); +[; <" PCON equ 08Eh ;# "> +"1756 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1756: __asm("SSPCON2 equ 091h"); +[; <" SSPCON2 equ 091h ;# "> +"1818 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1818: __asm("PR2 equ 092h"); +[; <" PR2 equ 092h ;# "> +"1825 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1825: __asm("SSPADD equ 093h"); +[; <" SSPADD equ 093h ;# "> +"1832 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1832: __asm("SSPSTAT equ 094h"); +[; <" SSPSTAT equ 094h ;# "> +"2001 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2001: __asm("TXSTA equ 098h"); +[; <" TXSTA equ 098h ;# "> +"2082 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2082: __asm("SPBRG equ 099h"); +[; <" SPBRG equ 099h ;# "> +"2089 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2089: __asm("CMCON equ 09Ch"); +[; <" CMCON equ 09Ch ;# "> +"2159 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2159: __asm("CVRCON equ 09Dh"); +[; <" CVRCON equ 09Dh ;# "> +"2224 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2224: __asm("ADRESL equ 09Eh"); +[; <" ADRESL equ 09Eh ;# "> +"2231 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2231: __asm("ADCON1 equ 09Fh"); +[; <" ADCON1 equ 09Fh ;# "> +"2290 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2290: __asm("EEDATA equ 010Ch"); +[; <" EEDATA equ 010Ch ;# "> +"2297 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2297: __asm("EEADR equ 010Dh"); +[; <" EEADR equ 010Dh ;# "> +"2304 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2304: __asm("EEDATH equ 010Eh"); +[; <" EEDATH equ 010Eh ;# "> +"2311 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2311: __asm("EEADRH equ 010Fh"); +[; <" EEADRH equ 010Fh ;# "> +"2318 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2318: __asm("EECON1 equ 018Ch"); +[; <" EECON1 equ 018Ch ;# "> +"2363 +[; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2363: __asm("EECON2 equ 018Dh"); +[; <" EECON2 equ 018Dh ;# "> +"4 ./conf.h +[p x FOSC = HS ] +"5 +[p x WDTE = OFF ] +"6 +[p x PWRTE = ON ] +"7 +[p x BOREN = ON ] +"8 +[p x LVP = OFF ] +"9 +[p x CPD = OFF ] +"10 +[p x WRT = OFF ] +"11 +[p x CP = OFF ] +"8 i2c.c +[; ;i2c.c: 8: void I2C_Master_Init(const unsigned long freq_K) +[v _I2C_Master_Init `(v ~T0 @X0 1 ef1`Cul ] +"9 +[; ;i2c.c: 9: { +{ +[e :U _I2C_Master_Init ] +"8 +[; ;i2c.c: 8: void I2C_Master_Init(const unsigned long freq_K) +[v _freq_K `Cul ~T0 @X0 1 r1 ] +"9 +[; ;i2c.c: 9: { +[f ] +"10 +[; ;i2c.c: 10: TRISC3 = 1; TRISC4 = 1; +[e = _TRISC3 -> -> 1 `i `b ] +[e = _TRISC4 -> -> 1 `i `b ] +"12 +[; ;i2c.c: 12: SSPCON = 0b00101000; +[e = _SSPCON -> -> 40 `i `uc ] +"13 +[; ;i2c.c: 13: SSPCON2 = 0b00000000; +[e = _SSPCON2 -> -> 0 `i `uc ] +"15 +[; ;i2c.c: 15: SSPADD = (20000000/(4*freq_K*100))-1; +[e = _SSPADD -> - / -> -> 20000000 `l `ul * * -> -> -> 4 `i `l `ul _freq_K -> -> -> 100 `i `l `ul -> -> -> 1 `i `l `ul `uc ] +"16 +[; ;i2c.c: 16: SSPSTAT = 0b00000000; +[e = _SSPSTAT -> -> 0 `i `uc ] +"17 +[; ;i2c.c: 17: } +[e :UE 95 ] +} +"19 +[; ;i2c.c: 19: void I2C_Master_Wait() +[v _I2C_Master_Wait `(v ~T0 @X0 1 ef ] +"20 +[; ;i2c.c: 20: { +{ +[e :U _I2C_Master_Wait ] +[f ] +"21 +[; ;i2c.c: 21: while ( (SSPCON2 & 0b00011111) || (SSPSTAT & 0b00000100) ) ; +[e $U 97 ] +[e :U 98 ] +[e :U 97 ] +[e $ || != & -> _SSPCON2 `i -> 31 `i -> 0 `i != & -> _SSPSTAT `i -> 4 `i -> 0 `i 98 ] +[e :U 99 ] +"22 +[; ;i2c.c: 22: } +[e :UE 96 ] +} +"24 +[; ;i2c.c: 24: void I2C_Master_Start() +[v _I2C_Master_Start `(v ~T0 @X0 1 ef ] +"25 +[; ;i2c.c: 25: { +{ +[e :U _I2C_Master_Start ] +[f ] +"26 +[; ;i2c.c: 26: I2C_Master_Wait(); +[e ( _I2C_Master_Wait .. ] +"27 +[; ;i2c.c: 27: SEN = 1; +[e = _SEN -> -> 1 `i `b ] +"28 +[; ;i2c.c: 28: } +[e :UE 100 ] +} +"30 +[; ;i2c.c: 30: void I2C_Master_Repeated_Start() +[v _I2C_Master_Repeated_Start `(v ~T0 @X0 1 ef ] +"31 +[; ;i2c.c: 31: { +{ +[e :U _I2C_Master_Repeated_Start ] +[f ] +"32 +[; ;i2c.c: 32: I2C_Master_Wait(); +[e ( _I2C_Master_Wait .. ] +"33 +[; ;i2c.c: 33: RSEN = 1; +[e = _RSEN -> -> 1 `i `b ] +"34 +[; ;i2c.c: 34: } +[e :UE 101 ] +} +"36 +[; ;i2c.c: 36: void I2C_Master_Stop() +[v _I2C_Master_Stop `(v ~T0 @X0 1 ef ] +"37 +[; ;i2c.c: 37: { +{ +[e :U _I2C_Master_Stop ] +[f ] +"38 +[; ;i2c.c: 38: I2C_Master_Wait(); +[e ( _I2C_Master_Wait .. ] +"39 +[; ;i2c.c: 39: PEN = 1; +[e = _PEN -> -> 1 `i `b ] +"40 +[; ;i2c.c: 40: } +[e :UE 102 ] +} +"42 +[; ;i2c.c: 42: void I2C_Master_Write(unsigned data) +[v _I2C_Master_Write `(v ~T0 @X0 1 ef1`ui ] +"43 +[; ;i2c.c: 43: { +{ +[e :U _I2C_Master_Write ] +"42 +[; ;i2c.c: 42: void I2C_Master_Write(unsigned data) +[v _data `ui ~T0 @X0 1 r1 ] +"43 +[; ;i2c.c: 43: { +[f ] +"44 +[; ;i2c.c: 44: I2C_Master_Wait(); +[e ( _I2C_Master_Wait .. ] +"45 +[; ;i2c.c: 45: SSPBUF = data; +[e = _SSPBUF -> _data `uc ] +"46 +[; ;i2c.c: 46: } +[e :UE 103 ] +} +"48 +[; ;i2c.c: 48: unsigned short I2C_Master_Read(unsigned short ack) +[v _I2C_Master_Read `(us ~T0 @X0 1 ef1`us ] +"49 +[; ;i2c.c: 49: { +{ +[e :U _I2C_Master_Read ] +"48 +[; ;i2c.c: 48: unsigned short I2C_Master_Read(unsigned short ack) +[v _ack `us ~T0 @X0 1 r1 ] +"49 +[; ;i2c.c: 49: { +[f ] +"50 +[; ;i2c.c: 50: unsigned short incoming; +[v _incoming `us ~T0 @X0 1 a ] +"51 +[; ;i2c.c: 51: I2C_Master_Wait(); +[e ( _I2C_Master_Wait .. ] +"52 +[; ;i2c.c: 52: RCEN = 1; +[e = _RCEN -> -> 1 `i `b ] +"54 +[; ;i2c.c: 54: I2C_Master_Wait(); +[e ( _I2C_Master_Wait .. ] +"55 +[; ;i2c.c: 55: incoming = SSPBUF; +[e = _incoming -> _SSPBUF `us ] +"57 +[; ;i2c.c: 57: I2C_Master_Wait(); +[e ( _I2C_Master_Wait .. ] +"58 +[; ;i2c.c: 58: ACKDT = (ack)?0:1; +[e = _ACKDT -> ? != -> _ack `ui -> -> 0 `i `ui : -> 0 `i -> 1 `i `b ] +"59 +[; ;i2c.c: 59: ACKEN = 1; +[e = _ACKEN -> -> 1 `i `b ] +"61 +[; ;i2c.c: 61: return incoming; +[e ) _incoming ] +[e $UE 104 ] +"62 +[; ;i2c.c: 62: } +[e :UE 104 ] +} -- cgit v1.2.3-54-g00ecf