串行口再次发送!!
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit SDA=P2^7;
sbit SCL=P2^6;
unsigned char tempj;
unsigned char bdata dd;
sbit LED1 = dd^0; //数据的位,达到控制164的位
sbit LED2 = dd^1;
sbit LED3 = dd^2;
sbit LED4 = dd^3;
sbit LED5 = dd^4;
sbit LED6 = dd^5;
sbit LED7 = dd^6;
sbit LED8 = dd^7;
void CtrlHandle(void)//送8位串行数据,只送i/o口
{
for(tempj=0;tempj <8;tempj++)
{
if((dd&0x80)==0x80) SDA=1;
else SDA=0;
SCL=0;
dd < <=1;
SCL=1;
}
}
main()
{
LED1=1;
LED2=0;
LED3=1;
LED4=1;
LED5 =1;
LED6 =0;
LED7 =1;
LED8 =0;
while(1)
{
CtrlHandle();
}
}
以上我是用最简单的方式来检查cpu能实现对164的控制
请问:
稳定后,164(QH~QA为多少,是否1011101)???
我用快速接触法,发现SDA一直都为0,当接其他口,下来LED也不亮??
请问DX,是不是我的程序有问题啊???
发表时间:2006年1月13日13:31:46