当前位置:主页 > 书籍配套资源 > PIC单片机配套资源
《我和PIC单片机:基于PIC18》源代码

《我和PIC单片机:基于PIC18》源代码

  • 更新:2022-04-20
  • 大小:2.29 MB
  • 类别:PIC单片机
  • 作者:高显生
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

全书计划15章,每章开篇讲述单片机内部各种功能及原理,后配套C源代码及实践,一章一个任务,采用手把手的方式,教你循序渐进地掌握PIC的开发。

封面图

目录

  • 前言
  • 第一篇片内功能和开发环境
  • 第1章初识PIC  2
  • 1.1与众不同的PIC  2
  • 1.1.1PIC单片机大家族  2
  • 1.1.2哈佛内核结构  3
  • 1.1.3PIC的功能概要  4
  • 1.2主题芯片介绍  7
  • 1.2.1片内资源配置  7
  • 1.2.2PIC的I/O口  7
  • 1.2.3I/O口的方向设定  9
  • 1.2.4I/O口的应用  9
  • 1.2.5I/O口的内部结构  10
  • 第2章PIC的开发环境  12
  • 2.1PIC开发的硬件资源  12
  • 2.1.1动手搭建系统板  12
  • 2.1.2ICSP接口  13
  • 2.2MPLAB IDE集成开发环境  13
  • 2.2.1单片机系统开发过程  14
  • 2.2.2MPLAB IDE及其内置组件  14
  • 2.2.3MPLAB IDE的工具链  16
  • 2.3开发前的准备  17
  • 2.3.1PICC支持的基本数据类型  17
  • 2.3.2安装MPLAB IDE软件  18
  • 2.3.3安装PICC18编译器软件  21
  • 2.4我的第一个PIC程序  23
  • 2.4.1建立开发项目  23
  • 2.4.2新建源文件并添加到项目中  30
  • 2.4.3源代码的编写  33
  • 2.4.4代码的编译和烧写  34
  • 2.4.5PIC入门编程实例  39
  • 第3章仿真  40
  • 3.1MPLAB SIM软件模拟器  40
  • 3.1.1使用软件模拟器  40
  • 3.1.2设置断点  44
  • 3.1.3设定观察窗口  45
  • 3.2PICkit 2硬件调试器  46
  • 第4章位操作  51
  • 4.1PICC中的高级变量  51
  • 4.2PICC中的变量修饰关键词  52
  • 4.3PIC18的头文件  53
  • 4.4位操作  57
  • 4.4.1位操作的方法  57
  • 4.4.2不容忽视的“读-修改-写”问题 59
  • 第5章时钟源  62
  • 5.1数码管  62
  • 5.1.1数码管的内部结构  62
  • 5.1.2数码管的驱动  63
  • 5.2时钟源简介  64
  • 5.2.1时钟的来源  64
  • 5.2.2时钟源的分类  64
  • 5.3主时钟源  65
  • 5.3.1与时钟源相关的配置位  65
  • 5.3.2主时钟源配置  66
  • 5.4内部及辅助时钟源  68
  • 5.4.1内部时钟源配置  68
  • 5.4.2内部及辅助时钟源的构成  69
  • 5.4.3时钟源的控制寄存器  69
  • 5.5时钟源编程实例  71
  • 5.5.1时钟源的设置向导  71
  • 5.5.2主时钟源的应用  72
  • 5.5.3内部时钟源的应用  75
  • 第6章PIC的特色功能  77
  • 6.1功耗管理模式  77
  • 6.1.1运行模式  77
  • 6.1.2空闲模式  77
  • 6.1.3休眠模式  78
  • 6.2复位  79
  • 6.2.1外部复位 79
  • 6.2.2上电复位  79
  • 6.2.3上电延时定时器复位  79
  • 6.2.4振荡器起振定时器复位  80
  • 6.2.5欠压复位  81
  • 6.2.6看门狗定时器复位  81
  • 6.2.7跟踪复位事件  83
  • 6.3双速启动  83
  • 6.4故障保护时钟监视器 84
  • 第7章配置位  85
  • 7.1配置位简介  85
  • 7.1.1配置位的使用方法  85
  • 7.1.2配置寄存器  86
  • 7.2配置位的相关设置  91
  • 第二篇单元模块及驱动
  • 第8章中断  94
  • 8.1中断系统  94
  • 8.1.1中断的类型  94
  • 8.1.2中断的处理  95
  • 8.1.3中断控制寄存器  95
  • 8.2外部中断  100
  • 8.2.1外部中断的过程  101
  • 8.2.2特殊的PORTB端口  101
  • 8.2.3外部中断编程实例  102
  • 8.2.4PIC的中断服务函数  105
  • 8.3电平变化中断  105
  • 8.3.1电平变化中断的特点  105
  • 8.3.2电平变化中断的应用  106
  • 第9章定时/计数器(上)  109
  • 9.1TIMER0模块  109
  • 9.1.1TMIER0的内部结构  109
  • 9.1.2 TIMER0的控制寄存器  110
  • 9.1.3TIMER0的16位读写方式  110
  • 9.1.4TIMER0的预分频器  111
  • 9.1.5TIMER0的中断  112
  • 9.2TIMER0编程实例  112
  • 9.3TIMER1模块  115
  • 9.3.1TMIER1的内部结构  115
  • 9.3.2TMIER1的控制寄存器  116
  • 9.3.3TIMER1的16位读写模式  117
  • 9.3.4TIMER1的振荡器  118
  • 9.3.5TIMER1的中断  118
  • 9.3.6灵活使用TIMER1  119
  • 9.4TIMER1编程实例  119
  • 第10章定时/计数器(下)  124
  • 10.1TIMER2模块  124
  • 10.1.1TMIER2的内部结构  124
  • 10.1.2TMIER2的控制寄存器  125
  • 10.2TIMER2编程实例  125
  • 10.3TIMER3模块  130
  • 10.3.1TMIER3的内部结构  130
  • 10.3.2TMIER3的控制寄存器  131
  • 10.3.3TIMER3的16位读写方式  131
  • 10.3.4TIMER3的中断  132
  • 10.4TIMER3编程实例  132
  • 第11章A/D转换器  137
  • 11.1A/D转换器的原理  137
  • 11.1.1模数转换  137
  • 11.1.2逐次逼近型A/D转换器原理  138
  • 11.2PIC的ADC模块  138
  • 11.2.1ADC模块的结构  138
  • 11.2.2A/D转换的分辨率  139
  • 11.2.3ADC模块的控制寄存器  140
  • 11.3设置ADC模块  143
  • 11.3.1模拟输入通道  143
  • 11.3.2A/D转换周期  143
  • 11.3.3A/D转换过程  144
  • 11.3.4A/D转换时钟  144
  • 11.4使用ADC模块  145
  • 11.4.1ADC模块编程向导  145
  • 11.4.2ADC模块编程实例  145
  • 第12章主控同步串行接口(SPI模式)  149
  • 12.1MSSP模块  149
  • 12.1.1SPI总线  149
  • 12.1.2MSSP模块的SPI模式  150
  • 12.1.3SPI模式控制寄存器  151
  • 12.1.4SPI主控模式通信时序  153
  • 12.1.5SPI模式端口配置  154
  • 12.1.6SPI的通信过程  154
  • 12.1.7SPI模式通信要点  155
  • 12.2存储器93C46  156
  • 12.2.193C46引脚功能  156
  • 12.2.293C46操作指令  157
  • 12.2.393C46数据传输时序  159
  • 12.3SPI模式编程实例  159
  • 12.3.1SPI主控模式编程向导  159
  • 12.3.293C46断电接力显示  159
  • 第13章主控同步串行接口(I2C模式)  165
  • 13.1I2C总线  165
  • 13.2I2C总线通信协议  166
  • 13.2.1起始和停止条件  166
  • 13.2.2I2C总线的位传输  167
  • 13.2.3I2C器件的寻址  167
  • 13.3MSSP模块的I2C模式 168
  • 13.3.1I2C模式简介  168
  • 13.3.2I2C模式的控制寄存器  169
  • 13.3.3I2C模式的编程向导  171
  • 13.4I2C模式通信  171
  • 13.4.1I2C模式数据发送时序  171
  • 13.4.2I2C模式数据接收时序  173
  • 13.4.3波特率  174
  • 13.5DS1307实时时钟  175
  • 13.5.1DS1307的功能  175
  • 13.5.2DS1307的寄存器  176
  • 13.5.3DS1307的数据格式  177
  • 13.6I2C模式编程实例  178
  • 第14章CCP模块  184
  • 14.1CCP模块概述  184
  • 14.1.1CCP模块的功能  184
  • 14.1.2CCP模块的控制寄存器  184
  • 14.1.3定时器资源配置  185
  • 14.1.4CCP模块引脚分配  186
  • 14.2捕捉模式  186
  • 14.2.1捕捉模式原理  186
  • 14.2.2捕捉模式的时间值  187
  • 14.2.3捕捉模式的配置  188
  • 14.2.4理解捕捉模式  188
  • 14.2.5捕捉的精度  189
  • 14.3比较模式  189
  • 14.3.1比较模式的原理  189
  • 14.3.2比较模式的应用  190
  • 14.4PWM模式  190
  • 14.4.1PWM的相关参数  191
  • 14.4.2 PWM模式的原理  191
  • 14.4.3PWM参数的计算  193
  • 14.4.4 PWM模式设置向导  193
  • 14.4.5增强型PWM方式  194
  • 14.5CCP模块编程实例  194
  • 14.5.1基于CCP模块的信号发生器和频率计  194
  • 14.5.2 PWM调光灯  198
  • 第15章模拟比较器  203
  • 15.1模拟比较器模块  203
  • 15.1.1比较器的作用  203
  • 15.1.2比较器模块配置  204
  • 15.1.3比较器的控制寄存器  205
  • 15.1.4比较器的工作原理  206
  • 15.1.5比较器的中断  206
  • 15.2参考电压模块  207
  • 15.2.1参考电压模块的控制寄存器  207
  • 15.2.2参考电压源  208
  • 15.2.3参考电压模块的应用  209
  • 15.3比较器编程实例  209
  • 第16章片内存储器  212
  • 16.1FLASH的读写  212
  • 16.1.1存储器的结构  212
  • 16.1.2表读和表写  212
  • 16.2EEPROM的读写  214
  • 16.2.1EEPROM的相关寄存器  215
  • 16.2.2读EEPROM存储器  216
  • 16.2.3写EEPROM存储器  216
  • 16.3EEPROM编程实例  216
  • 第17章串行通信模块  220
  • 17.1串行通信模块概述  220
  • 17.1.1EUSART的工作模式  220
  • 17.1.2EUSART的端口配置  220
  • 17.1.3EUSART的相关寄存器  221
  • 17.1.4异步通信数据格式  224
  • 17.1.5EUSART的中断  224
  • 17.2波特率发生器  224
  • 17.2.1波特率  224
  • 17.2.2波特率的产生  225
  • 17.3EUSART数据发送  225
  • 17.3.1异步发送原理  225
  • 17.3.2异步发送时序  226
  • 17.3.3异步发送编程向导  227
  • 17.4EUSART数据接收  227
  • 17.4.1异步接收原理  227
  • 17.4.2异步接收时序  229
  • 17.4.3异步接收编程向导  230
  • 17.4.4地址检测接收编程向导  230
  • 17.5EUSART编程实例  231
  • 17.5.1间隔字符和同步字符的发送  231
  • 17.5.2串行通信收发器  231
  • 第三篇扩展应用实例
  • 第18章步进电机的驱动  236
  • 18.1步进电机的特点  236
  • 18.1.1步进电机的分类  236
  • 18.1.2步进电机的工作原理  237
  • 18.1.3步距角的计算方法  237
  • 18.228BYJ48型步进电机  237
  • 18.2.128BYJ48电机性能指标  237
  • 18.2.228BYJ48电机绕组结构  238
  • 18.3步进电机的驱动  238
  • 18.3.1步进电机的励磁方式  238
  • 18.3.2步进电机的驱动电路  239
  • 18.3.3步进电机编程实例  239
  • 第19章红外线解码及发射  243
  • 19.1红外线遥控的编码方式  243
  • 19.1.1编码的帧结构  243
  • 19.1.2编码的方式  243
  • 19.1.3编码的调制与解调  244
  • 19.2红外线解码与发射  245
  • 19.2.1红外线解码的方法  245
  • 19.2.2红外线发射的方法  245
  • 19.3红外线遥控编程实例 246
  • 19.3.1红外线解码器  246
  • 19.3.2红外线发射器  251
  • 第20章DS18B20数字温度传感器  254
  • 20.1DS18B20的功能介绍  254
  • 20.1.1DS18B20的特点  254
  • 20.1.2DS18B20的引脚定义  255
  • 20.2DS18B20的内部结构  255
  • 20.2.164位光刻ROM  255
  • 20.2.2存储器  255
  • 20.2.3配置寄存器  256
  • 20.2.4温度值的存储方式  257
  • 20.3DS18B20的读写方式  258
  • 20.3.1DS18B20的初始化时序  258
  • 20.3.2DS18B20的写时序  258
  • 20.3.3DS18B20的读时序  259
  • 20.4DS18B20的通信协议  259
  • 20.4.1ROM指令  260
  • 20.4.2RAM指令  260
  • 20.5DS18B20的应用  261
  • 20.5.1DS18B20的供电方式  261
  • 20.5.2DS18B20的编程向导  262
  • 20.5.3DS18B20的使用要点  262
  • 20.6DS18B20编程实例  262
  • 第21章1602字符型液晶显示器  268
  • 21.11602液晶概述  268
  • 21.1.11602液晶的特点  268
  • 21.1.21602液晶的引脚功能  268
  • 21.1.31602液晶与单片机的接口  269
  • 21.21602液晶的功能  269
  • 21.2.11602液晶的显示数据RAM  269
  • 21.2.21602液晶的字符发生器  270
  • 21.2.31602液晶的操作时序  272
  • 21.2.41602液晶的操作指令  273
  • 21.2.51602液晶的初始化 275
  • 21.31602液晶编程实例  275
  • 第22章12864点阵型液晶显示器  278
  • 22.112864点阵型液晶概述  278
  • 22.1.1JLX12864G-086液晶的特点  278
  • 22.1.2JLX12864G-086液晶的引脚功能  279
  • 22.212864点阵型液晶显示方式  280
  • 22.2.1显示屏与显存的对应关系  280
  • 22.2.2显存的组织结构  281
  • 22.2.3读写时序  281
  • 22.2.4UC1701X指令集  282
  • 22.312864点阵型液晶编程实例  283
  • 22.3.1液晶显示器的接口电路  283
  • 22.3.2汉字的取模方法  284
  • 22.3.3图像的取模方法  284
  • 22.3.4汉字和图形显示  285
  • 附录APIC18F4520单片机的引脚功能  294
  • 附录B搭建系统板所需材料清单  296
  • 附录C最小系统板电路原理图  297
  • 附录Debox2049实验板  298

资源下载

资源下载地址1:https://pan.baidu.com/s/1iytnnbgpqDzClAY7hi7EiA

相关资源

网友留言