这条指令哪里出错了

[复制链接]
 楼主| huanghuac 发表于 2018-2-11 11:59 | 显示全部楼层 |阅读模式
#define uint unsigned int
#define uchar unsigned char

sbit CLK=P1^5;
sbit DATA=P1^6;
sbit FSR=P1^7;

void delay_8us(unsigned int t)
{ while(--t); } //延时8us 晶振11.0592

void delayms(unsigned int x) //延时1ms
{ unsigned char j;
while(x--) {for(j=0;j<123;j++){;}}
}

void delay10us() //延时10us
{ _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void Init()
{
CLK=1;
DATA=1;
FSR=1; delay10us();
FSR=0; delay10us();
CLK=0; delay10us();
DATA=0; delay10us();
FSR=1; delayms(4);
}
void writeOnecom(uchar dat0,uchar dat1,uchar dat2)
{ uchar i,x,j;
for(i=8;i>0;i--)
{ DATA=dat0&0x01;
CLK=1;delay_8us(5);
CLK=0;delay_8us(5);
dat0>>=1;
} //不用延时

for(x=8;x>0;x--)
{ DATA=dat1&0x01;
CLK=1;delay_8us(5);
CLK=0;delay_8us(5);
dat1>>=1;
} //不用延时

for(j=8;j>0;j--)
{
DATA=dat2&0x01;
CLK=1;delay_8us(5);
CLK=0;delay_8us(5);
dat2>>=1;
} delayms(100); //延时50-100ms

FSR=0; _nop_();_nop_();_nop_();_nop_();_nop_();
CLK=0;_nop_();_nop_();
DATA=0; delayms(30);
}

void YL_Init()
{
Init();writeOnecom(0x56,0x64,0xb6);delayms(1000);
}

void main()
{
while(1){ YL_Init();}
}
happy_10 发表于 2018-2-11 12:02 | 显示全部楼层

1,P3M0=0x00;P3M1=0x00; 使P3为准双向IO,可以吗?
2,IT1=1;
EX1=1;
IP0L |= PX1H; //选择 INT0 中断优先级
//PX1L=1; ///头文件定义的太奇诡。
IP0H |= PX1H;

3,EA=1;

这样设置为啥不行?
请指导,谢谢
bqyj 发表于 2018-2-11 12:06 | 显示全部楼层

咨询一下,有没有和MA86EL508 IO兼容,价格更低的?
wenfen 发表于 2018-2-11 12:11 | 显示全部楼层

你有什么要求
bqyj 发表于 2018-2-11 12:14 | 显示全部楼层

仅需要有一个中断就可以,其他AD等等不需要。内部RC振荡。
 楼主| huanghuac 发表于 2018-2-11 12:19 | 显示全部楼层
都啥呀,结贴了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

772

主题

8473

帖子

6

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

772

主题

8473

帖子

6

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