文章目录

  • 1、单片机
    • 1-1、简介
    • 1-2、应用场景
  • 2、51单片机
    • 2-1、背景
    • 2-2、主要品牌及其产品
    • 2-3、基本组成
    • 2-4、命名规则
  • 3、单片机内部结构
    • 3-1、单片机内部结构图
    • 3-2、单片机内部结构
    • 3-3、单片机内部管脚图
    • 3-4、单片机最小系统
    • 3-5、开发板介绍
  • 4、点亮LED
    • 4-1、新建工程
      • 4-1-1、创建工程文件
      • 4-1-2、选择芯片型号
      • 4-1-3、启动文件
      • 4-1-4、Main
    • 4-2、LED介绍
    • 4-3、LED模块
    • 4-3、Code
    • 4-4、Download Code
  • 5、LED Flash
    • 5-1、新建工程
    • 5-2、创建延时函数
    • 5-3、Download code
    • 5-4、实验表现
  • 6、流水灯
    • 6-1、新建工程
  • 6-2、C51数据类型
  • 6-3、Plus版本
  • 参考资料


1、单片机

1-1、简介

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择

1-2、应用场景

单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。从二十世纪九十年代开始,单片机技术就已经发展起来,随着时代的进步与科技的发展,目前该技术的实践应用日渐成熟,单片机被广泛应用于各个领域。现如今,人们越来越重视单片机在智能电子技术方面的开发和应用,单片机的发展进入到新的时期,无论是自动测量还是智能仪表的实践,都能看到单片机技术的身影。当前工业发展进程中,电子行业属于新兴产业,工业生产中人们将电子信息技术成功运用,让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子设备的创新与发展。

单片机也被称为单片微控器,属于一种集成式电路芯片。在单片机中主要包含CPU、只读存储器ROM和随机存储器RAM等,多样化数据采集与控制系统能够让单片机完成各项复杂的运算,无论是对运算符号进行控制,还是对系统下达运算指令都能通过单片机完成。 由此可见,单片机凭借着强大的数据处理技术和计算功能可以在智能电子设备中充分应用。简单地说,单片机就是一块芯片,这块芯片组成了一个系统,通过集成电路技术的应用,将数据运算与处理能力集成到芯片中,实现对数据的高速化处理。


2、51单片机

2-1、背景

51单片机泛指兼容英特尔8051指令系统的8位单片机统称,技术源自Intel 1980年代推出的8051内核,广泛应用于家电控制、汽车电子、工业测控及通信设备领域,也是国内高校单片机教学的主要硬件平台。典型型号包括ATMEL的89C51、89S51及STC公司的增强型89C52(本文使用改系列单片机)等,主流厂商涵盖Atmel、STC、Philips等。该系列采用哈佛架构,集成8位CPU、Flash程序存储器、RAM数据存储器及定时器/中断系统。新型号如89S51支持33MHz工作频率与ISP在线编程,内置双工UART、看门狗定时器及改进型加密算法,全系保持向下兼容特性。硬件层面配备40引脚PDIP封装,包含4组准双向I/O端口,支持宽电压供电(3.3V-5.5V)及外部晶振电路配置。开发工具链涵盖Keil集成环境与STC-ISP烧录软件。


2-2、主要品牌及其产品

  1. Intel(英特尔):80C31、80C51、87C51,80C32、80C52、87C52等;
  2. Atmel(艾特梅尔):89C51、89C52、89C2051,89S51(RC),89S52(RC)等;
  3. Philips(飞利浦)、华邦、Dallas(达拉斯)、Siemens(西门子)等公司的许多产品;
  4. STC(宏晶):STC89C51、STC90C51、STC11系列、STC15系列、STC8系列等。

2-3、基本组成

8051单片机通常至少具备以下功能和外设:

  • 8位CPU
  • 数据存储器(RAM:Random Access Memory,512字节(512Byte),类似于电脑的内存条)
  • 程序存储器(ROM:Read Only Memory,8K字节(8KB) Flash,类似于电脑的硬盘)
  • 4组8位共32个输入输出口
  • 5至6个中断源,分2个优先级
  • 全双工串行口
  • 工作频率:最大40MHz(本开发板使用)

