c语言点亮1个led,编写一个点亮LED的小程序,没你想象的那么复杂!

2023-05-16

d29744e6c67dbfbd8b4dc5cb11d40b33.png

编写一个点亮LED的小程序,没你想象的那么复杂!

在刚开始入门学习时,其中一个制作就是2032电池点亮LED,那么如何编写程序控制单片机I/O点亮LED呢?

单片机I/O(即IN/OUT)能输出高低电平,高电平指+5V,低电平指0V(GND),先回顾一下前面点亮LED的电路(这里用的是5V电源),见图

a8f9d94458228e71069b39be4379a396.png

编写一个点亮LED的小程序,没你想象的那么复杂!

点亮LED

一、单片机I/O输出低电平点亮LED

1.电路图

假如将上图中的负极换为P1.0,通过编程控制P1.0输出低电平(即0V),LED1是不是点亮呢?电路如下图,那程序如何编写呢?

f375d7a6850d18fc38f0f71b6138ada1.png

编写一个点亮LED的小程序,没你想象的那么复杂!

LED1的负极连接到P1.0

2.元器件清单

81e93a064fda334005618fb6c77cf7bf.png

编写一个点亮LED的小程序,没你想象的那么复杂!

3.程序设计

#include〈reg52.h〉//52系列单片机头文件。

sbit led=P1^0;//声明LED接在P1.0,这里注意区分大小写

void main()//主函数

{

led=0; //P1.0接口输出低电平

while(1); //程序停止到这里

}

4.程序解释

①在程序中,sbit小写,P应大写,“led”你可以起别的名字,注意不能与c语言中的关键字相同,例如main,它在C语言发明的时候就被占用了。

②#include后面没有分号。

③主函数main在一个程序中有且只有一个。

④C语言编写程序用分号表示一句结束。

⑤“//”用于解释本语句的作用。换行时,需要重新打上“//”。

⑥P1^0是单片机P1.0引脚在程序中的表示方法。“^”与数字“6”在一个键盘按键上,同时按住“shift”+“6”,就可以打出“^”符号。

6.C语言基础知识

主函数

void main()

{

语句;

}

单片机运行程序总是从主函数开始,主函数之前都是一些声明、定义。

7.下载程序

请你“照猫画虎”,将上面的程序在keil4中认真写一遍,下载完成,在软件的下方显示“0 Error(s),0 Warning(s)”,即“零错误,零敬告”,恭喜你程序没有出错。

47b7c838fbf3e0bcd40cac9a7aebeca7.png

编写一个点亮LED的小程序,没你想象的那么复杂!

程序编译无误

打开STC-ISP软件,下载程序,

c37f4caeb0dd3230adfb4bbd2fbd92d9.png

编写一个点亮LED的小程序,没你想象的那么复杂!

下载程序进度条

程序下载后,P1.0所接的LED点亮。

31a24ed2ce76b6df0aa85ae3b87e3e49.png

编写一个点亮LED的小程序,没你想象的那么复杂!

点亮LED

如果程序下载不成功,首先检查硬件电路,尤其是USB-ISP模块与单片机连接是否正常;其次,点击USB-ISP软件界面下方“停止”,重新冷启动下载。

那么刚才是让单片机输出低电平,能不能编写程序单片机输出高电平,点亮LED?在程序中只需将“led=0;”改为“led=1;”。

