数码管动态显示数字

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7段数码管动态显示数字

一、实验原理图

共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。

原理示意图:

数码管显示数字的两个条件为:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。例:如要显示“0”,则要 a,b,c,d,e,f六个字段亮就显示“0”了,而g和dp字段

程序使用时,只需将显示数字所对应的编码送P0口,然后打开相应的数码管显示位的

电源控制即可显示相应的字符。

两位数码管显示控制程序及说明

START: MOV R0,#0 ;清零

MOV DPTR,#TABLE ;指定查表起始地址LOOP: ACALL DISPLAY ;调用子程序DISPLAY INC R0 ;R0加1

CJNE R0,#100,LOOP ;R0未到100则转换

JMP START ;跳转

DISPLAY: MOV A,R0 ;把R0里的数据送入A MOV B,#10 ;把10送入B

DIV AB ;a b相除

MOV 20H,A ;十位送入20H

MOV 21H,B ;个位送入21H

MOV R3,#50 ;把50送入R3

LOOP1: MOV A,21H ;取个位数

ACALL CHANG ;调用子程序CHANG CLR P2.4 ;开个位显示

ACALL DLY ;调用子程序DLY

SETB P2.4 ;关闭个位显示

MOV A,20H ;取十位数

ACALL CHANG ;调用子程序CHANG CLR P2.5 ;开十位显示

ACALL DLY ;调用子程序DLY

SETB p2.5 ;关闭十位显示

DJNZ R3,LOOP1 ;循环50次

RET ;子程序返回

CHANG: MOVC A,@A+DPTR ;查表

MOV P0,A ;查表结果送入P0

RET ;子程序返回

DLY: MOV R6,#20 ;典型延时子程序延时

D1: MOV R7,#248 ;10ms

DJNZ R7,$

DJNZ R6,D1

RET

TABLE: DB 0C0H,0F9H,0A4H ;表数据共阳极数码管显示代码 DB 0B0H,99H,92H,82H

DB 0F8H,80H,90H

END

相关文档
最新文档