栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

80C51单片机:2.初学点亮发光二极管,流水灯案例

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

80C51单片机:2.初学点亮发光二极管,流水灯案例

80C51单片机系列
  1. 80C51单片机介绍
  2. 点亮第一个发光二极管,流水灯案例

文章目录
  • 80C51单片机系列
  • 前言
  • 点亮第一个发光二极管
    • 程序烧录等操作
  • 二极管流水灯
  • 下一章:数码管显示及封装与消隐


前言

我们先来看一下原理图,学习单片机首先需要看懂原理图!

注意:每个人买的单片机都不一定相同,各个板子的原理图都不一定一样!

原理图一般购买单片机都附带的,仔细看一下包裹里有没有原理图链接!自行下载!

点亮第一个发光二极管

首先从原理图上找到 LED模块。

我们可以看到LED的八个二极管连接着,MCU单片机芯片(也就是80C51单片机)上,P2口的八个串口(P2^0 ~ P2^7)。

这样我们只需要操作P2口的八个串口,即可控制LED二极管的发光与熄灭。

创建项目,创建文件这里就不多说了。

代码如下

#include

sbit LED1 = P2^0;

void main()
{
	LED1 = 0;
} 

在单片机中控制器件,是根据高低电平进行控制

因为开机之后,默认给的都是高电平,所以我们想要控制二极管发光,就需要给一个低电平!也就是 0

这里0:代表低电平,1:代表高电平

给 P2 ^ 0,也就是P2口的第一个串口,赋一个 0 即可!。

然后下载到单片机里面就可以啦!

程序烧录等操作

具体操作,如烧出软件、项目配置(设置运行MHZ)、生成hex文件等,烧出软件请自行网上搜索下载。

项目配置,生成hex文件,这里截图说明!

首先项目配置,设置运行速率MHZ

然后设置生成hex文件,hex文件就是程序最终编译后,需要下载到单片机里的文件!

在刚才的基础上,勾选生成hex文件即可!

最后编译一下,用烧录软件下载到单片机里!

开机即可!

这样单片机上的第一个发光二极管就发亮啦!

注意:有的可能只亮一下,在LED1 = 0;后面加一个while(1);死循环就行了!

是不是很简单?

二极管流水灯

有了上面的简单实验,下面我们就写一个二极管流水灯。

代码如下

#include
#include

#define GPIO_LED P2

void Delayms(unsigned char);

void main()
{
	unsigned char i;
	GPIO_LED = 0xfe;
	Delayms(10);
	//流水灯
	while(1){
		for(i = 0; i<7; i++){ //左移7次
			GPIO_LED = _crol_(GPIO_LED,1); //GPIO_LED 左移1位
			Delayms(10);
		}
		for(i = 0; i<7; i++){ //右移7次
			GPIO_LED = _cror_(GPIO_LED,1); //GPIO_LED 右移1位
			Delayms(10);
		}
		
	}
}



//延时函数
void Delayms(unsigned char c)
{
	unsigned char a,b;
	for(;c>0;c--)
		for(b=76;b>0;b--)
			for(a=130;a>0;a--);

}

程序中注释部分为,手动实现赋值P2操作。

而导入的**#include**头文件,可以直接进行位移操作。

调用_crol_进行左移。

调用_cror_进行右移。


下一章:数码管显示及封装与消隐

这里建议新学的小伙伴,可以手动实现以下,轮流给P2口赋值。

下一章:3.数码管显示及封装与消隐

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/928639.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号