嵌入式学习第三篇——51单片机
目录
1,嵌入式系统
1,嵌入式系统的定义
2,单片机的定义
2,51单片机
1,开发环境
2,开发板使用的基本思路
1,查看原理图,查看芯片手册
2,获得调用硬件的管脚信息
3,使用编译器敲入调试代码
4,使用考录器将编译好的执行文件考入开发板
1,嵌入式系统
1,嵌入式系统的定义
嵌入式系统就是
用于控制、监视或者辅助操作机器和设备的装置,是一种专用的计算机系统。
2,单片机的定义
单片机就是
将计算机集成到一块芯片中
2,51单片机

1,开发环境
编译器 keil

考录器 stc—isp

2,开发板使用的基本思路
1,查看原理图,查看芯片手册
以51单片机为例:
芯片引脚图

芯片使用手册

2,获得调用硬件的管脚信息
主要找到具体所需的引脚和对应的单片机上的引脚
3,使用编译器敲入调试代码

以调用led为例:
主函数main.c
#include <reg52.h> //51单片机专门的头文件
#include "led.h"int main(void)
{//ledAllOn();//ledOffN(5);int i = 1;while(1){ledAllOn(); ledOnN(5);delay(30000);ledAllOff();delay(30000);// ledOnN(i);
// delay(300000);
// if (i == 8)
// {
// i = 1;
// ledAllOff();
// delay(30000);
// continue;
// }
// i++;}return 0;
}
led灯控制函数led.c
#include "led.h"
void delay(unsigned int n) //int 2字节
{ while (n){--n;}
}
void ledAllOn(void)
{P2 = 0x00;
}
void ledAllOff(void)
{P2 = 0xFF;
}void ledOnN(int n)
{P2 = P2 & ~(1<<n-1);
}void ledOffN(int n)
{P2 = P2 | (1<<n-1);
}void ledStream(void)
{ int i = 1;while (1){ledOnN(i);delay(300000);if (i == 8){i = 1;ledAllOff();delay(30000);continue;}i++;}
}
头文件led.h
#ifndef _LED_H_
#define _LED_H_
#include <reg52.h>
void ledAllOn(void);
void ledAllOff(void);
void ledOnN(int n);
void ledOffN(int n);
void ledStream(void);
void delay(unsigned int n);
#endif
4,使用考录器将编译好的执行文件考入开发板

