;
MOVDISP1: MOV R1,#255 ;向上移动显示6排字,每排四字(R1=排数*16)
DISLOOP1: MOV R3,#10 ;移动速度1.6*10=0.16S
DISMOV2: MOV R2,#00H ;第0行开始
SETB TR0 ;开扫描(每次一帧)
WAITMOV1: JBC 00H,DISMOV3 ;标志为1扫描一帧结束(16毫秒为1帧,每行1毫秒)
AJMP WAITMOV1
DISMOV3: DJNZ R3,DISMOV2 ;1帧重复显示(控制移动速度)
INC DPTR ;显示字指针移一行(二字节位置)
INC DPTR
DEC R1 ;R1为0,显示完
MOV A,R1
JZ MOVOUT1 ;
AJMP DISLOOP1 ;
MOVOUT1: RET ;移动显示结束
;
;
;*****************;
; 四个字显示子程序 ;
;*****************;
;静止显示表中某四个字
DIS1: MOV R3,#5AH ;静止显示时间控制(16MS*#=1.6秒)
DIS11: MOV R2,#00H ;一帧扫描初始值(行地址从00-0FH)
MOV DPTR,#TAB ;取表首址
SETB TR0 ;开扫描(每次一帧)
WAIT11: JBC 00H,DIS111 ;为1,扫描一帧结束
AJMP WAIT11
DIS111: DJNZ R3,DIS11
RET
;
;
;************;
; 扫描程序 ;
;************;
;1MS传送一行,每行显示1毫秒,一次传送四个字的某行共8个字节.
;
INTT0: PUSH ACC
MOV TH0,#0FCH ;1ms初值重装
MOV TL0,#18H
MOV A,#97 ;指向第四个字行右字节
ADD A,DPL
MOV DPL,A
MOV A,#0
ADDC A,DPH
MOV DPH,A
MOV A,#0
MOVC A,@A+DPTR ;查表
MOV SBUF,A ;串口0方式发送
WAIT: JBC TI,GO ;等待发送完毕
AJMP WAIT ;
GO: MOV A,DPL ;指向第四个字行左字节
SUBB A,#1
MOV DPL,A
MOV A,DPH
SUBB A,#0
MOV DPH,A
MOV A,#0
MOVC A,@A+DPTR
MOV SBUF,A
上一页 [1] [2] [3] [4] [5] 下一页
本文关键字:电子 显示器 51单片机,单片机-工控设备 - 51单片机