想用软件模拟时序与DS1302通信...

[复制链接]
2832|3
 楼主| qianlong30 发表于 2008-4-8 17:46 | 显示全部楼层 |阅读模式
我用PIC16F877A与DS1302通信.用C内嵌汇编写了一个发字节程序.编译通过,但运行时I/O口根本没数据输出.程序错在哪里?另外能直接用I2C通信来读写DS1302吗?<br /><br />#&nbsp;include&nbsp;&ltpic.h&gt<br /><br />unsigned&nbsp;char&nbsp;data=0x85;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//data&nbsp;---待发送数据<br /><br />void&nbsp;clock()<br />{<br />&nbsp;&nbsp;&nbsp;unsigned&nbsp;char&nbsp;count=8;<br /><br />&nbsp;&nbsp;&nbsp;TRISC5=0;<br />&nbsp;&nbsp;&nbsp;RC5=1;<br /><br />&nbsp;&nbsp;&nbsp;TRISC4=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//数据线SDA<br />&nbsp;&nbsp;&nbsp;TRISC3=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//时钟线SCL<br />&nbsp;&nbsp;&nbsp;RC3=0;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;while(count--)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//逐位发送<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;#asm<br />&nbsp;&nbsp;&nbsp;&nbsp;bcf&nbsp;_PORTC,3<br />&nbsp;&nbsp;&nbsp;&nbsp;rrf&nbsp;_data,f<br />&nbsp;&nbsp;&nbsp;&nbsp;btfss&nbsp;_STATUS,0<br />&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;_low<br />&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;_high<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_low<br />&nbsp;&nbsp;&nbsp;&nbsp;bcf&nbsp;_PORTC,4<br />&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;_end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_high<br />&nbsp;&nbsp;&nbsp;&nbsp;bsf&nbsp;_PORTC,4<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_end<br />&nbsp;&nbsp;&nbsp;&nbsp;bsf&nbsp;_PORTC,3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#endasm<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br /><br />main()<br />{<br />&nbsp;&nbsp;&nbsp;while(1)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clock();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}
兰天白云 发表于 2008-4-8 18:53 | 显示全部楼层

DS1302没用过,但以下好象不对,用示波器测过吗?

??????????<br />TRISC5=0;<br />&nbsp;&nbsp;&nbsp;RC5=1;<br />
 楼主| qianlong30 发表于 2008-4-8 19:31 | 显示全部楼层

在网上找了个C程序的.

明天试试吧.初次试验内嵌汇编,还是想知道怎么不正常.
xieyuanbin 发表于 2008-4-8 19:46 | 显示全部楼层

是不是一线总线的通讯协议?

汇编吧,C有点繁
您需要登录后才可以回帖 登录 | 注册

本版积分规则

150

主题

353

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部