图书介绍

匠人手记:一个单片机工作者的实践与思考PDF|Epub|txt|kindle电子书版本网盘下载

匠人手记:一个单片机工作者的实践与思考
  • 张俊编著 著
  • 出版社: 北京:北京航空航天大学出版社
  • ISBN:9787811242973
  • 出版时间:2008
  • 标注页数:367页
  • 文件大小:21MB
  • 文件页数:393页
  • 主题词:单片微型计算机

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

匠人手记:一个单片机工作者的实践与思考PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 入门基础3

手记1 单片机入门知识与基本概念3

手记2 单片机的汇编指令系统22

手记3 编程思路漫谈40

手记4 程序设计阶段漫谈54

手记5 MC68HC908应用札记58

手记6 天梯——MSP430学习札记73

手记7 EMC单片机指令应用的误区与技巧85

手记8 EMC单片机的伪指令与宏的应用89

第二部分 经验技巧103

手记9 10种软件滤波方法103

手记10 一阶滤波算法之深入研究121

手记11 分段线性插值算法之深入研究137

手记12 移位法在乘除运算及数制转换中的妙用142

手记13 按键漫谈155

手记14 单键多击的检测程序166

手记15 串口七日之创世纪篇171

手记16 用普通I/O口实现单线单工通信185

手记17 用普通I/O口检测模拟值189

手记18 功率调节与过零检测203

第三部分 设计案例211

手记19 梦幻时钟摇摇棒大揭秘211

手记20 汽车组合仪表开发手记234

手记21 空调遥控器开发手记284

手记22 手机锂电池充电器设计白皮书303

第四部分 网络杂文313

手记23 《大话篇》系列313

手记24 《匠人夜话》系列322

手记25 匠人的论坛文集333

手记26 匠人的博客文集343

手记27 21ICBBS人物志350

手记28 《网络心路》之匠人版(连载)358

第一部分 入门基础3

手记1 单片机入门知识与基本概念3

一、前言3

二、单片机系统3

三、存储器4

四、I/O口5

五、堆栈6

六、定时/计数器8

七、中断9

八、复位11

九、看门狗14

十、时钟电路和振荡源16

十一、脉宽调制(PWM)17

十二、模拟/数字转换(ADC)18

十三、串行通信20

十四、后记21

手记2 单片机的汇编指令系统22

一、前言22

二、汇编语言的前世今生22

三、汇编指令的有关概念23

四、汇编指令的寻址方式24

五、汇编指令的分类26

六、指令分解图的介绍与应用28

七、后记29

手记3 编程思路漫谈40

一、前言40

二、程序的基本结构40

三、模块化的程序结构41

四、模块的事件驱动机制41

五、顺序调度机制与优先调度机制42

六、中断与前/后台的程序结构43

七、时间片与分时调度机制44

八、多进程并行运行机制46

九、多工序程序结构46

十、基于状态机思路的程序调度机制49

十一、更复杂的状态结构52

十二、后记53

手记4 程序设计阶段漫谈54

一、前言54

二、方案制定阶段54

三、程序设计阶段55

四、代码编写阶段55

五、程序调试阶段56

六、程序维护阶段56

手记5 MC68HC908应用札记58

一、前言58

二、C语言中嵌入汇编的7种方式58

三、C语言中数制的表示方式59

四、循环体的3种写法59

五、关于复位及中断的入口地址60

六、对被调函数的说明(声明)60

七、对中文的支持60

八、中断定义有两种方法61

九、数据类型62

十、定义寄存器方法62

十一、位的定义与使用62

十二、数据结构65

十三、工程文件系统介绍65

十四、I/O口使用注意事项65

十五、关于强制类型转换66

十六、中断的使用方法66

十七、定时器中断频率的计算67

十八、如何产生LST文件68

十九、工程文件的组织方法69

二十、mon08的仿真模式的断点70

二十一、关于mon08调试的频率71

二十二、关于运算中需要注意的问题71

二十三、PLL功能的启动方式71

二十四、后记72

手记6 天梯——MSP430学习札记73

一、缘起73

二、关于EZ430-F2013仿真器74

三、MSP430结构与特点74

四、快速开始——玩转EZ430-F2013的7个步骤75

五、EZ430-F2013仿真器的解剖及改装79

六、EZ430-F2013调试备忘81

七、后记84

手记7 EMC单片机指令应用的误区与技巧85

一、前言85

二、减法指令的误区85

三、查表(散转)指令的误区86

