标题: 38译码器控制数码管显示两位数字 [打印本页]

作者: 007ssss    时间: 2018-6-20 11:04
标题: 38译码器控制数码管显示两位数字
本人初学者,刚学习单片机,不知道如何通过38译码器控制数码管显示两位数字
作者: qiangcn    时间: 2018-6-20 14:42
控制数码管显示两位数字用2个三极管做位选更简单实用。
作者: jixingwang    时间: 2018-6-20 18:11
我的开发板是P0低三位(38数码管的输入端口)口控制数码管的位选的,八个输出口分别控制八个数码管工作的。程序:  通过三八译码器让三个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
作者: woshige    时间: 2018-6-20 20:11
想当年初学51单片机的时候最普及的还是郭天祥的视频 结果萌萌的我从淘宝上买的开发板数码管用的竟然是用了138译码器 死活控制不了数码管 后来问导师才知道译码器怎么用 三个输入端ABC 从000到111八个数值 对应了八个数码管 就相当于位选操作




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1