用AT90S1200代换显示驱动芯片MC14499的应用电路
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设计方案和实现思路,并经过实用表明完全可行,也比较有实用价值。
DIY机械键盘相关社区:机械键盘DIY
评论