STC 数码管显示及74HC573在其中的应用

本文中使用外设:7SEG-MPX4-CA*2(四位七段共阴极led数码管),74HC573*2(带使能端8线锁存器),RESPACK-8(10k排阻),

#include <reg52.h>
typedef unsigned char uchar;
typedef unsigned int uint;
sbit seg_sel = P1^4;
sbit bit_sel = P1^5;  // P14 P15接使能段,即控制端
#define DATA P0     // P0接数码管

void delay(uint num)
{
uint i,j;
for(i=num; i>0; i--)
for(j=110; j>0; j--);
}

void main(void)
{
seg_sel = 0;
bit_sel = 0;
DATA = 0x00;
while(1)
{
u8 seg_set = 0xC0;
u8 bit_set = 0x80;
P0 = seg_set;         //数值设置
seg_sel = 1;              //置1读取
seg_sel = 0;              //置0锁存
delay(10);               // 基本定时稳定程序
P0 = bit_set;             //数码管选择
bit_sel = 1;
bit_sel = 0;
}
}

关于74HC573

关于LE端:Level Enabled(L可能是Level的意思,电平)

LE = 1时,即高电平使能,使输入能影响输出,即同步;

LE = 0时,即低电平失能,使输入不能影响输出,即锁存。

代码优化:

#include <reg52.h>
typedef unsigned char uchar;
typedef unsigned int uint;
sbit seg_sel = P1^4;
sbit bit_sel = P1^5;  // P14 P15接使能段,即控制端
#define DATA P0     // P0接数码管

void delay(uint num)
{
uint i,j;
for(i=num; i>0; i--)
for(j=110; j>0; j--);
}

void main(void)
{

P0 = 0xff;  // 初始化

P1 = 0xff;

seg_sel = 0;
bit_sel = 0;

while(1)

{
u8 seg_set = 0xC0;
u8 bit_set = 0x80;

seg_sel = 1;              //置1读取
P0 = seg_set;         //数值设置
seg_sel = 0;              //置0锁存
delay(5);               // 基本定时稳定程序


P0 = bit_set;             //数码管选择
bit_sel = 1;
bit_sel = 0;

delay(5);
}
}

转载于:https://www.cnblogs.com/rolingball-creation/p/10624738.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值