C51教程 第三个51程序:数码管显示

keil+proteus

第三个51程序:让数码管循环显示0-9

这是一个AT89c51单片机教程,我们每次都会提供博文教程以及附带资料下载。

单片机就是一个小型CPU,在电子领域应用广泛,电视、冰箱、洗衣机、空调等产品中都能见到他们的身影。它是一个可编程的mcu,根据代码的不同可实现非常多功能

数码管是生活中常见的电子元件之一,它其实是由8个led连接而成,可显示数字与部分字母。数码管又可以分为共阴极与共阳极之分。本实验采用共阴极为例

C51教程 第三个51程序:数码管显示_第1张图片
了解数码管之后,就可以开始今天的实验了。打开proteus仿真,找到一个共阴极的数码管,可参考下图中左上角元件名称,查找,连接电路C51教程 第三个51程序:数码管显示_第2张图片
有人要问了,为什么要接上拉电阻呢,因为接的是P0口,P0没有输出能力,只能接上拉输出了。我们也可以把数码管接在别的地方,P1,P2,P3都是不用接上拉电阻的,好了,硬件搭建完毕。接下来开始编写程序了

先在你的学习文件夹下新建一个文件夹, 名字叫数码管,接下来吧工程文件放到这一个文件夹就可以了
C51教程 第三个51程序:数码管显示_第3张图片
下面开始建立工程,打开keil4,新建一个工程,写下代码

#include 

void delayms(unsigned int m)      //延时子程序
{
	unsigned int a,b;
	for(a=0; a<m; a++)
		for(b=0; b<120; b++);
}		  

unsigned int a[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//分别显示0 1 2 3 4 5 6 7 8 9

void main (void)
{	  
		unsigned char n;
	     //在这里定义初始化防止循环执行时循环初始化
		while(1)
		{
			for(n=0; n<10; n++)	//0-9循环显示
			{
			   P0 = a[n];           //数码管输出
			   delayms(500);
		    }	
		}
}

写入keil工程之后编译生成hex文件
C51教程 第三个51程序:数码管显示_第4张图片
编译通过,发现文件夹多了一些文件,其中有一个.hex文件
C51教程 第三个51程序:数码管显示_第5张图片
接下来用同样的方法,把hex文件入录到仿真,可以看到数码管在从0-9循环显示,实验成功
C51教程 第三个51程序:数码管显示_第6张图片
附带教程文件:数码管.rar

另外,提供给学者一本秘籍:《51精简版教程》//download.csdn.net/download/mbs520/12167589

你可能感兴趣的:(教程)