当前位置:首页 > 工业技术
PIC 18Fxxx单片机原理及接口程序设计
PIC 18Fxxx单片机原理及接口程序设计

PIC 18Fxxx单片机原理及接口程序设计PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:刘和平等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2004
  • ISBN:7810774522
  • 页数:416 页
图书介绍:本书介绍微芯公司主推的PIC18FXXX系列单片机的结构、原理,主要参考该系列有代表性的带CAN总线的增强型FLASH单片机数据手册,增添了涉及PIC18FXXX单片机的各个功能模块的汇编语言编程和C语言编程应用,并给出了应用原理图及汇编语言和C语言程序清单。
《PIC 18Fxxx单片机原理及接口程序设计》目录

目 录 1

第1章PIC18Fxxx单片机概述 1

第2章振荡器结构 12

2.1振荡器类型 12

2.2晶体/陶瓷振荡器方式 12

2.3 RC振荡器 14

2.4外部时钟输入 14

2.5 HS4(PLL)方式 14

2.6振荡器转换特性 15

2.6.2振荡器的转换 16

2.6.1系统时钟的转换 16

2.7片内振荡器休眠模式的影响 18

2.8上电延时 18

第3章复位 19

3.1上电复位 28

3.2 MCLR 28

3.3上电延时定时器 28

3.4起振定时器 29

3.5 PLL锁相延时 29

3.6掉电锁定复位 . 29

3.7上电复位延时时序图 29

4.1程序存储器结构 32

第4章存储器结构 32

4.2返回地址堆栈 33

4.2.1堆栈顶层的访问 33

4.2.2堆栈指针的返回 33

4.2.3压栈和弹栈指令 34

4.2.4堆栈满/下溢出复位 34

4.3快速寄存器堆栈 35

4.4 PCL,PCLATH和PCLATU 35

4.5时钟划分/指令周期 35

4.7程序存储器中的指令 36

4.6指令流程/流水线 36

4.8查询表 38

4.8.1计算后执行GOTO指令 38

4.8.2读表和写表 38

4.9数据存储器结构 38

4.9.1通用寄存器 40

4.9.2特殊功能寄存器 40

4.10全局存储区 50

4.11存储区选择寄存器 50

4.12间接寻址、INDF和FSR寄存器 51

4.13状态寄存器STATUS 52

4.14复位控制寄存器RCON 54

第5章数据存储器EEPROM 55

5.1 EEADR寄存器 55

5.2 EECON1和EECON2寄存器 55

5.3读数据存储器EEPROM 56

5.4写数据存储器EEPROM 57

5.5写校验 58

5.6误写操作保护 58

5.7代码保护情况下的操作 58

5.8数据存储器EEPROM的使用 58

6.1读表和写表操作 60

第6章程序存储器FLASH 60

6.2控制寄存器 61

6.2.1 EECON1和EECON2寄存器 61

6.2.2表锁存寄存器TABLAT 61

6.2.3表指针寄存器TBLPTR 62

6.2.4表指针边界 62

6.3读程序存储器FLASH 63

6.4擦除程序存储器FLASH 63

6.5写程序存储器FLASH 65

6.5.1程序存储器写序列 65

6.6代码保护情况下的程序存储器操作 68

6.5.4误写操作保护 68

6.5.3不可预料的写操作意外中止 68

6.5.2写校验 68

第7章8×8硬件乘法器 69

7.1 引 言 69

7.2操作 69

第8章 中 断 73

8.1 中断控制寄存器INTCON 74

8.2 PIR寄存器组 77

8.3 PIE寄存器组 80

8.4 IPR寄存器组 82

8.5 RCON寄存器 84

8.6 INT中断 85

8.7 TMR0中断 85

8.8 PORTB端口电平变化中断 85

8.9中断现场保护 85

8.10 用PORTB端口电平变化中断构成的键盘接口硬件电路 86

8.11用PORTB端口电平变化中断构成键盘的汇编语言编程 87

8.12 PORTB端口电平变化中断构成的键盘C语言编程 91

第9章I/O端口 94

9.1 PORTA,TRISA和LATA寄存器 94

9.2 PORTB,TRISB和LATB寄存器 96

9.3 PORTC,TRISC和LATC寄存器 100

9.4 PORTD,TRISD和LATD寄存器 101

9.5 PORTE,TRISE和LATE寄存器 103

9.6开关量输入/输出汇编语言编程 105

9.7开关量输入/输出C语言编程 109

9.8 PORTD端口输出开关量汇编语言编程 111

9.9 PORTD端口输出开关量C语言编程 112

第10章并行从动端口 113

第11章定时器/计数器TMR0模块 115

11.1TMR0操作 116

11.4 16位方式的定时器读/写 117

11.2前分频器 117

11.3 TMR0中断 117

11.5用定时器TMR0构成秒表的汇编语言编程 118

11.6用定时器TMR0构成秒表的C语言编程 125

第12章定时器/计数器TMR1模块 130

12.1 TMR1操作 131

