用AT90S1200代换显示驱动芯片MC14499的应用电路
4 软件设计
使用AT90S1200直接代换MC14499完成显示功能时,系统软件可采和AVR精简指令的汇编语言编写,并可采用模块化结构设计。为达到MC14499的通讯速度,对串行数据的接收采用中断方式处理,使用内置振荡器,WDT可使用外部中断接收CLK信号,AT90S1200具有89条指令代码,且全部为单字节指令,可进行十位数字运算,在32个工作寄存器中只有16~31个寄存器可执行立即数据的操作,并支持C语言编程,而且灵活方便,下面给出用AT90S1200代换MC1449的显示数据转换子程序和接收数据子程序。
由于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
DIY机械键盘相关社区:机械键盘DIY
评论