论坛名称:714电子实验室 网址:http://www.714e.com/bbs/
  714电子实验室提供电子技术书籍教程,电子技术视频教程,EDA软件及教程下载~
  • 8X8点阵LED汉字显示实验 作者:yezi_hly00 时间:2007-12-1 19:23:44
  • 8X8点阵LED 字符显示器能显示“电子设计”四个大字,显示方式可由K1K2K3选择,K1为逐一显示,K2为向上流动显示,K3为向左流动显示

    ORG 0000H

    LJMP START

    ORG 0003H

    RETI

    ORG 000BH

    RETI

    ORG 0013H

    RETI

    ORG 001BH

    RETI

    ORG 0023H

    RETI

    ORG 002BH

    RETI

    ;****************************************************

    ; 初始化程序

    ;****************************************************

    CLEARMEN: MOV A,#0FFH

    MOV P1,A

    MOV P2,A

    MOV P3,A

    MOV P0,A

    MOV DPTR,#TAB

    CLR A

    MOV 21H,A

    MOV 22H,A

    MOV 23H,A

    MOV 24H,A

    MOV R3,A

    MOV R1,#50H

    MOV R2,#20H

    CLLOOP: MOVC A,@A+DPTR ;TAB开始的地址里的值放到以50H开始的单元,这样做是为了以后显示方便;

    MOV @R1,A

    MOV A,R3 ;改变变址的值

    INC A

    MOV R3,A

    INC R1

    DJNZ R2,CLLOOP

    RET

    ;***************************************

    ; 主程序

    ;***************************************

    START: MOV 20H,#00H

    SETB 00H

    START1: LCALL CLEARMEN

    JB 00H,FUN0

    JB 01H,FUN1

    JB 02H,FUN2

    AJMP START1

    KEYWORK: MOV P1,#0FFH

    JNB P1.0,KEY1

    JNB P1.1,KEY2

    JNB P1.2,KEY3

    KEYRET: RET

    KEY1: LCALL DL10MS

    JB P1.0,KEYRET

    SETB 00H

    CLR 01H

    CLR 02H

    RET

    KEY2: LCALL DL10MS

    JB P1.1,KEYRET

    SETB 01H

    CLR 00H

    CLR 02H

    RET

    KEY3: LCALL DL10MS

    JB P1.2,KEYRET

    SETB 02H

    CLR 01H

    CLR 00H

    RET

    ;逐字显示功能程序

    FUN0: MOV 30H,#80H ;1帧显示时间控制(约8X16X8ms=1ms

    MOV 31H,#80H ;换帧跳转步距为8

    LJMP DISP1

    ;上移显示功能程序

    FUN1: MOV 30H,#0AH ;1帧显示时间控制(约10X8ms=80ms

    MOV 31H,#01H ;换帧跳转步距为1

    LJMP DISP1

    ;左移显示程序

    FUN2: LJMP DISP2

    ;*********************************************8

    ; 显示控制程序

    ;*********************************************

    DISP1: MOV B,#50H ;显示数据首址

    MOV R4,30H ;放入1帧显示时间控制数据

    MOV R5,31H ;放入跳转步距控制数据

    LOOP: LCALL DISPLAY

    DJNZ R4,LOOP

    MOV R4,30H

    MOV A,B

    CJNE A,#6FH,CONT ;不是末地址转CONT这里应该是68H因为是第四个字符的首址

    AJMP START1

    CONT: ADD A,R5

    MOV B,A

    AJMP LOOP

    DISPLAY: MOV A,#0FFH

    MOV P0,A

    MOV P2,A

    MOV R6,#0FEH

    MOV R0,B

    MOV R7,#08H

    DISLOOP: MOV A,@R0

    MOV P0,A

    MOV P2,R6

    LCALL DL1MS

    INC R0

    MOV A,R6

    RL A

    MOV R6,A

    DJNZ R7,DISLOOP

    RET

    ;左移显示控制程序

    DISP2: MOV R5,#32 ;左移32

    DISP22: LCALL DISPP ;调用左移显示控制子程序

    LCALL MOVH ;调用高位移出处理子程序MOVH

    LCALL MOVH1 ;调用高位移出处理子程序MOVH1

    DJNZ R5,DISP22 ;左移显示32次控制

    LJMP START1

    ;左移显示控制子程序

    DISPP: MOV B,#50H ;

    MOV R4,#25H ;

    DISPP1: LCALL DISPLAY ;

    DJNZ R4,DISPP1;

    RET

    ;

    MOVH: MOV R1,#21H ;

    MOV R0,#50H ;

    MOV R2,#08H ;

    MOV1: MOV A,@R0 ;

    CLR C ;

    MOV @R0,A ;

    MOV A,@R1 ;

    RRC A ;

    MOV @R1,A ;

    INC R0 ;

    DJNZ R2,MOV1 ;

    MOV R2,#08H ;

    INC R1 ;

    MOV A,R1 ;

    SUBB A,#25H ;

    JZ OUT ;

    AJMP MOV1 ;

    OUT: RET ;

    MOVH1: MOV A,21H ;

    XCH A,24H ;

    XCH A,23H ;

    XCH A,22H ;

    MOV 21H,A ;

    MOV R1,#21H ;

    MOV R0,#50H ;

    MOV R2,#08H ;

    MOV2: MOV A,@R0 ;

    RR A

    MOV @R0,A ;

    MOV A,@R1 ;

       CLR C

    RRC A

    MOV @R1,A ;放回原单元

    MOV A,@R0 ;取字符数据

    RLC A ;

    MOV @R0,A ;放回字符数据

    INC R0 ;字符数据地址加1

    DJNZ R2,MOV2 ;8次移完转MOV2再继续

    MOV R2,#08H ;8次完赋初值

    INC R1 ;原移出最高位存放地址加1

    MOV A,R1 ;

    SUBB A,#25H ;

    JZ OUT ;

    AJMP MOV2 ;

    DL1MS: MOV R3,#64H ;调用了扫描键盘程序100X(10+2)us

    LOOPK: LCALL KEYWORK ;KEYWORK用了10us

    DJNZ R3,LOOPK

    RET

    ;0.5ms延迟子程序

    DL512: MOV R2,#0FFH

    LOOP1: DJNZ R2,LOOP1

    RET

    ;10ms延迟子程序

    DL10MS: MOV R3,#14H

    LOOP2: LCALL DL512

    DJNZ R3,LOOP2

    RET

    ;"电子设计“显示用RO数据表

    TAB: DB 0EFH,83H,0ABH,83H,0ABH,83H,0EEH,0E0H

    DB 0FFH,0C7H,0EFH,83H,0EFH,0EFH,0CFH,0EFH

    DB 0B1H,0B5H,04H,0BFH,0B1H,0B5H,9BH,0A4H

    DB 0BBH,0BBH,1BH,0A0H,0BBH,0BBH,9BH,0BBH

    DB 00H,00H,00H,00H

    END


  • 作者:sunup76 时间:2008-2-23 16:58:33
  • [em01]

Google
 

欢迎光临714电子实验室 网址:http://www.714e.com/bbs/
推荐网站:
714电子实验室http://www.714e.com/