12.2 TMR1振荡器 132

12.3 TMR1中断 132

12.4用CCP触发输出来复位TMR1 132

12.5 TMR1 16位读/写方式 133

第13章定时器/计数器TMR2模块 134

13.1 TMR2操作 135

13.2TMR2中断 135

13.3 TMR2的输出 135

第14章定时器/计数器TMR3模块 137

14.1 TMR3操作 139

14.2TMR1振荡器 139

14.3 TMR3中断 139

14.4用CCP触发输出来复位TMR1 139

第15章捕捉/比较/PWM(CCP)模块 141

15.2捕捉工作方式 142

15.1 CCP1模块 142

15.2.1 CCP引脚设定 143

15.2.2TMR1/TMR3工作方式选择 143

15.2.3软件中断 143

15.2.4 CCP1前分频器 143

15.2.5 CAN通信信息的时间标记 144

15.3比较工作方式 144

15.3.1 CCP1引脚设定 145

15.3.2TMR1/TMR3工作方式选择 145

15.3.3软件中断方式 145

15.3.4特殊事件触发方式 145

15.4.1 PWM周期 146

15.4 PWM工作方式 146

15.4.2 PWM工作循环周期 147

15.4.3 PWM操作配置 147

15.5 PWM(CCP)模块接口硬件电路 148

15.6 PWM(CCP)模块汇编语言编程 148

15.7 PWM(CCP)模块C语言编程 152

第16章增强型捕捉/比较/PWM(ECCP)模块 154

16.1ECCP1模块 155

16.2捕捉工作方式 156

16.3比较工作方式 156

16.4标准PWM工作方式 157

16.5增强型PWM工作方式 158

16.5.1 PWM输出操作配置 159

16.5半桥输出方式 160

16.5.3全桥输出方式 161

16.5.4可编程死区延时 163

16.5.5系统执行 164

16.5.6 PWM启动条件 164

16.5.7输出极性配置 164

16.5.8 PWM操作的配置 164

16.6增强型CCP的自动关闭功能 165

17.3 SPI方式 167

17.2控制寄存器组 167

第17章主同步串行端口 167

17.1主同步串行模块概述 167

17.3.1寄存器组 168

17.3.2运行 170

17.3.3使能SPI 171

17.3.4典型连接 171

17.3.5主控方式 172

17.3.6从动方式 174

17.3.10总线工作方式的兼容性 175

17.3.9复位的影响 175

17.3.8休眠方式 175

17.3.7同步从动方式选择 175

17.4 I2C模式 176

17.4.1 I2C的寄存器组 177

17.4.2操作方式 180

17.4.3从动方式 181

17.4.4时钟延伸 187

17.4.5支持通用地址寻址 190

17.4.6主控方式 191

17.4.7波特率发生器 193

17.4.8 I2C主控工作方式时的启动状态时序图 194

17.4.9 I2C主控方式时的重启动状态时序图 195

17.4.10 I2C主控发送方式 196

17.4.11 I2C主控接收方式 197

17.4.12应答信号位时序图 198

17.4.13停止状态位时序图 198

1 7.4.14休眠工作方式 199

17.4.15 复位影响 199

17.4.16多主机方式 199

17.4.17多主机通信、总线冲突和总线仲裁 200

17.5 SPI总线应用的开关量输入接口硬件电路 204

17.6 SPI总线应用开关量输入汇编语言编程 205

17.7 SPI总线应用开关量输入C语言编程 206

17.8 SPI总线应用的开关量输出接口硬件电路 208

17.9 SPI总线应用开关量输出汇编语言编程 208

1 7.10 SPI总线应用的开关量输出C语言编程 210

第18章可寻址的通用同步/异步收发器 212

18.1 USART波特率发生器 214

18.2 USART的异步工作方式 218

18.2.1 USART异步发送器 218

18.2.2 USART异步接收器 220

18.2.3带地址检测的9位异步接收方式 221

18.3.1 USART同步主控发送 222

18.3 USART同步主控方式 222

18.3.2 USART同步主控接收 224

18.4 USART同步从动方式 225

18.4.1 USART同步从动发送 225

18.4.2 USART同步从动接收 226

18USART接口硬件电路 227

18.6USART汇编语言编程 228

18.7USARTC语言编程 229

第19章CAN控制器模块 231

19.1概述 231

19.1.1 CAN模块概述 231

19.1.2发送/接收缓冲器 232

19.2 CAN控制寄存器 233

19.2.1 CAN控制与状态寄存器 233

19.2.2 CAN发送缓冲寄存器 237

19.2.3 CAN接收缓冲寄存器 240

19.2.4 CAN波特率寄存器 245

19.2.5 CAN模块输入/输出控制寄存器 247

1 9.2.6 CAN中断寄存器 248

19.3 CAN工作方式 251

19.3.1 配置方式 251

19.3.2关闭方式 251

19.4 CAN信息发送 252

19.3.6错误识别方式 252

19.4.1发送缓冲器 252

