📄 led16.c
字号:
#include <reg52.h> //引脚定义函数
#include <absacc.h> //XBYTE的头文
sbit LEDALE=P1^3; //74HC595锁存信号
sbit LEDDI=P1^7; //74HC595输入信号
sbit LEDCLK=P3^3; //74HC595的时钟信号
#define Y0 XBYTE[0x1000]
unsigned int code zimo[16] =
{
0x4000,0x4FFE,0x4814, 0x4824,
0x4844,0x7F84,0x4804, 0x4804,
0x4804,0x7F84,0x4844, 0x4844,
0x4844,0x4FFE,0x4000, 0x0000
};
【数据由汉字取模软件获取】
void main(void))
{
while (1)
{
disp_16rz(zimo);
}
}
void display_r(unsigned int numb) //显示16行数据(函数)
{ unsigned char i;
unsigned int x;
x=~numb;
LEDALE=0,LEDCLK=0;//初始化
for(i=0;i<16;i++)
{
/* if (x & 0x8000) LEDDI=1;
else LEDDI=0;*/
LEDDI=(bit)(x & 0x8000);
LEDCLK=1;LEDCLK=1; //相当延时
LEDCLK=0;LEDCLK=0; //相当延时
x=x<<1; //数据左移一位
}
LEDALE=1; //ALE产生上升沿
LEDALE=0;
}
void disp_16rz(unsigned int numb[ ])//显示16×16
{
unsigned char y0data=0,abcd=0,i;
for(i=0;i<16;i++)
{
display_r(numb[ i ]); //送行数据
abcd=abcd<<3; //变换列数据
Y0=y0data; //显示一列数据(列译码)
abcd=i+1; //列增1
delay_s(0x40); //点亮时间
}
Y0=0x00; //关显示器
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -