C51单片机,点亮小灯的入门级教程
- 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
- 点赞
- 收藏
- 关注作者
评论(0)