栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

蓝桥杯STC15单片机复习——数码管的使用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

蓝桥杯STC15单片机复习——数码管的使用

STC15F2K60S2单片机——数码管的使用 前言

下面进行数码管的使用复习
主要分为静态显示与动态显示
静态显示
当我们对数码管的显示需求仅为一位时,可以直接通过数码管的静态显示实现,即将对应的位选选通,随后直接向段选输入段码信号即可。

国信长天的板子的数码管模块的原理图如上图所示,该数码管为共阳数码管,其位选通过74LS138控制为Y6通道,即当P25 = 0;P26 = 1;P27 = 1;时,P0口为数码管位选;其段选为74LS138的Y7通道,即当P25 = 1;P26 = 0;P27 = 1;时,P0口为数码管段选。
1、数码管静态显示

#include 
#include 
#define uint unsigned int
#define uchar unsigned char

void ALL_Init();
void delay_ms(uint ms);

uchar SEG_num[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

void main()
{
	ALL_Init();
	while(1)
	{
		P25 = 0;P26 = 1;P27 = 1;
		P0 = 0x01;
		P25 = 1;P26 = 1;P27 = 1;
		P0 = SEG_num[1];
		delay_ms(100);
	}
}


void delay_ms(uint ms)
{
	int i;
	for(;ms>0;ms--)
		for(i = 864;i>0;i--);
}

void ALL_Init()
{
	P25 = 1;P26 = 0;P27 = 1;
	P0 = 0x00;
	P25 = 0;P26 = 1;P27 = 1;
	P0 = 0x00;
	P25 = 0;P26 = 0;P27 = 1;
	P0 = 0xff;
}

2、动态显示
数码管的动态显示即利用了人眼的视觉暂留原理,通过数码管的高速刷新,让我们的肉眼看起来数码管各个位像是同时亮起的样子,但是要注意他们其实不是一起亮的,在任一时间点,是只有一位数码管被点亮的。

void main()
{
	ALL_Init();
	while(1)
	{
		SEG_show(1314);
//		P25 = 0;P26 = 1;P27 = 1;
//		P0 = 0x01;
//		P25 = 1;P26 = 1;P27 = 1;
//		P0 = SEG_num[1];
//		delay_ms(100);
	}
}


void SEG_show(int num)
{
	//第一位,千位显示
	P25 = 0;P26 = 1;P27 = 1;P0 = 0x01;
	P25 = 1;P26 = 1;P27 = 1;
	P0 = SEG_num[num/1000];
	delay_ms(10);
	
	//第二位,百位显示
	P25 = 0;P26 = 1;P27 = 1;P0 = 0x02;
	P25 = 1;P26 = 1;P27 = 1;
	P0 = SEG_num[num/100%10];
	delay_ms(10);
	
	//第三位,十位显示
	P25 = 0;P26 = 1;P27 = 1;P0 = 0x04;
	P25 = 1;P26 = 1;P27 = 1;
	P0 = SEG_num[num/10%10];
	delay_ms(10);
	
	//第四位,个位显示
	P25 = 0;P26 = 1;P27 = 1;P0 = 0x08;
	P25 = 1;P26 = 1;P27 = 1;
	P0 = SEG_num[num%10];
	delay_ms(10);
	
	P25 = 0;P26 = 1;P27 = 1;P0 = 0x00;
}
结语

至此,完成了数码管的静态显示与动态显示,其实数码管的动态显示调节是个十分麻烦的问题,当主函数中处理的内容过多时,数码管刷新时间及显示效果调节将变成一个烦人的东西,不过这是后话,后面我们也可以通过定时器进行实现数码管动态显示,这样就不会受主函数其他程序执行的干扰了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980348.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号