51单片机应用从零开始(二)

news2024/9/22 1:33:55

 

目录

1.  什么是单片机系统

1.1  单片机本身

1.2  构成单片机系统——单片机+外围器件

2.  如何控制一个发光二极管

2.1  硬件设计(系统电路图 )

2.2  硬件设计(搭建硬件电路的器材 )

2.3  软件设计(中文描述的程序设计思路)

2.4  软件设计(翻译成单片机的语言)

2.5  软件设计(指令解析)

3.  单片机系统开发过程


1.  什么是单片机系统

        单片机系统是由单片机芯片、外围设备和软件组成的一种嵌入式系统。单片机是一种集成了微处理器、存储器和多种输入输出接口的微型计算机,可以实现控制、调度和数据处理等功能,并能够与各种外围设备进行通讯。单片机系统广泛应用于工业自动化、智能家电、医疗仪器、汽车电子等领域。

1.1  单片机本身

        单片机本身就是一个电子器件,可以根据指 令的要求控制外围器件,它的功能可以通过指令 进行控制。

        单片机(Microcontroller)是一种包含了处理器核心、内存、输入/输出接口和其他相关外设的集成电路。它可以独立地运行程序,控制各种设备和系统。

        单片机通常包括三个重要的组成部分:CPU、存储器和外设接口。CPU用于执行指令和进行运算,存储器用于存储程序和数据,而外设接口则用于与外部设备进行通信和控制。

        单片机具有体积小、功耗低、成本低等优点,被广泛应用于各种控制系统、嵌入式系统、电子产品等领域。

1.2  构成单片机系统——单片机+外围器件

        单片机系统由单片机和外围器件构成。单片机是一种微型计算机芯片,它可以完成各种控制、处理、计算等任务。外围器件包括各种传感器、执行器、存储器、通信模块等,它们与单片机连接,提供输入输出、存储和通信等功能。

        在构建单片机系统时,需要先选择合适的单片机芯片,并设计电路板,将单片机和外围器件连接在一起,并提供电源和时钟信号等基本电路。接下来,需要编写程序,将需要的功能实现,并上传到单片机中。最后,进行调试和测试,确保单片机系统正常工作。

        单片机系统在实际应用中广泛使用,例如控制家电、车载电子、智能家居、工业自动化、机器人等领域。通过不断优化设计和程序,单片机系统可以实现更加复杂和高效的功能。

2.  如何控制一个发光二极管

控制单个发光二极管需要使用单片机的输出端口和一个适当的电阻,步骤如下:

  1. 将发光二极管的阳极连接到单片机的一个输出端口,将阴极连接到电源的负极。

  2. 为了限制电流并保护发光二极管,需要在发光二极管的阳极和单片机输出端口之间加入一个适当的电阻。根据发光二极管的功率和电源电压确定电阻值。

  3. 在单片机程序中将输出端口配置为输出模式,并将其输出电平设置为高电平或低电平,即可控制发光二极管的亮灭。

2.1  硬件设计(系统电路图 )

2.2  硬件设计(搭建硬件电路的器材 )

面包板用于电子技术实验

万用板用于电子技术实验

2.3  软件设计(中文描述的程序设计思路)

程序设计思路如下:

  1. 声明一个变量来存储发光二极管的状态,可以用1表示开启,0表示关闭。

  2. 初始化51单片机的IO口,将控制LED灯的IO口设置为输出模式。

  3. 在主函数中,将LED灯的状态设置为关闭状态。

  4. 在一个无限循环中,控制LED灯的状态。如果LED灯当前状态为关闭状态,则将其设置为开启状态,反之亦然。可以使用if语句进行判断。

  5. 为了让发光二极管闪烁,可以在每次状态改变后添加一个短暂的延迟,例如延迟500毫秒。

2.4  软件设计(翻译成单片机的语言)

ORG 00H ; 设置起始地址
START: ; 标号
MOV P1, #00H ; 向P1口输出低电平,点亮二极管
CALL DELAY ; 调用延时子程序
MOV P1,#0FFH ; 向P1口输出高电平,熄灭二极管
CALL DELAY ; 调用延时子程序
JMP START ; 跳回START,循环执行
DELAY: 
MOV R3,#50 ; 延时子程序(500ms)
D1: MOV R4,#20
D2: MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
DJNZ R3,D1
RET ; 返回主程序
END ; 汇编程序结束

或者:

#include<reg51.h>     //头文件
#define LED P1        //定义LED控制IO口
sbit LED1=P1^0;       //LED灯连接IO口

void main()
{
  unsigned int i;     //定义延时变量
  LED=0x00;           //将LED灯设置为关闭状态 

  while(1)            //无限循环
  {
    if(LED==0x00)     //LED灯当前为关闭状态
    {
      LED=0xFF;       //将LED灯设置为开启状态
      LED1=1;         //开启LED灯
    }
    else              //LED灯当前为开启状态
    {
      LED=0x00;       //将LED灯设置为关闭状态
      LED1=0;         //关闭LED灯
    }
    for(i=0;i<50000;i++);   //延时500ms
  }
}

