80C51单片机系列

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

文章目录

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

前言

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

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

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

点亮第一个发光二极管

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

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

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

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

代码如下

#include<reg52.h>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<reg52.h>
#include<intrins.h>#define GPIO_LED P2void 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 main()
{unsigned char i,led_list[8]= {0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0xBF};while(1){for(i = 0; i<8; i++){ //循环GPIO_LED = led_list[i];Delay10ms(2);}}
}
*///延时函数
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<intrins.h>**头文件,可以直接进行位移操作。

调用_crol_进行左移。

调用_cror_进行右移。


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

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

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

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

  1. 单片机原理及其应用——单片机控制按键点亮发光二极管

    目录 一.实验要求 二.分析 (一)电路原理 (二)机械式按键的抖动时间与解决方法 三.Proteus仿真软件画原理图 四.Keil编程软件编写程序 五.实验结果 (一)仿真结果 (二)连接电路烧录 ...

  2. c语言流水灯程序 16,16个发光二极管流水灯程序

    文件: 流水灯16.rar 大小: 32KB 下载:16个发光二极管流水灯程序 作者:流水落花 ORG 0100H LOOP0: MOV A, #0FEH MOV P2, #0FEH MOV R2, ...

  3. STM32F03寄存器方式点亮LED流水灯

    STM32F03寄存器方式点亮LED流水灯 文章目录 STM32F03寄存器方式点亮LED流水灯 一.题目内容 二.STM32F03系列芯片的地址映射和寄存器映射映射原理:了解GPIO端口的初始化设置 ...

  4. 单片机C语言流水灯花样编程,51单片机学习之陆 —— 1.3 流水灯的花样玩法

    原标题:51单片机学习之陆 -- 1.3 流水灯的花样玩法 上一次我们点亮了一个1,其实仅仅点亮一个流水灯还是有些单调的. 这一次让我们试着尝试些别的花样 1 多个流水灯的点亮 a 打开将原来的c文件 ...

  5. 蓝桥杯51单片机之利用中断同时控制流水灯、数码管、独立按键、蜂鸣器【单片机开发初学者有趣综合案例】

    文章目录 一.流水灯与数码管 二.独立按键.数码管.流水灯.蜂鸣器 一.流水灯与数码管 流水灯不断左移,通过外部中断0来控制数码管的显示. #include <reg52.h> #defi ...

  6. STM32F103C8T6以寄存器方式借助面包板搭建电路点亮LED流水灯详解

    文章目录 一.寄存器原理 1.什么是寄存器 2.如何访问寄存器 二.GPIO端口的初始化设置 1.时钟配置 (1)找到时钟使能寄存器映射基地址 (2)找到端口偏移地址以及对应端口所在位置 (3)使能对 ...

  7. GPIO端口初始化设置,STM32F103点亮LED流水灯过程

    文章目录 一.STM32F103系列芯片地址映射和寄存器映射原理 1.什么是寄存器 2.地址映射和寄存器映射 3.寄存器地址查找 二.GPIO端口初始化设置 1.GPIO简介 2.配置时钟 3.输入输 ...

  8. 【stm32cubeMX】使用HAL库点亮LED流水灯

    stm32cubeMX使用HAL库点亮LED流水灯 1.安装STM32CubeMX 2.安装HAL库 3.新建项目 4.keil仿真调试 五.实现 六.参考资料 1.安装STM32CubeMX 官网下 ...

  9. 单片机串口中断控制流水灯c语言,基于单片机AT89C51控制的中断控制流水灯_课程设计报告...

    <基于单片机AT89C51控制的中断控制流水灯_课程设计报告>由会员分享,可在线阅读,更多相关<基于单片机AT89C51控制的中断控制流水灯_课程设计报告(25页珍藏版)>请在 ...

  10. 基于ESP32学习MicroPython(三): 流水灯案例

    一.工作目标 通过ESP32 Pico和ESPBlock完成流水灯案例 二.环境准备 ESP32 Pico主板(已安装支持MicroPython固件) ESPBlock扩展板 Micro-USB线 母 ...

最新文章

  1. 讲讲 Redis 缓存更新一致性
  2. oracle 三表关联更新_Oracle数据库入门
  3. mysql pool返回值_Mysql成神之路-InnoDB 的 Buffer Pool
  4. k8s get命令:以yaml格式输出deployment对象
  5. linux跟aix时间同步,Linux 与AIX环境下修改时间
  6. 【转】C#数据结构-有限状态机
  7. go的实现接口的一个小demo
  8. Spring Cloud中的分布式组件五花八门,我到底该怎么学?
  9. 修改 系统文件夹 名称 视频设备
  10. 中国吉他效果市场趋势报告、技术动态创新及市场预测
  11. Intel发6款全新9代i9/i7/i5 CPU:巅峰8核
  12. s3c2440的GPIO驱动
  13. ASM 管理 转自三思笔记
  14. 数据库原理及应用总结
  15. 传输线阻抗方程的推导
  16. 昆仑通态MCGS与3台欧姆龙E5*C温控器通讯程序功能:通过昆仑通态触摸屏
  17. CAE软件技术现状调研
  18. 计算机中分页符号是什么,分节符和分页符有什么区别?
  19. python循环中释放内存的方法_我怎样才能在Python中明确释放内存?
  20. 用r语言画时序图和自相关图,并检验纯随机性

热门文章

  1. 学习笔记 | 朴素贝叶斯、拉普拉斯修正
  2. json在线编辑器和解析库rapidjson试用
  3. HTTP网络劫持的原理与过程、网站被劫持怎么办?
  4. 设置mysql数据库为只读
  5. Navicat批量修改数据库某一属性初始值
  6. Day4----类训练(搬家具、烤地瓜)
  7. 九爷带你了解 Tomcat 优化
  8. python爬虫基础详细教程
  9. Android 自定义View实现照片裁剪框与照片裁剪
  10. 解决IEM被禁用的问提