51单片机驱动16×16LED点阵显示动画汉字汇编程序.doc

51单片机驱动16×16LED点阵显示动画汉字汇编程序.doc

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机驱动16×16LED点阵显示动画汉字汇编程序

51单片机驱动16×16LED点阵显示动画汉字汇编程序 这里提供一个完整的AT89S51单片机驱动驱动led点阵显示具有动画效果的汉字的汇编程序列子. ORG 0000H ST: MOV A,#0FFH ;初始化 MOV P1,A MOV P2,A MOV P3,A MOV P0,A CLR A MOV R0,#50H ;显示缓存清0 MOV R1,#20H ;控制清0的次数 ST0: MOV @R0,A INC R0 DJNZ R1,ST0 ;正文显示 CHINESE: MOV DPTR,#TAB1 ;查表指针指向TAB1 LCALL HZ ;结束动画 SCREE: MOV DPTR,#TAB2;查表指针指向TAB2 ACALL DD MOV DPTR,#TAB3;查表指针指向TAB3 ACALL DD MOV DPTR,#TAB4;查表指针指向TAB4 ACALL DD LJMP CHINESE ;显示8幅画面子程序,SCREE专用,用字模软件字要倒置(表必须深256字节) DD: MOV B,#00H MOV R0,#08H ;显示8幅画面 AJMP CC CC0: MOV A,B ADD A,#20H ;指向下一幅画面 MOV B,A CC: MOV R7,#08H ;画面停留时间 MOV R3,B MOV 37H,R0 LCALL ENTER DIS00: LCALL DISPLAY DJNZ R7,DIS00 MOV R0,37H DJNZ R0,CC0 RET ;汉字上移子程序,可显示8个汉字,(表必须深256字节) HZ: MOV R3,#00H ;查表偏移量 MOV R5,#81H ;查表128次 MOVBACK: MOV R4,#10H ;使显示完一个汉字 MOVBACK0: MOV R7,#02H ;一桢画面显示时间 MOV R0,#6DH ;低8位R0指向显示缓存倒数第3个字节,以备与最后1个字节交换 MOV R1,#6CH ;高8位R1指向显示缓存倒数第4个字节,以备与倒数第2个字节交换 MOV R2,#10H ;内存后移的次数 DJNZ R5,MOVBACK1 RET ;显示完该表,返回 MOVBACK1: MOV A,@R0 ;低8位被后移的内存单元数据暂存入A INC R0 ;后移两字节 INC R0 MOV @R0,A ;放入要移的低8位数据 MOV A,R0 ;R0指向下一个要后移的内存单元 SUBB A,#04H MOV R0,A MOV A,@R1 ;高8位被后移的内存单元数据暂存入A INC R1 ;后移两字节 INC R1 MOV @R1,A ;放入要移高8位的数据 MOV A,R1 ;R1指向下一个要后移的内存单元 SUBB A,#04H MOV R1,A ;R1指向下一个要后移的内存单元 DJNZ R2,MOVBACK1 ;显示缓存数据依次后移 MOV A,R3 ;从表TAB1读入要移进50H,51H的数据 MOVC A,@A+DPTR;先给50H读数据 MOV 50H,A MOV A,R3 ;指向下一字节 INC A MOV R3,A MOVC A,@A+DPTR;再给51H读数据 MOV 51H,A MOV A,R3 ;指向下一字节 INC A MOV R3,A MOV 30H,R3 ;保护数据 MOV 31H,R4 MOV 32H,R5 DISMOV: LCALL DISPLAY ;显示当前数据 DJNZ R7,DISMOV MOV R3,30H MOV R4,31H MOV R5,32H DJNZ R4,MOVBACK0 MOV 30H,R3 ;保护数据 MOV 32H,R5 MOV R7,#24H ;显示当前数据延时 DISMOV0: LCALL DISPLAY DJNZ R7,DISMOV0 MOV R3,30H MOV R5,32H LJMP MOVBACK ;放进一幅显示数据到显示缓存子程序,要先设好指针DPTR和R3,影响R1,R2,R3 ENTER: MOV R1,#50H ;从50H单元起把表存入 MOV R2,#20H ;查表次数 MOV A,R3 CLLOOP_: MOVC A,@A+DPTR ;查表 MOV @R1,A ;将表放进5X,6X单元 INC R1 ;R1指向下一个地址空间 MOV A,R3 ;查表指针后移 INC A MOV R3,A ;将指针修改结果存入R3 DJNZ R2,CLLOOP_;没查完转CLLOOP_ RET ;15MS,显示子程序,一桢32个字节,影响A,R0,R1,R3,R4,R5,R6; ;/单片机网提供汉字取模工具,可显示任意汉字 DISPLAY: MOV A,#0FFH MOV P0,A MOV P1,A MOV P

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档