版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式微控制器原理及设计基于STM32及Proteus仿真开发(第2版)毕盛编著电子工业出版社ISBN978-7-121-52559-9以STM32F103R6芯片为核心|配合Proteus仿真开发从底层硬件到上层操作系统的完整知识体系书籍基本信息书名嵌入式微控制器原理及设计副标题基于STM32及Proteus仿真开发(第2版)作者毕盛等编著出版社电子工业出版社ISBN978-7-121-52559-9定价49.00元页数约228页出版时间2026年(新版第2版)核心定位本书以STM32F103R6芯片为核心载体,配合Proteus仿真软件,系统讲解嵌入式微控制器的原理与设计方法。全书涵盖三大层面:①基础理论:嵌入式系统概念、ARM体系结构②硬件与软件:最小系统、开发环境、库函数③接口技术:GPIO、中断、串口、定时器、ADC、DMA等每章均配有Proteus仿真开发实例,实现零硬件成本的学习体验。02全书内容架构基础理论层第1章嵌入式系统与微控制器—概念、发展历史、芯片类型第2章微控制器体系结构及汇编语言—Cortex-M3内核、指令集、寻址方式硬件与软件层第3章微控制器硬件系统—最小系统、时钟、低功耗第4章微控制器软件开发—C语言、库函数、开发工具接口与系统层第5-11章接口技术GPIO/中断/串口/定时器ADC/DMA/I2C/CAN/USB第12章嵌入式操作系统—Linux/RT-Thread/μC/OS学习路径:理论奠基→软硬结合→接口实战→系统进阶01理解概念嵌入式系统定义、特点、应用领域02掌握架构ARMCortex-M3内核、寄存器、指令集03动手实践Proteus仿真、GPIO/中断/串口编程04综合提升ADC/DMA高级接口、操作系统移植0301嵌入式系统与微控制器嵌入式系统核心概念定义:以应用为中心、计算机技术为基础,软硬件可裁剪的专用计算机系统四大特点:功耗低、体积小、专用性强、软硬件可裁剪硬件最小系统:电源电路+复位电路+时钟电路存储体系:RAM(SRAM/DRAM)+ROM(Flash/EEPROM)嵌入式芯片四大类型MCU(微控制器):单片化,集成RAM/Flash/外设,适合控制类应用MPU(微处理器):外接DDR/NANDFlash,可运行Linux/AndroidDSP(数字信号处理器):集成硬件乘法器,适合运算密集型任务SOC(片上系统):如FPGA,可通过硬件逻辑语言实现自定义功能微控制器发展历史与趋势发展历程:8051(1980s)→AVR/PIC/MSP430(1990s)→ARMCortex-M(2000s)→RISC-V开源架构(近年)Cortex-M系列演进:M0(最低功耗)→M3(主流,如STM32F103)→M4(含DSP/FPU)→M7(高性能)→M55/M85(AI+Helium技术)五大发展趋势:①网络化(IoT无线接入)②高集成化(SoC理念)③多核化(异构大小核)④内核开发集成化(IP核复用)⑤智能化(TinyML边缘AI)0402微控制器体系结构及汇编语言Cortex-M3内核架构哈佛结构:独立的指令总线(I-Code)和数据总线(D-Code),取指与数据访问并行三级流水线:取指(Fetch)→解码(Decode)→执行(Execute)4种总线:I-Code/D-Code/系统总线/私有外设总线(APB)寄存器组:R0-R12通用寄存器+R13双堆栈指针(MSP/PSP)+R14链接寄存器(LR)+R15程序计数器(PC)存储器映射:4GB统一地址空间,支持大端/小端模式操作模式与异常机制两种操作模式:处理者模式(Handler)—异常服务例程专用线程模式(Thread)—普通应用程序代码两级特权:特权级(全访问)/用户级(受限访问)异常系统:15个内置异常+240个外部中断源MPU:可选存储器保护单元,最多8个保护区域汇编指令系统9种寻址方式:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址指令类别:存储器访问(LDR/STR)、数据处理(MOV/ADD/SUB/AND)、乘法(MUL/MLA)、分支(B/BL/BX)、软中断(SWI)、状态寄存器访问(MRS/MSR)Thumb-2指令集:16/32位混合指令,代码密度高、执行效率优,是Cortex-M3的默认指令集0503微控制器硬件系统内部结构与总线Cortex-M3内核通过AHB总线矩阵连接各模块APB2:高速外设(72MHz)—USART1/SPI1/TIM1/ADC/GPIOAPB1:低速外设(36MHz)—USART2-5/SPI2/I2C/CAN/USB/TIM2-74GB地址空间:代码区/SRAM区/外设区/保留区最小系统电路电源电路:VDD(2.0-3.6V)+VDDA(模拟电源)+VBAT(备份电源)复位电路:系统复位/电源复位/备份域复位三种形式时钟源:HSE(4-16MHz高速外部)+LSE(32.768kHz低速外部)+HSI(8MHz内部)+LSI(40kHz内部)+PLL(锁相环倍频)下载与启动配置调试接口:JTAG(5线)/SWD(2线)串行调试三种启动模式:Flash启动(BOOT0=0)—正常运行系统存储器(BOOT0=1,BOOT1=0)—ISP串口下载SRAM启动(BOOT0=1,BOOT1=1)—调试时钟管理与低功耗模式时钟管理单元:系统时钟SYSCLK经AHB分频器产生HCLK(72MHz),再经APB1/APB2分频器分配给各外设。定时器时钟根据APB分频系数自动倍频。三种低功耗模式对比:睡眠模式—CPU停止,外设运行,任意中断唤醒,程序从中断点继续停止模式—所有时钟关闭,SRAM/寄存器保留,外部中断唤醒,需重新配置时钟待机模式—1.8V区域断电,SRAM丢失,仅备份域保留,WKUP/RTC/复位唤醒,程序从头执行0604微控制器软件开发嵌入式C语言核心要点位操作:&清零、|置位、^取反、<<左移、>>右移—寄存器操作的核心技能volatile:禁止编译器优化,确保硬件寄存器每次都被真实读取const:只读变量,编译器将其存放于Flash节省RAMstatic/extern:控制变量/函数的作用域和链接属性内存分配:静态存储区(全局/static)/栈(局部变量)/堆(malloc动态分配)三种开发库对比维度STD库HAL库LL库抽象层次中等高低代码效率中等较低高易用性中等高较低开发环境与工具链CMSIS标准:ARM与芯片厂商共同制定的硬件抽象层标准,确保软件跨芯片兼容性,包含内核函数层和外设访问层MDK(Keil):集成IDE+编译器+调试器,支持Cortex-M全系列,与STM32CubeMX无缝连接VSCode+ARMGCC+OpenOCD:开源免费方案,高度可定制,跨平台支持STM32CubeMX:图形化配置工具,自动生成初始化代码,支持引脚冲突检测和功耗预测Proteus:虚拟仿真环境,支持STM32F103等处理器模型,实现零硬件开发调试0705GPIO通用输入输出接口GPIO内部结构与功能模式每个GPIO端口有7个寄存器:CRL/CRH(配置)、IDR(输入数据)、ODR(输出数据)、BSRR(置位/复位)、BRR(复位)、LCKR(锁定)输入模式:浮空输入、上拉输入、下拉输入、模拟输入输出模式:推挽输出(PMOS+NMOS驱动)、开漏输出(需外接上拉)复用功能:复用推挽输出、复用开漏输出—供片内外设使用四种开发方式对比寄存器方式:直接操作寄存器,最高效但最繁琐例:GPIOA->CRL|=0x08;GPIOA->CRL&=~0x07;STD库:封装寄存器操作,函数调用便捷例:GPIO_Init(GPIOA,&GPIO_InitStruct);HAL库:高度抽象,配合CubeMX使用例:HAL_GPIO_Init(GPIOA,&GPIO_InitStruct);LL库:静态内联函数直接操作寄存器,兼顾效率与可读性综合应用实例实例1—按钮控制LED:PA0输入检测按钮状态,PB0输出控制LED亮灭。通过寄存器/STD库/HAL库/LL库四种方式分别实现同一功能,帮助读者理解不同开发层次的差异。实例2—数码管动态显示:PA0-PA7连接数码管段码(A-G+DP),PB0-PB3连接4个数码管位选。利用人眼视觉暂留效应,以1-2ms间隔轮流点亮各数码管,实现"2021"数字的稳定显示。实例3—行列式键盘扫描:2x2键盘矩阵,行线配置为输出,列线配置为下拉输入。依次给每行输出高电平,检测列线电平变化判断按键位置,控制对应LED亮灭。0806中断系统中断体系结构76个中断源:10个内核异常(Reset/NMI/HardFault等)+66个外部中断NVIC(嵌套向量中断控制器):7组核心寄存器—ISER/ICER(使能控制)、ISPR/ICPR(挂起控制)、IABR(激活状态)、IPR(优先级)、STIR(软件触发)SCB(系统控制块):SHPR(系统处理优先级)、SHCSR(使能控制)、CFSR/HFSR(故障状态)优先级管理与EXTI两级优先级:抢占优先级(可嵌套)+响应优先级(仅决定同抢占级下的处理顺序)4位优先级分组(5种):第0组(0:4)到第4组(4:0),通过NVIC_PriorityGroupConfig()设置,一个程序只能设定一次EXTI外部中断:19条中断线(EXTI0-EXTI15对应GPIO,EXTI16=PVD,EXTI17=RTC闹钟,EXTI18=USB唤醒)中断vs事件:中断需CPU参与执行ISR;事件由硬件自动完成,不占用CPU应用实例:按键中断控制LED实例1—单按键中断:PA0配置为外部中断输入(上升沿触发),NVIC使能EXTIline0。在HAL_GPIO_EXTI_Callback()回调函数中翻转PB0状态,实现每次按键LED反转,并清除中断标志位。实例2—双按键中断嵌套:PA0(按键1)和PA1(按键2)均为外部中断,按键1抢占优先级0(最高),按键2抢占优先级3(较低)。当处理按键2中断时,按键1可打断并优先执行,完成后返回继续处理按键2,演示真正的中断嵌套机制。0907串行通信串行通信基础异步通信:起始位(0)+7-9数据位+校验位+1-2停止位(1),双方波特率必须一致同步通信:统一时钟驱动,无起始/停止位,效率高传输方式:单工(单向)/半双工(分时双向)/全双工(同时双向)三种接口:UART(异步全双工)/USART(同步+异步)/SPI(同步全双工,主从架构)USART与SPI详解USART:波特率可达2Mbit/s,支持8/9位字长、奇偶校验、1/2停止位、硬件流控制(nCTS/nRTS)。扩展模式:LIN/智能卡/IrDA/半双工/多处理器通信SPI:4线接口(MOSI/MISO/SCK/NSS),主模式控制时钟,支持软件NSS管理多从设备。数据可按MSB/LSB传输,波特率预分频2-256工业接口与无线通信RS-232:逻辑1(-15~-3V)/逻辑0(+3~+15V),需MAX232电平转换,DB-9接口,传输距离约15mRS-485:差分信号(+2~+6V为0,-6~-2V为1),抗干扰强,半双工总线拓扑,最多32节点,距离可达1219m,适合工业环境无线通信模块(均通过串口AT指令控制):GPRS(MC35)—蜂窝网络数据传输|蓝牙(SPP协议)—短距离无线串口Wi-Fi(ESP8266)—内置TCP/IP协议栈|ZigBee—低功耗短距离组网星闪(SparkLink)—中国原生无线技术,SLE低功耗+SLB高性能双模1008定时器定时器分类与功能高级定时器TIM1:16位,4捕获/比较通道,互补PWM输出(带死区),刹车输入,重复计数器—专为电机控制设计通用定时器TIM2/TIM3:16位,4通道,支持输入捕获/输出比较/PWM/单脉冲模式,增量编码器接口特殊定时器:SysTick(系统滴答,OS心跳)/IWDG(独立看门狗)/WWDG(窗口看门狗)/RTC(实时时钟)计数模式与PWM原理三种计数模式:向上计数:0→ARR→溢出→0向下计数:ARR→0→下溢→ARR中央对齐:0→ARR-1→溢出→1→下溢→0PWM占空比=CCR/(ARR+1)×100%计数器CNT与比较值CCR比较,决定输出电平高低时钟源:内部时钟(CK_INT)/外部时钟模式1(TIx)/外部时钟模式2(ETR)/内部触发(ITRx)应用实例定时功能:TIM1定时0.1s控制LED闪烁。Prescaler=7200-1(分频至10kHz),Period=1000-1(计数1000次=0.1s),支持查询和中断两种方式检测定时到达。计数功能:TIM1_ETR(PA12)作为外部输入计数源,对按键按下次数进行计数,通过串口输出计数值。输入捕获:TIM3_CH1(PA6)捕获按键按下脉冲宽度,72分频后计数精度1μs,结合定时器溢出次数计算总脉宽时间。PWM输出:TIM3_CH2(PA7)输出PWM控制电机转速。36分频+周期1000,通过调整CCR值改变占空比,实现电机无级调速。1109ADC模数转换ADC模块架构2个12位ADC(ADC1/ADC2),分辨率1/4096≈0.8mV(3.3V参考电压下)18个模拟通道:16个外部通道(ADC_IN0-IN15)+2个内部通道(温度传感器/内部参考电压)转换原理:逐次逼近型(SAR),通过二分搜索逐步逼近输入电压值数据对齐:左对齐/右对齐(12位数据存放在16位寄存器中)工作模式与通道类型四种工作模式:单次转换—启动一次转换后停止连续转换—完成一次自动启动下一次扫描模式—按顺序转换多个通道间断模式—将通道分组分批转换规则通道:常规ADC转换序列,最多16个注入通道:可打断规则通道的优先转换,最多4个采样时间:1.5~239.5个ADC时钟周期可配置,影响转换精度与速度应用实例:滑动变阻器电压采集查询方式:配置ADC1_IN0(PA0)为模拟输入,启动转换后循环查询EOC标志位,读取DR寄存器获取12位转换结果,通过公式V=ADC_Value×3.3/4095计算实际电压值,串口输出显示。中断方式:使能ADC转换结束中断(EOC),转换完成后自动进入ADC_IRQHandler()中断服务函数,在中断中读取转换结果并启动下一次转换,主程序无需轮询等待。温度传感器应用:读取内部温度传感器通道(ADC1_IN16),利用公式T=(V25-Vsense)/Avg_Slope+25计算芯片内部温度,实现过温监测功能。1210DMA直接存储器存取DMA工作原理DMA控制器可在无需CPU干预的情况下,直接在内存与外设之间传输数据,大幅减轻CPU负担DMA1:7个通道,连接ADC/SPI/I2C/USART/TIM等外设DMA2:5个通道(仅存在于大容量产品)传输方向:外设→存储器/存储器→外设/存储器→存储器传输宽度:字节(8bit)/半字(16bit)/全字(32bit)通道配置与传输模式通道优先级:4级—最高/高/中/低,软件配置,同优先级时通道号低者优先Normal模式:传输指定数量数据后停止,需重新配置才能再次传输Circular模式:传输完成后自动重新加载,持续循环传输,适合ADC连续采集等场景中断事件:传输完成(TCIF)/半传输完成(HTIF)/传输错误(TEIF)应用实例实例1—ADC数据采集DMA方式:配置DMA1_Channel1连接ADC1,Circular循环模式,将ADC连续转换的结果自动传输到内存数组中。CPU只需在需要时读取数组数据,无需参与每次ADC转换的数据搬运,实现真正的后台数据采集。实例2—串口发送DMA方式:配置DMA1_Channel4连接USART1_TX,Normal模式,将待发送的数据缓冲区内容自动传输到USART发送寄存器。传输完成后触发TC中断,在中断中可准备下一批数据。相比查询方式,CPU可在DMA传输期间执行其他任务。1311其他接口(I2C/CAN/USB)I2C总线二线制同步串行总线SDA(数据线)+SCL(时钟线)特点:多主从架构,每个设备有唯一7位地址,支持总线仲裁,标准模式100kbit/s,快速模式400kbit/s应用:连接EEPROM(24C02)、传感器、OLED显示屏等实例:模拟I2C时序实现EEPROM的读写操作CAN总线控制器局域网总线多主串行通信协议特点:差分信号(CAN_H/CAN_L),最高1Mbit/s,内置CRC校验和错误处理,优先级仲裁机制(标识符越小优先级越高)四种帧类型:数据帧/远程帧/错误帧/过载帧应用:汽车电子、工业自动化USB接口通用串行总线三种模式:Host(主机)/Slave(从机,需外部PHY)/OTG(双角色切换)四种传输类型:控制传输/批量传输/中断传输/同步传输应用:USB转串口、U盘读写、HID设备(键盘/鼠标)三种总线对比特性I2CSPICANUSB信号线数2422最高速率400kbit/s几十Mbit/s1Mbit/s480Mbit/s典型应用传感器/EEPROMFlash/显示屏汽车/工业PC外设/存储1412嵌入式操作系统大型嵌入式操作系统(面向MPU)共同特征:需要MMU内存管理单元支持,内核体积大,功能全面Linux:开源、生态丰富、支持多用户多任务,需外接DDRSDRAM+NANDFlash鸿蒙(HarmonyOS):分布式架构、一次开发多端部署、微内核设计Android:基于Linux内核,面向移动设备,应用生态庞大VxWorks:硬实时、高可靠性,广泛应用于航空航天和军事领域小型嵌入式操作系统(面向MCU)共同特征:无需MMU,内核极小(2KB-10KB),适合资源受限MCURT-Thread:国产开源RTOS,内核3KB,组件丰富,社区活跃FreeRTOS:全球最流行的开源RTOS,内核4-9KB,市场占有率高μC/OS-II:经典教学RTOS,内核仅2KB,抢占式调度,最多64个任务核心机制:任务调度(优先级/时间片)、任务间通信(信号量/消息队列/邮箱)、中断管理、时钟管理物联网操作系统与实时性嵌入式小型物联网操作系统:在RTOS基础上集成网络协议栈(TCP/IP、MQTT、CoAP、LwIP)和物联网组件(OTA升级、云连接、安全加密)代表系统:华为LiteOS(1+N架构,1个内核+N个组件)/阿里AliOSThings(云端一体)/腾讯TencentOSTiny实时性核心指标:可预测性—任务响应时间确定,不受系统负载影响可靠性—任务在规定时间内完成,满足deadlines调度策略—抢占式优先级调度+时间片轮转调度1513综合设计实例嵌入式系统开发流程需求分析:明确功能需求(系统"做什么")、性能需求(响应速度/精度)、成本需求(开发+量产)、规格需求(尺寸/功耗)方案设计:确定硬实时/软实时系统类型,软硬件划分决策,核心元器件选型,分层架构设计具体开发:PCB制板与焊接,搭建交叉开发环境,代码编写与编译链接,JTAG/SWD下载调试系统测试:硬件功能测试+信号完整性/EMC测试,软件黑盒/白盒/灰盒测试,软硬件协同集成测试分层软件架构硬件层:STM32芯片、DHT11传感器、按键S1、LED指示灯D1/D2、串口—负责电信号采集与输出驱动硬件抽象层:封装GPIO/定时器/中断/USART寄存器操作,提供统一硬件访问接口,屏蔽底层差异驱动层:DHT11驱动(单总线时序+数据解析)、按键驱动(中断+去抖)、LED驱动(亮灭控制)、串口驱动(数据发送)应用层:主状态机(停止/运行/报警三状态流转)、报警判断逻辑(温度30℃/湿度50%RH阈值)、500ms任务调度器实例:温湿度自动检测与报警系统系统功能:按键S1(PA0)控制系统启停,DHT11(PB6)以500ms周期采集温湿度,超阈值(温度>30℃或湿度>50%RH)时D2(PB0)红灯报警+串口发送"B",恢复正常后自动解除报警。三状态有限状态机:SYSTEM_STOPPED(停止)—上电初始状态,所有外设关闭,D1/D2熄灭,等待S1按键→进入RUNNINGSYSTEM_RUNNING(运行)—D1绿灯点亮,500ms定时采集DHT11数据,持续环境监测→超阈值进入AL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年北师大版初中语文下册第4单元同步练习题及答案
- 病房整洁率课件
- 高中信息技术教学设计:项目二 2.1 从树牌号认识编码
- 2026大学第四学年(土木工程)施工资格考试试题及答案
- 湘教版八年级地理下册第六章第三节《东北地区的产业布局》导学案教学设计
- 初中九年级历史中考冲刺复习教学设计:一叶茶香里的民族交融-茶文化茶贸易与统一多民族国家发展
- 小学五年级音乐“锦鸡出山”民族器乐欣赏教学设计
- 七年级道德与法治结合班会综合实践弟子规《入则孝》教学设计
- 病房消毒隔离管理课件
- 车铣复合加工中心安全操作规程
- 宝安区老虎坑垃圾焚烧发电厂三期工程环境影响评价报告
- 全国大学生职业规划大赛《法学》专业生涯发展展示【获省级一等奖】
- 英语读书会三分钟分享
- 内勤人员管理办法
- TSG-21-2016-固定式压力容器安全技术监察规程
- T/CHATA 016-2021结核菌素皮肤试验-γ干扰素释放试验两步法的操作技术规范
- 银行网点保洁服务流程与标准
- 材料成型工艺基础课件:焊接成形工艺基础
- 担保物权课件教学课件
- 中国银行同业定期存款合同书
- 学校中层干部管理培训
评论
0/150
提交评论