1 高速SoC单片机C8051F040特征
C8051F040系列器材是彻底集成的混合信号片上体系型MCU,具有64个数字I/O 引脚,片内集成了1个CAN2.0B操控器。其首要特性有: (1)高速流水线结构的8051兼容的CIP-51内核(可达25 MIPS);(2)全速非侵入式的在体系调试接口(片内) 64 KB(C8051F040/1/2/3/4/5)可在体系编程的Flash存储器,(4K+256)B的片内RAM,寻址空间为64 KB的外部数据存储器接口和硬件完成的SPI、SMBus/I2C和两个UART串行通讯接口,片内集成看门狗定时器和VDD监视器和温度传感器,具有时钟振荡器的C8051F04x系列器材,是真实能独立作业的片上体系。一切模仿和数字外设均可由用户固件使能/制止和装备。Flash存储器还具有在体系从头编程才能,可用于非易失性数据存储,并答应现场更新8051固件。每个MCU都可在工业温度规模(-45℃~+85℃)作业, 作业电压为2.7 V~3.6 V。端口I/O、RST和JTAG 引脚都答应5 V 的输入信号电压。
2 LED硬件电路及显现作业原理
2.1 驱动办法
当向LED器材施加正向电压时,流过的电流使其发光。因而,LED的驱动问题就转化为怎么使PN结处于正向偏置的问题。为了操控它的发光强度,还要处理其正向电流的调理问题。驱动办法分为直流驱动、恒流驱动和脉冲驱动。
2.1.1直流驱动
直流驱动是最简略的驱动办法。LED的作业点由电源电压、串联电阻和LED器材的伏安特性一起决议。这种驱动办法合适LED器材较少、发光强度稳定的状况。
2.1.2 恒流驱动
LED器材的正向特性较陡,加上器材的分散性,使得在相同电源电压和相同限流电阻的状况下,各器材的正向电流并不相同,然后引起发光强度的差异。若对LED器材进行恒流驱动,只需恒流值相同,发光强度就比较挨近。晶体管的输出特性具有恒流特性,因而可用晶体管驱动LED。
2.1.3 脉冲驱动
使用人眼的视觉慵懒,选用LED器材重复通断电的办法使之点亮,便是脉冲驱动办法。脉冲驱动首要运用于扫描驱动和占空比驱动两个方面。扫描驱动首要意图是节省驱动,简化电路。占空比操控的意图是调理器材的发光强度,用于图画显现中的灰度操控。在实践运用中往往是两方面组合在一起运用。
2.1.4常用LED显现屏驱动
现在遍及选用的是串行操控驱动办法,便是将显现的数据经过串行办法送入点驱动电路,多选用4953+74HC595作为驱动。
2.2 LED硬件电路介绍
256 B双色LED屏首要由32块8×8 LED模块、32片74HC595、8片4953、2片74HC245和2片74HC138组成。LED屏按其电路分为接口电路、驱动电路、译码电路和列数据电路。现对接口电路数据线作介绍。
A、B、C、D:行扫描信号线,决议16行中的哪一行点亮;
R1、R2:赤色LED列数据;
G1、G2:绿色LED列数据;
CK:74HC595串行数据移位信号,上升沿将数据存入驱动模块中的串行寄存器;
ST:74HC595数据锁存信号,上升沿将串行数据存入并行数据寄存器,一起屏体显现更新;
EN:74HC138片选信号,有用时屏体点亮。
2.3 LED作业原理介绍
2.3.1 LED列数据电路剖析
LED屏首要由显现点阵以及队伍驱动电路组成,显现点阵多选用64×32板组成。因为LED发光器材数目较多,一般选用扫描驱动办法。扫描驱动电路一般选用多行的同名列共用一套列驱动器。行驱动器的行连到电源的一端,列驱动器的列连到电源的别的一端,当行驱动挑选第i行,列驱动器挑选第j列时,相应的LED就点亮。操控电路首要担任有序地选通各行,在选通每一行之前还要把该行各列的数据预备好。选用扫描办法进行显现时,每行有一个行驱动器,各行的同名列共用一个列驱动器。行译码器给出行有用信号,从榜首行开端,按次序顺次对各行进行扫描。依据列锁存器的数据确认该列是否接通,接通的列就在该行点亮。当一行的继续扫描时刻完毕后,下一行又以相同的办法进行显现。每行都扫描一遍后,又从榜首行开端下一个周期的扫描。只需扫描周期的时刻比人眼闪耀临界时刻短,就感觉不出数据的替换,这是编写软件的重要思维过程。
LED显现屏选用74HC595作为列驱动电路,该芯片具有以下功用:具有8 bit的串入并出的移位寄存器和一个8 bit输出锁存器,移位寄存器和输出锁存器的操控各自独立,因而当榜首行数据锁存到行线上时,其内部一起经过移位寄存器安排第二行数据,这使得行数据预备与显现能够一起进行。关于列预备数据,它具有串入并出的移位功用,关于列显现数据具有并行锁存的功用。
2.3.2 LED行扫描电路剖析
行扫描电路选用74HC138译码器,但因为该芯片驱动才能有限,因而在它的输出端再接上8片4953(每片能够驱动两行)以增强行驱动才能。138译码器ABC 3条信号线可发生8 bit输出信号,每次选通一片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;
OSC%&&&&&%N = 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显现屏的运用中具有必定的参阅和运用价值。