51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验六 静态数码管显示

目录

前言

一、原理图及知识点介绍

1.1、数码管原理图:

 二、代码分析


前言

第一个实验: 51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验一 点亮第一个LED_ManGo CHEN的博客-CSDN博客

第二个实验:51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验二 LED闪烁_ManGo CHEN的博客-CSDN博客

第三个实验:51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验三 LED流水灯_ManGo CHEN的博客-CSDN博客

第四个实验:51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验四 蜂鸣器_ManGo CHEN的博客-CSDN博客

第五个实验:https://blog.csdn.net/qq_42700289/article/details/132219189

第六个实验: 静态数码管显示

一、原理图及知识点介绍

1.1、数码管原理图:

数码管电路如下图:

数码管的原理图如上图:

1、主要了解什么是数码管?

2、什么是共阳极数码管?

3、什么是数码管的段选?什么是数码管的位选?

希望各位带着问题去学习这一篇,百度一大堆,这里就不在赘述了。

 二、代码分析

先来介绍一下工程:

 下面我们就直接上代码:

/**************************************************************************************
*		              静态数码管显示实验												  *
实现现象:下载程序后数码管静态显示0。
注意事项:																				  
***************************************************************************************/

#include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;


u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
					0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值


/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void main()
{	
	P0=~smgduan[0];
	while(1);
}


这里面的程序很简单,本节主要是搞懂上面那三个问题,基本就没有问题了,P0八个口直接接在数码管的段选上,依次遍历数组中的各组值,显示0~F,的原理就是共阳数码管,段选给0就会亮,通过给abcdefgdp这8段组合点亮,达到显示数值的效果。

猜你喜欢

转载自blog.csdn.net/qq_42700289/article/details/132219395