51单片机驱动单片机驱动08接口全彩接口全彩LED单元板单元板
采用STC12C5A60S2单片机来驱动标准的08接口全彩LED单元板。 整个系统由一片4-16译码器74HC154,8片
串行输入并行输出移位寄存器74HC595组成来驱动8*8LED点阵模块。 LED单元板是64*32大小的,64列,32
行,标准08接口。
首先来介绍一下LED单元板,LED单元板说白了就是LED点阵模块,一个模块是由偶数个8*8的小LED模块构成,每一个
8*8LED模块采用一块移位存储寄存器(74HC595)和一块移位寄存器(74HC138)来驱动8*8LED模块的显示。
LED单元板的显示采用动态扫描的方式,简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现16行的同名列共用一套
列驱动器。在轮流点亮一遍的过程中,每行LED点亮的时间是几位短暂的,如果以1ms计算,扫描16行则只需16ms,扫描频
率为1000/16=62.5HZ,由于这个频率足够快,给人眼的视觉印象就会是在连续稳定地显示,并不觉察有闪烁现象。
为了实现汉字的扫描,需要制作汉字字模数据,汉字字模的数据需要用取模软件来提取,下图是我提取字模时的参数设置:
贴出程序:
/*
µ¥Æ¬»ú£ºSTC12C5A60S2
*/
//×°ÔØÍ·Îļþ
#include <reg52.h>
#include <intrins.h>
//Êý¾ÝÀàÐͶ¨Òå
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
//STC12C5A60S2 ÉùÃ&pide;GPIO¶Ë¿ÚÏà¹ØµÄ¼Ä´æÆ&pide;
sfr P0M0=0X94;
sfr P0M1=0X93;
sfr P1M0=0X92;
sfr P1M1=0X91;
sfr P2M0=0X96;
sfr P2M1=0X95;
//STC12C5A60S2 ÉùÃ&pide;ÓëPCAÏà¹ØµÄ¼Ä´æÆ&pide;
sfr CCON=0XD8;//PCA¿ØÖÆ¿ØÖƼĴæÆ&pide;
sbit CCF0=CCON^0;//PCAÄ£¿é0ÖжϱêÖ¾
sbit CCF1=CCON^1;//PCAÄ£¿é1ÖжϱêÖ¾
sbit CR=CCON^6;//PCA¼ÆÊýÆ&pide;ÕóÁÐÔËÐпØÖÆλ
sbit CF=CCON^7;//PCA¼ÆÊýÆ&pide;ÕóÁÐÒç³ö±ê־λ
sfr CMOD=0XD9;//PCA¹¤×&pide;ģʽ¼Ä´æÆ&pide;
sfr CL=0XE9;//PCAµÄ16λ¼ÆÊýÆ&pide; µÍ8λ ¸´Î»ÖµÎª00H ±£´æPCAµÄ×°ÔØÖµ
sfr CH=0XF9;//PCAµÄ16λ¼ÆÊýÆ&pide; ¸ß8λ ¸´Î»ÖµÎª00H ±£´æPCAµÄ×°ÔØÖµ
sfr CCAPM0=0XDA;//PCAÄ£¿é0µÄ±È½Ï/²¶»ñ¼Ä´æÆ&pide;
//µ±PCAÄ£¿éÓÃÓÚPWMģʽʱ£¬CCAPXLºÍCCAPXHÓÃÀ´¿ØÖÆÊä³öµÄÕ¼¿Õ±È ¸´Î»ÖµÊÇ00H
sfr CCAP0L=0XEA;//PCAÄ£¿é0¼Ä´æÆ&pide;µÄµÍλ×Ö½Ú
sfr CCAP0H=0XFA;//PCAÄ£¿é0¼Ä´æÆ&pide;µÄ¸ßλ×Ö½Ú
sfr CCAPM1=0XDB;//PCAÄ£¿é1µÄ±È½Ï/²¶»ñ¼Ä´æÆ&pide;
sfr CCAP1L=0XEB;//PCAÄ£¿é1¼Ä´æÆ&pide;µÄµÍλ×Ö½Ú
sfr CCAP1H=0XFB;//PCAÄ£¿é1¼Ä´æÆ&pide;µÄµÍλ×Ö½Ú
sfr PCAPWM0=0XF2;//PCAÄ£¿éPWM¼Ä´æÆ&pide;0
sfr PCAPWM1=0XF3;//PCAÄ£¿éPWM¼Ä´æÆ&pide;1
//08½Ó¿ÚLEDµ¥Ôª°åÒý½Å¶¨Òå
sbit A_LED=P0^0;
sbit B_LED=P0^1;
sbit C_LED=P0^2;
sbit D_LED=P0^3;
sbit CLK_LED=P0^4;//ÒÆλʱÖÓ
sbit STB_LED=P0^5;//Ëø´æʱÖÓ
sbit R1_LED=P2^0;//ÉÏ°ëÆÁÄ»ºìÉ«Êý¾Ý 1¿ªÏÔʾ 0¹ØÏÔʾ
sbit R2_LED=P2^1;//Ï°ëÆÁÄ»ºìÉ«Êý¾Ý
sbit G1_LED=P2^2;//ÉÏ°ëÆÁÄ»ÂÌÉ«Êý¾Ý 1¿ªÏÔʾ 0¹ØÏÔʾ
sbit G2_LED=P2^3;//Ï°ëÆÁÄ»ÂÌÉ«Êý¾Ý
sbit B1_LED=P2^4;//ÉÏ°ëÆÁÄ»À¶É«Êý¾Ý 1¿ªÏÔʾ 0¹ØÏÔʾ
sbit B2_LED=P2^5;//Ï°ëÆÁÄ»À¶É«Êý¾Ý
sbit OE_LED=P1^3;//OE=1¹Ø±ÕÏÔʾ OE=0¿ªÏÔʾ ²ÉÓÃPWM·½Ê½¿ÉʵÏÖÁÁ¶Èµ&pide;½Ú
//ʵÑéÊý×é
评论0