飞道的博客

C51单片机,点亮小灯的入门级教程

290人阅读  评论(0)


  • 51单片机初体验

一、安装软件

这里选择的是:

  • Keil uvision5 C51版:

链接:https://pan.baidu.com/s/1LI7ucKVBFwpx2VMOoHFmMg
提取码:d8u6

安装步骤里有个激活步骤,我没有关防火墙,没有成功,但是不影响使用。

  • Proteus 8.6 SP2 Professional:

链接:https://pan.baidu.com/s/1RbKt1XuDLZITgbVDcsmwWQ
提取码:ynt7

二、keli的使用

1、创建一个项目

打开Keil软件,点击工具栏上面的project,选择new μVision Project…


2、新建文件,记得保存,用于编写代码


可以用快捷键Ctrl+S进行保存

注意这里文件的后缀名.c用于编写C的程序

3、配置、添加文档




到此,完成了环境配置,可以进行编程了!

三、proteus的使用

1、创建项目

打开proteus软件,点击左上角的File,再点击New Project,即出现这个页面




也可以不选80C51,根据自己的需要来

完成项目创建!

2、搭建虚拟电路

四、编写程序,运行程序

1、代码编写

#include <reg52.h>
sbit led = P1^0;  //这里就是给端口p1^0,赋一个名字
void main(){
   
	while(1){
        //while的死循环,会一直执行while里的内容
		led = 0;  //给端口p1^0赋一个低电平,从而使小灯形成回路,1代表高电平,0代表低电平
	}
}






这样就完成了代码的编写!

2、程序运行



点击左下角的运行按钮即可完成运行

如果在代码运行成功成功的前提下,运行失败了,可以参考一下这里:解决方案传送门

3、运行结果


由图可见,当我点击运行按钮,小灯亮了,但我点击结束按钮,小灯熄灭
(害,蓝色的光,不太容易观察)

五、进阶一点:流水灯

1、虚拟电路

2、代码

#include <reg51.h>
#define uint unsigned int 
#define uchar unsigned char
	
uchar table[]={
   0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//每一个对应一个小灯
uchar p;
int x;

void main()
{
   
	x=50000;  //预准备一个变量,用于延时作用,否则小灯变化太快了 
	while(1)
		{
   
		  for(p=0;p<8;p++)  //循环,使小灯轮流亮
		  {
   
		  	P1=table[p];
				while(x--);
		  }
		}
}

3、运行结果

六、文章参考:

51单片机入门教程(1)
51单片机 LED点亮、闪烁以及流水灯实现

作者:远方的星
CSDN:https://blog.csdn.net/qq_44921056
腾讯云:https://cloud.tencent.com/developer/column/91164
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。


转载:https://blog.csdn.net/qq_44921056/article/details/116613003
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场