我用的是1588bs 的点阵,效果一直跟理想的不一样
[复制链接]
我用的是1588bs 的点阵,然后我看到引脚图,如果我想让64个点全部点亮,那我的设置的程序代码是不是oxcb 0x29啊,然后这是代码,如果不是代码问题,那请问是什么问题。
如果是pcb 板连线问题,我不知道怎么上传ad软件。。。球球帮我看看
#include<reg51.h>
#include<intrins.h>
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;
#define hang P0
void ys()
{
unsigned char q,w,e,r;
for(q=5;q>0;q--)
for(w=4;w>0;w--)
for(e=116;e>0;e--)
for(r=214;r>0;r--);
}
void Hc595SendByte(unsigned char dat)
{
unsigned char a;
SRCLK=0;
RCLK=0;
for(a=0;a<8;a++)
{
SER=dat>>7;
dat<<=1;
SRCLK=1;
_nop_();
_nop_();
SRCLK=0;
}
RCLK=1;
_nop_();
_nop_();
RCLK=0;
}
void xs(unsigned int o)
{
unsigned char j;
unsigned int p=1;
unsigned int k;
for(k=0;k<o;k++) //改变值可以改变不显示的时间
{
ys();
}
while(p)
{
hang = 0xcb;
Hc595SendByte(0x29);
}
j++;
if(j == 8)
{
j = 0;
}
p++;
if(p == 1000) //修改值 可以改变显示时长
{
p = 0;
}
}
void main()
{
while(1)
{
xs(1);
}
}
|