免责申明:本栏目所发资料信息部分来自网络,仅供大家学习、交流。我们尊重原创作者和单位,支持正版。若本文侵犯了您的权益,请直接点击提交联系我们,立刻删除!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c语言点亮1个led,编写一个点亮LED的小程序,没你想象的那么复杂! 的相关文章

  • 利用hdparm工具配合crontab使硬盘不用时休眠

    背景 xff1a 上次搞定了硬盘的自动挂载问题 xff0c 回头购入了个功率测试仪 xff0c 发现树莓派取消挂载移动硬盘后 xff0c 硬盘依然不能自动休眠 我用的是一个两盘位硬盘盒做RAID1 xff0c 运行两个3 5的2T硬盘功耗大
  • C++学习笔记

    一 基于过程的程序设计 1 1 概念及基础 pragma once 防止头文件重复包含 自定义的头文件用 34 34 xff0c 系统的用 lt gt 在标准输入流与输出流中使用控制符需要添加 include iomanip头文件 C 43
  • JAVA学习笔记

    第一章 IDEA基本配置和快捷键 IDEA快捷键 快捷键功能shift 43 F6选中目标内容后 xff0c 更改所有用到它的内容ctrl 43 Y删除当前行ctrl 43 D复制当前行Alt 43 Enter导入包自动修正代码Ctrl 4
  • 动态规划——装箱问题

    使用动态规划 xff0c dp i 记录当容积为i时的最大填充体积 span class token keyword import span java span class token punctuation span util span
  • 两种经典最短路径算法

    dijkstral算法 xff1a 计算单源最短路径 xff08 固定起点 xff0c 计算出起点到其他所有顶点的最短路径 xff09 用贪心思想 xff0c 每次找出距离起点最近的节点 xff0c 直到找出所有节点动态规划 xff1a 每
  • 【Spring Boot组件集成实战】集成Kaptcha谷歌验证码

    更多精彩内容 xff0c 请访问 Spring Boot组件集成实战专栏 xff01 推荐项目 xff1a 一套基于Spring Boot 43 Layui的内容管理系统 快速开发脚手架 xff08 含完整的开发文档 演示网址等 xff09
  • Redis

    NoSQL数据库 概述 NoSQL数据库 xff0c 指的是非关系型的数据库 不依赖业务逻辑的方式存储 xff0c 而是以简单的key value模式存储 因此大大增加了数据库的扩展能力 不遵循SQL标准不支持ACID 原子性 xff1a
  • 动态规划之戳气球

    leetcode312 戳气球 这一题可以用动态规划来解决 但是dp含义的设置和状态转移方程的设计很有意思 首先 一维dp难以实现的 xff0c 应该考虑二维dp xff0c 尤其在一个数组中 xff0c 要考虑到双指针移动来解决复杂问题
  • Java正则表达式

    捕获组 span class token keyword public span span class token keyword static span span class token keyword void span span cl
  • 进程同步与互斥

    什么是进程同步 答 xff1a 进程同步指的是 xff0c 由于进程并发执行具有异步性 xff08 即各自以独立地 不可预知的速度向前推进 xff09 xff0c 但是某些情况下又需要进程之间进行配合和协调来完成一项工作 xff08 存在执
  • maven项目clean,Some problems were encountered while building the effective model for

    maven项目点击clean出现问题 xff1a Some problems were encountered while building the effective model for com whgk robotclient jar
  • linux常用命令(五)解压缩、软件包安装

    解压缩 tar xff1a c xff1a 打包 t xff1a 显示内容目录 x xff1a 解压 z xff1a 使用zip gzip压缩 v xff1a 显示详细信息 f xff1a 指定文件 tar cf xx tar file x
  • 配置阿里云的CDN加速

    1 控制台中找到CDN的控制台 需要开通 xff0c 按流量 按带宽都可以 2 添加域名 在 39 域名管理中 39 39 添加域名 39 3 修改域名的DNS 添加域名管理后 xff0c 会产生一个cname值 xff0c 将原来域名的d
  • openssl升级时,libssl.so.10缺失问题

    openssl升级时 xff0c 造成了动态库的缺失 xff0c wget yum命令都不能正常使用 报错 xff1a error while loading shared libraries libcrypto so 1 0 0 cann
  • Python的类定义,实例化

    定义 xff1a 必须使用class关键字 类名必须是用大驼峰命名 类定义完成后 xff0c 就会产生一个类对象 xff0c 绑定到了标识符ClassName上 class ClassName 语句块 举例 xff1a class MyCl
  • iOS开发,引入第三方库,秒验,XCBBuildService崩溃,问题解决

    之前使用秒验SDK都是直接引入 xff0c 便可使用 xff0c 今天引入后 xff0c XCBBuildService意外退出 尝试各种方法都不可以 于是使用CocoaPods引入第三方库 xff0c 终于可以运行 xff0c 但是仍然报
  • 【Spring Boot组件集成实战】集成MyBatis-Plus-Generator代码生成器(Version 3.5.1+)

    更多精彩内容 xff0c 请访问 Spring Boot组件集成实战专栏 xff01 推荐项目 xff1a 一套基于Spring Boot 43 Layui的内容管理系统 快速开发脚手架 xff08 含完整的开发文档 演示网址等 xff09
  • Ansible的安装与使用

    Ansible的安装 1 安装源 yum search ansible yum y install centos release ansible 29 2 安装ansible yum y install ansible 3 添加被管理服务器
  • 利用栈实现计算器功能-C语言

    功能 xff1a 实现计算器 xff0c 可以运算带括号的表达式 如1 43 xff08 1 43 1 xff09 2 43 1 首先 xff0c 我们需要了解中缀表达式和后缀表达式 中缀表达式 xff08 符号在中间 xff09 xff1
  • 【MAVEN】 IDEA maven基本配置及远程仓库发布、拉取依赖

    MAVEN IDEA maven配置三要素 xff08 本地安装并下载 xff09 MAVEN HOME 需要配置好MAVEN的本地环境变量 MAVEN settings xml 配置文件 镜像地址 mirros 本地仓库位置 localr

随机推荐