⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 16×16点阵显示.asm

📁 基于51的DS18B20_1Wire温度控制等C,ASM源程序
💻 ASM
字号:
;********************************************************************
;*                                                                  *
;* ME500单片机开发系统演示程序 - 显示汉字 伟纳电子                  *
;*                                                                  *
;* 16×16LED点阵显示                                                * 
;*                                                                  *
;* 版本: V1.0 (2006/11/20)                                         *
;* 作者: gguoqing (Email: gguoqing@willar.com)                     *
;* 网站: www.willar.com(伟纳电子)   www.mcusj.com(伟纳单片机世界)  *
;* 邮箱: support@willar.com                                        *
;*                                                                  *
;*【版权】Copyright(C)伟纳电子 www.willar.com  All Rights Reserved  *
;*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!        *
;*                                                                  *
;********************************************************************

         ORG  0000H
         LJMP  MAIN
         ORG  0030H

         SDATA_595   EQU  P0.0   ;串行数据输入
         SCLK_595    EQU  P2.7   ;移位时钟脉冲
         RCK_595     EQU  P0.2   ;输出锁存器控制脉冲

         G_74138    EQU  P2.4   ;显示允许控制信号端口

;--------------------------------------------------------------

MAIN:
         MOV  SP,#70H
         MOV  30H,#00H        ;取码指针初值(初值为0)
         MOV  A,#0FFH
         MOV  P2,A
         MOV  P0,A
         CLR  RCK_595
         SETB  G_74138
MAIN1:
         MOV  R1,#05FH        ;字停留时间
MAIN2:
         MOV  R6,#16         ;每字16组码
         MOV  R4,#00H        ;扫描地址初值(从00-0FH)
         MOV  R0,30H         ;取码指针存入R0
MAIN3:
         INC  R0             ;取行右边字节偏址
         MOV  A,R0           ;取码指针载入A
         MOV  DPTR,#TAB
         MOVC  A,@A+DPTR
         LCALL  WR_595

         DEC  R0             ;取行左边字节偏址
         MOV  A,R0           ;取码指针载入A
         MOV  DPTR,#TAB
         MOVC  A,@A+DPTR
         LCALL  WR_595

         SETB  G_74138       ;关行显示,准备刷新
         NOP
        ; CLR  RCK_595
         NOP
         NOP
         SETB  RCK_595       ;上升沿将数据送到输出锁存器
         NOP
         NOP
         CLR  RCK_595        ;恢复低电平
         INC  R0
         INC  R0             ;下一行数据地址
         CLR  G_74138
         NOP
         NOP
         MOV  A,R4           ;扫描地址载入A
         MOV  P2,A           ;扫描输出
         INC  R4             ;扫描下一个
         MOV  R3,#2
DEL1MS:
         MOV  R5,#240        ;延时1ms
         DJNZ  R5,$
         DJNZ  R3,DEL1MS

         DJNZ  R6,MAIN3      ;显示1个字了?
         DJNZ  R1,MAIN2      ;停留时间到了?
         MOV  30H,R0
         CJNE  R0,#160,MAIN1 ;显示完5个字?
         JMP  MAIN
;--------------------------------------------------------------
;移位寄存器接收数据子程序
;--------------------------------------------------------------
WR_595:
          MOV R7,#08H
WR_LOOP:
          RLC A
          MOV SDATA_595,C
          SETB SCLK_595       ;上升沿发生移位
          NOP
          NOP
          NOP
          NOP
          CLR SCLK_595
          DJNZ R7,WR_LOOP
          RET
;-----------------------------------------------------------------

TAB:
DB  0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB  0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB  0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB  0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

;伟
DB 0f7h,0bfh,0f7h,0bfh,0f7h,0bbh,0e8h,01h,0efh,0bfh,0cfh,0b7h,0a8h,03h,06fh,0bfh
DB 0efh,0bbh,0e0h,01h,0efh,0bbh,0efh,0bbh,0efh,0abh,0efh,0b7h,0efh,0bfh,0efh,0bfh

;纳
DB 0efh,0bfh,0efh,0bfh,0dfh,0bbh,0dch,01h,0b5h,0bbh,05h,0bbh,0edh,0bbh,0ddh,0bbh
DB 0bdh,05bh,05h,06bh,0fch,0ebh,0fdh,0fbh,0e5h,0fbh,01dh,0fbh,0bdh,0ebh,0fdh,0f7h

;电
DB 0fdh,0ffh,0fdh,0ffh,0fdh,0efh,080h,07h,0bdh,0efh,0bdh,0efh,080h,0fh,0bdh,0efh
DB 0bdh,0efh,080h,0fh,0bdh,0efh,0fdh,0ffh,0fdh,0fbh,0fdh,0fbh,0feh,03h,0ffh,0ffh

;子
DB 0ffh,0ffh,0c0h,0fh,0ffh,0efh,0ffh,0dfh,0ffh,0bfh,0feh,07fh,0feh,0fbh,00h,01h
DB 0feh,0ffh,0feh,0ffh,0feh,0ffh,0feh,0ffh,0feh,0ffh,0feh,0ffh,0fah,0ffh,0fdh,0ffh

TAB1:     ;中
DB  0FEH,0FFH,0FEH,0FFH,0DEH,0F7H,0C0H,003H
DB  0DEH,0F7H,0DEH,0F7H,0DEH,0F7H,0DEH,0F7H
DB  0DEH,0F7H,0C0H,007H,0DEH,0F7H,0FEH,0FFH
DB  0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH

TAB2:    ;单
DB  0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H
DB  0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH,0F7H
DB  0C0H,007H,0DEH,0F7H,0FEH,0FFH,000H,001H
DB  0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH

TAB3:     ;片
DB  0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH
DB  0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH
DB  0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH
DB  0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0EFH
TAB4:        ;伟
DB 0F7H,0BFH,0F7H,0BFH,0F7H,0BBH,0E8H,01H,0EFH,0BFH,0CFH,0B7H,0A8H,03H,6FH,0BFH
DB 0EFH,0BBH,0E0H,01H,0EFH,0BBH,0EFH,0BBH,0EFH,0ABH,0EFH,0B7H,0EFH,0BFH,0EFH,0BFH

TAB5:        ;纳
DB 0EFH,0BFH,0EFH,0BFH,0DFH,0BBH,0DCH,01H,0B5H,0BBH,05H,0BBH,0EDH,0BBH,0DDH,0BBH
DB 0BDH,5BH,05H,6BH,0FCH,0EBH,0FDH,0FBH,0E5H,0FBH,1DH,0FBH,0BDH,0EBH,0FDH,0F7H
tab6:      ; 电
DB 0FDH,0FFH,0FDH,0FFH,0FDH,0EFH,80H,07H,0BDH,0EFH,0BDH,0EFH,80H,0FH,0BDH,0EFH
DB 0BDH,0EFH,80H,0FH,0BDH,0EFH,0FDH,0FFH,0FDH,0FBH,0FDH,0FBH,0FEH,03H,0FFH,0FFH

tab7:      ;子
DB 0FFH,0FFH,0C0H,0FH,0FFH,0EFH,0FFH,0DFH,0FFH,0BFH,0FEH,7FH,0FEH,0FBH,00H,01H
DB 0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FAH,0FFH,0FDH,0FFH
;-------------------------------------------------------------------
         END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -