欢迎您:游客 登录 | 免费注册 | 忘记密码? 现在是:
 

Baidu

输入芯片名称,查阅PDF文档
  当前位置首页 >> 课程内容 >> 信息浏览 [评论(0)]
两位数码管动态显示程序

利用89C51动态显示两位数据。具体电路如图下图所示

 程序将动态显示两位数据,本实例中,需要显示的数据在内RAM30H中,可以作为两位动态显示的子程序:

DISPLY:MOV A, 30H       ;30H单元存放需要显示的数据

MOV B ,#10       ;10进制/10=10进制

        DIV AB

        MOV  21H,A       ;十位在a

        MOV  20H,B       ;个位在b

        MOV  DPTR ,#0100H;指定查表启始地址

        MOV  R0, #4

DPL1:   MOV  R1 ,#250    ;显示1000

DPLOP:  MOV  A, 20H      ;取个位数

        MOVC  A, @A+DPTR ;查个位数的7段代码

        MOV P1, A        ;送出个位的7段代码

        CLR  P2.0        ;开个位显示

        ACALL  D1MS      ;显示1ms

        SETB  P2.0

        MOV  A,  21H     ;取十位数

        MOVC A,@A+DPTR   ;查十位数的7段代码

        MOV  P1,A        ;送出十位的7段代码

        CLR  P2.1        ;开十位显示

        ACALL  D1MS      ;显示1ms

        SETB  P2.1

        DJNZ  R1, DPLOP   ;100次没完循环

        DJNZ  R0,DPL1     ;4个100次没完循环

        RET

D1MS:   MOV R7,#80        ;1MS延时

        DJNZ R7,$

        RET

        ORG   0100H

MUMTAB:   DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ; 7段数码管0~9数字的共阳显示代码

 

本信息由【hsc】发布于:2013/4/24 17:22:16 已浏览 2686次

·上篇信息:串行口初始化编程实例
·下篇信息:目前常用的单片机基本简介
  CopyRight @ 2012-2014, 单片机网络课程中心 版权所有 All Rights Reserved.  
地址:中国.郑州 E-mail: hsc424@163.com QQ:3960731