单片机交流
登录
直播中
李敏
8年用户
1426经验值
私信
关注
[问答]
如何利用C51单片机点亮小灯?
开启该帖子的消息推送
C51单片机
如何利用C51
单片机
点亮小灯?
回帖
(1)
李淑嘉
2021-10-21 16:20:23
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
***it led = P1^0; //这里就是给端口p1^0,赋一个名字void main(){ while(1){ //while的死循环,会一直执行while里的内容 led = 0; //给端口p1^0赋一个低电平,从而使小灯形成回路,1代表高电平,0代表低电平 }}
这样就完成了代码的编写!
2、程序运行
点击左下角的运行按钮即可完成运行
如果在代码运行成功成功的前提下,运行失败了,可以参考一下这里:
解决方案传送门
3、运行结果
由图可见,当我点击运行按钮,小灯亮了,但我点击结束按钮,小灯熄灭
(害,蓝色的光,不太容易观察)
五、进阶一点:流水灯
1、虚拟电路
2、代码
#include
#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单片机初体验
一、安装软件
这里选择的是:
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
***it led = P1^0; //这里就是给端口p1^0,赋一个名字void main(){ while(1){ //while的死循环,会一直执行while里的内容 led = 0; //给端口p1^0赋一个低电平,从而使小灯形成回路,1代表高电平,0代表低电平 }}
这样就完成了代码的编写!
2、程序运行
点击左下角的运行按钮即可完成运行
如果在代码运行成功成功的前提下,运行失败了,可以参考一下这里:
解决方案传送门
3、运行结果
由图可见,当我点击运行按钮,小灯亮了,但我点击结束按钮,小灯熄灭
(害,蓝色的光,不太容易观察)
五、进阶一点:流水灯
1、虚拟电路
2、代码
#include
#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、运行结果
举报
更多回帖
rotate(-90deg);
回复
相关问答
C51单片机
C51
单片机
如何
点亮
LED
灯
?
2021-10-15
2604
c51
单片机
如何同时
点亮
40个LED
灯
?
2023-10-18
533
如何去实现一种基于
C51
单片机
去
点亮
小
灯
的设计?
2021-07-14
1562
如何
利用
51
单片机
实现led
灯
的
点亮
?
2021-10-26
3398
如何
利用
51
单片机
点亮
LED
灯
?
2021-10-09
1799
如何
利用
C51
单片机
去实现一种独立按键
点亮
LED
灯
的设计呢
2022-01-24
2214
如何实现基于
C51
单片机
广告
灯
的设计?
2021-10-26
1703
如何
利用
C51
单片机
编程实现转向
灯
实验?
2021-10-14
1909
如何
利用
51
单片机
点亮
LED小
灯
?
2021-10-28
3303
如何
利用
单片机
C51
设计自动打铃器?
2021-10-09
1758
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分