注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计巧学易用单片机:从零基础入门到项目实战

巧学易用单片机:从零基础入门到项目实战

巧学易用单片机:从零基础入门到项目实战

定 价:¥119.00

作 者: 王良升
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302626893 出版时间: 2023-02-01 包装: 平装-胶订
开本: 16开 页数: 字数:  

内容简介

  单片机是一门对综合性知识要求非常高的课程,单片机的入门一直以来对初学者来讲是个老大难题,而入门后如何将这些知识运用到实际项目中,进一步提升单片机开发使用技能又是一个难题。一般来讲,实战项目带有很多技巧性,需要大量的知识和经验积累。针对这些情况,本书将从入门和实用的角度出发,全面系统的介绍单片机从入门到进阶及实战的技巧。全书包含两大部分,第一部分以单片机入门为主,通过对比8051、PIC16、MSP430、STM32多种单片机和Arduino开发平台下I/O、中断、定时器、扩展芯片、I2C总线、SPI总线及串口等外设模块的使用方式,总结介绍了一套适用于通用单片机外设的开发方法;第二部分结合实际单片机项目中的方法与技巧,从工程的角度出发,围绕读者将会面对的工程领域电路及软件开发方法、代码规范、模块化程序编写、项目基本开发流程、实用状态机编程、单片机操作系统思维方式编程、算法的本质及常用算法原理与应用场景、单片机中的数据结构、代码版本管理、基于模型开发方式实例分析与移植、Arduino开发平台介绍与基本使用方法、VS Code开发工具在单片机中的应用,让入门读者近距离感受工程项目中的开发方式。 本书适合作为电子信息类本、专科学生入门与进阶单片机知识的参考书,也可作为电子爱好者实战参考书,对于单片机或嵌入式工程师来讲也是一本不错的参考书籍。

作者简介

  王良升,长沙智能驾驶研究院电气工程师。主导参与多项整车自动驾驶电子电气方案设计与改造项目,目前主要从事自动驾驶电子电气架构的研发。主持研发工程车整车控制器、非标自动化设备整机电子电气系统、自动驾驶整车电子电气架构,拥有10年以上丰富的单片机与底层软件项目开发经验。

图书目录