四、关于“MOV R,R”指令87

手记8 EMC单片机的伪指令与宏的应用89

一、前言89

二、伪指令与宏的优点89

三、位操作类宏89

四、条件分支结构类宏91

五、中断压栈与出栈类宏95

六、散转结构与表格的防溢保护方法96

七、跨页调用与跳转类宏96

八、显示段码表的的预定义方法98

九、后记100

第二部分 经验技巧103

手记9 10种软件滤波方法103

一、前言103

二、限幅滤波法103

三、中位值滤波法105

四、算术平均滤波法107

五、递推平均滤波法108

六、中位值平均滤波法110

七、递推中位值平均滤波法112

八、限幅平均滤波法113

九、一阶滞后滤波法115

十、加权递推平均滤波法116

十一、消抖滤波法117

十二、后记119

手记10 一阶滤波算法之深入研究121

一、前言121

二、原理与公式121

三、源程序122

四、滤波效果分析123

五、不足与优化125

六、实例应用128

手记11 分段线性插值算法之深入研究137

一、前言137

二、分段线性插值法的原理137

三、分段线性插值法的公式138

四、分段线性插值法的应用步骤138

五、分段线性插值法的程序139

手记12 移位法在乘除运算及数制转换中的妙用142

一、前言142

二、巧用移位法进行多字节乘除计算143

三、巧用移位法进行数制转换148

四、后记153

手记13 按键漫谈155

一、前言155

二、按键时序分析155

三、常见按键类型分析156

四、常见按键类型的判别方法157

五、多种按键类型的处理流程160

六、后记162

手记14 单键多击的检测程序166

一、前言166

二、设计思路166

三、流程图168

四、源程序169

手记15 串口七日之创世纪篇171

一、前言171

二、第一日171

三、第二日174

四、第三日176

五、第四日178

六、第五日180

七、第六日181

八、第七日184

手记16 用普通I/O口实现单线单工通信185

一、前言185

二、单线单工通信协议185

三、关于波特率自适应的处理185

四、从机通信接收程序的流程图及说明186

五、后记188

手记17 用普通I/O口检测模拟值189

一、前言189

二、电阻类模拟信号的检测(温度的检测)189

三、电压类模拟信号的检测196

四、电容类模拟信号的检测(电容式触摸键的检测)198

五、后记202

手记18 功率调节与过零检测203

一、前言203

二、移相触发203

三、过零触发204

四、过零信号检测205

第三部分 设计案例211

手记19 梦幻时钟摇摇棒大揭秘211

一、前言211

二、硬件电路的制作211

三、字库的制作213

四、按键功能说明215

五、源程序216

手记20 汽车组合仪表开发手记234

一、前言234

二、项目概述234

三、仪表电机原理与控制235

四、程序概述241

五、计程处理248

六、车速处理251

七、转速处理255

八、档位处理256

九、模拟信号的A/D转化处理257

十、按键处理257

十一、LCD显示处理262

十二、故障报警与指示274

十三、点火器开关控制与低功耗处理282

十四、其他程序模块283

十五、后记283

手记21 空调遥控器开发手记284

一、前言284

二、项目概述284

三、按键处理287

四、跳线检测292

五、红外发码控制293

六、LCD显示处理301

七、空调遥控器原理图301

手记22 手机锂电池充电器设计白皮书303

一、前言303

二、锂(Li-Ion)电池特性303

三、充电器的软件控制流程305

四、充电器的硬件电路308

五、后记310

第四部分 网络杂文313

手记23 《大话篇》系列313

一、前言313

二、大话篇之一313

三、大话篇之二314

四、大话篇之三315

五、大话篇之四315

六、大话篇之五316

七、大话篇之六317

八、大话篇之七317

九、大话篇之八318

十、大话篇之九318

十一、大话篇之十319

十二、大话篇之十一319

十三、大话篇之十二——《六一特别节目》319

手记24 《匠人夜话》系列322

一、吃软?还是吃硬?322

二、你为谁打工?322

三、当机会来临时,你准备好了吗?323

四、鸡头?还是凤尾?323

五、领先同伴比超越自己更重要!324

六、不怕菜鸟,就怕懒虫!324

七、机会在于把握325

八、35岁危机,逃无可逃!326

九、别拿名词来唬人!326

十、新手三忌!327

十一、我们是Byte的奴隶?327

十二、如何提高工程部团队战斗力328

十三、枪手的新行规!329

十四、新技术催生的“廉价”时代!330

