SPI 通讯模块子程序

[复制链接]
3755|0
 楼主| dream2010 发表于 2008-10-24 11:22 | 显示全部楼层 |阅读模式
#include&quot;pic.h&quot;<br />#include&quot;pic1687x.h&quot;<br />unsigned&nbsp;char&nbsp;data;<br />unsigned&nbsp;char&nbsp;k;<br />unsigned&nbsp;char&nbsp;s0,s1,s2,s3;<br />unsigned&nbsp;char&nbsp;s[4];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//table[3]&nbsp;不是变量,它才识变量,显示LED上.<br /><br />const&nbsp;&nbsp;&nbsp;&nbsp;table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90};<br />//不带小数点的显示段码表<br />const&nbsp;&nbsp;&nbsp;&nbsp;table0[10]={0X40,0X79,0X24,0X30,0X19,0X12,0X02,0X78,0X00,0X10};<br />//带小数点的显示段码表<br /><br />void&nbsp;FZinitial()<br />{<br />s0=s1=s2=s3=0;<br />s[0]=s0;<br />s[1]=s1;<br />s[2]=s2;<br />s[3]=s3;<br />}<br /><br /><br />void&nbsp;SPIinitial()<br />{<br />SSPCON=0X30;<br />SSPSTAT=0XC0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//SPI主控制通讯模式,1为下降沿实现通讯,发送数据.<br /><br />TRISC3=0;<br />TRISC5=0;<br />TRISA5=0;<br /><br />PIR1=0;&nbsp;&nbsp;//SSPIF=0<br />}<br /><br />void&nbsp;SPILED(data)<br />{<br />SSPBUF=data;<br />do<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;;<br />&nbsp;&nbsp;}while(SSPIF=0);<br />&nbsp;&nbsp;SSPIF=0;<br />}<br /><br />void&nbsp;display()<br />{<br />RA5=0;<br />for(k=3;k&gt=0;k--)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;//data=table[k];<br />&nbsp;&nbsp;&nbsp;data=s[k];<br />&nbsp;&nbsp;&nbsp;if(k==2)&nbsp;data=table0[data];<br />&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data=table[data];<br />&nbsp;&nbsp;&nbsp;SPILED(data);<br />&nbsp;&nbsp;}<br /><br />RA5=1;<br /><br />}<br /><br /><br /><br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

26

帖子

0

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