2-4、命名规则

在这里插入图片描述

Figure1. 89C52RC 40I-PDIP40

在这里插入图片描述

Figure2. STC89C52RC/RD+系列单片机命名规则

STC89C52系列区分90C版本及HD版本,如何识别90C版及HID版:通过查询单片机表面文字最下面一行最后几个字母,最后几个字母为90C,则该单片机为90C版本(本开发板使用);最后几个字母为HD,则该单片机为HD版本。


3、单片机内部结构

3-1、单片机内部结构图

STC89C52系列单片机是STC推出的新一代高速/低功耗/超引强抗干扰/超低价的单片机,指令代码完全兼容传统8051单片机,12时钟每机器周期和66时钟每机器周期可以任意选择。在KeilC开发环境中,选择Intel8052编译,头文件包含<reg51.h>即可
在这里插入图片描述

Figure3. STC89C52RC单片机内部结构图

功能清单如下所示:

  1. 增强型8051单片机,6时钟每机器周期和12时钟每机器周期可任意选择,指令代码完全兼容传统8051。
  2. 工作电压:
    STC89C52系列工作电压:5.5V-3.8V(5V单片机)。
    STC89LE52系列工作电压:3.6V-2.4V(3V单片机)。
  3. 工作频率范围:0 ~ 35MHz,相当于普通8051的0 ~ 70MIHz,实际工作频率可达42MHz
  4. 片内Flash程序存储器:4K/8K/12K/14K/16K/32K/40K/48K/56K/62K字节
  5. 片上集成1280字节或512字节RAM
  6. 通用I/0口(35/39个),复位后为:P1/P2/P3/P4是准双向口/更弱上拉(普通8051传统I/O口);P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
  7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(RxD/P3.0.TxD/P3.1)直接下载用户程序,数和沙即可完成一片
  8. EEPROM功能
  9. 看门狗
  10. 内部集成MAX810专用复位电路,外部晶体20M以下时,可省外部复位电路,复位脚可直接接地。
  11. 共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用
  12. 4路外部中断,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒。
  13. 通用异步串行口(UART),还可用定时器软件实现多个UART。
  14. 工作温度范围:-40 ~ +85°C(工业级)/0~75°C(商业级)
  15. 封装:LQFP-44,PDIP-40,PLCC-44,PQFP-44。强烈推荐选择择LQFP-44贴片封装

3-2、单片机内部结构

STC89C52系列单片机的内部结构框图如所示。STC89C52单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、I/O接口、EEPROM、看门狗等模块。STC89C52系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。
在这里插入图片描述

Figure4. STC89C52RC单片机内部结构框图

3-3、单片机内部管脚图

在这里插入图片描述

Figure5. STC89C52系列90C版本的管脚图

3-4、单片机最小系统

在这里插入图片描述

Figure6. STC89C52系列单片机最小应用系统

  1. 复位电路:电容充电时相当于短路,通过C1直接链接RST引脚,随着C1不断充电,之后C1就会断路,RST连接GND,从而达到上电复位的效果。
  2. 对于最小系统而言,给单片机供电后,连接晶振电路即可运行起来,为了保证产品的稳定性,需要集成复位电路或晶振电路。

3-5、开发板介绍

在这里插入图片描述

Figure7. STC89C52系列单片机开发板

在这里插入图片描述

Figure8. STC89C52系列单片机开发板原理图

4、点亮LED

4-1、新建工程

4-1-1、创建工程文件

在这里插入图片描述

Figure9. 创建工程文件

4-1-2、选择芯片型号

在这里插入图片描述

Figure10. 选择芯片型号


4-1-3、启动文件

在这里插入图片描述

Figure11. 启动文件

4-1-4、Main

在这里插入图片描述

Figure12. Main

4-2、LED介绍

在这里插入图片描述

Figure13. LED

4-3、LED模块

在这里插入图片描述

Figure14. LED电路模块

4-3、Code

在这里插入图片描述

Figure15. LED Code

