我用PIC16F877A与DS1302通信.用C内嵌汇编写了一个发字节程序.编译通过,但运行时I/O口根本没数据输出.程序错在哪里?另外能直接用I2C通信来读写DS1302吗?<br /><br /># include <pic.h><br /><br />unsigned char data=0x85; //data ---待发送数据<br /><br />void clock()<br />{<br /> unsigned char count=8;<br /><br /> TRISC5=0;<br /> RC5=1;<br /><br /> TRISC4=1; //数据线SDA<br /> TRISC3=1; //时钟线SCL<br /> RC3=0; <br /> while(count--) //逐位发送<br /> {<br /> #asm<br /> bcf _PORTC,3<br /> rrf _data,f<br /> btfss _STATUS,0<br /> goto _low<br /> goto _high<br /> _low<br /> bcf _PORTC,4<br /> goto _end<br /> _high<br /> bsf _PORTC,4<br /> _end<br /> bsf _PORTC,3<br /> #endasm<br /> }<br /><br />}<br /><br />main()<br />{<br /> while(1) <br /> {<br /> clock();<br /> }<br />} |
|