led点阵---显示数字或汉字(内含代码+注释+图片)

简介: led点阵---显示数字或汉字(内含代码+注释+图片)

62de51a69490441191a7d55af5f287d9.png

#include"reg52.h"
typedef unsigned char u8;
typedef unsigned int u16;
sbit SER=P3^4;
sbit rCLK=P3^5;
sbit SRCLK=P3^6;
#define LEDDZ_COL_PORT    P0  
u8 gled_row[8]={0xFF,0xAA,0xEE,0x00,0x7E,0x52,0x52,0x7E};//LED点阵显示数字0的行数据-----想要什么内容就改对应的16进制
u8 gled_col[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED点阵显示数字0的列数据
//col的,如0x7f,即为0111 1111,此时只有第一列为0,低电平,有效,led亮。其他均为高电平,led不亮
//row的,如0x21,即为0010 0001,此时为第一列的第三个,第八个为1,高电平,led亮
//...
void time_delay(u16 delay_time)
{
    while(delay_time--);
}
//向74HC595写入一个字节的数据,输入dat
//某一行的某个数据,如显示0x21,对应16进制为0010 0001
//0x7c,对应16进制为0111 1100....
void hc595_write_data(u8 dat)
{
    u8 i=0;
    for(i=0;i<8;i++)
    {
        //优先传输一个字节中的高位
        SER =dat>>7;
        dat<<=1;
        //移位寄存器时钟上升沿将端口数据送入寄存器中
        SRCLK=0;
        time_delay(1);
        SRCLK=1;
        time_delay(1);
    }
    //存储寄存器时钟上升沿将前面写入到寄存器的数据输出
    rCLK=0;
    time_delay(1);
    rCLK=1;
}
void main()
{
    u8 i=0;
    while(1)
    {
        for(i=0;i<8;i++)
        {
                    LEDDZ_COL_PORT=gled_col[i]; //第一次选择第一列...
        hc595_write_data(gled_row[i]);//发送第一列对应的行数据,如0x21,对应16进制是0111 1100,变为
        time_delay(100);//延时
        hc595_write_data(0x00);//消影
        }
    }
}

b436399e4f894088a426bc34487d018a.jpg

33fef497048c40e2b61723190efe2828.jpg

f12be6d0b72f4b5e954cf8960065df76.jpg

d47347b8f5b54db597ecb8087388e019.jpg

60f98227e6aa44c3b6cd13661d3ed57b.jpg

e54ca8fa9bc74e12bf6679c1cde156c5.jpg

d8e62078fad84126ad97217b40361ce2.jpg


相关文章
用word快速将数字字体换成新罗马详细简单方法
用word快速将数字字体换成新罗马详细简单方法
3568 0
用word快速将数字字体换成新罗马详细简单方法
|
9月前
|
C语言
用c语言输出有颜色的字体 printf输出 控制台程序修改文本位置 设置控制台程序窗口标题
用c语言输出有颜色的字体 printf输出 控制台程序修改文本位置 设置控制台程序窗口标题
VC中如何把一串文字旋转90度显示
VC中如何把一串文字旋转90度显示
|
10月前
|
Java
编写程序将“jdk”全部变为大写并输出到屏幕,截取子串“DK”并输出到屏幕。
编写程序将“jdk”全部变为大写并输出到屏幕,截取子串“DK”并输出到屏幕。
172 0
|
10月前
用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长5个字符,倾斜放置的菱形
用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长5个字符,倾斜放置的菱形
|
小程序 JavaScript 前端开发
vba 在代码窗口里不能正常显示的双字节字符的转换
vba 在代码窗口里不能正常显示的双字节字符的转换
77 0
【C++之标准类型数据的格式输出2】显示字母B组成的三角形
【C++之标准类型数据的格式输出2】显示字母B组成的三角形
|
前端开发 程序员
小细节:盒模型里面连续输入英文和数字不会自动换行,汉字会自动换行
小细节:盒模型里面连续输入英文和数字不会自动换行,汉字会自动换行
66 0
运行可用:使用FreeType输出中文汉字点阵图形的源码
运行可用:使用FreeType输出中文汉字点阵图形的源码
185 0
运行可用:使用FreeType输出中文汉字点阵图形的源码
|
编解码
Debug栏打印时自动把Unicode编码转化成汉字
Debug栏打印时自动把Unicode编码转化成汉字
128 0
Debug栏打印时自动把Unicode编码转化成汉字