高速SoC单片机C8051F040在双基色LED屏中的应用
一片4953即可对应其中一行,如果此时对应列锁存输出数据到线上,则该行二极管导通,显示数据。 本文LED双色板采用16线扫描方式,用ABCD 4条扫描线结合2片74HC138产生16线扫描信号。 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 应用 双基 C8051F040 SoC 单片机 高速 相关文章:
- DSP在LED大屏显示中的应用(03-14)
- DSP在LED显示中的应用(08-21)
- 基于μC/OS2II的LED显示屏控制器(08-14)
- 基于DSP的LED大屏幕显示系统(10-03)
- 基于单片机的彩灯设计方案(10-29)
- 基于μC/OS-II及Nios II的多窗口显示屏控制器的设计与实现(01-23)