高速SoC在双基色LED屏中的应用
3 LED显示屏对单片机控制系统的要求
对于一个可正常显示且不闪烁的LED显示屏,其正常刷新频率理论上至少不能少于50场/s。但实测表明只有大于55场/s(一场扫描时间大约18 ms)时,人眼才不会感觉到闪烁。对于64×32 LED来说,处理1 B的时间为70.3 ?滋s,平均指令条数为Tb/1.5=70.3/1.5=47条。C8051F040晶振频率为22.118 4 MHz,时钟周期为0.045 ?滋s,C8051F040 70%的指令执行周期为1~2个时钟周期,故平均指令执行时间为2×0.045 ?滋s=0.9 ?滋s,满足LED显示控制要求。
4 C8051F040与LED硬件电路
C8051F040与LED连接图如图1所示。
本电路采用C8051F040的P2口和P3口的高3位控制LED显示,其中P2口的高4位连接138译码器的4根地址信号线(ABCD),分别是P2.7接A、P2.6接B、P2.5接C、P2.4接D、P2.3接G1、P2.2接G2、P2.1接CK、 P2.0接ST、P3.7接EN、 P3.6接R1、P3.5接R2。时钟显示电路选用PCF8563P芯片,采用I2C总线控制方式,SDA和SCL分别接P1.3、P1.2。温度电路采用18B20芯片,采用单总线控制方式,SDA接P0.3。
5 C8051F040控制LED软件介绍
(1) 功能介绍
这显主要介绍C8051F040控制LED分屏显示日期、时间和温度。按照图1所示的硬件连接,行扫描软件地址可分配为0x00、0x80、0x40、0xc0、0x20、0xa0、0x60、0xe0、0x10、0x20、0x90、0x50、0xd0、0x30、0xb0、0x70、0xf0,编写程序时将根据以上地址进行行扫描。
(2) 软件流程图
C8051F040控制LED的主程序流程图如图2所示,显示程序流程图如图3所示。
(3) C8051F040源程序
C8051F040的源程序如下。
(1)系统时钟配置
void SYSCLK_Init (void)
{ int i = 0;
SFRPAGE = CONFIG_PAGE;
OSCXCN = 0x67;
for (i = 0; i < 3000; i++);
// Wait 1ms for initialization
while ((OSCXCN & 0x80) == 0);
CLKSEL = 0x01;
OSCICN = 0x00; }
(2)系统端口配置
void PORT_Init()
{ SFRPAGE = CONFIG_PAGE;
//st SFR page before writing to XBR0 = 0x04
//允许UART0、RX、TX连到2个端口引脚XBR0=00000100 P1MDOUT = 0xf0; //推挽输出
P2MDOUT = 0xff;
P3MDOUT=0xff;
P4MDOUT=0x00; //漏极开漏输出
P4 "= 0xff; //写1禁止低端输出驱动器
P0MDOUT |= 0x01; //使能TX0作为推挽输出
XBR2 = 0x42;
}
(4) PCF8563与C8051F040的连接
PCF8563与C8051F040之间的硬件连接图如图4所示。
(5) PCF8563初始化流程
PCF8563初始化流程图如图5所示。
(6) DS18B20与C8051F040的连接
DS18B20与C8051F040之间的硬件连接图如图6所示。
(7) DS18B20测温系统
DS18B20测温系统流程图7所示。
本文主要介绍了LED显示的工作原理、硬件电路组成以及对单片机控制系统的要求等,利用C8051F040的特有优势实现对LED的有效控制,可以直接驱动LED,不需要在控制板上再加一级总线驱动器,节约系统资源。本文还给出了具体部分软件流程图和源程序代码,可根据硬件连接图连接后正常显示运行。本文在LED显示屏的应用中具有一定的参考和应用价值。
- 大屏幕LED显示屏的高速控制方案(04-09)
- 基于单片机IAP技术的LED显示屏控制系统(04-12)
- 基于CPLD和ARM的异步LED显示屏控制系统设计(08-02)
- 基于ARM S3C44B0X的LED显示屏设计(10-07)
- 基于触摸屏技术和ZigBee的校园LED公告板系统(07-16)
- 混合信号SoC在双色LED屏中的应用(09-30)