PIC技术宝典(图灵电子电气工程丛书)(PIC Microcontroller and Embedded systems)
分類: 图书,计算机与互联网,硬件/嵌入式开发,单片计算机,
品牌: Muhammad Ali Mazidi
基本信息·出版社:人民邮电出版社
·页码:700 页
·出版日期:2008年
·ISBN:7115185549/9787115185549
·条形码:9787115185549
·包装版本:1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:图灵电子电气工程丛书
·外文书名:PIC Microcontroller and Embedded systems
产品信息有问题吗?请帮我们更新产品信息。
内容简介《PIC技术宝典》是关于PIC微控制器的经典著作,内容紧密围绕PIC18系列微控制器原理及嵌入式系统应用展开,主要介绍了PIC18系列微控制器的硬件和软件面的基本知识和特性,着重描述其硬件结构、软件编程和接口技术及其嵌入式应用等问题。《PIC技术宝典》适合作为高等院校相关专业课程教材,也可供从事微控制器应用设计和嵌入式系统开发的工程技术人员参考。
编辑推荐美国Mjcrochip公司推出的PIC系列产品已成为目前应用最广泛的微控制器。
《PIC技术宝典》是著名嵌入式技术专家Mazldl白勺最新力作,以PlCl8为例系统全面地介绍了PIC微控制器的原理与嵌入式系统应用,还提供了许多简洁实用的实例和例程,内容涵盖PIC的C语言与汇编语言编程和接口的各个方面,是一本不可多得的参考书、
《PIC技术宝典》还可作为高等院校教材,每节的结尾都配有习题,有利于学生巩固本节要点;同时在章末附有本章习题,有利于教师对学生进行考察。
《PIC技术宝典》原版配套网站http://www.microdigitaled.com/pic/pic%20Books.htm提供实验手册、勘误和程序源代码等信息Muhammad Ail Mazidi 美国DeVry大学资深教授,著名嵌入式系统专家,具有丰富的教学和实践经验他编写的80x86和8051方面的教材已被全世界众多高校采用.都是公认的经典李中华博士,现任中山大学信息科学与技术学院讲师、硕士生导师主持和参与国家、部省、市级课题若干.发表学术论文40余篇.其中多数为SCI/EI/lSTP/INSPEC所收录.出版著作1部计算机软件著作权2部、申请发明专利2部主要研究兴趣为嵌入式系统及自动化、智能系统与先进控制张溺浓博士现任中山大学信息科学与技术学院“百人计划”教授、博士生导师,2007年入选教育部新世纪优秀人才支持计划 在国际顶级杂志和会议上发表论文40余篇 其中lEEE杂志论文8篇,主持国家自然科学基金2项主要研究领域为冗余机器人 递归神经网络、高斯过程、科学计算和软硬件开发。
目录
第0章计算入门1
0.1数制和编码系统1
0.1.1十进制和二进制数制系统1
0.1.2十进制数转换成二进制数2
0.1.3二进制数转换成十进制数2
0.1.4十六进制系统3
0.1.5二进制和十六进制之间的转换3
0.1.6十进制数转换成十六进制数4
0.1.7十六进制数转换成十进制数4
0.1.8十进制、二进制和十六进制计数5
0.1.9二进制数和十六进制数加法5
0.1.10 补码6
0.1.11 十六进制数的加法和减法6
0.1.12 十六进制数的加法6
0.1.13 十六进制数的减法6
0.1.14 ASCII码7
0.1.15 复习题7
0.2数字入门8
0.2.1二进制逻辑8
0.2.2逻辑门8
0.2.3使用逻辑门设计电路10
0.2.4译码器11
0.2.5触发器12
0.2.6复习题12
0.3计算机内部12
0.3.1一些重要术语12
0.3.2计算机的内部组成13
0.3.3数据总线概述13
0.3.4地址总线概述14
0.3.5CPU及其和RAM、ROM的关系14
0.3.6CPU内部15
0.3.7计算机的内部工作16
0.3.8复习题17
小结17
习题18
复习题答案19
第1章PIC微控制器的历史和特性21
1.1微控制器与嵌入式处理器21
1.1.1微控制器和通用微处理器21
1.1.2应用于嵌入式系统的微控制器22
1.1.3x86PC嵌入式应用23
1.1.4微控制器的选择24
1.1.5微控制器的选择标准24
1.1.6机电学与微控制器25
1.1.7复习题25
1.2PIC18系列概述25
1.2.1PIC微控制器的发展简史25
1.2.2PIC18特性26
1.2.3其他微控制器30
1.2.4复习题31
小结31
习题32
复习题答案33
第2章PIC体系结构与汇编语言编程34
2.1PIC的WREG寄存器34
2.1.1WREG寄存器35
2.1.2MOVLW指令35
2.1.3ADDLW指令35
2.1.4复习题37
2.2PIC文件寄存器37
2.2.1PIC文件寄存器(数据RAM)空间分配37
2.2.2PIC芯片中的GP RAM和EEPROM比较38
2.2.3PIC18的文件寄存器与访问存储区39
2.2.4复习题41
2.3默认访问存储区的指令操作41
2.3.1MOVWF指令41
2.3.2关于WREG和访问存储区的更多指令42
2.3.3COMF指令46
2.3.4DECF指令47
2.3.5MOVE指令47
2.3.6MOVFF指令48
2.3.7复习题49
2.4PIC 状态寄存器49
2.4.1PIC18状态寄存器49
2.4.2ADDLW指令和状态寄存器50
2.4.3并非所有指令都会影响标志位50
2.4.4标志位和判决52
2.4.5复习题52
2.5PIC数据格式和伪指令53
2.5.1PIC数据类型53
2.5.2数据格式描述53
2.5.3汇编伪指令54
2.5.4使用EQU做定值分配55
2.5.5使用EQU做SFR地址分配55
2.5.6使用EQU做RAM地址分配56
2.5.7汇编语言的标签规则57
2.5.8复习题57
2.6PIC汇编语言编程58
2.6.1汇编语言结构58
2.6.2复习题59
2.7汇编和连接PIC程序60
2.7.1关于asm、err和目标文件的更多信息61
2.7.2列表文件和映像文件62
2.7.3复习题62
2.8PIC的程序计数器和程序ROM空间62
2.8.1PIC的程序计数器63
2.8.2PIC18系列ROM的内存分配63
2.8.3通电时PIC的启动64
2.8.4在程序ROM里放置代码65
2.8.5程序的逐字节执行66
2.8.6PIC18 ROM数据宽度66
2.8.7PIC的哈佛结构68
2.8.8PIC18的指令大小69
2.8.9MOVLW指令格式69
2.8.10ADDLW指令格式69
2.8.11MOVWF指令格式69
2.8.12MOVFF指令格式70
2.8.13GOTO指令格式70
2.8.14从其他微处理器过渡到PIC1870
2.8.15复习题71
2.9PIC的RISC结构71
2.9.1RISC结构72
2.9.2RISC的特性72
2.9.3复习题74
2.10 使用MPLAB仿真器查看寄存器和存储器74
小结74
习题76
复习题答案80
第3章分支、调用和时延循环82
3.1分支指令和循环82
3.1.1PIC的循环语句82
3.1.2循环嵌套85
3.1.3循环100 000次87
3.1.4其他的条件转移指令87
3.1.5所有的条件分支指令都是短跳转89
3.1.6短转移地址的计算89
3.1.7无条件分支指令90
3.1.8带有$符号的GOTO指令91
3.1.9复习题92
3.2CALL(调用)指令和栈92
3.2.1CALL指令92
3.2.2PIC18的栈和栈指针92
3.2.3如何访问PIC18的栈93
3.2.4压栈93
3.2.5出栈93
3.2.6CALL指令和栈的作用94
3.2.7栈的上限95
3.2.8在主程序里调用多个子例程95
3.2.9RCALL指令(相对调用指令)97
3.2.10 复习题98
3.3PIC18的时延与指令流水线98
3.3.1PIC18的时延计算98
3.3.2流水线98
3.3.3PIC的指令周期时间99
3.3.4分支代价99
3.3.5PIC18的时延计算100
3.3.6时延的嵌套循环101
3.3.7PIC多级执行流水线103
3.3.8复习题104
小结105
习题105
复习题答案107
第4章PIC I/O端口编程108
4.1PIC18的I/O端口编程108
4.1.1I/O端口引脚及其功能108
4.1.2TRIS寄存器在数据输出中的作用110
4.1.3TRIS寄存器在数据输入中的作用111
4.1.4端口A114
4.1.5端口A用作输入端口114
4.1.6端口B114
4.1.7端口B用作输入端口115
4.1.8端口A和端口B的双重功能115
4.1.9端口C115
4.1.10 端口C用作输入端口116
4.1.11 端口D116
4.1.12 端口D作为输入端口116
4.1.13 端口C和端口D的双重功能116
4.1.14 端口E117
4.1.15 访问8位数据的不同方法117
4.1.16 读取后紧接的写I/O操作118
4.1.17 复位时的端口状态119
4.1.18 复习题119
4.2I/O位操作编程120
4.2.1I/O端口与位寻址120
4.2.2BSF(置位fileReg)121
4.2.3BCF(清零fileReg)121
4.2.4BTG(位翻转fileReg)123
4.2.5检测输入引脚123
4.2.6BTFSS(位测试fileReg,若为1则跳过)123
4.2.7BTFSC(位测试fileReg,若为0则跳过)123
4.2.8监测二进制位124
4.2.9读取二进制位127
4.2.10 读输入引脚与读LATx端口127
4.2.11 读端口的LATx128
4.2.12 复习题129
小结129
习题129
复习题答案130
第5章 算术、逻辑指令和程序示例132
5.1算术指令132
5.1.1无符号数的加法132
5.1.2ADDWF和单字节的加法133
5.1.3ADDWFC和16位数的加法134
5.1.4BCD(二进制编码的十进制数)数字系统134
5.1.5非压缩BCD数134
5.1.6压缩BCD数135
5.1.7DAW指令135
5.1.8无符号数的减法136
5.1.9PIC减法的C标志位138
5.1.10 无符号数的乘法138
5.1.11 无符号数的除法139
5.1.12 除法的应用139
5.1.13 复习题140
5.2有符号数的概念及其算术运算141
5.2.1计算机中有符号数的概念141
5.2.2有符号的8位操作数141
5.2.3正数141
5.2.4负数141
5.2.5有符号数运算中的溢出问题143
5.2.6何时设置OV标志位143
5.2.7二进制补码运算指令144
5.2.8复习题145
5.3逻辑和比较指令145
5.3.1AND指令145
5.3.2OR指令145
5.3.3EX-OR指令146
5.3.4COMF指令(将fileReg取反)147
5.3.5NEGF指令(将fileReg取补)147
5.3.6比较指令148
5.3.7CPFSGT指令148
5.3.8CPFSEQ指令148
5.3.9CPFSLT指令149
5.3.10 复习题151
5.4移位指令和数据串行化152
5.4.1文件寄存器的左移或右移操作152
5.4.2带进位的移位152
5.4.3串行化数据153
5.4.4字节数据的串行化153
5.4.5SWAPF fileReg, d155
5.4.6复习题155
5.5BCD和ASCII码转换156
5.5.1ASCII数156
5.5.2从压缩BCD码到ASCII码的转换157
5.5.3从ASCII码到压缩BCD码的转换157
5.5.4复习题157
小结158
习题158
复习题答案162
第6章存储区转换、表处理、宏和模块163
6.1立即寻址与直接寻址方式164
6.1.1立即寻址方式164
6.1.2直接寻址方式164
6.1.3指令INCF fileReg,W与INCF fileReg,F的区别165
6.1.4DECFSZ指令和DECF指令165
6.1.5SFR及其地址166
6.1.6复习题167
6.2寄存器间接寻址方式168
6.2.1寄存器间接寻址方式168
6.2.2寄存器间接寻址方式的优点168
6.2.3FSR的自动增量170
6.2.4复习题173
6.3查询表与表处理173
6.3.1DB伪指令和程序ROM中的定值数据173
6.3.2PIC18的读表操作174
6.3.3TBLPTR的自动增量175
6.3.4查表和RETLW指令177
6.3.5访问RAM中的查询表179
6.3.6PIC18的写表操作181
6.3.7复习题181
6.4数据RAM的位寻址181
6.4.1可位寻址的文件寄存器数据RAM182
6.4.2文件寄存器的位寻址182
6.4.3状态寄存器的位寻址184
6.4.4复习题185
6.5PIC18的存储区转换185
6.5.1位A和存储区转换185
6.5.2BSR寄存器和存储区转换186
6.5.3存储区转换和指令INCF F,D,A186
6.5.4MOVFF指令和存储区189
6.5.5用MPLAB仿真器检查数据RAM空间190
6.5.6复习题192
6.6校验和与ASCII码子例程192
6.6.1ROM中的校验和192
6.6.2校验和程序192
6.6.3BCD到ASCII的转换程序194
6.6.4二进制(十六进制)到ASCII的转换程序196
6.6.5用存储区作为栈197
6.6.6复习题198
6.7宏和模块198
6.7.1什么是宏以及怎样声明宏198
6.7.2宏的定义198
6.7.3LOCAL伪指令199
6.7.4INCLUDE伪指令201
6.7.5NOEXPAND/EXPAND伪指令201
6.7.6宏与子例程203
6.7.7模块204
6.7.8编写模块204
6.7.9EXTERN伪指令204
6.7.10 GLOBAL伪指令204
6.7.11 连接模块206
6.7.12 复习题207
小结207
习题207
复习题答案211
第7章PIC C语言编程213
7.1C语言中的数据类型和时延214
7.1.1PIC18的C语言数据类型214
7.1.2无符号字符214
7.1.3有符号字符216
7.1.4无符号整型216
7.1.5有符号整型216
7.1.6其他数据类型216
7.1.7时延217
7.1.8复习题219
7.2C语言I/O编程219
7.2.1字节I/O编程219
7.2.2位寻址I/O编程221
7.2.3端口位的结构222
7.2.4复习题227
7.3逻辑操作227
7.3.1C语言的位操作符228
7.3.2C语言的按位移位操作228
7.3.3复习题231
7.4C语言的数据转换程序231
7.4.1ASCII数231
7.4.2压缩BCD码到ASCII码的转换232
7.4.3ASCII码到压缩BCD码的转换232
7.4.4ROM的校验和234
7.4.5PIC18二进制(十六进制)到十进制和ASCII的转换235
7.4.6复习题236
7.5C语言的数据串行化236
7.6C18程序存储区配置239
7.6.1RAM数据空间与代码数据空间239
7.6.2为数据分配程序空间239
7.6.3用于程序的NEAR与FAR240
7.6.4Pragma和数据与程序的固定地址分配241
7.6.5在指定的ROM地址放置代码242
7.6.6在指定的ROM地址放置代码242
7.6.7复习题243
7.7C18的数据RAM分配243
7.7.1C18 C编译器中RAM数据空间的用法244
7.7.2用于数据的near与far245
7.7.3在指定内存地址存放数据246
7.7.4覆盖存储类248
7.7.5复习题250
小结250
习题251
复习题答案252
第8章PIC18F硬件连接与ROM程序载入254
8.1PIC18F452/458的引脚连接254
8.1.1复位后的程序计数器值256
8.1.2端口A、B、C、D和E257
8.1.3复习题258
8.2PIC18配置寄存器258
8.2.1CONFIG1H寄存器和振荡器时钟源259
8.2.2CONFIG2L寄存器和复位电压262
8.2.3CONFIG2H寄存器和看门狗定时器264
8.2.4CONFIG4L寄存器和背景调试程序265
8.2.5LIST伪指令266
8.2.6设置所有的配置寄存器267
8.2.7在MPLAB C18 C编译器中设置CONFIG寄存器268
8.2.8复习题269
8.3解释PIC18的Intel十六进制文件269
8.3.1分析Intel十六进制(INHX8M)文件270
8.3.2分析Intel十六进制文件(INHX32)272
8.3.3Intel十六进制分段文件(INHX8S)275
8.3.4复习题275
8.4PIC18 Trainer的设计和装载276
8.4.1基于PIC18F452/458的Trainer277
8.4.2PIC18 Trainer的连接278
8.4.3PIC18 Trainer程序下载278
8.4.4汇编语言和C语言编写的PIC18测试程序278
8.4.5故障检修的技巧281
8.4.6复习题281
小结282
习题282
复习题答案284
第9章PIC18定时器的汇编编程和C编程285
9.1定时器0和定时器1编程285
9.1.1定时器的基本寄存器285
9.1.2定时器0寄存器和编程285
9.1.3T0CON(定时器0控制)寄存器286
9.1.4TMR0IF标志位287
9.1.516位定时器编程288
9.1.6在16位模式下定时器0的编程步骤288
9.1.7计算定时器的载入值291
9.1.8使用Windows计算器寻找TH和TL293
9.1.9预分频器和长时延的产生293
9.1.10 定时器0的8位模式编程295
9.1.11 定时器0的8位模式编程步骤296
9.1.12 编译器和负值297
9.1.13 定时器1编程298
9.1.14 复习题301
9.2计数器编程301
9.2.1T0CON寄存器中的T0CS位301
9.2.2使用外部晶振作为定时器1的时钟302
9.2.3复习题306
9.3定时器0和定时器1的C编程306
9.3.1用C访问定时器306
9.3.2计算使用定时器的时延306
9.3.3定时器0和定时器1用作计数器的C编程311
9.4定时器2和定时器3的编程314
9.4.1定时器2的编程314
9.4.2定时器3的编程317
9.4.3复习题322
小结322
习题322
复习题答案324
第10章PIC18串行端口的汇编编程和C编程326
10.1串行通信基础326
10.1.1半双工和全双工传输327
10.1.2异步串行通信和数据帧328
10.1.3起始位和结束位328
10.1.4数据传输率329
10.1.5RS232标准329
10.1.6RS232引脚329
10.1.7数据通信的分类330
10.1.8检查RS232的握手信号331
10.1.9IBM PC/兼容 COM 端口332
10.1.10 复习题332
10.2PIC18连接到RS232332
10.2.1PIC18的RX和TX引脚332
10.2.2MAX232333
10.2.3MAX233333
10.2.4复习题334
10.3PIC18串行端口的汇编语言编程334
10.3.1PIC18的SPBRG寄存器和波特率334
10.3.2TXREG寄存器336
10.3.3RCREG寄存器336
10.3.4TXSTA(发送状态和控制寄存器)336
10.3.5RCSTA(接收状态和控制寄存器)337
10.3.6PIR1(外部中断请求寄存器1)338
10.3.7PIC18串行数据发送编程338
10.3.8TXIF标志位的重要性340
10.3.9PIC18串行数据接收编程340
10.3.10 RCIF标志位的重要性341
10.3.11 PIC18的波特率翻两番342
10.3.12 波特率的误差计算344
10.3.13 发送和接收347
10.3.14 基于中断的数据传输348
10.3.15 复习题349
10.4PIC18串行端口的C编程349
10.4.1PIC18 C的数据发送和接收349
10.4.2复习题350
小结352
习题352
复习题答案354
第11章用汇编和C语言进行中断编程356
11.1PIC18中断356
11.1.1中断和查询356
11.1.2中断服务程序357
11.1.3中断执行的步骤357
11.1.4PIC18的中断源357
11.1.5中断的使能和禁用358
11.1.6使能中断的步骤359
11.1.7复习题360
11.2定时器中断编程360
11.2.1定时器复零标志位和中断360
11.2.2使用C18编译器的PIC18中断C编程365
11.2.3复习题369
11.3外部硬件中断编程369
11.3.1外部中断INT0、INT1和INT2369
11.3.2下降沿触发中断371
11.3.3边沿触发中断采样373
11.3.4复习题374
11.4串行通信中断编程374
11.4.1RCIF和TXIF标志位与中断374
11.4.2使用PIC18中的串行COM375
11.4.3复习题378
11.5PORTB变化中断378
11.6PIC18的中断优先级382
11.6.1设置中断优先级382
11.6.2低优先级中断的C编程390
11.6.3中断嵌套393
11.6.4在任务转换时变量的快速保存393
11.6.5中断延迟394
11.6.6软件触发中断394
11.6.7复习题394
小结394
习题395
复习题答案397
第12章LCD和键盘接口399
12.1LCD接口399
12.1.1LCD操作399
12.1.2LCD引脚描述399
12.1.3为LCD发送带时间延迟的命令和数据401
12.1.4使用busy标志位向LCD发送命令或数据403
12.1.5LCD数据表405
12.1.6使用TBLRD指令向LCD发送信息408
12.1.7复习题412
12.2键盘接口413
12.2.1键盘和PIC18的接口413
12.2.2使用扫描法进行按键检测418
12.2.3复习题420
小结420
习题420
复习题答案421
第13章ADC、DAC和传感器接口422
13.1ADC特性422
13.1.1ADC设备422
13.1.2复习题426
13.2PIC18的ADC编程426
13.2.1PIC18F452/458的ADC特性编程426
13.2.2ADCON0寄存器427
13.2.3ADCON1寄存器429
13.2.4计算A/D转换时间431
13.2.5使用查询法对A/D转换器编程432
13.2.6PIC18F458 ADC的汇编语言编程432
13.2.7PIC18F458 A/D的C语言编程433
13.2.8使用中断法对A/D转换器编程434
13.2.9复习题436
13.3DAC接口436
13.3.1数模转换器(DAC)436
13.3.2MC1408 DAC(或DAC0808)437
13.3.3把DAC0808的Iout转换成电压438
13.3.4产生正弦波438
13.3.5DAC的C语言编程440
13.3.6复习题441
13.4传感器接口和信号调整441
13.4.1温度传感器441
13.4.2LM34和LM35温度传感器441
13.4.3信号调整和PIC18的LM35接口442
13.4.4温度的读取和显示443
13.4.5复习题445
小结445
习题445
复习题答案447
第14章用闪存与EEPROM存储数据448
14.1半导体存储器448
14.1.1存储容量448
14.1.2存储区组织448
14.1.3速度449
14.1.4ROM450
14.1.5PROM和OTP450
14.1.6EPROM与UV-EPROM450
14.1.7EEPROM451
14.1.8闪存EPROM452
14.1.9掩模ROM452
14.1.10RAM(随机访问存储器)453
14.1.11SRAM453
14.1.12NV-RAM454
14.1.13DRAM454
14.1.14DRAM的封装问题455
14.1.15DRAM存储区组织455
14.1.16复习题456
14.2PIC18F只读闪存的擦写457
14.2.1使用TBLWR向闪存写入数据457
14.2.2写闪存的步骤459
14.2.3擦除闪存的步骤464
14.2.4闪存擦写操作的C语言编程467
14.2.5复习题470
14.3PIC18 EEPROM的数据读取和写入470
14.3.1向EEPROM写入数据470
14.3.2写EEPROM的步骤471
14.3.3读EEPROM的步骤472
14.3.4使用C语言访问EEPROM475
14.3.5复习题478
小结478
习题478
复习题答案480
第15章CCP和ECCP编程481
15.1标准型和增强型CCP模块481
15.1.1CCP和计时器481
15.1.2CCP寄存器482
15.1.3CCP引脚483
15.1.4复习题483
15.2比较模式编程483
15.2.1比较模式编程的步骤485
15.2.2复习题488
15.3捕捉模式编程489
15.3.1捕捉模式编程的步骤489
15.3.2测量脉冲周期489
15.3.3测量脉宽491
15.3.4复习题494
15.4PWM编程494
15.4.1PWM周期495
15.4.2PWM的占空比496
15.4.3PWM编程的步骤496
15.4.4占空比与Fosc499
15.4.5复习题499
15.5ECCP编程499
15.5.1ECCP比较模式的编程步骤501
15.5.2ECCP捕捉模式的编程步骤503
15.5.3ECCP的PWM特征504
15.5.4ECCP的PWM编程步骤504
15.5.5复习题505
小结505
习题505
复习题答案507
第16章SPI协议和DS1306RTC接口508
16.1SPI总线协议508
16.1.1SPI总线508
16.1.2SPI读写协议509
16.1.3将数据写入SPI设备的步骤509
16.1.4从SPI设备读数据的步骤510
16.1.5复习题511
16.2DS1306 RTC接口和编程511
16.2.1控制寄存器中WP位的重要性514
16.2.2DS1306的地址映射514
16.2.3时间和日期地址的位置和模式515
16.2.4使用MSSP模块来连接PIC18和DS1306516
16.2.5使用汇编设置时间518
16.2.6使用汇编设置日期518
16.2.7RTC设置、读取和显示时间和日期519
16.2.8复习题522
16.3DS1306 RTC的C编程522
16.3.1使用C语言设置时间和日期522
16.3.2使用C语言读取和显示时间和日期523
16.3.3复习题524
16.4DS1306的警报和中断特征525
小结533
习题533
复习题答案535
第17章电机控制:继电器、PWM、DC电机和步进电机536
17.1继电器和光隔离器536
17.1.1机电继电器536
17.1.2继电器驱动538
17.1.3固态继电器539
17.1.4簧片开关540
17.1.5光隔离器540
17.1.6光隔离器的连接540
17.1.7复习题541
17.2步进电机的接口542
17.2.1步进电机542
17.2.2步进角543
17.2.3每秒的步数和rpm的关系545
17.2.4四步顺序和电机转子的齿数545
17.2.5电机速度545
17.2.6保持转矩546
17.2.7波驱动四步顺序546
17.2.8单极性与双极性步进电机的接口546
17.2.9使用晶体管作为驱动器547
17.2.10 通过光隔离器来控制步进电机548
17.2.11 用PIC18 C语言来控制步进电机549
17.2.12 复习题550
17.3DC电机的接口和PWM550
17.3.1DC电机550
17.3.2单方向控制551
17.3.3双方向控制551
17.3.4脉冲宽度调制(PWM)555
17.3.5使用光隔离器控制DC电机556
17.3.6DC电机的控制和PWM的C编程558
17.3.7复习题560
17.4使用CCP来控制PWM电机561
17.4.1使用CCP来控制DC电机561
17.4.2复习题561
17.5使用ECCP来控制DC电机563
17.5.1使用ECCP来双向控制DC电机563
17.5.2复习题566
小结566
习题567
复习题答案568
附录A569
附录B608
附录C610
附录D626
附录E630
附录F632
附录G634
附录H636
索引690
……[看更多目录]
序言微控制器是一种无处不在的内嵌型控制芯片,广泛用于工业控制、消费类电子产品、汽车、金融、军事、能源等领域。在强大的市场需求和日新月异的科技进步驱动下,微控制器产品不断推陈出新。PIC系列微控制器是全球领先的微控制器和模拟半导体供应商——美国微芯公司推出的嵌入式微控制器,具有运行速度快、工作电压低、功耗低、驱动能力强、体积小、价格低廉、指令简单易学易用等优点。PICl8系列微控制器就是其中的杰出产品之一。
本书涵盖学习微控制器所需的基础知识、PICl8微控制器的内部结构、汇编指令系统、C语言编程、接口技术及其应用实例,具有以下鲜明特点。
口本书采用计算机基础知识——P1C18微控制器内部结构——汇编指令——C编
,程——外围接口——应用实例的授课思路,知识体系清晰、内容丰富,适应当今信息社
会对宽口径计算机类专业学生的培养需求。
口每章的开篇都简明地给出了本章的学习目标以及主要内容的结构分布,在每章末尾还
给出了小结,有助于读者进一步理解和思考所学知识,形成完整的知识体系。
口本书在介绍PIcl8微控制器原理及应用设计的同时,还配以丰富的设计实例,让读者
能充分体会到每一个设计细节,有利于快速培养读者的细致分析与设计系统的能力。
口对于主要的设计实例,本书分别给出了其汇编语言编程和C语言编程,通过对比学习
两类不同的编程思想和风格,使得学生很容易发现二者的联系、区别和优缺点,克服了
将汇编语言编程和C语言编程单独讲述的弊端。
口章后习题以及每节后的复习题进一步充实了全书的内容,有利于帮助读者更好地理解
相关基本理论。本书配有的附录,内容全面详尽,对读者而言是一本非常难得的技术
手册。
简而言之,本书结构清晰、内容丰富、通俗易懂,是一本不可多得的学习宝典。
本书由李中华、陈卓怡主译,李中华负责统稿,张雨浓负责审校。参加本书翻译和初校T作的还有杨波、孙宇佳、张董华、伍沛然等。在此,谨对所有为本书的出版提供了帮助的人们表示诚挚的谢意。
由于译审者不平所限,加之时间仓促,译文中难免有不妥乃至错误之处,敬请广大读者批评指正。
文摘插图: