基于三八译码器控制八个数码管同时显示内容的问题
下面我就把今天刚在杨老师指导下编写的程序以及原理作一个简单的分析吧。我的开发板是P0低三位(38数码管的输入端口)口控制数码管的位选的,八个输出口分别控制八个数码管工作的。
程序:
;作者:李俊轩
;时间:2010年10月21日
;通过三八译码器让三个IO口控制八个数码管的工作状态
ORG 00H
STARY:
MOV P0,#00000000B;根据三八译码器真值表的原理控制第一个数码管工作
MOV P1,#00111111B;显示 0
CALL DELAY;短暂的延时
MOV P0,#00000001B;根据三八译码器真值表的原理控制第二数码管工作
MOV P1,#00000110B;显示 1
CALL DELAY;短暂的延时
MOV P0,#00000010B;根据三八译码器真值表的原理控制第三数码管工作
MOV P1,#01011011B;显示 2
CALL DELAY;短暂的延时
MOV P0,#00000011B;根据三八译码器真值表的原理控制第四个数码管工作
MOV P1,#01001111B;显示 3
CALL DELAY;短暂的延时
MOV P0,#00000100B;根据三八译码器真值表的原理控制第五个数码管工作
MOV P1,#01100110B;显示 4
CALL DELAY;短暂的延时
MOV P0,#00000101B;根据三八译码器真值表的原理控制第六个数码工作
MOV P1,#01101101B;显示 5
CALL DELAY;短暂的延时
MOV P0,#00000110B;根据三八译码器真值表的原理控制第七个数码工作
MOV P1,#01111101B;显示 6
CALL DELAY;短暂的延时
MOV P0,#00000111B;根据三八译码器真值表的原理控制第八个数码工作
MOV P1,#00000111B;显示 7
CALL DELAY;短暂的延时
JMP STARY
DELAY:;延时程序
MOV R0,#3
DV1: MOV R1,248
DV2:DJNZ R1,DV2
DJNZ R0,DV1
RET
END
效果:在八个数码管上显示数字0至7
写这程序的时候要注意的是延时时间的问题。要保留在人的视觉能够看得见的状态。一般是20MS以内。
三八译码器数码管显示内 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)