打印

发送指令问题

[复制链接]
676|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanwe|  楼主 | 2022-3-4 19:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#include<intrins.h>
#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();}
}

使用特权

评论回复
沙发
huangchui| | 2022-3-4 19:58 | 只看该作者
什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
板凳
xxrs| | 2022-3-4 20:01 | 只看该作者

void delay_8us(unsigned int t)
{ while(--t); } //延时8us 晶振11.0592
这玩意儿能延时8us???

使用特权

评论回复
地板
zwll| | 2022-3-4 20:06 | 只看该作者
问题应该是出在延时程序上

使用特权

评论回复
5
hanwe|  楼主 | 2022-3-4 20:08 | 只看该作者
搞定了,呵呵,犯了低级错误……结贴啦,多谢各位

使用特权

评论回复
6
tpgf| | 2022-4-3 18:49 | 只看该作者
楼主想问什么问题啊

使用特权

评论回复
7
drer| | 2022-4-3 18:53 | 只看该作者
可以延时微秒级别的

使用特权

评论回复
8
qcliu| | 2022-4-3 19:05 | 只看该作者
光看代码没有什么发现

使用特权

评论回复
9
coshi| | 2022-4-3 19:15 | 只看该作者
延时不要用while语句

使用特权

评论回复
10
kxsi| | 2022-4-3 19:25 | 只看该作者
怀疑是哪个指令有问题啊

使用特权

评论回复
11
wiba| | 2022-4-3 19:37 | 只看该作者
有什么具体的现象吗

使用特权

评论回复
12
foxsbig| | 2022-4-6 13:50 | 只看该作者
到底怎么了呢,好奇

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

979

主题

8749

帖子

4

粉丝