当前位置:首页 > 工业技术
PIC?系列单片机程序设计与开发应用
PIC?系列单片机程序设计与开发应用

PIC?系列单片机程序设计与开发应用PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:陈新建,邵少雄,葛长虹编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2007
  • ISBN:9787811240047
  • 页数:478 页
图书介绍:本书系统介绍PIC系列单片机、汇编和C语言编程方法以及项目开发应用过程,以应用实验和具体项目开发的方式全面阐述应用程序的编制过程。首先介绍了PIC系列单片机的分类、硬件结构、引脚定义和指令系统,以C18、PICC(包括PICC18)编译器语法和应用为重点并通过应用实验方式详细地说明了C编译器的使用。然后阐述PIC10F、PIC12F系列单片机编程以及PIC16F、18F系列单片机中断、内核和外围模块编程并给出了相应的应用实验程序。最后以开发氮控仪表的硬件电路和相应软件为重点,具体说明项目的开发应用方法。
《PIC?系列单片机程序设计与开发应用》目录

第1章 PIC系列单片机的硬件结构及其指令系统1.1 PIC系列单片机概述 2

1.1.1 PIC10F系列单片机 2

1.1.2 PIC12F系列单片机 3

1.1.3 PIC16F系列单片机 4

1.1.4 PIC18F系列单片机 6

1.1.5 PIC24F,PIC24H系列单片机 9

1.1.6 dsPIC30F,dsPIC33F系列数字信号控制器 11

1.2 PIC系列单片机的硬件结构和引脚定义 13

1.2.1 PIC10F系列单片机的硬件结构 13

1.2.2 PIC10F系列单片机的引脚定义 15

1.2.3 PIC12F系列单片机的硬件结构 16

1.2.4 PIC12F系列单片机的引脚定义 18

1.2.5 PIC16F系列单片机的硬件结构 20

1.2.6 PIC16F系列单片机的引脚定义 24

1.2.7 PIC18F系列单片机的硬件结构 27

1.2.8 PIC18F系列单片机的引脚定义 27

1.2.9 PIC24F,PIC24H系列单片机的硬件结构 40

1.2.10 PIC24F,PIC24H系列单片机的引脚定义 43

1.3 PIC系列单片机的指令系统 52

1.3.1 基本级指令系统 54

1.3.2 中级指令系统 56

1.3.3 高级指令系统 59

1.4 PIC系列单片机的汇编器MPASM 62

1.4.1 MPASM的安装与运行 62

1.4.2 MPASM的语法和运算符 63

1.4.3 MPASM的伪指令 64

1.4.4 MPASM的宏指令 67

1.4.5 汇编语言程序模板 69

第2章 C18编译器的语法 70

2.1 概述 70

2.2 数据类型及数值范围 71

2.2.1 整型 71

2.2.2 浮点型 72

2.3 存储类别和存储限定符 73

2.3.1 存储类别 73

2.3.2 存储限定符 75

2.4 包含文件搜索路径和预定义宏名 76

2.4.1 包含文件搜索路径 76

2.4.2 预定义宏名 77

2.5 C18与ISO的差异 77

2.6 匿名结构和行内汇编 85

2.6.1 匿名结构 85

2.6.2 行内汇编 86

2.7 pragma伪指令 88

2.7.1 #pragma sectiontype伪指令 88

2.7.2 #pragma interruptlow fname和#pragma interrupt fname伪指令 93

2.7.3 #pragma varlocate bank variable-name和#pragma varlocate"section-name"variable-name伪指令 99

2.7.4 #pragma romdata config配置位定义伪指令 101

2.8 处理器的标志头文件 102

2.9 寄存器定义文件 109

第3章 C18编译器的运行原理和优化 111

3.1 存储模型 111

3.2 调用约定 112

3.2.1 返回值 113

3.2.2 管理软件堆栈 114

3.2.3 C语言与汇编语言混合编程 114

3.3 启动代码 133

3.3.1 默认操作 133

3.3.2 定制 134

3.4 编译器管理的资源 135

3.5 编译器优化 135

3.5.1 合并相同的字符串优化(-命令行选项:-Om+/-Om-) 136

3.5.2 转移优化(-命令行选项:-Ob+/-Ob-) 136

