学习学习......................
|
|
|
|
|
你好,我也在《单片机C语言与protues仿真技能实训》书上看到相似的程序,但是我仿真不出效果,即使后来按照原来的程序也不行,可能是因为我还有些地方没弄明白,在此想你请教一下!谢谢了
- void send(unsigned char a)
- {
- unsigned char i;
- for(i=0;i<8;i++)
- {
- if(_crol_(a,i)&0x80)
- SDA=1;
- else
- SDA=0;
- CLK=0;
- CLK=1;
- }
- }
复制代码
上面代码中的第六行代码 if(_crol_(a,i)&0x80)代表什么意思呢?
另外,我按照《单片机C语言与protues仿真技能实训》书上的实例的代码进行仿真,却得不到效果,我的电路用你的程序仿真时正常的。
程序清单如下
- #include
- #include
- #define uchar unsigned char
- #define uint unsigned int
- void send(uchar);
- void delay(uint);
- ***it CLK=P1^0;
- ***it SDA=P1^1;
- ***it PLED=P2^0;
- void main(void)
- {
- uchar led,i;
- PLED=0;
- while(1)
- {
- led=0xff;
- send(led);
- delay(200);
- led=0x00;
- send(led);
- delay(200);
- P1=led;
- delay(200);
- led=0x01;
- for(i=0;i<8;i++)
- {
- send(led);
- delay(1000);
- led=_crol_(led,1);
- }
- }
- }
- void send(uchar a)
- {
- uchar i;
- for(i=0;i<8;i++)
- {
- if(_crol_(a,1)&0x80)
- SDA=1;
- else
- SDA=0;
- CLK=0;
- CLK=1;
- }
- }
- void delay(uint x)
- {
- uchar k;
- while(x--)
- {
- for(k=0;k<255;k++);
- }
- }
复制代码
麻烦你帮忙看一下有什么问题!
谢谢了
|
|
|
|
|
挺好 ,学习了
|
|
|
|
|
moyansen 发表于 2014-4-13 23:29
你好,我也在《单片机C语言与protues仿真技能实训》书上看到相似的程序,但是我仿真不出效果,即使后来按照原来的程序也不行,可能是因为我还有些地方没弄明白,在此想你请教一下!谢谢了上面代码中的第六行代码 if(_crol_(a,i)&0x80)代表什么意思呢?
另外,我按照《单片机C语言与protues仿真技能实训》书上 ...
不知坛友搞成功了没
|
|
|
|
|