不论我怎么给,串行输入,输出就老是低电平。实在找不出问题在哪了。程序如下。
#include <REG52.h>
#include <intrins.h>
#define uchar unsigned char
sbit sh_cp=P1^0;
sbit ds=P1^1;
sbit st_cp=P1 ^2;
/*delay*/
void delay(uchar t)
{
while(--t);
}
/*send data*/
void s_d()
{
uchar i;
for(i=0;i<8;i++)
{
sh_cp=0;
_nop_();
ds=1;//让输入全是1
sh_cp=1;
_nop_();
}
}
void s_d_s()
{
st_cp=0;
_nop_();
st_cp=1;
_nop_();
}
/*main*/
void main()
{
sh_cp=0;
st_cp=0;
s_d();
s_d_s();
delay(200);
s_d();
s_d_s();
while(1);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>