用AT90S1200代换显示驱动芯片MC14499的应用电路

2006-05-07 15:50:16来源: 国外电子元器件

1 MC14499简介

MC14499是Motorola公司生产的串行输入BCD十进制输出的CMOS集成块,它内含BCD译码器和串行接口,可以与任何CPU接口连接,在比较复杂的单片机控制系统中,MC14499具有占用I/O少、控制显示器多、功耗低、使用方便等优点,因而得到广泛的应用。但其缺点是用它来实现显示系统比较复杂,并且成本太高。随着技术的飞速发展和微处理性能价格比的较高,人们可以采用高性价比的MCU来代换它,这也许是一个趋势,如用力源PS7219代换MAX7219等。笔者用AT90S1200来代换CM14499,取得了非常好的效果。AT90S1200是一种性能非常优异的RISC单片机,它可以与主CPU并行工作,而且功耗也特别你,在性能上完全与MC14499兼容,由其组成的显示系统非常简单。另外,它的一个最突出的优点是操作灵活,并可在MC14499接口的基础上增加SPI接口、I2C及单线传输等功能。

MC14499片内主要包括移位寄存器、锁存器、多路输出、译码驱动器及振荡器,由多路输出从锁存器中取出的BCD码数据经段译码器译码后送至八段输出脚,片内振荡信号经四分频后接至I~IV四条位控制线对显示器进行轮流扫描,以实现动态扫描显示。

MC14499一次可接收20位串行输入数据,MC14499的前四位为4个LED显示器的小数点选择位,后16位是4个LED显示器的BCD码输入数据,高位在前,低位在后,当EN由高变低时,MC14499的寄存器开始接收串行数据。

MC14499采用双列直播式18脚DIP封装形式。图1所示是它的引脚排列示意图。

2 AT90S1200的主要特点

AT90S1200单片机是由ATMEL公司推出的RISC(reduced Instruction Set cpu)单片机,它充分吸取了PIC及8051的优点,并发挥了其自身Flash存储器技术特长。从而使AT90S1200具有非常优异的性能。其特点如下:

●具有大电流(10~20mA)输出特性,可直接驱动LED显示、继电器、SSR固态继电器等。片内看门狗定时器具有安全保护功能,可防止程序走飞,从而提高了产品的抗干扰能力。

●内部带有价格低廉的可擦写1000次以上的1k字节FLASH,速度高,功耗低,并具有sleep功能,可分别在空闲、掉电及省电模式下实现低功耗。在1MHz时呆实现1MIPS的处理能力,AT90S1200采用单周期执行指令,耗电在1mA~3mA之间。(睡眠时的典型损耗电流≤1μA)。

●带有高度保密但可多次烧写的FLASH,具有多重保密保护锁死功能,可低价快速完成产品商品化生产。

●有串行异步通讯UART口,不占用定时器和SCI传输功能,其高速性能可使其工作在一般标准整数频率,它的波特率可达576k,并带有系统可编程SPI接口。

●采用超功能简精指令:具有32个通用工作寄存器,可灵活使用指令运算,并支持功能强大C语言编程,易学易用。

●AT90S1200内置比较器,I/O口可作A/D转换用,内含一个8位定时器/计时器。

●具有三个固定中断向量地址,分别为:外部中断、内部定时器中断、片内模拟比较器输出中断,可实时快速响应,适用于实时控制系统。

●是一种可重设启动复位器件,具有内部电源开关启动计数器,可将低电平复位(RESET)直接接到Vcc端。当电源打开时,利用内部的RC看门狗定时器可延迟MCU启动执行程序,这种延时可以使I/O在稳定后执行程序,以提高单片机的工作可靠性。

●AT90S1200器件内置1MHz工作频率RC振荡器,这使得单片机无需外加振荡元器件即可工作,因而设计使用简单方便。

●具有可描写100000次的EEPROM(64个字节),为掉电后的数据保存提供方便。

●工作电压范围为2.7V~6.0V,具有较强的电源抗干扰能力。

3 代换电路

