用AT90S1200代换显示驱动芯片MC14499的应用电路
单字节指令,可进行十位数字运算,在32个工作寄存器中只有16~31个寄存器可执行立即数据的操作,并支持C语言编程,而且灵活方便,下面给出用AT90S1200代换MC1449的显示数据转换子程序和接收数据子程序。 4.1 驱动显示子程序 由于AT90S1200不能查表。故在显示子程序中应分别进行处理,主程序内使用了通用寄存器R26中带为的接收BCD码,并通过本子程序转换为段码,仍由R26带出并返回到调用程序处,本示例为0、1、2、3、4五个字段码的转换: 4.2 数据接收子程序 首先把状态寄存器的数据送到R18暂存,然后分别接收小数点及四位BCD码,并将数据寄存在R20、R21、R22、R23、R24中,程序如下: 5 结束语 文中所述的方案已被成功应用于无功补偿控制器的显示系统中,经使用表明:AT90S1200不仅可以完全取代MC14499进行驱动显示,而且还具有功耗低、使用方便的特独性能,仅用8只外接电阻即可驱动四位动态显示系统,且接口非常灵活,可方便地与任何单片机接口,并可编程为串行同步接口、I2C接口、 SPI接口等,更重要的是提出了一种用MCU代换ADIC设计方案和实现思路,并经过实用表明完全可行,也比较有实用价值。
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
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
MC14499 应用 电路 芯片 驱动 代换 显示 AT90S1200 相关文章:
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- SHARC引领第四代通用DSP高端应用潮流(09-27)
- 在应用可编程测控网络设计(03-15)
- 基于dsPIC33F系列单片机的应用程序升级方法(04-03)
- 采用混合时钟模式提高Linux时钟精度的方法(05-10)
- MSP430低功耗原理及其在海温测量中的应用(06-06)