keil+proteus
第三个51程序:让数码管循环显示0-9
这是一个AT89c51单片机教程,我们每次都会提供博文教程以及附带资料下载。
单片机就是一个小型CPU,在电子领域应用广泛,电视、冰箱、洗衣机、空调等产品中都能见到他们的身影。它是一个可编程的mcu,根据代码的不同可实现非常多功能
数码管是生活中常见的电子元件之一,它其实是由8个led连接而成,可显示数字与部分字母。数码管又可以分为共阴极与共阳极之分。本实验采用共阴极为例
了解数码管之后,就可以开始今天的实验了。打开proteus仿真,找到一个共阴极的数码管,可参考下图中左上角元件名称,查找,连接电路
有人要问了,为什么要接上拉电阻呢,因为接的是P0口,P0没有输出能力,只能接上拉输出了。我们也可以把数码管接在别的地方,P1,P2,P3都是不用接上拉电阻的,好了,硬件搭建完毕。接下来开始编写程序了
先在你的学习文件夹下新建一个文件夹, 名字叫数码管,接下来吧工程文件放到这一个文件夹就可以了
下面开始建立工程,打开keil4,新建一个工程,写下代码
#include <reg51.h>
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文件
编译通过,发现文件夹多了一些文件,其中有一个.hex文件
接下来用同样的方法,把hex文件入录到仿真,可以看到数码管在从0-9循环显示,实验成功
附带教程文件:数码管.rar
另外,提供给学者一本秘籍:《51精简版教程》//download.csdn.net/download/mbs520/12167589