钻石会员
  
主题
帖子
积分11732
阅读权限50
注册时间2013-9-14
最后登录1970-1-1
在线时间 小时
|

楼主 |
发表于 2014-5-8 18:56
|
显示全部楼层
自己已经搞清楚了,写命令每次要置1
前段时间出差没时间回复,今天补发测试代码:
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit Mode=P2^0;
sbit Write=P2^1;
void delay(uchar);
void Send (uchar);
uchar code table[]={0xFB,0xB0,0xED,0xF5,0xB6,0xD7,0xDF,0xF0,0xFF,0xF7,0xC1}; //0--9 =
void main()
{
uchar i=0,j=0;
while(1)
{
Mode=1;
P0=0xb0;
Write=1; //别忘了Write要置1,否则循环回来就没有反应了
Write=0;
delay(10);
Mode=0;
i=j++%8;
Send(i);
Send(i);
Send(i);
Send(i);
Send(i);
Send(i);
Send(i);
Send(i);
delay(100);
}
}
void Send (uchar x)
{
P0=table[x]; //数据位
Write=1;
Write=0;
}
void delay(uchar y)
{
uchar i;
uint j;
for(i=0;i<y;i++)
{
for(j=0;j<100;j++);
}
} |
|