初级会员
主题
帖子
积分171
阅读权限10
注册时间2012-10-24
最后登录1970-1-1
在线时间 小时
|
楼主 |
发表于 2012-10-28 14:09
|
显示全部楼层
回复 2# bqtx122
这是我下的程序,帮看下吧!
附上程序
#include <REG52.H>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit HC138_A = P1^4;
sbit HC138_C = P1^3;
sbit HC595_STB = P1^2;
sbit HC595_GD = P1^1;
sbit HC138_OE = P1^0;
sbit HC138_B = P1^5;
sbit HC138_D = P1^6;
sbit HC595_CLK = P1^7;
sbit HC595_RD = P3^2;
unsigned char r_data[16], g_data[16];
unsigned char k, t;
unsigned char code hanzi[][8]={ //二维数据
0x00,0x18,0x24,0x24,0x24,0x24,0x24,0x18, //0
0x00,0x08,0x18,0x08,0x08,0x08,0x08,0x08, //1
0x00,0x18,0x24,0x24,0x08,0x10,0x20,0x3C, //2
0x00,0x18,0x24,0x04,0x18,0x04,0x24,0x18, //3
0x00,0x04,0x0C,0x14,0x24,0x3E,0x04,0x04, //4
0x00,0x3C,0x20,0x38,0x24,0x04,0x24,0x18, //5
0x00,0x18,0x24,0x20,0x38,0x24,0x24,0x18, //6
0x00,0x3C,0x04,0x08,0x10,0x10,0x10,0x10, //7
0x00,0x18,0x24,0x24,0x18,0x24,0x24,0x18, //8
0x00,0x18,0x24,0x24,0x1C,0x04,0x24,0x18, //9
0x00,0x26,0x69,0x29,0x29,0x29,0x29,0x26, //10
0x00,0x22,0x66,0x22,0x22,0x22,0x22,0x22, //11
0x00,0x26,0x69,0x29,0x22,0x24,0x28,0x2F, //12
0x00,0x26,0x69,0x21,0x26,0x21,0x29,0x26, //13
0x00,0x22,0x66,0x2A,0x32,0x3F,0x22,0x22, //14
0x00,0x2F,0x68,0x2E,0x29,0x21,0x29,0x26, //15
};
//delay us
void Delay(uchar us)
{
while(--us);
}
void Write_HC595(unsigned char rdd, gdd)
{
unsigned char i;
for (i=0;i<8;i++)
{
HC595_RD=~rdd&0x80; //只显示红色字
rdd=rdd<<1;
HC595_CLK=1;
HC595_CLK=0;
}
}
void main (void)
{
while(1)
{
for(t=0;t<16;t++) //16 行
{
HC138_OE = 0;
r_data[0] = hanzi[0][t];
r_data[1] = hanzi[2][t];
r_data[2] = hanzi[4][t];
r_data[3] = hanzi[6][t];
r_data[4] = hanzi[8][t];
r_data[5] = hanzi[10][t];
r_data[6] = hanzi[12][t];
r_data[7] = hanzi[14][t];
for (k=0;k<8;k++)
Write_HC595(r_data[k], g_data[k]);
HC138_OE = 1;
HC595_STB = 1;
HC595_STB = 0;
HC138_A = t&0x01;
HC138_B = t&0x02;
HC138_C = t&0x04;
HC138_D = t&0x08;
Delay(400);
}
} //end while
} |
|