目录
数码管简介
实验所用到的模块主要模块包括:数码管、单片机STC89C52、38译码器—74HC138译码器(用于位选):适用于数字电路中的 3—8 译码功能、74HC245(用于段选):适用于显示屏以及其他数字电路的驱动;
位选引脚:P2^2 P2^3 P2^4
段选引脚:P0^0 P0^1 P0^2 P0^3 P0^4 P0^5 P0^6 P0^7
静态数码管显示
数码管显示数字
实验现象
实验代码
#include "reg52.h"
typedef unsigned int u16; //对系统默认数据类型进行重定义
typedef unsigned char u8; //对系统默认数据类型进行重定义
#define DUAN_PORT P0 //使用宏定义数码管段段口
#define WEI_PORT P2 //使用宏定义数码管位选口
//位选数码管
u8 wei_code[9]={0xff,0xfa,0xf7,0xf3,0xef,0xea,0xe7,0xe3};
//段选共阴极数码管显示0~9数字
u8 duan_code[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//延迟函数
void delay_10us(u16 ten_us)
{
while(ten_us--);
}
//数码管显示数字
void DsgShowNum()
{
while(1)
{
WEI_PORT=wei_code[0];
DUAN_PORT=duan_code[0];
delay_10us(100);
WEI_PORT=wei_code[1];
DUAN_PORT=duan_code[1