黄金会员
 
主题
帖子
积分7258
阅读权限40
注册时间2010-8-13
最后登录1970-1-1
在线时间 小时
|

楼主 |
发表于 2010-11-26 23:04
|
显示全部楼层
本帖最后由 hicool 于 2010-11-26 23:11 编辑
小日本的AVR 汇编代码:
; GP1059A01 VFD control functions
vfd_init:
ldi CL, 40 ;500ms
ldiw A, 50000 ;
subiw A, 1 ;
brne PC-2 ;
dec CL ;
brne PC-6 ;/
ldiw B, 0 ;Display start address
rcall set_disp ;/
ldi AL, 6 ;Intensity = 15
rcall wr_cmd ;
stsi Intensity, 15 ;
ldi AL, 15 ;
rcall wr_data ;/
ldiw B, 0 ;Clear VRAM
rcall set_addr ;
ldiw X, 8*240 ;
ldi AL, 0 ;
rcall wr_data ;
sbiw XL, 1 ;
brne PC-3 ;/
ret
set_disp:
ldi AL, 7 ;address low
rcall wr_cmd ;
mov AL, BL ;
rcall wr_data ;/
ldi AL, 8 ;address high
rcall wr_cmd ;
mov AL, BH ;
rcall wr_data ;/
ret
set_addr:
ldi AL, 4 ;address low
rcall wr_cmd ;
mov AL, BL ;
rcall wr_data ;/
ldi AL, 5 ;address high
rcall wr_cmd ;
mov AL, BH ;
rcall wr_data ;/
ldi AL, 2 ;data mode
rcall wr_cmd ;/
ret
wr_cmd: sbi PORTD, CD ;CD=H
rjmp PC+2
wr_data:cbi PORTD, CD ;CD=L
out PORTC, AL ;DATA=data
cbi PORTD, CS ;CS=L
cbi PORTD, WR ;WR=L
rjmp PC+1
sbi PORTD, WR ;WR=H
sbi PORTD, CS ;CS=H
rjmp PC+1
rjmp PC+1
rjmp PC+1
rjmp PC+1
ret
这段比较关键,我看的二懂二懂的,就是不知道如何转换为C51代码 |
-
原理图
|