51单片机实验4:静态数码管

开发板数码管模块电路图如下:

开发板数码管共阴连接,P0口通过输出阳极电平来控制段选,74ls138译码器通过控制8个数码管的阴极电平来控制位选。

实验任务:点亮第一个数码管并使其显示数字0;

P2^2,P2^3,P2^4口置0,使138译码器译码为1000 0000,即第一个数码管阴极电平为0,其他7个数码管阴极电平为1。

P0口置为0x3f,即:0011 1111,(二极管a b c d e f亮,构成数字0)

代码如下:

#include<reg52.h>
#include<intrins.h>
#define uc unsigned 
sbit lsa=P2^2;
sbit lsb=P2^3;
sbit lsc=P2^4;
uc code x[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
				0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void main()
{
    
    while(1)
    {
		lsa=lsb=lsc=0;
		P0=x[0];
    }
}

代码中数组声明时使用code:告诉单片机,定义的数据要放在ROM里面,写入后就不能再更改,而非RAM,这样可以节省运存空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值