8*8点阵显示程序(汇编)

发布者:创意航海最新更新时间:2016-09-13 来源: eefocus关键字:8*8点阵  显示程序  汇编 手机看文章 扫描二维码
随时随地手机看文章
2010年1月3日 - gududesiling - suixin

//8*8点阵LED显示,用单片机AT89C51 驱动8*8点阵LED显示屏
//轮流显示0-9的数字,显示的方式采用自右向左拉幕式显示

//源程序和proteus仿真我一打包,地址:http://proteus.5d6d.com/thread-9031-1-1.html

R_CNT EQU 31H
NUMB EQU 32H
TCOUNT EQU 33H
              ORG  0000H
              LJMP START
              ORG  0BH              ;定时器中断入口地址
              LJMP INT_T0
 
             ORG  0030H
START: MOV  R0,#00H            ;显示的幕次(即每一幕显示的:行码起始序号)值0
             MOV  R_CNT,#00H      ;列码序列号置0
             MOV  TCOUNT,#00H   ;行码序列号置0
             MOV  TMOD,#01H
              MOV  TH0,#(65536-5000)/256
             MOV  TL0,#(65536-5000)MOD 256
             SETB  TR0
              MOV  IE,#82H
             SJMP $

//定时器中断处理函数
INT_T0: MOV  TH0,#(65536-5000)/256
              MOV  TL0,#(65536-5000)MOD 256
              MOV  DPTR,#TAB    ;取列码表 首地址
              MOV  A,R_CNT
              MOVC A,@A+DPTR
              MOV  P3,A
              MOV  DPTR,#NUB    ;取行码表 首地址
              MOV  A,NUMB
              MOVC A,@A+DPTR
              MOV  P0,A     ;输出行号

              INC  NUMB
NEXT1:  INC  R_CNT
              MOV  A,R_CNT
              CJNE A,#8,NEXT2
              MOV  R_CNT,#0
              MOV  NUMB,R0
NEXT2:  INC  TCOUNT
              MOV  A,TCOUNT
             CJNE A,#40,NEXT4   ;每个数字显示200ms
             MOV  TCOUNT,#00H
             INC  R0     ;上一幕显示行码的起始序列号+1
             CJNE R0,#88,NEXT3
             MOV  R0,#00H

NEXT3: MOV  NUMB,R0    ;送新一幕显示行码的起始序列号
NEXT4: RETI

TAB:     DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH ;列值

NUB:     DB 00H,00H,00H,00H,00H,00H,00H,00H ;空
             DB 00H,00H,3EH,41H,41H,41H,3EH,00H ;0
             DB 00H,00H,00H,00H,21H,7FH,01H,00H ;1
             DB 00H,00H,27H,45H,45H,45H,39H,00H ;2
             DB 00H,00H,22H,49H,49H,49H,36H,00H ;3
             DB 00H,00H,0CH,14H,24H,7FH,04H,00H ;4
             DB 00H,00H,72H,51H,51H,51H,4EH,00H ;5
             DB 00H,00H,3EH,49H,49H,49H,26H,00H ;6
             DB 00H,00H,40H,40H,40H,4FH,70H,00H ;7
             DB 00H,00H,36H,49H,49H,49H,36H,00H ;8
             DB 00H,00H,32H,49H,49H,49H,3EH,00H ;9
             DB 00H,00H,00H,00H,00H,00H,00H,00H ;空

             END

关键字:8*8点阵  显示程序  汇编 引用地址:8*8点阵显示程序(汇编)

上一篇:独立键盘实现计数功能程序(汇编)
下一篇:74ls595在proteus中的使用和浅谈

推荐阅读最新更新时间:2024-03-16 15:09