十五、有心栽花,无意插柳331

十六、如何评估开发费331

十七、被人惦记的感觉真好332

手记25 匠人的论坛文集333

一、程序人生333

二、魔鬼定律335

三、“高手”的阐释336

四、四种懒人——关于C与ASM之争337

五、旧电脑的用途60招337

六、公道在人心341

七、七年之痒——写在升任21ICBBS站长之际342

手记26 匠人的博客文集343

一、匠人语录343

二、俺只是一个网络上的放羊娃344

三、岁月如歌——记《匠人的百宝箱》开通一周年345

四、网络化生存之匠人版346

五、《流星花园》之匠人版348

六、《匠人的百宝箱》博客名趣事349

七、大话篇新传——匠人是如何变成21ICBLOG系统管理员的349

手记27 21ICBBS人物志350

一、前言350

二、hotpower篇350

三、雁舞白沙篇351

四、柔月篇351

五、highway篇352

六、CCCP篇352

七、老王篇353

八、电子小虫篇353

九、刀客篇354

十、万寿路篇354

十一、碧水长天篇355

十二、忘情天书篇355

十三、张明峰篇356

十四、平凡篇356

十五、zenyin篇357

十六、附记:匠人自传篇357

手记28 《网络心路》之匠人版(连载)358

一、缘起358

二、接触359

三、包装359

四、练级360

五、升级361

六、放火361

七、交友362

八、博起363

九、自娱363

十、网赚364

十一、出走364

十二、未来365

后记366

参考文献367

图1.1 单片机系统方框图4

图1.2 单片机内部功能扩展示意图4

图1.3 汉诺塔示意图7

图1.4 压栈示意图8

图1.5 出栈示意图8

图1.6 中断嵌套处理示意图10

图1.7 MCS-51芯片复位信号11

图1.8 MCS常见复位电路(高电平有效)12

图1.9 简易复位电路(低电平有效)13

图1.10 防电源抖动复位电路(低电平有效)13

图1.11 残余电压保护复位电路(低电平有效)13

图1.12 施密特特性复位电路(低电平有效)14

图1.13 掉电预警复位电路(低电平有效)14

图1.14 看门狗示意图14

图1.15 基于CD4060芯片的看门狗电路15

图1.16 MAX813L方框图16

图1.17 晶振电路17

图2.1 MCS-51系统MOV指令图解26

图2.2 MCS-51系统加减法指令图解27

图2.3 MCS-51系统双操作数逻辑运算指令图解27

图2.4 MCS-51系统数值比较转移指令图解28

图2.5 MCS-51系统位操作指令图解28

图2.6 PIC低级单片机指令分解图30

图2.7 PIC中级单片机指令分解图31

图2.8 PIC高级单片机指令分解图32

图2.9 EMC 8-bit单片机指令分解图33

图2.10 HOLTEK 8-bit单片机指令分解图34

图2.11 SONIX 8-bit单片机指令分解图35

图2.12 SICMA 8-bit单片机指令分解图36

图2.13 JAZTEK 8-bit单片机指令分解图37

图2.14 MCS-51系列单片机指令分解图38

图2.15 MC68HC08系列单片机指令分解图39

图3.1 基本程序结构41

图3.2 模块化程序结构42

图3.3 功能模块的程序结构42

图3.4 顺序调度机制43

图3.5 优先调度机制43

图3.6 前/后台程序结构44

图3.7 主程序中采取分时调度结构45

图3.8 子程序中采取分时调度结构45

图3.9 进程的分阶段运行结构47

图3.10 多进程并行运行示意图47

图3.11 单个工序的状态程序结构图48

图3.12 工序迁移图48

图3.13 一键多义按键执行程序结构图50

图3.14 状态迁移图51

图3.15 线性状态结构52

图3.16 树状多级状态结构52

图3.17 多维状态结构53

图5.1 字体和制表符设置61

图5.2 P&E ICD设置菜单68

图5.3 P&E ICD设置窗口69

图5.4 Output设置70

图6.1 EZ430-F2013仿真器示意图74

图6.2 1AR开发环境截图75

图6.3 新建项目向导76

图6.4 选择芯片型号77

图6.5 选择调试设备78

图6.6 选择设备连接类型78

图6.7 编译/除错按钮79

图6.8 运行/停止按钮79

图6.9 EZ430-F2013仿真器原理图80

图6.10 EZ430-F2013仿真器改装示意图80

图6.11 选项菜单81

图6.12 编辑选项82