2.5  软件设计(指令解析)

START:
MOV P1,#00H ; 向P1口输出低电平
CALL DELAY ; 调用延时子程序
MOV P1,#0FFH ; 向P1口输出高电平
CALL DELAY ; 调用延时子程序
JMP START ; 跳回START,循环执行

标号——可以是以英文字母开头的字母、数字或某些 特殊符号的序列。

助记符——用来表达指令的操作功能。

目的操作数——指令最终作用的对象。

源操作数——参与指令的操作。

 注释——分号后面的文字描述

START: MOV                 P1,                  #00H ;                向P1口输出低电平

标号 :        助记符         目的操作数,        源操作数 ;                注释

ORG 00H —— 伪指令,其功能是设定经汇编后的执行 代码存储在单片机中的起始地址为00H 。

END —— 伪指令,提示汇编器程序结束于此,当汇编 遇到END后,就不会再继续进行。

伪指令(pseudo opcode)——汇编程序所提供的帮助 汇编器进行汇编的指令,并非单片机指令的一部分,因 此伪指令不占存储器空间,只是协助程序的汇编工作。

3.  单片机系统开发过程

单片机系统开发过程一般包括以下步骤:

(1)系统需求分析:确定系统的功能、性能、可靠性、安全性等需求。

(2)硬件设计:选用合适的单片机芯片、外设和接口电路,并进行电路原理图设计、PCB布局设计等。

(3)软件设计:编写单片机程序,实现系统功能。

(4)系统集成:将硬件和软件进行集成,进行调试和测试。

(5)系统调试和优化:对系统进行功能性、可靠性、安全性等方面的测试,发现问题并解决,优化系统性能。

(6)系统验证和批量生产:完成系统的验证和测试,进行批量生产。

以上步骤并非是一成不变的,根据不同的项目需求和实际情况,可能加入或者去除一些步骤。

51单片机应用从零开始(一)-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1202498.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA基础:子父类关系里的实例创建流程

实验类&#xff1a; &#x1f4ce;A.javahttps://www.yuque.com/attachments/yuque/0/2023/java/21609500/1699858993581-1df32da6-8360-4a98-aa1b-d9a59d3b2d76.java &#x1f4ce;B.javahttps://www.yuque.com/attachments/yuque/0/2023/java/21609500/1699858998289-d9e31…

做职业规划,离不开职业兴趣和职业性格测评

每天上班&#xff0c;但是没有动力&#xff0c;职业很迷茫是典型的症状&#xff0c;如果这个症状持续超过2周&#xff0c;那么这个问题就值得思考了。比如昨天就遇到过一个朋友说&#xff0c;希望自己能早点改变这个现状..... 有这个想法是非常正确的&#xff0c;职业规划越早…

RK3568驱动指南|第七期-设备树-第65章 设备树下platform_device和platform_driver匹配实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

深入探讨跨境电商商城源码的多语言、多货币、多商户入驻支持“

随着全球电子商务的飞速发展&#xff0c;跨境电商已成为一股不可忽视的力量。在这个背景下&#xff0c;为跨境电商商城源码提供多语言、多货币、多商户入驻支持显得尤为重要。本文将深入探讨这三大特性的实现方式及其对跨境电商发展的影响。 一、多语言支持 对于跨境电商来说&a…

Outlook如何删除邮箱账户

Outlook如何删除邮箱账户 说明&#xff1a; 最近有用户询问到“我的Outlook登陆了很多个邮箱账号&#xff0c;不知道怎么退出”接下来将具体操作步骤加以说明 操作指引&#xff1a; 1、首先打开Outlook该软件&#xff0c;然后点击“文件” 2、点击账户设置下拉菜单 3、在下拉…

SSM德庆县乡村教育图书管理系统-计算机毕设 附源码 24668

SSM德庆县乡村教育图书管理系统 摘 要 大数据时代下&#xff0c;数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求&#xff0c;利用互联网服务于其他行业&#xff0c;促进生产&#xff0c;已经是成为一种势不可挡的趋势。在德庆县乡村教育图书管理的要求下&…

海思平台awb标定

文章目录 1、raw图采集2、awb标定3、标定效果优化1、raw图采集 raw图采集标准: 如果raw是12bit,即raw12,那么Block9 块的亮度就是40960.8 = 3276.8左右。 勾上Dump Raw,我这里raw10,即Depth为10bit,那么Block19的亮度应该为10240.8 = 819.2左右,调整曝光Exposure Attr…

制造业工厂MES系统中的设备管理模块

随时工厂数字化建设的大力推进&#xff0c;设备管理的效率得到了很大的提升&#xff0c;特别是作为机加工企业&#xff0c;设备是整个企业非常重要的核心资产。下面是万界星空科技MES系统中的设备管理模块介绍&#xff1a; 1、MES设备管理任务模型 制造企业总是期望设备能够在…

