找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2990|回复: 0
打印 上一主题 下一主题
收起左侧

LED16X16屏串口方式传送显示程序

[复制链接]
跳转到指定楼层
楼主
ID:70976 发表于 2014-12-26 23:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


        ORG  0000H
         LJMP  MAIN
         ORG  0030H

;初始化
MAIN:    MOV SP,#70H
         MOV A,#00H
         MOV R0,#00H         ;行扫描计数寄存器清零
KS1:     MOV R1,#00H         ;显示时间长寄存器清零

;行扫描显示文字
KS2:     MOV   P3,#0E3H ;关闭行扫描,不显示,使移位时不出现隐亮
         ACALL XS1           ;输出列数据
         MOV   P3,#043H ;行输出,第一行显示
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#047H ;行输出,第二行显示,以下雷同
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1   
         MOV   P3,#04BH         ;3
         ACALL DELAY

  MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#04FH         ;4
         CALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#053H          ;5
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#057H          ;6
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#05BH          ;7
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#05FH           ;8
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#063H           ;9
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#067H          ;10
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#06BH          ;11
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#06FH           ;12
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#073H           ;13
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#077H          ;14
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#07BH           ;15
         ACALL DELAY

         MOV   P3,#0E3H
         ACALL XS1
         MOV   P3,#07FH           ; 16
         ACALL  DELAY



L02:     AJMP  KS1
;**********************************************************
;延时子程序
;**********************************************************
DELAY:  MOV  R6,#40H         ;每行扫描显示时间,AT89C2051要改R6=01H
DEL2:   MOV  R7,#2FH        ;AT89C2051要改R7=2FH
DEL3:   DJNZ  R7,DEL3
DJNZ  R6,DEL2
RET


YS:     MOV  R5,#01H         ;显示间隔时间(熄灭时),AT89C2051要改R5=01H
YS1:    MOV  R6,#0FFH
YS2:    MOV  R7,#0FFH
YS3:    NOP
        NOP
        DJNZ  R7,YS3
DJNZ  R6,YS2
DJNZ  R5,YS1
RET

;**********************************************************
;列显示,串行
;**********************************************************
XS1:    SETB P3.1
        MOV SCON,#00H       ;初始化串行口方式0

        MOV 20H,R0
        MOV A,20H           ;显示第一个字(左起,即"倒"字)的左半边
        MOV DPTR,#TAB11
        MOVC A,@A+DPTR      ;查表获取字形码
        MOV SBUF,A          ;送串口显示
        JNB TI,$            ;等待发送完毕
        CLR TI              ;清发送标志00

        MOV 20H,R0
        MOV A,20H             ;显示第一个字(即"倒"字)的右半边
        MOV DPTR,#TAB12
        MOVC A,@A+DPTR
        MOV SBUF,A
        JNB TI,$
        CLR TI

        MOV 20H,R0
        MOV A,20H          ;显示第二个字(即"车"字)的左半边
        MOV DPTR,#TAB21
        MOVC A,@A+DPTR
        MOV SBUF,A
        JNB TI,$
        CLR TI

        MOV 20H,R0
        MOV A,20H           ;显示第二个字(即"车"字)的右半边
        MOV DPTR,#TAB22
        MOVC A,@A+DPTR
        MOV SBUF,A
        JNB TI,$
        CLR TI
        MOV 20H,R0
        MOV A,20H
        MOV A,R0            ;显示第三个字(即"注"字)左半边
        MOV DPTR,#TAB31
        MOVC A,@A+DPTR
        MOV SBUF,A
        JNB TI,$
        CLR TI

        MOV 20H,R0
        MOV A,20H          ;显示第三个字(即"注"字)右半边
        MOV DPTR,#TAB32
        MOVC A,@A+DPTR
        MOV SBUF,A
        JNB TI,$
        CLR TI

        MOV 20H,R0
        MOV A,20H            ;显示第四个字(即"意"字)的左半边
        MOV DPTR,#TAB41
        MOVC A,@A+DPTR
        MOV SBUF,A
        JNB TI,$
        CLR TI
        MOV 20H,R0
        MOV A,20H      ;显示第四个字(即"意"字)右半边
        MOV DPTR,#TAB42
        MOVC A,@A+DPTR
        MOV SBUF,A
        JNB TI,$
        CLR TI

        INC R0
        CJNE R0,#16,L01     ;16行轮回
        MOV R0,#00H

L01:    RET
TAB11:
DB 0FFH,0C0H,0EDH,0F6H,0C0H,0DDH,0BDH,0C0H,0FBH,0F8H,0F3H,0F4H,0EFH,09CH,073H,0CFH;
TAB12:
DB 007H,06FH,0EFH,0DFH,001H,0FDH,0FFH,003H,0FFH,00FH,0DFH,0BFH,03FH,0CFH,0F1H,0FBH;"爱",0
TAB21:
DB 0EFH,0EFH,0DFH,083H,0BAH,0BAH,0B9H,083H,0BBH,0BBH,0BBH,0BBH,083H,0BBH,0BFH,0FFH;
TAB22:
DB 07FH,07FH,07FH,003H,0FBH,0FBH,0FBH,07BH,0BBH,09BH,0DBH,0FBH,0FBH,0D7H,0EFH,0FFH;"的",1
TAB31:
DB 0EFH,0F7H,000H,0FFH,0FFH,080H,0BDH,0BDH,081H,0F7H,0D3H,0D5H,0B5H,076H,0D5H,0EFH;
TAB32:
DB 0DFH,0D7H,0DBH,0DBH,0DFH,001H,0AFH,0AFH,0AFH,0AFH,0AFH,06FH,06DH,0EDH,0F1H,0FFH;"就",2
TAB41:
DB 0FFH,0F0H,0F7H,0F0H,0F7H,0F0H,0FFH,000H,0FEH,0F6H,0F6H,0F6H,0EAH,0DCH,0BFH,0FFH;
TAB42:
DB 0FFH,00FH,0EFH,00FH,0EFH,00FH,0FFH,001H,0FFH,0FFH,007H,0FFH,0FFH,0FFH,001H,0FFH;"是",3

END


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表