图6.13 设置自动对齐规则82

图6.14 如何设置自动生成LST文件83

图8.1 条件分支结构类宏的速记方法91

图9.1 限幅滤波效果图104

图9.2 递推平均滤波效果图108

图9.3 递推中位值平均滤波效果图112

图10.1 一阶滤波流程图122

图10.2 一阶滤波效果图A124

图10.3 一阶滤波效果图B124

图10.4 一阶滤波效果图C125

图10.5 一阶滤波效果图D127

图10.6 调整一阶滤波系数流程图128

图10.7 0 kg时的采样数据示意图129

图10.8 15 kg重量加载瞬间的采样数据示意图129

图10.9 计价秤的结构图130

图10.10 弹簧的阻尼振荡效果图130

图10.11 15 kg加载时采样16次递推中位值平均滤波效果图130

图10.12 0 kg时采样16次递推中位值平均滤波效果图131

图10.13 15 kg加载时一阶滤波效果图131

图10.14 15 kg加载时采样8次递推中位值平均滤波效果图132

图10.15 15 kg加载时8次递推平均滤波+一阶滤波效果图132

图10.16 15 kg加载时一阶滤波与16次递推平均滤波效果对比图133

图10.17 0 kg时一阶滤波与16次递推平均滤波效果对比图133

图10.18 15 kg加载时限幅滤波效果图134

图10.19 15 kg加载时限幅滤波+一阶滤波效果图135

图10.20 15 kg加载时一阶滤波与16次递推平均滤波效果对比图135

图10.21 0 kg时一阶滤波与16次递推平均滤波效果对比图136

图11.1 分段线性插值法在温度检测中的应用138

图11.2 分段线性插值法示意图138

图11.3 分段线性插值法流程图139

图12.1 位移指令操作示意图142

图12.2 十进制的乘法竖式计算方法144

图12.3 二进制的乘法竖式计算方法144

图12.4 多字节二进制乘法计算流程图144

图12.5 十进制的除法竖式计算方法146

图12.6 二进制的除法竖式计算方法146

图12.7 多字节二进制除法计算流程图146

图12.8 十进制整数转二进制方法149

图12.9 十进制小数转二进制方法149

图12.10 二进制转十进制压缩BCD码流程图152

图12.11 十进制压缩BCD码转二进制流程图153

图13.1 按键时序图156

图13.2 短击/长击的区别示意图158

图13.3 单击/连击的识别示意图158

图13.4 单击/双击的区别示意图159

图13.5 复合键(同击)的识别示意图160

图13.6 按键释放(无击)的识别示意图160

图13.7 简单的按键检测处理流程图162

图13.8 可识别单击/连击、无击等按键类型的按键检测处理流程图163

图13.9 可识别单击/连击、短击/长击、无击等按键类型的按键检测处理流程图164

图13.10 可识别多种按键类型的按键检测处理流程图165

图14.1 单键多击检测流程图168

图15.1 MAX232芯片引脚示意图174

图15.2 RS232—TTL转接电路图175

图15.3 自制RS232—TTL转接板175

图15.4 COMDEBUG软件界面180

图15.5 汽车仪表串行通信平台软件界面183

图16.1 硬件连接图185

图16.2 通信波形图186

图16.3 改进后的通信波形图186

图16.4 通信流程图187

图17.1 电容充电曲线190

图17.2 温度检测电路图190

图17.3 放电回路192

图17.4 参考电阻充电回路192

图17.5 温度电阻充电回路192

图17.6 电容充/放电波形193

图17.7 阻值—比率—温度分度图193

图17.8 温度检测程序194

图17.9 电容充电计时子程序195

图17.10 用比较器实现ADC功能的电路196

图17.11 PWM占空值调节流程图196

图17.12 软件积分测电压流程图197

图17.13 利用单片机内置比较器实现ADC功能的电路197

图17.14 利用单片机内置比较器实现ADC功能的改进电路198

图17.15 利用单片机I/O口取代比较器实现ADC功能的电路198

图17.16 电容式触摸键示意图198

图17.17 电容式触摸键的检测电路199

图17.18 充/放电方式检测波形199

图17.19 电容式触摸键的检测流程200

图17.20 一款4键电容式触摸键DEMO板实际操作效果图201

图18.1 移相触发控制波形图204

图18.2 过零触发控制波形图205

图18.3 过零检测电路A206

图18.4 过零检测电路B206

图18.5 过零检测电路C206

图19.1 摇摇棒原理图212