19.3.3正常工作方式 252

19.3.5 自检方式 252

19.3.4监听方式 252

19.4.2发送优先级 253

19.4.3启动发送 253

19.4.4中止发送 253

19.5信息接收 254

19.5.1信息接收缓冲器 254

19.5.2接收缓冲器 255

19.5.3接收优先级 255

19.5.4时间标记 256

19.6信息接收过滤器与屏蔽器 257

19.7波特率设定 258

19.7.1时间当量 259

19.7.2同步时间段 260

19.7.3传输时间段 260

19.7.4相位缓冲时间段 260

19.7.5采样点 260

19.7.6信息处理时间 260

19.8.1硬同步 261

19.8.2重同步 261

19.8 同 步 261

19.8.3同步规则 262

19.9时间段编程 262

19.10振荡器误差 262

19.11位时间配置寄存器 262

19.12.1 CRC错误 263

19.12.4位错误 263

19.12.3格式错误 263

19.12.2应答错误 263

19.12错误检测 263

19.11.3 BRGCON3 263

19.11.2 BRGCON2 263

19.11.1 BRGCON1 263

19.12.5填充位错误 264

19.12.6错误状态 264

19.12.7错误方式和错误计数器 264

19.13 CAN中断 265

19.13.1中断编码位 265

19.13.7 中断应答 266

19.13.6错误中断 266

19.13.5总线活动唤醒中断 266

19.13.4信息错误中断 266

19.13.3接收中断 266

19.13.2发送中断 266

19.14 CAN总线应用接口硬件电路 267

19.15 CAN总线应用汇编语言编程 267

19.16 CAN总线应用C语言编程 271

第20章10位A/D转换器模块 274

20.1对A/D数据采集的要求 278

20.2 A/D转换时钟的选择 279

20.3模拟通道输入引脚的配置 280

20.4 A/D转换 280

20.5 ECCP触发器的使用 281

20.6 A/D转换器应用接口硬件电路 282

20.7 A/D转换器应用的汇编语言编程 283

20.8 A/D转换器应用的C语言编程 288

第21章比较模块 290

21.1比较器的配置 292

21.2比较器的工作 292

21.3比较器的参考 292

21.3.1外部参考信号 292

21.3.2内部参考信号 292

21.4 比较器的响应时间 292

21.6 比较器的中断 293

21.5 比较器的输出 293

21.7休眠期间比较器的运行 294

21.8复位的影响 294

21.9模拟输入接入的注意事项 294

第22章 比较器参考电压源 296

22.1 比较器参考电压源的配置 296

22.2参考电压源的准确度和误差 297

22.3休眠期间的运行 297

22.4复位的影响 297

22.5引脚对外连接的注意事项 297

第23章低电压检测 299

23.1控制寄存器 300

23.2 工作 301

23.2.1参考电压设置点 302

23.2.2 电流消耗 302

23.3休眠期间的工作 302

23.4复位的影响 302

第24章CPU的特殊功能 303

24.1配置位 303

24.2监视定时器(WDT) 309

24.2.1 WDTCON控制寄存器 309

24.3休眠方式 310

24.2.2 WDT后分频器 310

24.3.1从休眠状态到唤醒状态 311

24.3.2 中断唤醒应用 311

24.4程序校验和代码保护 312

24.4.1程序存储器代码保护 313

24.4.2数据存储器EEPROM的代码保护 315

24.4.3系统配置寄存器的保护 315

24.5标识码存储单元 315

24.6在线串行编程 315

24.7在线调试器 315

24.8低电压ICSP编程 315

24.9程序监视定时器汇编语言编程 316

24.10程序监视定时器C语言编程 317

24.11休眠唤醒功能汇编语言编程 318

24.12休眠唤醒功能C语言编程 320

第25章指令系统概述 321

25.1读—修改—写操作 327

25.2指令说明 327

第26章PIC18Fxx8单片机实验板介绍 383

26.1模板功能介绍 383

26.1.4 液晶显示器(LCD)显示 384

26.1.3 LED显示 384

26.1.2键盘 384

26.1.1 A/D转换功能 384

26.1.5 8路开关量输入和8路开关量输出 385

26.1.6 D/A输出 385

26.1.7 串行通信接口SCI 385

26.1.8主/从单片机多机并行通信 385

26.1.9捕捉方式和PWM方式 385

26.1.12其他功能 386

26.2实验板的硬件布局 386

26.1.11时钟信号 386

26.1.10多种复位方式 386

26.3测试点及主要器件介绍 387

第27章液晶显示器应用编程 390

27.1 PIC18Fxx8与MCG12864A8-3的硬件接口电路 390

27.1.1 MCG12864A8-3的结构特点 390

27.1.2 MCG12864A8-3模块的引脚说明 390

27.1.3 PIC18F458与MGLS12864模块的接口电路 391

27.2液晶显示程序清单 392

27.2.1液晶显示器汇编语言接口程序 392

27.2.2液晶显示器C语言接口程序 407

附 录 416

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