#include <REGX52.H>void main()
{/* Light Up LED0 */P2 = 0xFE; 
}

4-4、Download Code

在这里插入图片描述

Figure16. LED Code download

在这里插入图片描述

Figure17. Light one LED

5、LED Flash

5-1、新建工程

在这里插入图片描述

Figure18. 创建工程文件

5-2、创建延时函数

在这里插入图片描述

Figure19. 创建延时函数

5-3、Download code

在这里插入图片描述

Figure20. Download code

#include <REGX52.H>
#include <INTRINS.H>void Delay500ms()		//@12.000MHz
{unsigned char i, j, k;_nop_();i = 4;j = 205;k = 187;do{do{while (--k);} while (--j);} while (--i);
}void main()
{while(1){/* 1. Light Up one Led. */P2 = 0xFE;/* 2. Delay 500ms. */Delay500ms();/* 3. Light Down one Led. */P2 = 0xFF;/* 4. Delay 500ms. */Delay500ms();}
}

5-4、实验表现

LED Flash


6、流水灯

6-1、新建工程

在这里插入图片描述

Figure21. 创建工程文件

#include <REGX52.H>
#include <INTRINS.H>void Delay500ms()		//@12.000MHz
{unsigned char i, j, k;_nop_();i = 4;j = 205;k = 187;do{do{while (--k);} while (--j);} while (--i);
}void main()
{while(1){/* 1. Light Up one Led P0. */P2 = 0xFE;/* 2. Delay 500ms. */Delay500ms();/* 3. Light Up one Led P1. */P2 = 0xFD;/* 4. Delay 500ms. */Delay500ms();/* 5. Light Up one Led P2. */P2 = 0xFB;/* 6. Delay 500ms. */Delay500ms();/* 7. Light Up one Led P3. */P2 = 0xF7;/* 8. Delay 500ms. */Delay500ms();/* 9. Light Up one Led P4. */P2 = 0xEF;/* 10. Delay 500ms. */Delay500ms();/* 11. Light Up one Led P5. */P2 = 0xDF;/* 12. Delay 500ms. */Delay500ms();/* 13. Light Up one Led P6. */P2 = 0xBF;/* 14. Delay 500ms. */Delay500ms();/* 15. Light Up one Led P7. */P2 = 0x7F;/* 16. Delay 500ms. */Delay500ms();}
}

6-2、C51数据类型

在这里插入图片描述

Figure22. C51数据类型

6-3、Plus版本

在这里插入图片描述

Figure23. Plus版本

#include <REGX52.H>
#include <INTRINS.H>void Delay1ms(unsigned int xms)		//@12.000MHz
{unsigned char i, j;while(xms){_nop_();i = 2;j = 239;do{while (--i);} while (--j);xms--;}
}void main()
{while(1){/* 1. Light Up one Led P0. */P2 = 0xFE;/* 2. Delay 500ms. */Delay1ms(500);/* 3. Light Up one Led P1. */P2 = 0xFD;/* 4. Delay 500ms. */Delay1ms(500);/* 5. Light Up one Led P2. */P2 = 0xFB;/* 6. Delay 500ms. */Delay1ms(500);/* 7. Light Up one Led P3. */P2 = 0xF7;/* 8. Delay 500ms. */Delay1ms(500);/* 9. Light Up one Led P4. */P2 = 0xEF;/* 10. Delay 500ms. */Delay1ms(500);/* 11. Light Up one Led P5. */P2 = 0xDF;/* 12. Delay 500ms. */Delay1ms(500);/* 13. Light Up one Led P6. */P2 = 0xBF;/* 14. Delay 500ms. */Delay1ms(500);/* 15. Light Up one Led P7. */P2 = 0x7F;/* 16. Delay 500ms. */Delay1ms(500);}
}

参考资料

  1. 单片机
  2. STC: 1T 8051 单片机创新者, ISP/IAP 技术创新者,中华有为:除了胜利,我们已无路可走
  3. 8051 microcontroller FAQ
  4. 51单片机入门教程-2020版 程序全程纯手打 从零开始入门

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Typecho博客集成算术验证码防御垃圾评论实战指南