图19.2 摇摇棒整体外形212

图19.3 摇摇棒静止状态212

图19.4 摇摇棒挥动时的显示效果212

图19.5 惯性开关示意图213

图19.6 惯性开关实物解析图213

图19.7 Excel字码表213

图19.8 条件格式的设置214

图19.9 部分字符效果214

图19.10 摇摇棒按键功能图215

图20.1 汽车组合仪表系统框图235

图20.2 电机的结构示意图236

图20.3 电机的驱动波形图237

图20.4 分步驱动模式脉冲序列237

图20.5 脉冲细分238

图20.6 微步驱动模式脉冲序列239

图20.7 电机驱动电路241

图20.8 主程序流程图243

图20.9 1 ms定时处理程序流程图244

图20.10 10 ms定时处理程序流程图244

图20.11 100 ms定时处理程序流程图244

图20.12 500 ms定时处理程序流程图244

图20.13 车速脉冲信号调制电路249

图20.14 总计值处理程序流程图249

图20.15 从E2PROM中读总计值程序流程图250

图20.16 向E2PROM中写总计值程序流程图250

图20.17 车速指示线性插值法图252

图20.18 车速计算程序流程图253

图20.19 车速电机速度(指针微步移动时间)控制程序流程图254

图20.20 车速电机移动一微步程序流程图255

图20.21 转速脉冲信号调制电路255

图20.22 LCD显示示意图262

图20.23 不同档位的显示段码示意图262

图20.24 LCD驱动波形图263

图20.25 显示初始化流程图265

图20.26 显示流程图266

图20.27 待机处理程序流程图282

图21.1 空调遥控器实物图285

图21.2 空调遥控器系统框图285

图21.3 空调遥控器程序框图285

图21.4 空调遥控器CPU工作模式迁移示意图286

图21.5 空调遥控器按键检测原理图287

图21.6 空调遥控器按键处理流程图288

图21.7 空调遥控器跳线电路293

图21.8 空调遥控器码制有关参数294

图21.9 一串完整的码波形294

图21.10 起始码波形294

图21.11 逻辑“1”波形295

图21.12 逻辑“0”波形295

图21.13 IR功能定时器资源分配示意图295

图21.14 空调遥控器红外发码电路297

图21.15 空调遥控器红外发码流程图297

图21.16 空调遥控器显示处理流程图301

图21.17 空调遥控器原理图302

图22.1 锂电池充电曲线图305

图22.2 锂电池充电工序(状态)迁移图305

图22.3 锂电池充电器原理图(充电控制部分)309

图28.1 程序匠人的早期签名360

图28.2 《匠人的百宝箱》LOGO360

表3.1 状态迁移表51

表5.1 CW3.1支持的数据类型62

表6.1 MSP430的工作模式84

表12.1 四则运算模块寄存器定义143

表12.2 数制转换模块寄存器定义150

表12.3 I/O口状态分析154

表13.1 按键类型说明157

表13.2 按键检测程序寄存器定义161

表13.3 按键检测程序标志位定义161

表13.4 按键检测程序常量参数定义161

表14.1 按键次数与最多能识别的按键组合方式对照表167

表14.2 键值表167

表15.1 汽车仪表串行通信协议172

表17.1 充电计时器分配表195

表19.1 摇摇棒状态迁移表216

表20.1 电机的电气特性240

表20.2 项目文件功能介绍242

表20.3 中断资源分配表247

表20.4 车速与电机指针目标步数对应表252

表20.5 电机的单步移动时间与电机转速范围253

表20.6 档位信号占空表256

表20.7 ADC通道分配表257

表20.8 按键功能真值表258

表20.9 LCD参数表263

表20.10 显示真值表264

表20.11 声光报警功能一览表274

表21.1 空调操作模式表288

表21.2 时间设置模式表288

表21.3 定时模式表289

表21.4 风速模式表289

表21.5 纵摆模式表289

表21.6 横摆模式表289

表21.7 空调遥控器按键真值表290

表21.8 空调遥控器跳线意义表293

表21.9 IR功能定时器资源分配表295

表21.10 遥控码数据真值表296

表22.1 预充状态下PWM占空调节规则306

表22.2 快充状态下PWM占空调节规则306

表22.3 快充状态下充满判断规则307

表22.4 快充状态下充电结束判断规则307

表22.5 故障类型及判断规则307

表22.6 指示灯状态309

表22.7 温度检测口的电压判定规则310

热门推荐