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

举报
爱打瞌睡的CV君 发表于 2022/07/08 01:07:27 2022/07/08
【摘要】 文章目录 一、安装软件二、keli的使用1、创建一个项目2、新建文件,记得保存,用于编写代码3、配置、添加文档 三、proteus的使用1、创建项目2、搭建虚拟电路 四...


  • 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代表低电平
	}
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样就完成了代码的编写!

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--);
		  }
		}
}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

3、运行结果

在这里插入图片描述

六、文章参考:

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

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

文章来源: luckystar.blog.csdn.net,作者:爱打瞌睡的CV君,版权归原作者所有,如需转载,请联系作者。

原文链接:luckystar.blog.csdn.net/article/details/116613003

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。