用AT90S1200代换KMC14499的电路连接如图2所示,其中AT90S1200的RST为复位引脚,可直接接至高电平,并在内部复位,A~G为7段,DP为小数点,Ⅰ~Ⅳ为四位位选信号输出,可用于从显示器吸收电源。

可以看出,图2所示电路非常简单,只需外接8只电阻即可驱动四位动态显示,阻值可根据LED数码管的性能在200~500Ω之间选择,笔者使用200Ω,亮度很高,且功耗很低,这一些需24小时工作的场合很适用,可直接代换MC14499.和主EN为使能信号,只有EN为低时才接收数据,CLK为时钟信号,使用AT90S1200的中断口pd2,可快速反应实时接收,data为串行数据输入端,在CLK的下降沿,data线上的数据被移入到内部20位移位寄存器中。

4 软件设计

使用AT90S1200直接代换MC14499完成显示功能时,系统软件可采和AVR精简指令的汇编语言编写,并可采用模块化结构设计。为达到MC14499的通讯速度,对串行数据的接收采用中断方式处理,使用内置振荡器,WDT可使用外部中断接收CLK信号,AT90S1200具有89条指令代码,且全部为单字节指令,可进行十位数字运算,在32个工作寄存器中只有16~31个寄存器可执行立即数据的操作,并支持C语言编程,而且灵活方便,下面给出用AT90S1200代换MC1449的显示数据转换子程序和接收数据子程序。

4.1 驱动显示子程序

由于AT90S1200不能查表。故在显示子程序中应分别进行处理,主程序内使用了通用寄存器R26中带为的接收BCD码,并通过本子程序转换为段码,仍由R26带出并返回到调用程序处,本示例为0、1、2、3、4五个字段码的转换:

Data:CPI R26,$00 ;数据0的转换

BRNE Data0

LDI R26,$7B

RJMP DataD

Data0:CPI R26,$01 ;数据1由BCD转换为段码

BRNE Datal

LDI R26,$48

RJMP DataD

Datal:CPI R26,$02 ;数据2的转换

BRNE Data2

LDI R26,$D3

RJMP DataD

Data2:CPI R26,$03 ;数据3的转换

BRNE Data3

LDI R26,$D9

RJMP DataD

Data CPI R26,$04 ;数据4的转换

BREN Data4

LDI R26,$E8

RJMP DataD

DataD:RET

4.2 数据接收子程序

首先把状态寄存器的数据送到R18暂存,然后分别接收小数点及四位BCD码,并将数据寄存在R20、R21、R22、R23、R24中,程序如下:

PROG:IN R18,SREG ;状态标志寄存

CLC

SBIC PIND,0

SEC

ROL R29

ROL R28

ROL R27

INC R16

CPI R16,$14

BRNE PROGD

MOV R20,R27;小数点位置位的接收,寄存在R20

ANDI R20,$0F

MOV R21,R28 ;显示首位数据接收

SWAP R21

ANDI R21,$0F

MOV R22,R28 ;第二位接收

ANDI R22,$0F

MOV R23,R29 ;第三位接收

SWAP R23

ANDI R23,$0F

MOV R24,R29 ;第四位接收

ANDI R24,$0F

CLR R16

CLR R27

CLR R38

CLR R29

CPI R24,$0A

BRL0 RPOGD

CLR R20

LDI R21,$0F

LDI R22,$0F

LDI R23,$0F

LDI R24,$00

PROGD RETI

5 结束语

文中所述的方案已被成功应用于无功补偿控制器的显示系统中,经使用表明:AT90S1200不仅可以完全取代MC14499进行驱动显示,而且还具有功耗低、使用方便的特独性能,仅用8只外接电阻即可驱动四位动态显示系统,且接口非常灵活,可方便地与任何单片机接口,并可编程为串行同步接口、I2C接口、SPI接口等,更重要的是提出了一种用MCU代换ADIC设计方案和实现思路,并经过实用表明完全可行,也比较有实用价值。

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/ledanddisplay/200605/3416.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved