单片机-静动态数码管实验

P0控制数码管 ,P0低电平 P1,P2,P3高电平

1、静态数码管

需求:数码管显示0,即让p0端口输出数字0的段码0x3f(共阴)

#include "reg52.h"

typedef unsigned int u16;

typedef unsigned char u8;

//数码管显示数字的数组 共阴极

u8 gsmg_code[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c,0x39, 0x5e, 0x79, 0x71};//0-9 A-F

#define SMG_A_OP_PORT P0 //宏定义P0

void main(){

while(1){

//显示数字0 需显示数字几索引号就是几

SMG_A_OP_PORT =gsmg_code[0];

}

}

2、动态数码管

#include "reg52.h"

typedef unsigned int u16;

typedef unsigned char u8;

#define SMG_A_OP_PORT P0

void delay_10us(u16 ten_us)

{

while(ten_us--);

}

//数码管显示数字的数组 共阴极 显示段选数据

u8 gsmg[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e, 0x79,0x71};

//定义数码管位选的控制管脚

sbit LSA=P2^2;

sbit LSB=P2^3;

sbit LSC=P2^4;

void smg_xianshi(){

u8 i=0;

for(i=0;i<8;i++){

//位选操作

switch(i){

case 0:

LSC=1,LSB=1,LSA=1; //Y7亮(第1个数码管亮)

break;

case 1:

LSC=1,LSB=1,LSA=0; //Y6亮(第2个数码管亮)

break;

case 2:

LSC=1,LSB=0,LSA=1;

break;

case 3:

LSC=1,LSB=0,LSA=0;

break;

case 4:

LSC=0,LSB=1,LSA=1;

break;

case 5:

LSC=0,LSB=1,LSA=0;

break;

case 6:

LSC=0,LSB=0,LSA=1;

break;

case 7:

LSC=0,LSB=0,LSA=0;//Y0亮(第7个数码管亮)

break;

}

SMG_A_OP_PORT=gsmg[i];

delay_10us(100);

SMG_A_OP_PORT=0x00;//消隐(消除重影)

}

}

void main(){

while(1){

smg_xianshi();

}

}

3、74HC245芯片和74HC138芯片

相关推荐
bubiyoushang8881 天前
STM32F103C8T6+DM9051以太网功能实现方案
stm32·单片机·嵌入式硬件
IT_阿水1 天前
基于STM32河流水质检测
stm32·单片机·嵌入式硬件
黑白园1 天前
STM32定时器中断
stm32·单片机·嵌入式硬件
weixin_456808381 天前
【沁恒蓝牙开发】ADC DMA定时采样、转化
单片机·嵌入式硬件
华普微HOPERF1 天前
MCU+BLE射频+丰富外设,BLE SoC如何高效传输数据?
单片机·嵌入式硬件
振南的单片机世界1 天前
时钟开关:不用的外设,把它的时钟关掉,省电!
stm32·单片机·嵌入式硬件
iCxhust1 天前
将8088 BootLoader分拆烧写到8086 ROM中
stm32·单片机·嵌入式硬件·51单片机·微机原理
国科安芯1 天前
商业航天电机控制领域抗辐射 MCU 芯片应用研究
网络·单片机·嵌入式硬件·安全性测试
charlie1145141911 天前
嵌入式C++工程实践第20篇:GPIO 输入模式内部电路 —— 芯片是如何“听“到外部信号的
开发语言·c++·stm32·单片机
电子科技圈1 天前
芯科科技在蓝牙亚洲大会展示汽车与边缘AI前沿蓝牙创新技术, 解锁车用、家居、健康及工商业等应用场景
人工智能·科技·嵌入式硬件·mcu·物联网·网络安全·汽车