图书介绍
匠人手记:一个单片机工作者的实践与思考pdf电子书版本下载
- 张俊编著 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:9787811242973
- 出版时间:2008
- 标注页数:367页
- 文件大小:21MB
- 文件页数:393页
- 主题词:单片微型计算机
PDF下载
下载说明
匠人手记:一个单片机工作者的实践与思考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 一阶滤波效果图A 124
图10.3 一阶滤波效果图B 124
图10.4 一阶滤波效果图C 125
图10.5 一阶滤波效果图D 127
图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 过零检测电路A 206
图18.4 过零检测电路B 206
图18.5 过零检测电路C 206
图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 《匠人的百宝箱》LOGO 360
表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