#include 'reg52.h'
#include 'digital_pile.h'
void main(){
//P0 = 0x00;
//P2 = 0xff;
static_pile(6);//静态显示函数,主函数调用子函数
//digital_pile();// 动态显示函数
}
/*
数码管的显示输出
电路:一代版黄盒子,开发板中内置P0口接共阴数码管的段选端
,P1口的0123分别接数码管的位选端
*/
#include #include 'sys.h'
#include 'digital_pile.h'
int duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//定义数字数组0~9
//分别显示的数字是 0 1 2 3 4 5 6 7 8 9
int wei[]={0x01,0x02,0x04,0x08};
//分别选择亮的数码管 1 2 3 4 共阴则取反
//静态数码管显示
void static_pile(unsigned char number)//含参数定义
{
if(number <= 9)
P0 = ~duan[number];//~是取反的意思,此代码合适共阴数码管,如用共阳数码管则要取反
P3 = duan[number];//P3端口要接共阴数码管
}
//动态数码管显示
void digital_pile()
{
int i;
while(1) //循环嵌套
{
for(i=0;i<4;i++)
{
P1 = wei[i]; //选择某个数码管
P2 = duan[i]; //选择的数码管显示
delays(50);
}
}
}
//-----------------------------------------------------------------------------------
#ifndef _DIGITAL_H_
#define _DIGITAL_H_
void static_pile(unsigned char number);//静态显示函数
void digital_pile(); //动态显示函数
#endif


关键字:数码管
引用地址:
数码管应用digital_pile
推荐阅读最新更新时间:2026-03-19 10:48
《逗比小憨憨51单片机Proteus仿真系列》第26期基于单片机的MAX7221数码管动态显示
源代码: #include reg51.h #include intrins.h sbit Max7221CS = P3^1; sbit Max7221DIN = P3^0; sbit Max7221CLK = P3^2; unsigned char code DisplayBuffer ={0,1,2,3,4,5,6,7}; void WriteMax7221(unsigned char Address,unsigned char Data) { unsigned char i; Max7221CS = 0; for (i=0;i 8;i++) { Max7221CLK = 0; Max7221DIN =
[单片机]
51单片机day2——数码管依次显示实验
/*** *八个八位数码管轮流显示0-9 *顺序:最后一位一次往前递进一位 *数码管接口: * 1.数码管为共阳数码管 * 2.数码管一端由P0口经74HC245芯片链接至数码管a-dp * 3.数码管另一端由P2^2-P2^4连接至74LS138译码器A-C管脚经处理后由74LS138译码器Y0-Y7管脚连接至数码管共阳端 * 原理: * 1.8位数码管内由8个发光二极管组成,一端高电平另一端低电平即可点亮1位数码管 * 2.有八个接口接到8位数码管的一端,8位数码管的另一端统一接正(共阳)/接负(共阴) * 3.单片机控制八个接口拉高/低控制数码管亮/灭组成不同字符 *思路: * 1.每个数码管显示0
[单片机]
仿真设计|基于51单片机的双机通信控制数码管显示
具体实现功能 (1)双机通信系统分为通讯发送端和通讯接收端。(2)通讯发送端通过按键发送相应的数值(1-3),通讯接收端接收后通过数码管显示(1-3)。 设计介绍 51单片机简介 51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。 本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。 资料内容 仿真实现(protues8.7) 本设计利用protues8.7软件实现仿真设计,具体如图。 程序(Keil5) 本设计利用KEIL5软件实现程序设计。程序运行结果如图: 全部内容 全
[单片机]
C51单片机四位数码管动态显示2020
电路原理图 元件清单 程序(C语言) #include reg51.h unsigned char smg ={0x5b,0x3f,0x5b,0x3f};//2020字形码(共阳极) void delay(unsigned int time); void main() { unsigned char i,W; while(1) { W=0x01; for(i=0;i 4;i++) { P1=W; W =1; P0=smg ; delay(10); } } } void delay(unsigned int time) {
[单片机]
51单片机day3——矩阵键盘控制数码管显示
/*** *矩阵键盘控制数码管显示 *顺序:按键为4*4矩阵键盘,左上角为1号、横向排列 *数码管用单片机P0^0-P0^7引脚控制 *矩阵键盘接口: * 1.单片机P1^0接口连接到第四列的右端 * 2.单片机P1^1接口连接到第三列的右端 * 3.单片机P1^2接口连接到第二列的右端 * 4.单片机P1^3接口连接到第一列的右端 * 4.单片机P1^4接口连接到第四行的左端 * 4.单片机P1^5接口连接到第三行的左端 * 4.单片机P1^6接口连接到第二行的左端 * 4.单片机P1^7接口连接到第一行的左端 *原理: * 1.独立按键扫描原理是向其两端输入高低不同的电平,按键
[单片机]
51单片机按键控制两位数码管循环显示0~60
// File Name: 按键控制数码管循环显示 // Author: hhhmxk // Date: 2020.10.25 #include "reg52.h" typedef unsigned int u16; typedef unsigned char u8; sbit key = P3^4; sbit w1 = P3^0; sbit w2 = P3^1; // 数码管位选端口 #define dx P2 // 数码管段选端口 u8 code seg_tab = { 0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10 }; // e
[单片机]
51单片机四位数码管4个LED灯4个按键实现多种功能?
任务描述:用89C51单片机实现如下功能: 初始状态为数码管显示2020,四个灯灭。 1、电路有四个控制按键,四个灯,四个数码管; 2、按键1,按下,,第一个数码管开始从0-9递增,同时第一个灯亮; 3、按键2,按下,第二个数码管开始从0-9显示偶数,同时四个灯的偶数灯亮(即2、4个灯亮); 4、按键3,按下,第三个数码管从0-9显示奇数,同时四个灯的奇数灯亮(即1、3个灯亮); 5、按键4,按下,恢复到初始状态; 硬件电路图: 元件清单 C语言程序 #include reg51.h unsigned char tube1 ={0x5b,0x3f,0x5b,0x3f};//数码管初始状态202
[单片机]
(7)趣味单片机新玩法-认识不一样的数码管
我们先来看下实际效果 连接示意图 动态工作效果,实现的是1~9的一个数码管计数 然后我们来一步一步分解下 原理图,从左到右边,依次时a,b,c,d,e,f,g,dp连接 然后我们来看下效果 数码管本身是由一个一个的LED灯拼装而成的,原则上它可以拼接成我们任何想要的图案,比如说电池电量,空调面板,电磁炉面板发光图案等等 智能家居显示屏 电动车仪表面板 总结: 剖开实物的本质,我们往往能看到很多东西都是由一些简单的、基础的东西组成
[单片机]