STC12C5A60S2控制的HUB75点阵屏驱动源码详解

4星 · 超过85%的资源 需积分: 49 136 下载量 155 浏览量 更新于2024-09-07 11 收藏 5KB TXT 举报
本文档主要介绍了HUB75点阵屏驱动的源代码实现,适用于STC12C5A60S2单片机平台,针对的是LED点阵显示技术,特别是16x32分辨率的矩阵屏幕。HUB75接口是一种常见的LED屏接口标准,它通过一根数据线同时控制多个像素,提高了信号传输效率。 代码中定义了几个重要的引脚,如R1、R2、G1、G2、B1、B2分别用于控制红、绿、蓝三种颜色的LED,CLK用于时钟信号,STR为串行数据发送使能,OE则是输出使能控制。通过这些引脚,驱动程序可以精确地控制每个像素的点亮和熄灭,从而形成各种图案。 变量count_move和flag_move用于控制数据传输的计数和标志,Move和line分别表示当前要显示的行和列的位置,zimuo用于存储临时的数据,而all_date则可能用于存储整个屏幕的数据。BUFF和BUFF2数组用于临时存储显示数据,确保数据的正确传输。 函数部分,time0_init()负责初始化定时器0,io_init()是I/O口初始化,variable_init()可能是全局变量初始化,load_data()用于加载显示数据,send_data()函数负责将数据发送到屏幕,而led_show1()则是关键部分,负责将数据驱动到LED点阵上,从而实现实际的图像显示。 整个驱动程序设计遵循了模块化原则,使得代码结构清晰,易于维护。通过调用这些函数,用户可以根据需要设置和更新点阵屏上的内容,适合于各类基于STC12C5A60S2单片机的LED点阵屏应用开发。这个驱动对于学习嵌入式系统编程和LED显示技术的人来说,提供了宝贵的参考实例。
2013-06-28 上传
一、主要的显示屏IC IC(1)74HC04的作用:是一个6位反相器。 第7脚GND,电源地。 第14脚VCC,电源正极。 信号由A端输入Y端反相输出, A1与Y1为一组,其它类推。例:A1=“1”则Y1=“0”、A1=“0”则Y1=“1”,其它组功能一样。IC(2)74HC138的作用:八位二进制译十进制译码器。 第8脚GND,电源地。 第15脚VCC,电源正极 第1~3脚A、B、C,二进制输入脚。 第4~6脚片选信号控制,只有在4、5脚为“0”6脚为“1”时,才会被选通,输出受A、B、C信号控制。其它任何组合方式将不被选通,且Y0~Y7输出全“1”。通过控制选通脚来级联,使之扩展到十六位。例:G2A=0,G2B=0,G1=1,A=1,B=0,C=0,则Y0为“0”Y1~Y7为“1”。 IC(3)4HC595的作用:LED驱动芯片,8位移位锁存器。 第8脚GND,电源地。 第16脚VCC,电源正极 第14脚DATA,串行数据输入口,显示数据由此进入,必须有时钟信号的配合才能移入。第13脚EN,使能口,当该引脚上为“1”时QA~QH口全部为“1”,为“0”时QA~QH的输出由输入的数据控制。 第12脚STB,锁存口,当输入的数据在传入寄存器后,只有供给一个锁存信号才能将移入的数据送QA~QH口输出。 第11脚CLK,时钟口,每一个时钟信号将移入一位数据到寄存器。 第10脚RESET,复位口,只要有复位信号,寄存器内移入的数据将清空,显示屏不用该脚,一般接VCC。 第9脚DOUT,串行数据输出端,将数据传到下一个。 第15、1~7脚,并行输出口也就是驱动输出口,驱动LED。 IC(4)953的作用:行驱动管,功率管。其内部是两个CMOS管,1、3脚VCC,2、4脚控制脚,2脚控制7、8脚的输出,4脚控制5、6脚的输出,只有当2、4脚为“0”时,7、8、5、6才会输出,否则输出为高阻状态。 IC(5)TB62726的作用:LED驱动芯片,16位移位锁存器。 第1脚GND,电源地。 第24脚VCC,电源正极 第2脚DATA,串行数据输入 第3脚CLK,时钟输入. 第4脚STB,锁存输入. 第23脚输出电流调整端,接电阻调整 第22脚DOUT,串行数据输出 第21脚EN,使能输入其它功能与74HC595相似,只是TB62726是16位移位锁存器,并带输出电流调整功能,但在并行输出口上不会出现高电平,只有高阻状态和低电平状态。74HC595并行输出口有高电平和低电平输出.。TB62726与5026的引脚功能一样,结构相似。 二、LED显示屏常见信号的了解 1、CLK时钟信号:提供给移位寄存器的移位脉冲,每一个脉冲将引起数据移入或移出一位。数据口上的数据必须与时钟信号协调才能正常传送数据,数据信号的频率必须是时钟信号的频率的1/2倍。在任何情况下,当时钟信号有异常时,会使整板显示杂乱无章。 2、STB锁存信号:将移位寄存器内的数据送到锁存器,并将其数据内容通过驱动电路点亮LED显示出来。但由于驱动电路受EN使能信号控制,其点亮的前提必须是使能为开启状态。锁存信号也须要与时钟信号协调才能显示出完整的图象。在任何情况下,当锁存信号有异常时,会使整板显示杂乱无章。 3、EN使能信号:整屏亮度控制信号,也用于显示屏消隐。只要调整它的占空比就可以控制亮度的变化。当使能信号出现异常时,整屏将会出现不亮、暗亮或拖尾等现象。数据信号:提供显示图象所需要的数据。必须与时钟信号协调才能将数据传送到任何一个显示点。一般在显示屏中红绿蓝的数据信号分离开来,若某数据信号短路到正极或负极时,则对应的该颜色将会出现全亮或不亮,当数据信号被悬空时对应的颜色显示情况不定。 4、ABCD行信号:只有在动态扫描显示时才存在,ABCD其实是二进制数,A是最低位,如果用二进制表示ABCD信号控制最大范围是16行(1111),1/4扫描中只要AB信号就可以了,因为AB信号的表示范围是4行(11)。当行控制信号出现异常时,将会出现显示错位、高亮或图像重叠等现象。 三、常见故障处理手段(工具:万用表、电烙铁、刀片、螺丝刀、镊子……等。) 四、LED电子显示屏的维修方法判断问题必须先主后次方式的处理,将明显的、严重的先处理,小问题后处理。短路应为最高优先级。 1、电阻检测法,将万用表调到电阻档,检测一块正常的电路板的某点的到地电阻值,再检测另一块相同的电路板的同一个点测试与正常的电阻值是否有不同,若不同则就确定了问题的范围。 2、电压检测法,将万用表调到电压档,检测怀疑有问题的电路的某个点的到地电压,比较是否与正常值相似,否则确定了问题的范围。 3、短路检测法,将万用表调到短路检测挡(有的是二极管压降档或是电阻档,一般具有报警功能),检测是否有短路的现象出现,发现短路后应优先解决,使之不烧坏其它器件。该法必须在电路断电的情况下操作,避免损坏表。 4、压降检测法,将万用表调到二极管压降检测档,因为所有的IC都是由基本的众多单元件组成,只是小型化了,所以在当它的某引脚上有电流通过时,就会在引脚上存在电压降。一般同一型号的IC相同引脚上的压降相似,根据引脚上的压降值比较好坏,必须电路断电的情况下操作。该方法有一定的局限性,比如被检测器件是高阻的,就检测不到了。 五、单元板常见问题的处理步骤单元板故障: A.整板不亮 1、检查供电电源与信号线是否连接。 2、检查测试卡是否以识别接口,测试卡红灯闪动则没有识别,检查灯板是否与测试卡同电源地,或灯板接口有信号与地短路导致无法识别接口。(智能测试卡) 3、检测74HC245有无虚焊短路,245上对应的使能(EN)信号输入输出脚是否虚焊或短路到其它线路。注:主要检查电源与使能(EN)信号。 B.在点斜扫描时,规律性的隔行不亮显示画面重叠 1、检查A、B、C、D信号输入口到245之间是否有断线或虚焊、短路。 2、检测245对应的A、B、C、D输出端与138之间是否断路或虚焊、短路。 3、检测A、B、C、D各信号之间是否短路或某信号与地短路。注:主要检测ABCD行信号。 C.全亮时有一行或几行不亮 1、检测138到4953之间的线路是否断路或虚焊、短路。 D、在行扫描时,两行或几行(一般是2的倍数,有规律性的) E、同时点亮 1、检测A、B、C、D各信号之间是否短路. 2、检测4953输出端是否与其它输出端短路。 F、全亮时有单点或多点(无规律的)不亮 1、找到该模块对应的控制脚测量是否与本行短路。 2、更换模块或单灯。 F、全亮时有一列或几列不亮 1、在模块上找到控制该列的引脚,测是否与驱动IC(74HC595/TB62726)输出端连接。 G、有单点或单列高亮,或整行高亮,并且不受控 1、检查该列是否与电源地短路。 2、检测该行是否与电源正极短路. 3、更换其驱动IC。 H.显示混乱,但输出到下一块板的信号正常 1、检测245对应STB锁存输出端与驱动IC的锁存端是否连接或信号被短路到其它线路。 I、显示混乱,输出不正常 1、检测时钟CLK锁存STB信号是否短路。 2、检测245的时钟CLK是否有输入输出。 3、检测时钟信号是否短路到其它线路。注:主要检测时钟与锁存信号。 J、显示缺色 1、检测245的该颜色的数据端是否有输入输出。 2、检测该颜色的数据信号是否短路到其它线路。 3、检测该颜色的驱动IC之间的级连数据口是否有断路或短路、虚焊。注:可用电压检测法较容易找到问题,检测数据口的电压与正常的是否不同,确定故障区域。 K、输出有问题 1、检测输出接口到信号输出IC的线路是否连接或短路。 2、检测输出口的时钟锁存信号是否正常。 3、检测最后一个驱动IC之间的级连输出数据口是否与输出接口的数据口连接或是否短路。4、输出的信号是否有相互短路的或有短路到地的。 5、检查输出的排线是否良好。整屏故障: A、整屏不亮(黑屏) 1、检测供电电源是否通电。 2、检测通讯线是否接通,有无接错。(同步屏) 3、同步屏检测发送卡和接收卡通讯绿灯有无闪烁。 4、电脑显示器是否保护,或者显示屏显示领域是黑色或纯蓝。(同步屏) B、整块单元板不亮(黑屏) 1、连续几块板横方向不亮,检查正常单元板与异常单元板之间的排线连接是否接通;或者芯片245是否正常, 2、连续几块板纵方向不亮,检查此列电源供电是否正常。 C.单元板上行不亮 1、查行脚与4953输出脚是否有通。 2、查138是否正常。 3、查4953是否发烫或者烧毁。 4、查4953是否有高电平。 5、查138与4953控制脚是否有通。 D、单元板不亮 1、查595是否正常。 2、查上下模块对应通脚是否接通。 3、查595输出脚到模块脚是否有通。 E、单元板缺色 1、查245R.G数据是否有输出。 2、查正常的595输出脚与异常的595输入脚是否有通。