LED显示屏老化知识

LED显示屏老化是指长时间使用后&#xff0c;LED显示屏性能逐渐下降和衰减的过程。虽然LED显示屏具有较长的寿命和良好的稳定性&#xff0c;但长期使用和环境因素会导致一定程度的老化现象。 LED显示屏为什么会老化 1. 亮度衰减&#xff1a;LED显示屏使用时间越长&#xff0c;LE…

消失的它:摆脱 SwiftUI 中“嵌入视图数量不能超过 10 个”限制的秘密

概览 SwiftUI 带来了描述性界面布局的新玩法&#xff0c;让我们可以超轻松的创建复杂应用界面。但是在早期 SwiftUI 中有一个“著名”的限制大家知道么&#xff1f;那就是 ViewBuilder 中嵌入子视图数量不能超过 10 个&#xff01; 不过&#xff0c;从 Swift 5.9 开始这一“桎…

PHP判断扫码支付扫码条码支付宝微信区分

微信&#xff1a;用户付款码规则&#xff1a;18位纯数字&#xff0c;前缀以10、11、12、13、14、15开头 支付宝&#xff1a;25~30开头的长度为16~24位的数字&#xff0c;实际字符串长度以开发者获取的付款码长度为准 <?php /*** 判断扫码支付的方式* param string $code 扫…

前后端分离项目为什么很火?有什么优势?

目录 一、什么是前后端分离 二、前后端分离项目的技术栈 三、前后端分离项目有什么优势 一、什么是前后端分离 前后端分离是一种软件架构的设计模式,它将应用程序的前端&#xff08;即用户界面&#xff09;和后端&#xff08;即服务器端&#xff09;进行解耦,使得它们可以独…

HTML简单介绍

且视他人之疑目如盏盏鬼火&#xff0c;大胆地去你的夜路。 1.网页 组成&#xff1a;文字&#xff0c;图片&#xff0c;音频&#xff0c;视频&#xff0c;超链接 2.Web标准 3.HTML 超文本标记语言 3.1HTML结构 网页可以看成是一篇文章 如&#xff1a;整体&#xff0c;头部…

【KVM-4】硬件虚拟化技术(详)

前言 大家好&#xff0c;我是秋意零。 经过前面章节的介绍&#xff0c;已经知道KVM虚拟化必须依赖于硬件辅助的虚拟化技术&#xff0c;本节就来介绍一下硬件虚拟化技术。 &#x1f47f; 简介 &#x1f3e0; 个人主页&#xff1a; 秋意零&#x1f525; 账号&#xff1a;全平…

劲升逻辑与青岛港国际集装箱发展有限公司签署合作意向书,合力打造贸易互联互通新高地

合作意向书签署现场 2023 年 11 月 11 日&#xff0c;中国山东——跨境贸易数字化领域的领导者劲升逻辑与山东港口青岛港子公司青岛港国际集装箱发展有限公司在新加坡-山东经贸理事会&#xff08;简称“新鲁理事会”&#xff09;全体会议期间正式签署合作意向书&#xff0c;双…

2024怎么自学软件测试?自动化测试?测试老鸟总结,少走弯路...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、自学软件测试怎…

IDEA软件使用步骤

1.IDEA概述 IDEA全称InelliJ IDEA,是用于java语言开发的集成环境&#xff0c;它是业界公认的目前用于Java程序开发最好的工具。 集成环境&#xff1a;把代码编写&#xff0c;编译&#xff0c;执行&#xff0c;调试扽过多种功能综合到一起的开发工具。 下载&#xff1a;https…

【OpenVINO】基于 OpenVINO C# API 部署 RT-DETR 模型

基于 OpenVINO C# API 部署 RT-DETR 模型 1. RT-DETR2. OpenVINO3. 环境配置4. 模型下载与转换5. C#代码实现5.1 模型推理类实现1. 模型推理类初始化2. 图片预测API 5.2 模型数据处理类RTDETRProcess1. 定义RTDETRProcess2. 输入数据处理方法3. 预测结果数据处理方法 6. 预测结…

音频url如何下载到本地浏览器上

音频url如何下载到本地浏览器上 一、代码 一、代码 this.downloadFile(url, name)downloadFile(url, filename) {const xhr new XMLHttpRequest()xhr.open(GET, url, true)xhr.responseType blobxhr.onload function () {if (xhr.status 200) {const blob new Blob([xhr.r…

VR全景技术在城市园区发展中有哪些应用与帮助

引言&#xff1a; 在数字化时代的浪潮中&#xff0c;虚拟现实&#xff08;VR&#xff09;全景技术逐渐融入各个领域&#xff0c;也为城市园区展示带来了全新的可能性。 一&#xff0e;VR全景技术简介 虚拟现实全景技术是一种通过全景图像和视频模拟真实环境的技术。通过相关设…