微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 高速SoC单片机C8051F040在双基色LED屏中的应用

高速SoC单片机C8051F040在双基色LED屏中的应用

时间:03-13 来源:互联网 点击:

一片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显示屏的应用中具有一定的参考和应用价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top