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

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_code0;

}

}

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=gsmgi;

delay_10us(100);

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

}

}

void main(){

while(1){

smg_xianshi();

}

}

3、74HC245芯片和74HC138芯片

相关推荐
M78佐菲7 小时前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
洪核单片机8 小时前
DPJ-96基于STM32单片机wifi远程监控智慧教室 温湿度光照粉尘人数考勤
stm32·单片机·嵌入式硬件·智慧教室·教室人数考勤
m0_7527531210 小时前
单片机基础知识
单片机·51单片机
天空'之城10 小时前
单片机基础核心知识点汇总(三十六)
单片机·嵌入式硬件
云泽80811 小时前
STM32 USART 详解(八):C I/O 串口重定向原理与实现
c语言·stm32·嵌入式硬件
Doraemomo12 小时前
IMX6ULL裸机开发——系统主频和时钟配置
arm开发·嵌入式硬件·makefile·imx6ull
深圳市恒锐丰科技杨生14 小时前
EG1192H 零功耗使能集成上管非同步降压 DC‑DC|屹晶 EGmicro
嵌入式硬件·硬件工程
星栖与芯15 小时前
LiteOS-M 切换汇编逐行图解(1):汇编是什么·寄存器与栈
汇编·stm32·嵌入式硬件·harmonyos·鸿蒙系统
xx~t16 小时前
嵌入式——单片机2
嵌入式硬件·学习·51单片机·串口·蜂鸣器
JNX_SEMI16 小时前
OC5138T 8V~100V超宽输入降压恒流驱动:覆盖12V汽车至72V电动车全场景
单片机·嵌入式硬件