3.5.3 存储区选择优化(-命令行选项:-On+/-On-) 137

3.5.4 W寄存器内容跟踪优化(-命令行选项:-Ow+/-Ow-) 137

3.5.5 代码排序优化(-命令行选项:-Os+/-Os-) 138

3.5.6 尾部合并优化(-命令行选项:-Ot+/-Ot-) 139

3.5.7 删除执行不到的代码优化(-命令行选项:-Ou+/-Ou-) 140

3.5.8 复制传递优化(-命令行选项:-Op+/-Op-) 141

3.5.9 冗余存储删除优化(-命令行选项:-Or+/-Or-) 142

3.5.10 删除死代码优化(-命令行选项:-Od+/-Od-) 142

3.5.11 过程抽象优化(-命令行选项:-Opa+/-Opa-) 143

第4章 PICC,PICC18编译器的语法 147

4.1 数据类型 147

4.1.1 数的进制及常数 148

4.1.2 位数据类型 150

4.1.3 可位寻址寄存器 151

4.1.4 整型数据 153

4.1.5 浮点数 154

4.2 位指令 155

4.3 绝对变量 156

4.4 结构体和联合体 157

4.4.1 结构体 157

4.4.2 联合体 158

4.5 字符串 163

4.6 常数和可变类型变量 163

4.7 局部变量和全局变量 165

4.7.1 自动变量 165

4.7.2 静态变量 165

4.7.3 全局变量 166

4.8 特殊类型限定词 166

4.8.1 persistent类型限定词 167

4.8.2 bank1,bank2,bank3类型限定词 167

4.9 指针 171

4.9.1 常数指针 171

4.9.2 基本级系列单片机指针 171

4.9.3 中级、高级系列单片机指针 172

4.9.4 类型限定词和指针的结合 173

4.10 函数 174

4.10.1 函数参数传递 174

4.10.2 函数返回值 177

4.10.3 函数调用规则 179

4.10.4 库函数 179

4.11 C中断函数 180

4.11.1 中级系列单片机C中断函数 180

4.11.2 高级系列单片机C中断函数 181

4.11.3 中断现场保护和恢复 182

4.11.4 中断等级 183

4.11.5 中断使能 184

4.12 pragma伪指令 184

4.12.1 #pragma jis,#pragma nojis和Printf_check伪指令 185

4.12.2 #pragma psect伪指令 185

4.12.3 #pragma regsused伪指令 186

4.13 C语言和汇编语言混合编程 186

4.13.1 外部汇编函数 186

4.13.2 在汇编语言程序内访问C变量 187

4.13.3 #asm,#endasm,asm(“”)指令 189

4.14 特殊区域值 192

4.14.1 定义工作配置字 192

4.14.2 定义芯片标记单元 193

4.15 程序链接 194

第5章 PIC10F系列单片机的程序设计 195

5.1 程序存储器 195

5.2 数据存储器 196

5.2.1 通用寄存器文件 196

5.2.2 特殊功能寄存器 197

5.2.3 状态寄存器 197

5.2.4 OPTION寄存器 199

5.2.5 OSCCAL寄存器 200

5.3 程序计数器和堆栈 201

5.4 寻址方式 202

5.5 I/O端口 202

5.6 TIMER0定时器模块 204

5.7 比较器模块 205

5.8 CPU特性 206

5.9 PIC10F系列单片机的程序模板和编程 206

第6章 PIC12F系列单片机的程序设计 208

6.1 程序存储器 208

6.2 数据存储器 208

6.2.1 状态寄存器 209

6.2.2 OPTION寄存器 210

6.2.3 INTCON寄存器 211

6.2.4 PIE1寄存器 212

6.2.5 PIR1寄存器 213

6.2.6 PCON寄存器 214

6.2.7 OSCCAL寄存器 214

6.3 PCL和PCLATH 215

6.4 寻址方式 215

6.5 I/O端口 216

6.6 TIMER0定时器模块 217

6.7 TIMER1定时器模块 218

6.8 比较器模块 220

6.9 模数转换器 222

6.10 EEPROM数据存储器 223

6.11 CPU特性 225

6.12 中断 226

6.13 PIC12F系列单片机的程序模板和编程 228