根据开发板上硬件的反馈,继续调试程序
相关文章:
嵌入式学习第三篇——51单片机
目录 1,嵌入式系统 1,嵌入式系统的定义 2,单片机的定义 2,51单片机 1,开发环境 2,开发板使用的基本思路 1,查看原理图,查看芯片手册 2,获得调用硬件的管…...
RabbitMQ详解
RabbitMQ 1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应&a…...
CGAL::2D Arrangements-4
4. Free函数 Arrangement_on_surface_2类模板是用曲线切分二维的面。因为它的接口设计是最简化的,这意味着它的成员函数很少执行几何操作。本章将解释怎么利用这些Free function来达到Arrangement操作。执行这些操作通常需要优秀的几何算法,而且有时会对…...
终端命令提示符:如何查看我们电脑端口是否被占用和处理方式
文章目录 端口信息查看1、Windows:2、Linux/macOS: 使用 netstat使用 lsof 端口信息查看 在不同的操作系统中,查看端口是否被占用的指令有所不同。以下是一些常见的指令: 1、Windows: 使用命令行工具 netstat 来查看端口占用情况。 电脑键盘按住 win…...
elasticsearch重置密码操作
安装es的时候需要测试这个url:http://127.0.0.1:9200/ 出现弹窗让我输入账号和密码。我第一次登录,没有设置过账号和密码, 解决方法是:在es的bin目录下打开cmd窗口,敲命令:.\elasticsearch-reset-password…...
从零开始手写mmo游戏从框架到爆炸(零)—— 导航
从今天开始我们尝试从零开始写一个mmo的游戏。主要技术还是netty。参考了网上很多的大神的框架,本来希望基于ioGame或者vert.x等来直接写功能的,觉得从零开始更有意义,而且咱们也不需要太NB的底层功能,够用就行。 下面是导航&…...
机器学习7-K-近邻算法(K-NN)
K-Nearest Neighbors(K-近邻算法,简称KNN)是一种基本的监督学习算法,用于解决分类和回归问题。KNN的核心思想是基于距离度量,在特征空间中找到最近的K个样本,然后使用它们的标签进行决策。以下是KNN的基本概…...
相机图像质量研究(7)常见问题总结:光学结构对成像的影响--镜片固化
系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…...
猫头虎分享已解决Bug || Go Error: cannot convert int to string
博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …...
前端bug手册
JavaScript错误:常见的JavaScript错误包括语法错误、未定义的变量、类型错误等。这些错误可能导致页面无法正常运行或功能无法正常使用。样式问题:前端开发中常见的样式问题包括布局错乱、元素位置不正确、样式覆盖等。这些问题可能导致页面显示不正常或…...
Elasticsearch中Document Routing特性
Document Routing在Elasticsearch中是一种高级特性,它允许用户在索引文档时指定一个路由值。通过这种方式,可以确保具有相同路由值的所有文档都存储在同一个分片中。这对于提高查询效率特别有用,因为它允许查询只针对包含相关文档的特定分片&…...
【Git版本控制 03】远程操作
目录 一、克隆远程仓库 二、推送远程仓库 三、拉取远程仓库 四、忽略特殊文件 五、命令配置别名 一、克隆远程仓库 Git是分布式版本控制系统,同⼀个Git仓库,可以分布到不同的机器上。怎么分布呢? 找⼀台电脑充当服务器的⻆⾊ÿ…...
【Git】Windows下通过Docker安装GitLab
私有仓库 前言基本思路拉取镜像创建挂载目录创建容器容器启动成功登录仓库设置中文更改密码人员审核配置邮箱 前言 由于某云存在人数限制,这个其实很好理解,毕竟使用的是云服务器,人家也是要交钱的。把代码完全放在别人的服务器上面…...
flutter 操作mysql
引入模块 dependencies: flutter: sdk: flutter mysql1: ^0.20.0 mysql helper 的代码 import dart:async; import package:mysql1/mysql1.dart; class MySqlHelper { static const _host localhost; static const _port 3333; static const _user user; static c…...
c++阶梯之类与对象(中)< 续集 >
前文: c阶梯之类与对象(上)-CSDN博客 c阶梯之类与对象(中)-CSDN博客 前言: 在上文中,我们学习了类的六个默认成员函数之构造,析构与拷贝构造函数,接下来我们来看看剩下…...
GitLag所有操作-汇总
1、MAC Git环境设置 跳转 Git通过Token拉代码: 跳转 Git基础操作:拉、put、删 跳转 Git回滚操作: 跳转 Git回滚操作-复杂 跳转 对于Commit但是还没有push的代码,如果回滚: 跳转...
JSch - 配置SFTP服务器SSH免密登录
文章目录 1. 什么是SFTP2. 什么是Jsch以及它的作用3. Linux中配置SSH密钥登录4. sftp服务器认证机制5. publickey和password两种方式登录sftp的API调用6. 代码可以如下改造: 需求:做一个通过ssh免密登录的需求,是基于原先密码登录sftp服务器的…...
RISC-V指令格式
RISC-V指令格式 1 RISC-V指令集命名规范2 RISC-V指令集组成2.1 基础整数指令集2.2 扩展指令集 3 RISC-V指令格式3.1 指令表述3.2 指令格式 本文属于《 RISC-V指令集基础系列教程》之一,欢迎查看其它文章。 1 RISC-V指令集命名规范 前面提到过RV32I,这是…...
Linux 文件比较工具
在Linux系统中,文件比较是一种常见的任务,用于比较两个文件之间的差异。文件比较可以帮助我们找出两个文件的不同之处,或者确定它们是否完全相同。在Linux中,有多种方法可以进行文件比较。 1. diff 在Linux中,diff命…...
【GAMES101】Lecture 17 材质
目录 材质 漫反射 镜面反射 折射-Snell’s Law Fresnel Reflection / Term(菲涅耳项) 微表面模型 各向同性与各向异性 BRDF的性质 测量BRDF 材质 渲染方程中的BRDF描述了物体是如何与光线作用的,而物体的材质决定了它看起来是怎么样…...
10人机械设计团队上云第一课:为什么老手都选云飞云而不是传统VDI?
在10人规模的机械设计团队中,使用SolidWorks和UG进行三维设计时,云桌面的选择应聚焦于硬件性能、资源管理、数据安全、协同效率及成本控制五大核心维度。以下是一个基于云飞云智能共享云桌面的推荐方案,该方案已成功应用于多家精密机械制造企…...
蓝桥杯嵌入式STM32G431RBT6保姆级外设配置指南(HAL库版,含LCD、ADC、PWM)
蓝桥杯嵌入式STM32G431RBT6实战开发全攻略:从HAL库配置到竞赛项目搭建 第一次拿到DK117E-G4开发板时,面对密密麻麻的引脚和陌生的HAL库,大多数嵌入式初学者都会感到无从下手。本文将带你从零开始,用最直观的方式掌握STM32G431RBT6…...
Pearcleaner终极指南:如何彻底清理Mac应用残留文件
Pearcleaner终极指南:如何彻底清理Mac应用残留文件 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 还在为Mac电脑存储空间不足而烦恼吗ÿ…...
Allegro 17.4 出Gerber和钻孔文件,别再手忙脚乱了!这份保姆级清单请收好
Allegro 17.4 PCB设计文件输出全流程防错指南 在PCB设计领域,文件输出环节往往被工程师们视为"最后的临门一脚",却也是最容易出错的关键步骤。Allegro 17.4作为业界主流设计工具,其文件输出功能虽然完善,但参数设置复杂…...
多智能体编排实战:从架构设计到生产部署的12周训练指南
1. 项目概述与核心价值最近在探索如何系统性地掌握多智能体编排技术时,我遇到了一个名为“Shadow Dojo”的开源项目。这个名字很有意思,“道场”一词本身就意味着一个需要持续练习、精进技艺的地方。这个项目将自己定位为“训练场”,目标非常…...
6G网络中的流体天线与速率分割多址技术解析
1. 6G网络中的流体天线与速率分割多址技术解析 在移动通信技术快速迭代的今天,6G网络正逐渐从概念走向现实。作为下一代通信系统的核心候选技术,流体天线系统(FAS)与速率分割多址(RSMA)的结合展现出独特的优势。FAS通过动态调整天线位置提供灵活的空间自…...
从AD9361到ADRV9002:手把手教你用ZYNQ搞定ADI新射频芯片的驱动(附避坑指南)
从AD9361到ADRV9002:射频芯片驱动迁移实战与深度优化指南 在嵌入式射频系统开发领域,ADI的AD9361曾长期占据中频解决方案的主流地位。但当项目面临更严苛的功耗限制、更复杂的多天线场景或更高的带宽需求时,许多工程师开始将目光转向其迭代产…...
告别手机热点!实测特斯拉Model 3用USB无线网卡搭建‘永久’车载WiFi,看视频、OTA升级全搞定
特斯拉Model 3车载WiFi终极方案:告别流量焦虑与手机依赖 每次开车带家人出行时,后排的孩子总抱怨"视频又卡住了",而手机热点不仅耗电还经常断连——这可能是许多特斯拉车主的共同困扰。更尴尬的是,当车辆停在信号死角时…...
霍夫变换:从参数空间投票到图像形状检测的经典算法
1. 霍夫变换的核心思想:参数空间投票机制 第一次接触霍夫变换时,我被它独特的思维方式惊艳到了。想象一下,你面前有一张布满星星的夜空照片,想要找出其中连成直线的星星组合。传统方法可能是拿着尺子比划,而霍夫变换却…...
亚马逊会再推智能手机吗?负责人回应含糊,Transformer 项目充满悬念
亚马逊智能手机计划:是与否的模糊回应亚马逊设备与服务部门负责人帕诺斯帕奈在面对是否推出智能手机的问题时,给出了模棱两可的回答。他表示这并非公司目标,但又不直接否认可能性。此前有报道称亚马逊正在开发代号为“Transformer”、搭载 Al…...
