找回密码
 立即注册

QQ登录

只需一步,快速开始

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

16X16点阵制作资料

[复制链接]
跳转到指定楼层
楼主
显示200多个字的汇编程序  


完整资料下载:
1616点阵制作资料.rar (1.18 MB, 下载次数: 305)


  
;多字移动
  ;一个字占32个字节,1K可以存放1K=1024字节/32=32个字,C51=4K=128个字,C52=8K=256个字。
  ;但程序占用160个字节(相当于5个字的空间),最终可以显示的字为C51=123个字,C52=251个字。
  ;超过后单片机将存储不下。
  
ORG 000H
  JMP MIAN
  
ORG 030H
  MIAN:MOV P3,#00 ;关闭端口
  MOV P1,#0FFH
  MOV P0,#00
  MOV P2,#00
  
CALL DELAY ;延时1ms
  
MOV R5,#2 ;移动列的数量(列数乘2)
  
MOV A,#151 ;显示几个字
  MOV B,#32 ;一个字=32个码
  MUL AB
  MOV 22H,A ;存放1~8个字的数量
  MOV 23H,B ;存放8的倍数个字的数量
  ;如50个字:50×32=1600=0640H,则DPH处为06H=6,DPL处为40H=64
  ;简单算法:50÷8=6余2,6为DPH处数,余的2×32=64为DPL数
  
MOV DPTR,#TABLE1 ;赋查表初址
  MOV R0,DPL ;保存DPTR初值,R0、R1记录取码进度
  MOV R1,DPH
  MOV 20H,DPL ;20H、21H保持DPTR初值不变
  MOV 21H,DPH
  
LOOP: MOV R7,#5 ;每屏停留时间
  
L1: MOV R6,#16 ;每屏16个码
  MOV R4,#00 ;扫描指针清零
  MOV DPL,R0 ;取码指针存入DPL
  MOV DPH,R1
  
L16: MOV A,R4 ;扫描指针存入A
  MOV P1,A ;扫描输出
  INC R4 ;扫描指针加1
  
CLR A ;A清零
  MOVC A,@A+DPTR ;查表送A
  MOV P0,A ;送P0口显示
  INC DPTR ;取码指针加1
  
CLR A ;A清零
  MOVC A,@A+DPTR ;查表送A
  MOV P2,A ;送P2口显示
  INC DPTR ;取码指针加1
  
CALL DELAY ;扫描延时1ms
  
MOV P0,#00 ;清除屏幕
  MOV P2,#00
  
DJNZ R6,L16 ;1屏是否完成?
  DJNZ R7,L1 ;每屏停留时间是否到了?
  
; MOV R0,DPL ;如字不需移动,用该指令
  ; MOV R1,DPH
  
MOV A,R0 ;如字需移动,用该指令
  ADD A,R5 ;如大于256,C=1
  MOV R0,A
  JNC DP
  INC R1
  
  DP: MOV A,20H ;DPL初值
  ADD A,22H ;如大于256,C=1。因DPL初值在90H以上,显示4个字后DPH将加1,导致判断失误
  MOV A,DPH
  SUBB A,21H ;已显示字的数量(乘8)
  CJNE A,23H,LOOP ;DPH中的字是否完成?
  
CLR C
  MOV A,DPL
  SUBB A,20H ;已显示字的数量
  CJNE A,22H,LOOP ;DPL中的字是否完成?
  
JMP MIAN
  
DELAY:MOV R2,#2 ;延时1ms
  D1 :MOV R3,#248
  DJNZ R3,$
  DJNZ R2,D1
  RET
  

  TABLE1:
  ;至拾字时为100个字,共150个字,用于测试。
  
;(a3b1H)(1)(8001)
  DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  DB 00H, 00H, 10H, 02H, 20H, 02H, 7fH,0feH
  DB 00H, 02H, 00H, 02H, 00H, 00H, 00H, 00H
  DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  
... ...
  
END
  



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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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