- 80C51单片机介绍
- 点亮第一个发光二极管,流水灯案例
文章目录
- 80C51单片机系列
- 前言
- 点亮第一个发光二极管
- 程序烧录等操作
- 二极管流水灯
- 下一章:数码管显示及封装与消隐
前言
我们先来看一下原理图,学习单片机首先需要看懂原理图!
注意:每个人买的单片机都不一定相同,各个板子的原理图都不一定一样!
原理图一般购买单片机都附带的,仔细看一下包裹里有没有原理图链接!自行下载!
点亮第一个发光二极管首先从原理图上找到 LED模块。
我们可以看到LED的八个二极管连接着,MCU单片机芯片(也就是80C51单片机)上,P2口的八个串口(P2^0 ~ P2^7)。
这样我们只需要操作P2口的八个串口,即可控制LED二极管的发光与熄灭。
创建项目,创建文件这里就不多说了。
代码如下
#includesbit 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.数码管显示及封装与消隐