文章目录 Typecho实现算术验证码防御机器人垃圾评论的完整方案 背景与问题分析 技术方案设计 系统架构 技术选型 核心实现步骤 1. 创建验证码生成函数 2. 修改评论表单模板 3. 添加AJAX刷新功能 4. 创建验证码刷新接口 5. 添加评论提交验证 安全增强措施 1. 防止暴力破解 2. 增…

clonezilla 导出自动化恢复iso

clonezilla 下载及U盘工具下载 clonezilla rufus U盘写入工具ventoy U盘工具downloaddownloaddownload clonezilla 备份&#xff0c;连贯上一篇文章参考 Choose Clonezilla live (VGA 800x600) Wait for it to complete Language selection Keyboard Settings Select Mode …

深度学习模型开发部署全流程:以YOLOv11目标检测任务为例

深度学习模型开发部署全流程&#xff1a;以YOLOv11目标检测任务为例 深度学习模型从开发到部署的完整流程包含需求分析、数据准备、模型训练、模型优化、模型测试和部署运行六大核心环节。YOLOv11作为新一代目标检测模型&#xff0c;不仅延续了YOLO系列的高效实时性能&#xff…

单片机(STM32-串口通信)

一、串口通信基础概念串口通信&#xff08;Serial Communication&#xff09;是一种在计算机和外部设备之间进行数据传输的通信方式。它通过串行方式逐位传输数据&#xff0c;是最基本和常用的通信接口之一。主要特点1. 串行传输(1)数据按位顺序传输&#xff0c;一次只能传输一…

Redis学习其三(订阅发布,主从复制,哨兵模式)

文章目录9.Redis订阅与发布9.1发布订阅命令9.2示例10.Redis主从复制10.1概念10.2环境配置10.3集群搭建&#xff08;一主二从配置&#xff09;10.4使用规则&原理11.哨兵模式11.1基本概念11.2工作原理11.3使用案例12.缓存穿透,雪崩&#xff08;待拓展&#xff09;12.1缓存穿透…

跨平台 App 如何无痛迁移到鸿蒙系统?全流程实战+Demo 教程

摘要 目前&#xff0c;随着 HarmonyOS&#xff08;鸿蒙系统&#xff09;的快速发展&#xff0c;越来越多开发者和企业希望将已有的 Android、Flutter、React Native 等跨平台应用迁移到鸿蒙生态中。鸿蒙不仅具备分布式能力、原生性能和统一的开发范式&#xff0c;还提供了丰富的…

智慧后厨检测算法构建智能厨房防护网

智慧后厨检测&#xff1a;构建安全洁净厨房的智能解决方案背景&#xff1a;传统后厨管理的痛点与智慧化需求餐饮行业后厨管理长期面临操作规范难落实、安全隐患难察觉、卫生状况难追溯等痛点。传统人工巡检效率低、覆盖面有限&#xff0c;难以实现24小时无死角监管。例如&#…

LatentSync: 一键自动生成对嘴型的视频

LatentSync是什么 字节跳动与北京交通大学联合推出了全新的唇形同步框架 LatentSync&#xff0c;它基于音频驱动的潜在扩散模型&#xff0c;跳过了传统的3D建模或2D特征点提取&#xff0c;直接生成自然逼真的说话视频。 LatentSync借助Stable Diffusion强大的图像生成能力&am…

在断网情况下,网线直接连接 Windows 笔记本和 Ubuntu 服务器进行数据传输

在断网情况下&#xff0c;通过网线直接连接 Windows 笔记本 和 Ubuntu 服务器上的容器 进行数据传输&#xff0c;可以按照以下步骤操作&#xff1a;1. 物理连接 使用网线直连&#xff1a;用一根 普通网线&#xff08;直通线&#xff09; 连接 Windows 笔记本和 Ubuntu 服务器的…

机器学习17-Mamba

深度学习之 Mamba 学习笔记 一、Mamba 的背景与意义 在深度学习领域&#xff0c;序列建模是一项核心任务&#xff0c;像自然语言处理、语音识别和视频分析等领域&#xff0c;都要求模型能有效捕捉长序列里的依赖关系。之前&#xff0c;Transformer 凭借强大的注意力机制成为序列…

