;************************************************************************ ;* * ;* write ASCII character into display RAM * ;* * ;************************************************************************ ;Input: wr0 = ASCII char, bit7 = attribute ; wr1 = column ;Output: wr1 = wr1 + 6 ;Used: wr0, wr2, wrl0, yl, z ; setchar: subi wr0, 0x80 ; invert flash attribute bst wr0, 7 andi wr0, ~0x80 mov zl, wr0 ; * 5 clr zh lsl zl rol zh lsl zl rol zh add zl, wr0 adc zh, zero subi zl, low(-(2*asciitab+4)) sbci zh, high(-(2*asciitab+4)) ldi wr0, 5 ; 5 columns _sch1: lpm ; get character code bld r0, 7 rcall setcol1 sbiw zl, 1 dec wr0 brne _sch1 rjmp setcol1 ; 1 column blank ;------------------------------------------------------------------------