我看了网上一些关于STC
单片机驱动TM1804的程序,但是我还是看不大懂如何实现通讯!例如这段程序如何理解?
/*************0码*******************/
void DIN_bit_0()
{
uchar i;
DIN=1;
for(i=3;i>0;i--); //低速模式 1+3+4*3+1
_nop_();
DIN=0; //1+3+4*7
for(i=7;i>0;i--);
}
/*************1码*******************/
void DIN_bit_1()
{
uchar i;
DIN=1; //1+3+4*7+1
for(i=7;i>0;i--);
_nop_();
DIN=0;
for(i=3;i>0;i--); //1+3+4*3
}
/*************reset码*******************/
void reset()
{
uint i;
DIN=0;
for(i=550;i>0;i--);
}
/*************数据传输******************/
void send_dat(uchar dat) //高位先传
{
uchar i;
for(i=12;i>0;i--)
{
if(dat & 0x80)
DIN_bit_1();
else
DIN_bit_0();
dat <<=1;
}
}
这一点程序是不是就是设置STC单片机晶振频率的?我用的是STC15F104E SOP8单片机驱动!烧录时候我晶振设置33MHz。可惜到最后无法通讯!据说是异步通讯!请问要怎么改程序才可以正常通讯?改哪几个地方?
一周热门 更多>