利用64hc595的串并转换特性来控制点阵,通过按键实现汉字的上下左右移动。
hc595的驱动代码如下:
/***上下移动***/
void Hang_595(uint dat)//行
{
uint i=0;
RCLK=0;
for(i=0;i<16;i++)
{
SER=dat&0x8000; // 1000 0000 0000 0000 与最高位相与,提取最高位的数据
dat<<=1;
SRCLK=1;
SRCLK=0;
}
RCLK=1;
RCLK=0;
}
void Lie_595(uchar numL,uchar numH)//列
{
uint dat2=0X8000; // 1000 0000 0000 0000
uint i=0;
RCLK2=0;
dat2=numH;
dat2<<=8; /*将数据传送到下一个点阵上 */
dat2|=numL;
for(i=0;i<16;i++)
{
SRCLK2=0;
SER2=dat2&0x8000;
dat2<<=1;
SRCLK2=1;
SRCLK2=0;
}
RCLK2=1;
RCLK2=0;
}
|