??? 10/16/08 18:22 Read: times |
#159123 - Code Responding to: ???'s previous message |
Here is the code.
t0loop equ 25h segundo equ 26h horimetro1 equ 27h horimetro2 equ 28h horimetro3 equ 29h funcionamento equ 30h partconc equ 31h niveltanque equ 32h posicao equ 33h i2cdp equ 34h i2cadd equ 35h cdcadd equ 36h i2ctask equ 37h i2cdatacnt equ 38h LCD equ P1 BUSY equ p1.7 E equ P3.7 RS equ P3.5 RW equ P3.6 i2crw bit 20h i2cbusy bit 21h delta equ p2.0 estrela equ p2.1 org 0000h jmp inicio org 0003h org 000bh jmp timer0 org 0023h jmp serialint org 0043h jmp i2c org 004bh inicio: mov ien0,#10010010b mov ien1,#00000010b mov ipl0,#00000010b mov tmod,#00100001b mov scon,#01000000b mov pcon,#00000000b mov sscon,#01000000b clr i2cbusy mov ssdat,#00 mov th1,#050h mov th0,#7dh mov tl0,#0c9h mov sp,#50h mov t0loop,#50 mov funcionamento,#00h mov partconc,#00 call dispinit setb tr1 mov horimetro1,#00 mov horimetro2,#00 mov horimetro3,#00 call cdcreset call delay50 call delay50 call cdcinit cap: call delay50 call delay50 call capacitancia call capdisp call delay500 call delay50 call delay50 jmp cap capacitancia: jb i2cbusy,$ setb i2cbusy mov i2cadd,#90h mov cdcadd,#01h mov i2cdp,#40h mov i2ctask,#83h mov a,i2ctask anl a,#0fh mov i2cdatacnt,a mov ssdat,#00h orl sscon,#20h ret capdisp: call dispclear mov posicao,#40h call disppos mov r1,#40h mov a,i2ctask anl a,#0fh mov r6,a loopvalores: mov a,@r1 call dispascii inc r1 djnz r6,loopvalores mov posicao,#00h call disppos ret cdcreset: jb i2cbusy,$ setb i2cbusy mov i2cadd,#90h mov cdcadd,#0bfh mov i2ctask,#01h mov ssdat,#00h orl sscon,#20h ret startcap: jb i2cbusy,$ setb i2cbusy mov 40h,#11h mov i2cadd,#90h mov cdcadd,#0ah mov i2cdp,#40h mov i2ctask,#00h mov ssdat,#00h orl sscon,#20h call delay50 ret stopcap: jb i2cbusy,$ setb i2cbusy mov 40h,#10h mov i2cadd,#90h mov cdcadd,#0ah mov i2cdp,#40h mov i2ctask,#00h mov ssdat,#00h orl sscon,#20h call delay50 ret cdcrdy: jb i2cbusy,$ setb i2cbusy mov i2cadd,#90h mov cdcadd,#00h mov i2cdp,#40h mov i2ctask,#81h mov ssdat,#00h orl sscon,#20h mov a,40h jb acc.2,cdcrdy ret cdcinit: jb i2cbusy,$ setb i2cbusy mov 40h,#81h mov i2cadd,#90h mov cdcadd,#07h mov i2cdp,#40h mov i2ctask,#00h mov ssdat,#00h orl sscon,#20h call delay50 jb i2cbusy,$ setb i2cbusy mov 40h,#01h mov i2cadd,#90h mov cdcadd,#09h mov i2cdp,#40h mov i2ctask,#00h mov ssdat,#00h orl sscon,#20h call delay50 jb i2cbusy,$ setb i2cbusy mov 40h,#11h mov i2cadd,#90h mov cdcadd,#0ah mov i2cdp,#40h mov i2ctask,#00h mov ssdat,#00h orl sscon,#20h jb i2cbusy,$ call delay50 ret i2c: push acc push psw push 00h push 06h push 07h mov r7,sscs cjne r7,#00,end00 clr i2cbusy jmp i2cexit end00: cjne r7,#08,end08 anl sscon,#~20h mov ssdat,i2cadd orl sscon,#04h jmp i2cexit end08: cjne r7,#10h,end10 anl sscon,#~20h inc i2cadd mov ssdat,i2cadd orl sscon,#04h jmp i2cexit end10: cjne r7,#18h,end18 mov ssdat,cdcadd orl sscon,#04h orl i2ctask,#20h jmp i2cexit end18: cjne r7,#28h,end28 mov a,i2ctask jnb acc.7,writedata orl sscon,#20h jmp i2cexit writedata: mov a,i2ctask jb acc.0,sendstop jb acc.4,sendstop mov ssdat,40h orl sscon,#04h orl i2ctask,#10h jmp i2cexit sendstop: orl sscon,#10h orl i2ctask,#10h clr i2cbusy jmp i2cexit end28: cjne r7,#40h,end40 djnz i2cdatacnt,j8 anl sscon,#0c3h ;receba dado e mande !ACK jmp i2cexit j8: orl sscon,#04h ;receba dado e mande ACK jmp i2cexit end40: cjne r7,#50h,end50 mov r0,i2cdp mov @r0,ssdat inc i2cdp djnz i2cdatacnt,j7 anl sscon,#0c3h jmp i2cexit j7: orl sscon,#04h jmp i2cexit end50: cjne r7,#58h,end58 mov r0,i2cdp mov @r0,ssdat inc i2cdp orl sscon,#10h clr i2cbusy end58: i2cexit: anl sscon,#~08h pop 07h pop 06h pop 00h pop psw pop acc reti |
Topic | Author | Date |
TWI and AD7745 with 5131 | 01/01/70 00:00 | |
where is main routine? | 01/01/70 00:00 | |
Routines | 01/01/70 00:00 | |
lack ot time ???? | 01/01/70 00:00 | |
License on I2C | 01/01/70 00:00 | |
Code | 01/01/70 00:00 | |
Slave? | 01/01/70 00:00 | |
Master![]() | 01/01/70 00:00 | |
TWI is a very common "generic" name for I2C-compat | 01/01/70 00:00 | |
I do not think so | 01/01/70 00:00 | |
Oh yes it is! (with examples) | 01/01/70 00:00 | |
Don't want to fight a lawyer | 01/01/70 00:00 |