入门篇
第1章经典的LED例子
1.18051单片机点亮LED
1.2PIC单片机点亮LED
1.3MSP430单片机点亮LED
1.4STM32单片机点亮LED
1.5Arduino点亮LED
第2章LED点亮例子剖析
2.1LED电路解析
2.2单片机科普
2.2.1计算机主板
2.2.2手机CPU
2.2.3单片机内部组成
2.3单片机运行程序解剖
2.3.1CPU运行程序的本质
2.3.2点亮一颗LED汇编代码剖析
第3章初学者搭建电路神器——面包板
3.1初学者使用面包板的好处
3.2面包板使用简介
3.3面包板在实际项目中的妙用
3.3.1原型电路验证
3.3.2单片机连接分立元器件或模块
3.3.3多平台、多模块系统验证
第4章开发环境搭建
4.18051单片机Keil开发环境搭建
4.1.18051单片机软件安装与编译
4.1.2STC系列8051单片机固件下载
4.2STM32单片机开发环境搭建
4.2.1STM32单片机软件安装与编译
4.2.2STM32单片机固件下载
4.3MSP430开发环境搭建
4.3.1软件安装与编译
4.3.2代码下载
4.4PIC开发环境搭建
4.4.1软件安装与编译
4.4.2PIC单片机代码下载
4.5Arduino开发环境搭建
4.5.1Arduino IDE开发环境搭建
4.5.2Arduino IDE代码下载
4.5.3MSP430 Arduino开发环境搭建
4.6Proteus仿真环境搭建
第5章I/O端口的基本输出——多变的输出控制
5.1I/O基本知识
5.1.1万物皆有电阻
5.1.2欧姆定律
5.1.3I/O专业术语
5.2单片机I/O端口输出电路内部剖析
5.2.1STC单片机I/O端口
5.2.2PIC16单片机I/O端口
5.2.3MSP430单片机I/O端口
5.2.4STM32单片机I/O端口
5.3I/O作为输出使用的几种方式
5.3.1小电流输出驱动
5.3.2电平匹配或小功率驱动
5.3.3大功率大电压驱动 
5.3.4设备工作电压远高于安全电压
第6章I/O端口的基本输入——不限于按键输入
6.1开关基础知识普及
6.1.1微动开关
6.1.2感应开关
6.1.3电容触摸开关
6.1.4人体感应模块
6.1.5普通6×6按键
6.2单片机I/O输入模式
6.2.1上拉输入
6.2.2下拉输入
6.2.3浮空输入
6.3单片机I/O端口输入电路内部剖析
6.3.18051单片机I/O输入
6.3.2PIC16单片机I/O输入
6.3.3MSP430单片机I/O输入
6.3.4STM32单片机I/O输入
6.4几种常用的输入方式
6.4.1直连单片机I/O端口
6.4.2匹配电平后连接单片机I/O端口
6.4.3超过安全电压或跨距离信号输入
第7章单片机引脚不够用——外挂扩展芯片
7.1使用扩展芯片情形及步骤
7.28051单片机驱动——8线译码器
7.38051单片机实现74HC245收发器驱动
7.48051单片机驱动74HC573锁存器
第8章中断——单片机“一心多用”却不落下重要事情
8.1生活中的中断场景
8.28051单片机外部中断
8.3PIC16单片机中断
8.4MSP430单片机中断
8.5STM32单片机中断
8.6Arduino外部中断
8.7外部中断总结
第9章不甘只为定时器——它还有很多妙用
9.18051单片机定时器
9.2PIC16定时器
9.3MSP430定时器
9.4STM32定时器
9.5Arduino定时器
9.6定时器使用总结
第10章较少引脚多做事——总线
10.1总线的诞生
10.2总线初探
10.2.1手动模拟驱动74HC595
10.2.28051单片机驱动74HC595
10.3SPI总线原理与使用
10.3.1SPI总线介绍
10.3.28051单片机驱动MCP23S08输出
10.3.38051单片机读取MCP23S08按键值
10.4I2C总线驱动PCA9554
10.4.1I2C总线简单介绍
10.4.2输出控制流水灯
10.4.3读取I2C输入数据控制LED 
第11章串口通信——单片机与外界沟通常用方式
11.1原始通信方式与基本模式
11.1.1单工通信模式
11.1.2半双工通信模式
11.1.3全双工通信模式
11.2串口通信由来
11.3串口通信单片机实现
11.3.18051单片机串口通信
11.3.2PIC16单片机串口通信
11.3.3MSP430单片机串口通信
11.3.4STM32单片机串口通信
11.3.5Arduino单片机串口通信
11.3.6串口通信总结
11.4同是串口通信,别被接口和协议弄糊涂
11.4.1串口通信物理接口
11.4.2串口通信协议
第12章非常重要却常被忽略的技能——调试
12.1使用硬件调试器
12.1.1PIC单片机调试
12.1.2MSP430单片机调试
12.1.3STM32调试
12.1.4单片机调试器使用总结
12.2一颗LED能反馈的信息众多
12.2.1定时器中断中使用LED调试
12.2.2串口通信中使用LED调试
12.2.3LED直接显示设备状态
12.3使用最方便的调试方式——串口
12.4任何时候要有快速找到解决问题的办法
12.4.1软硬件问题确定
12.4.2尽可能用熟悉的东西,找可靠渠道购买
第13章有趣的显示方式
13.1生活中的LED变形记
13.2单总线全彩灯
第14章A/D——数字与模拟世界沟通的桥梁
14.1A/D原理
14.2PIC单片机A/D
14.3MSP430单片机A/D
14.4STM32单片机A/D
14.5Arduino A/D
第15章以为只是PWM,没想到有这么多“魔法”
15.1PWM介绍
15.1.1多种方式实现PWM
15.1.2专用名词解释
15.2呼吸灯原理剖析
15.3舵机控制
15.4步进电动机控制
15.4.1步进电动机原理
15.4.2步进电动机控制实现
15.5PWM直流电动机调速
提高篇
第16章学了很多东西,实际项目中如何用——硬件部分
16.1实际项目电路与单片机入门电路差距
16.2供电电路
16.2.1开发板供电
16.2.2消费电子产品供电
16.2.3工业控制器供电
16.2.4车用控制器供电
16.2.5电源电路总结
16.3输入电路
16.3.1开发板输入电路
16.3.2工业输入电路
16.3.3车用输入电路
16.4输出电路
16.4.1工业功率输出电路
16.4.2车用功率输出电路
16.5A/D采集电路
16.5.1工业A/D输入电路
16.5.2车用A/D输入电路
16.6通信电路
16.6.1开发板通信电路
16.6.2车用通信电路
16.7对比分析总结
第17章别让单片机学习停留在点亮LED
17.1初学者单片机软件能力徘徊不前
17.2怎么改变这种现状
17.2.1项目分解能力
17.2.2程序框架搭建能力
17.2.3算法能力
17.3单片机成长捷径
17.4站在巨人的肩膀上
17.4.1Arduino平台
17.4.2开源代码托管平台
第18章要想路走得远,编程规范少不了
18.1组织结构
18.1.1工程文件组织结构
18.1.2文件夹代码组织结构
18.1.3程序结构
18.2标识符命名
18.2.1命名基本原则
18.2.2宏与常量命名
18.2.3变量命名
18.2.4函数命名
18.2.5文件命名
18.3代码排版
18.3.1代码缩进
18.3.2代码分行
18.3.3头文件
18.3.4注释排版
18.3.5代码可读性
18.4注释
18.4.1注释基本原则
18.4.2文件注释
18.4.3函数与代码注释
18.6变量、结构、常量、宏
18.7函数规范
18.7.1函数命名
18.7.2函数参数
18.8变量和结构规范
18.9宏表达式与常量规范
18.10表达式规范
第19章模块化程序编写
19.1点亮LED模块化程序改造
19.1.1.h文件编写
19.1.2.c文件编写
19.2模块化程序编写进阶
19.3打造可重复利用的软件模块
第20章多功能电子钟——项目开发基本流程
20.1项目需求
20.2项目规格说明
20.3项目总体方案
20.4项目概要设计
20.4.1硬件概要方案
20.4.2软件概要设计
20.5项目详细设计
20.6项目调试与验证
20.7项目测试
20.8项目批量阶段
第21章网红楼梯灯
21.1项目需求
21.2项目规格说明
21.3项目总体方案
21.4项目概要设计
21.4.1硬件概要方案
21.4.2软件概要方案
21.5项目详细设计
21.5.1硬件详细方案
21.5.2软件详细方案
21.6项目调试与验证
21.7项目测试
第22章状态机编程,不止于按键
22.1状态机实现按键功能 
22.2状态机基本原理与实现
22.3状态机串口接收协议
22.3.1简单版串口协议
22.3.2实用串口协议
第23章可以不用操作系统,但是要会操作系统方式编程
23.1不要被操作系统吓到,其实它也可以很简单
23.2动手写一个简单操作系统
23.2.1构造一个简单的调度器
23.2.2任务更新与启动
23.3与市面主流系统对比
第24章算法和程序是两码事
24.1程序和算法
24.1.1算法本质
24.1.2程序本质及与算法之间联系
24.2单片机项目中的典型算法
24.2.1滤波算法
24.2.2PID算法
24.2.3校验算法
24.3别在程序上花太多时间,算法才是值得付出的
第25章Windows和单片机平台算法对比
25.1贪吃蛇
25.1.1贪吃蛇游戏实现要点
25.1.2贪吃蛇原理解析
25.2Windows系统下贪吃蛇代码解析
25.2.1游戏区域初始化
25.2.2绘制食物与蛇身
25.2.3检测蛇碰撞
25.2.4蛇吃食物
25.2.5蛇身移动坐标更新
25.2.6蛇身变换方向
25.3单片机实现贪吃蛇
25.3.1游戏变量与宏定义
25.3.2复位蛇身与游戏开始
25.3.3按键检测与设定蛇运动方向
25.3.4蛇身移动坐标更新
25.3.5吃食物检测
25.3.6产生新食物
25.3.7碰撞检测
25.3.8显示蛇与食物
25.4俄罗斯方块
25.4.1俄罗斯方块类型
25.4.2方块下落显示区域
25.4.3预览方块和分数显示
25.4.4按键检测和移动方块
25.4.5旋转方块
25.4.6方块消除
第26章数据结构——感受不到你的存在
26.1链表——多任务调度
26.1.1单向链表
26.1.2双向链表
26.2队列——通信缓冲
26.2.1环形队列基本操作
26.2.28051单片机队列操作示例
26.2.3队列操作在实时系统中的应用
第27章代码版本工具——让代码管理更规范
27.1混乱的代码管理方式
27.1.1复制粘贴——标题命名法
27.1.2复制粘贴——日期管理法
27.3使用工具科学管理代码,让重复的代码不再重复
27.3.1代码管理软件介绍
27.3.2代码管理软件安装
27.3.3代码管理软件打开与使用
27.4Git科普及作用
27.4.1Git简介
27.4.2Git能够解决的问题
27.4.3Git实现原理
第28章不用写一行代码的开发方式——基于模型开发
28.1一个基于模型的简单例子
28.2当你以写代码为荣时,殊不知正在被机器悄悄取代
28.3任意单片机使用基于模型开发
28.3.18051单片机使用Simulink模型开发
28.3.2Simulink生成模型代码简单剖析
28.3.3其他单片机模型移植
28.4基于模型开发方式进阶思考
第29章打造实用的Arduino平台
29.1打造个人的Arduino开发平台
29.1.1添加Arduino支持的单片机类型
29.1.2添加Arduino软件库
29.2Arduino IDE多文件工程建立
29.3多种仿真平台总有一个适合你
29.3.1使用Proteus仿真Arduino
29.3.2在线TinkerCAD仿真
29.3.3使用在线Wokwi仿真
第30章万能开发工具VS Code
30.1VS Code简介
30.2VS Code开发环境搭建
30.3单片机开发平台PlatformIO
30.3.1添加PlatformIO扩展插件
30.3.2PlatformIO新建8051单片机工程
30.3.3PlatformIO新建Arduino工程
 

本目录推荐