两机串行通讯单片机汇编语言编程举例
A、B两机之间串行通讯(方式1),用‘检验和’校验波特率为2400,发送缓冲区和接收缓冲区都为片内30H开始的16个字节单元。已知:fosc=11.0592MHz。 设计A发送,B接收的双方协议如下: 1、首先A发送‘AA’信号,B接收到后发送‘BB’应答; 2、A方最多只发送20次‘AA’,若无应答,置错误标志,退出。 3、A收到‘BB’后,开始发送缓冲区的数据,同时求检验和,共16个字节。 4、B接收数据,存入缓冲区,并同时求检验和。 5、当一个数据块发送完后,A再发送检验和(一个字节)。 6、B接收到A的检验和后,再与本身的检验和比较。 7、若接收正确,B方发送‘00’,否则发送‘EE‘,请求重发。 8、若
[单片机]
两机串行通讯单片机<font color='red'>汇编</font>语言编程举例
汇编语言 判断学生成绩是否及格
设某个学生的英语成绩已存放在AL寄存器中,如果低于60分,那么打印F(FAIL);若高于或等于85分,则打印G(GOOD);当在60分和84分之间时,打印P(PASS)。 assume cs:code, ds:data data segment score db 90 ; 分数 give_a_mark db 0, '$' ; 评分 data ends code segment start: mov ax, data mov ds, ax ; 初始化 ds,将data段的偏移地址赋值给 ds mov dx, 0 mov al, ds:s
[单片机]
<font color='red'>汇编</font>语言 判断学生成绩是否及格
51单片机汇编语言:利用 RET 指令实现多路分支
有这样一个问题: ----------------------------- 已知程序执行前有 A = 02H,SP = 52H,(51H) = FFH,(52H) = FFH。 执行下列程序: POP DPH POP DPL MOV DPTR, #4000H RL A MOV B, A MOVC A, @A + DPTR PUSH A MOV A, B INC A MOVC A, @A + DPTR PUSH A RET ORG 4000H DB 10H, 80H, 30H, 50H, 30H,
[单片机]
AT89C51单片机1602液晶显示时钟程序
这是一款AT89C51单片机1602液晶显示时钟程序,功能主要有:温度、时间、日期、星期显示以及调节。有多级菜单显示。第一级菜单调节时间、日期。第二级菜单显示自定义信息。 #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit DQ=P2^1; sbit light=P2^7; sbit k1=P1^0; sbit k2=P1^1; sbit k3=P1^2; sbit k4=P1^3; sbit k5=P1^4; sbit LED1=P1^3; sbit LED2=P1^4; sbit
[单片机]
AT89C51单片机1602液晶<font color='red'>显示</font>时钟<font color='red'>程序</font>
11.8*8LED点阵
将LED发光二极管分别集成封装,一共有64个LED。采用动态扫描的方式,可以显示数字和简单汉字。 点亮对角线:循环发送每一行点亮对应的数据,再循环使低电平选中每一列。显示其他的和点亮对角线原理一致。 循环发送行点亮对应的数据,再循环使低电平选中每一列。 循环发送列点亮对应的数据,再循环使低电平点亮每一行。 74HC595串行输入并行输出 P00-P07分别是每一列,P00在最右边,P07在最左边。 74HC595控制输出段选D0-D7分别是每一行,D0在最下边,D7在最上边。(开发板所用为第一个原理图) 10脚控制主复位功能低电平有效,此处直接接VCC使使主复位功能失效。 11脚为移位寄存器时钟输入,控制移位,12
[单片机]
11.8*<font color='red'>8</font>LED<font color='red'>点阵</font>
ARM汇编的SWI指令软中断
从下面的一个ARM 汇编小程序要弄懂的以下三个问题: 1).在ARM状态转到THUNB状态和BX的应用 2).汇编的架构 3).SWI指令的使用     AREA ADDREG,CO DE,READONLY     ENTRY MAIN   ADR r0,ThunbProg 1 ;(为什么要加1呢?因为BX指令跳转到指定的地址执行程序 时, 若   (BX{cond} Rm)Rm的位 为1,则跳转时自动将CPSR中的标志T置位即把目标 代码解释为 Thunb代码)     BX r0    CO DE16 ThunbProg    mov r2,#2     mov r3,#3     add r2,r2,r
[单片机]
51单片机一起学汇编—BCD调整 数据处理
/***********BCD调整**************/ ORG 0000H JMP START START: MOV SP,#7FH ;设置堆栈地址 MOV 50H,#69H ;十六机制立即数69H 载人地址为50H寄存器中 MOV R3,50H ;运行DEBUG时 在R2中查看数据 MOV R0,#60H ;十六机制立即数60H 载人R0寄存器中 MOV A,50H ;地址为50H寄存器中的数据 载人累加器ACC中 ANL A,#0F0H ;累加器ACC中的高四位数据和十六进制的立即数 F0H 逻辑 与 运算 MOV @R0,A ;
[单片机]
ARM汇编中的:比较指令CMN / CMP / TEQ / TST
1. 简介 CMP / CMN : 算术指令 TEQ / TST : 逻辑指令 它们总是会影响CPSR条件标志位. APSR(CPSR)与condition的关系图: 2. CMN -- 比较取负的值 CMN{条件}{P} op1 , op2 status = op1 - (-op2) 相加操作 CMN R0, #1 @把R0与-1进行比较 3. CMP CMP{条件}{P} op1 , op2 status = op1 - (op2) 相减操作 会影响标志位.
[单片机]
ARM<font color='red'>汇编</font>中的:比较指令CMN / CMP / TEQ / TST
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved