|
视频教学是用V3.0开发板讲解点阵显示一个汉字“普”实验的,而我用的是V2.2版本的开发板,点阵是8*8的。我模仿视频教学例子编写了一个程序想在8*8的点阵上显示一个“王”字,实验结果不成功,麻烦路过的大神指点一下!接线方式:H595_B接J20,H595_A接J12,实验结果是点阵全亮。程序如下:
#include "reg51.h"
#include "intrins.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;
u8 code ledwei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
u8 code ledduan[]={0x00,0x52,0x52,0x7e,0x52,0x52,0x52,0x00};
void delay(u16 i)
{
while(i--);
}
void hc595sendbyte(u8 dat1,u8 dat2)
{
u8 a;
for(a=0;a<8;a++)
{
SER=dat1>>7;
dat1<<=1;
SRCLK=0;
_nop_();
_nop_();
SRCLK=1;
}
RCLK=0;
_nop_();
_nop_();
RCLK=1;
for(a=0;a<8;a++)
{
SER=dat2>>7;
dat2<<=1;
SRCLK=0;
_nop_();
_nop_();
SRCLK=1;
}
RCLK=0;
_nop_();
_nop_();
RCLK=1;
}
void main()
{
u8 i;
while(1)
{
for(i=0;i<8;i++)
{
hc595sendbyte(~ledwei[i],ledduan[i]) ;
delay(10);
}
}
}
|
|