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