利用proteus进行点阵显示设计

;******************************************************************************
;基于AT89C52单片机的24×24点阵LED汉字显示
;******************************************************************************
;74HC595管脚的定义*************************************************************
SH_CP    BIT    P0.0         ;移位寄存器时钟输入
ST_CP    BIT    P0.1         ;存储寄存器时钟输入
DDS      BIT    P0.2	     ;串行数据输入
MR       BIT    P0.3         ;主复位(低电平)
OE       BIT    P0.4         ;使能
;74HC138管脚定义***************************************************************
E1       BIT    P1.3         ;1~8列控制使能
E2       BIT    P1.4         ;9~16列控制使能
E3       BIT    P1.5         ;17~24列控制使能
;按键**************************************************************************
KEY1     BIT    P2.0         ;控制移动和停止
KEY2     BIT    P2.1         ;控制显示的开与关
KEY3     BIT    P2.2         ;移动速度的加/减
         ORG    0000H
		 AJMP   MAIN
		 ORG    0030H
MAIN:    MOV    55H,#06
         MOV    SP,#64H
MAIN3:   MOV    DPTR,#TAB
         CLR    MR           ;主复位(低电平)
		 CLR    ST_CP        ;存储寄存器时钟输入
		 NOP   
		 SETB   ST_CP
		 SETB   MR
		 CLR    OE
		 MOV    R4,#156      ;显示6.5字,每字左移24列,共156列
MAIN1:   CLR    E1
         CLR    E2
		 CLR    E3
		 MOV    R5,55H       ;反复显示, 可改变移动速度
MAIN2:   JB     KEY2,S_STOP 
         JNB    KEY2,$     	 ;等待按键的释放
		 CPL    0EH          ;显示开/关控制标志位
S_STOP:  JB     0EH,MAIN1
         JB     KEY1,JIAN
		 JNB    KEY1,$
		 CPL    0FH          ;移动控制的标志位
JIAN:    JB     KEY3,Q_OUT
         JNB	KEY3,$
		 DEC    55H
		 MOV    R5,55H
		 CJNE   R5,#0,Q_OUT
		 MOV    55H,#06

Q_OUT:   MOV     R2,#0		 ;取码指针
         MOV     R1,#0       ;列控制码
PANT:	 MOV     54H,#03
         MOV     53H,#08
GG:      MOV     50H,#08
FF:      MOV     A,R1
         ANL     A,#07H      ;屏蔽R1的高5位
		 MOV     P1,A
		 INC     R1
		 ACALL   GC
		 MOV     A,53H		 ;控制74LS138片选
		 ORL     P1,A        ;74LS138使能
		 ACALL   MS
		 DJNZ    50H,FF		 ;8列未扫描完返回
		 MOV     A,53H
		 RL      A
		 MOV     53H,A
		 DJNZ    54H,GG      ;24列为扫完返回
		 DJNZ    R5,MAIN2    ;反复6次未完,继续显示
		 JB      0FH,M_STOP
		 INC     DPTR
		 INC     DPTR
		 INC     DPTR		 ;改变TAB地址,实现文字移动现象
		 DJNZ    R4,MAIN1
		 AJMP    MAIN3
M_STOP:  AJMP    MAIN1
GC:      SETB    MR
         SETB    OE          ;管脚呈现高阻态
		 MOV     51H,#03     ;传送3位字节
AAA:     MOV     A,R2
         MOVC    A,@A+DPTR   ;取当前列第1个字节
		 MOV     R3,#8		 ;位传送到74HC595
AA:      RLC     A
         MOV     DDS,C
		 CLR     SH_CP
		 NOP
		 SETB    SH_CP
		 DJNZ    R3,AA       ;8位未传送完,继续
		 CLR     ST_CP
		 NOP
		 SETB    ST_CP
		 INC     R2          ;取码指针加1
		 DJNZ    51H,AAA
		 CLR     OE          ;把数据传送到管脚
		 RET
MS:      MOV     R6,#5       ;ms延时子程序
DELAY:   MOV     R7,#190
         DJNZ    R7,$
		 DJNZ    R6,DELAY
		 RET
TAB:  ;取字模的数据   																										  
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0C0H,0FFH,003H,040H,084H,000H,040H,084H,000H,040H,084H,000H;
DB 040H,084H,000H,040H,084H,000H,040H,084H,000H,0FEH,0FFH,07FH,040H,084H,040H,040H,084H,040H,040H,084H,040H,040H,084H,040H;
DB 040H,084H,040H,040H,084H,040H,0C0H,0FFH,041H,040H,000H,040H,000H,000H,060H,000H,000H,07CH,000H,000H,000H,000H,000H,000H;"电",0
DB 000H,000H,000H,000H,010H,000H,000H,008H,000H,000H,006H,000H,080H,001H,000H,060H,0FFH,07FH,01CH,000H,000H,004H,000H,000H;
DB 020H,000H,000H,020H,009H,000H,020H,089H,07FH,020H,089H,010H,020H,089H,010H,022H,089H,010H,03CH,089H,010H,038H,089H,010H;
DB 020H,089H,010H,020H,089H,010H,020H,089H,010H,0A0H,08DH,07FH,030H,089H,000H,020H,000H,000H,000H,000H,000H,000H,000H,000H;"信",1
DB 000H,000H,000H,000H,001H,004H,000H,001H,002H,008H,081H,001H,008H,061H,000H,008H,039H,000H,0F8H,0FFH,0FFH,0F8H,0FFH,07FH;

         END

字模软件自己下一个,操作都差不多。

1、输入要显示的文字

2、选择字宽和字高,根据你是n乘n点阵来

3、选择字模数据的格式,点击选项,弹出下图

1、一般只需要在数据前缀添加个0,因为在51单片机中如果数据是F0H,左边第一位是字母,要添加一个0变成0F0H。

2、在数据后缀H后添加一个英文的,                       这个   ,  就是用来分隔DB数据的

3、点击确定

1、点击生成字模

2、复制数据,注意从DB开始(画圈部分),上面的你好呀不要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值