Java实现word、pdf转html保留格式

一、word转html 依赖&#xff1a; <properties><poi.version>5.2.3</poi.version><xhtml.version>2.0.4</xhtml.version> </properties><!--word转html--> <dependency><groupId>org.apache.poi</groupId><a…

基于51单片机和16X16点阵屏、矩阵按键的小游戏《俄罗斯方块》

目录系列文章目录前言一、效果展示二、原理分析三、各模块代码1、16X16点阵屏&#xff08;MAX7219驱动&#xff09;2、矩阵按键3、定时器0四、主函数总结系列文章目录 前言 《俄罗斯方块》&#xff0c;一款经典的、怀旧的小游戏&#xff0c;单片机入门必写程序。 有两个版本&…

Stable Diffusion Windows本地部署超详细教程(手动+自动+整合包三种方式)

Stable Diffusion Windows 本地部署超详细教程 (手动 自动 整合包三种方式) 一、引言 我们可以通过官方网站 Stability AI&#xff0c;以及 Dream Studio、Replicate、Playground AI 、Baseten 等网站在线体验 Stable Diffusion 的巨大威力。相比于集成在网络平台的 SD 或者…

sqli-labs靶场通关笔记:第29-31关 HTTP参数污染

第29关 HTTP参数污染本关设置了web应用防火墙&#xff08;WAF&#xff09;&#xff0c;利用白名单保护机制来检测和拦截恶意请求。看本关源代码。<?php //including the Mysql connect parameters. include("../sql-connections/sql-connect.php"); //disable er…

Vuex 基本概念

参照官网整理总结vuex语法。 计划日期&#xff1a; Vuex基础部分&#xff1a;2022年2月20日——2022年2月28日 Vuex源码相关实践&#xff1a;待定 Vuex拓展&#xff1a;待定 写完后&#xff0c;会发到仓库地址&#xff1a;待定 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模…

深入理解Linux文件操作:stdin/stdout/stderr与C语言文件函数全解析

目录 一、stdin、stdout 和 stderr 详解 二、文件打开方式 三、C语言文件操作函数详解 1、文件操作概述 2、文件操作函数分类表 1. 文件打开与关闭 2. 字符读写函数 3. 字符串读写函数 4. 格式化读写函数 5. 二进制读写函数 6. 文件定位函数 7. 文件状态与错误检测…

【自用】JavaSE--集合框架(一)--Collection集合体系

概述之前学的ArrayList就是集合的一种&#xff0c;是一种容器&#xff0c;可以往里面存东西&#xff0c;大小可变Collection集合体系Collection的常用方法以后Collection体系的集合都可以用下图的方法注意toArray方法的数组类型是Object&#xff0c;这样就可以接收任意类型的数…

电脑视频常用几种接口

传输信号类型 DP&#xff08;DisplayPort&#xff09;主要用于传输数字视频和音频信号&#xff0c;支持高分辨率和高刷新率。HDMI&#xff08;High-Definition Multimedia Interface&#xff09;同样传输数字音视频信号&#xff0c;但更偏向消费电子领域&#xff0c;如电视、游…

CherryStudio+playwright-mcp-server实现AI自动化

目录 1、CherryStudio安装与配置 1.1什么是CherryStudio 1.2安装 1.3配置 2、playwright-mcp-server的安装与配置 3、执行测试与结果 1、CherryStudio安装与配置 1.1什么是CherryStudio Cherry Studio 是一款集多模型对话、知识库管理、AI 绘画、翻译等功能于一体的全能 …

深入了解 find_element 方法:Web 自动化定位元素的核心​

在 Web 自动化测试领域&#xff0c;元素定位是实现各类操作的基础&#xff0c;而find_element方法正是 Selenium 等自动化工具中用于定位单个元素的核心方法。掌握它的使用技巧&#xff0c;能让我们更精准、高效地操控网页元素&#xff0c;为自动化测试脚本的编写打下坚实基础。…