第7章 PIC16F系列单片机中断系统编程7.1 外部引脚沿跳变和电平变化中断编程 230

7.1.1 外部引脚沿跳变中断 230

7.1.2 外部引脚电平变化中断 234

7.2 定时器计数溢出中断编程 241

7.2.1 TMR0计数溢出中断编程 242

7.2.2 TMR1计数溢出中断编程 248

7.2.3 TMR2计数溢出中断编程 253

7.3 CCP模块中断编程 261

7.3.1 CCP模块捕捉中断 264

7.3.2 CCP模块比较中断 267

7.4 A/D转换中断编程 271

7.5 异步串行通信接收发送中断编程 278

7.5.1 接收中断 281

7.5.2 发送中断 285

7.6 EEPROM写入完成中断编程 289

第8章 PIC16F系列单片机内核和外围模块编程8.1 CPU特殊功能编程 297

8.2 低电压检测编程 300

8.3 输入/输出端口编程 301

8.3.1 RA口 301

8.3.2 RB,RC,RD和RE端口 302

8.4 定时器编程 307

8.4.1 TMR0 307

8.4.2 TMR1 310

8.4.3 TMR2 313

8.5 CCP模块编程 314

8.5.1 捕捉 314

8.5.2 比较 316

8.5.3 PWM 317

8.6 主同步串行口和异步串行口通信编程 324

8.6.1 主同步串行口 324

8.6.2 异步串行口通信 332

8.7 A/D转换编程 336

第9章 PIC18F系列单片机中断系统编程9.1 外部引脚沿跳变和电平变化中断编程 341

9.1.1 外部引脚沿跳变中断 341

9.1.2 外部引脚电平变化中断 345

9.2 定时器计数溢出中断 350

9.2.1 TMR0计数溢出中断 350

9.2.2 TMR1计数溢出中断 353

9.2.3 TMR2计数溢出中断 357

9.2.4 TMR3计数溢出中断 359

9.3 CCP模块中断编程 362

9.3.1 CCP模块捕捉中断 363

9.3.2 CCP模块比较中断 365

9.3.3 增强型CCP模块捕捉/比较中断 367

9.4 A/D转换中断编程 368

9.5 异步串行通信接收发送中断编程 375

9.5.1 接收中断 379

9.5.2 发送中断 379

9.6 EEPROM写入完成中断编程 382

第10章 PIC18F系列单片机内核和外围模块编程10.1 CPU特殊功能编程 386

10.2 低电压检测编程 387

10.3 输入输出端口编程 389

10.3.1 RA端口 389

10.3.2 RB端口、RC端口、RD端口 390

10.3.3 其他端口 394

10.4 定时器编程 395

10.4.1 TMR0 395

10.4.2 TMR1 397

10.4.3 TMR2 399

10.4.4 TMR3 400

10.5 CCP模块编程 402

10.5.1 捕捉 402

10.5.2 比较 403

10.5.3 PWM 405

10.5.4 增强型CCP模块 406

10.6 主同步串行口和异步串行口通信编程 409

10.6.1 主同步串行口 409

10.6.2 异步串行口通信 418

10.7 A/D转换编程 420

10.8 液晶显示器编程 421

第11章 氮控仪的硬件组成和电路原理11.1 渗氮工艺过程概述 423

11.1.1 渗氮工艺过程 424

11.1.2 系统功能 424

11.1.3 系统结构框图 425

11.2 氮控仪 425

11.2.1 氮控仪的功能和技术数据 425

11.2.2 氮控仪结构特点 426

11.2.3 硬件电路组成及工作原理 427

11.2.4 主要元器件选择和样机制作 433

11.2.5 氮控仪原理图 437

第12章 氮控仪的软件设计 440

12.1 主程序的功能和流程图 440

12.1.1 主程序框图 440

12.1.2 主程序 440

12.2 主要功能函数 441

12.2.1 键盘扫描函数 442

12.2.2 液晶显示函数 443

12.2.3 24C01读写函数 445

12.2.4 A/D转换和标度转换函数 446

12.2.5 通信函数 448

12.2.6 其他实用程序 449

12.3 完整的按键扫描、显示和EEPROM读写程序 449

相关图书
作者其它书籍
返回顶部