利用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;
}
|