产品详情
手把手教你学PIC单片机C程序设计目录
第1章 概述
1.1 快速高效地学会PIC单片机应用编程的办法是采用C语言编程
1.2 C语言具有的突出优点
1.3 PIC单片机简介
第2章 学习PIC单片机设计所用的软件及实验器材
2.1 MPLAB IDE集成开发环境
2.2 PICC C语言编译器
2.3 PIC DEMO单片机综合试验板。
2.4 ICD2在线调试器/程序下载器。
2.5 USB PIC程序下载器
2.6 5V高稳定专用稳压电源
第3章 开发软件的安装及第一个入门实验程序
3.1 MPLAB IDE集成开发环境的安装
3.2 PICC C语言编译器软件的安装
3.3 第一个入门实验程序
3.3.1 建立一个工程项目,选择器件并确定选项
3.3.2 建立汇编源文件或C源文件
3.3.3 将源文件添加到项目中(添加节点)并编译项目
3.3.4 编译通过后进行软件模拟仿真
3.3.5 .编译通过后进行硬件在线仿真
3.3.6 编程操作
3.3.7 应用
第4章 PIC单片机的主要特点及基本结构
4.1 PIC单片机的主要特点
4.2 PIC单片机的基本组成结构
4.3 PICl6F877A单片机的基本功能模块
4.3.1 程序存储器和堆栈
4.3.2 数据存储器
4.3.3 EEPROM数据存储器
4.3.4 算术逻辑区域
4.3.5 输入/输出端口模块
4.3.6 定时器模块
4.3.7 复位功能模块
4.4 PIC16F877单片机的专用功能模块
4.4.1 通用同步/异步串行收发器USART模块
4.4.2 并行从动端口PSP模块
4.4.3 主同步串行端口MSSP
4.4.4 捕捉/比较/脉宽调制模块
4.4.5 模/数转换器(ADC)模块
4.5 PIC16F877A单片机的引脚配置
4.5.1 系统配置引脚
4.5.2 输入/输出引脚的其它功能
第5章 C语言基础知识
5.1 C语言的标识符与关键字
5.2 数据类型
5.3 常量、变量及存储方式
5.4 PICC 中变量的绝对地址定位
5.5 数组
5.5.1 一维数组的定义
5.5.2 二维及多维数组的定义
5.5.3 字符数组
5.5.4 数组元素赋初值
5.5.5 数组作为函数的参数
5.6 C语言的运算
5.6.1 算术运算符
5.6.2 关系运算符
5.6.3 逻辑运算符
5.6.4 赋值运算符
5.6.5 自增和自减运算符
5.6.6 逗号运算符
5.6.7 条件运算符
5.6.8 位运算符
5.6.9 sizeof运算符
5.7 流程控制
5.7.1 条件语句与控制结构
5.7.2 循环语句
5.8 函数
5.8.1 函数定义的一般形式
5.8.2 函数的参数和函数返回值
5.8.3 函数调用的三种方式
5.9 指针
5.9.1 指针与地址
5.9.2 指针变量的定义
5.9.3 指针变量的引用
5.9.4 数组指针与指向数组的指针变量
5.9.5 指针变量的运算
5.9.6 指向多维数组的指针和指针变量
5.9.7 指向RAM的指针
5.9.8 指向ROM常数的指针
5.9.9 指向函数的指针
5.10 结构体
5.10.1 结构体的概念
5.10.2 结构体类型变量的定义
5.10.3 关于结构体类型有几点需要注意的地方
5.10.4 结构体变量的引用
5.10.5 结构体变量的初始化
5.10.6 结构体数组
5.10.7 指向结构体类型数据的指针
5.10.8 用指向结构体变量的指针引用结构体成员
5.10.9 指向结构体数组的指针
5.10.10 将结构体变量和指向结构体的指针作函数参数
5.11 共用体
5.11.1 共用体类型变量的定义
5.11.2 共用体变量的引用
5.12 中断函数
5.12.1 什么是中断
5.12.2 编写PIC单片机中断函数时应严格遵循的规则
第6章 IO端口及使用
6.1 PIC单片机的IO端口
6.2 端口的输入及输出
6.3 IO端口的输出实验
6.3.1 实验要求
6.3.2 源程序文件及分析
6.4 IO端口驱动数码管的实验
6.4.1 实验要求
6.4.2 源程序文件及分析
6.5 IO端口的输入实验
6.5.1 实验要求
6.5.2 源程序文件及分析
6.6 行列式按键的输入实验
6.6.1 实验要求
6.6.2 源程序文件及分析
第7章 驱动16x2点阵字符液晶模块的实验
7.1 16x2点阵字符液晶显示器概述
7.2 液晶显示器的突出优点
7.3 16x2字符型液晶显示模块(LCM)特性
7.4 16x2字符型液晶显示模块(LCM)引脚及功能
7.5 16x2字符型液晶显示模块(LCM)的内部结构
7.6 液晶显示控制驱动集成电路HD44780特点
7.7 HD44780工作原理
7.7.1 DDRAM—数据显示用RAM
7.7.2 CGROM—字符产生器ROM
7.7.3 CGRAM—字型、字符产生器RAM
7.7.4 IR—指令寄存器
7.7.5 DR—数据寄存器
7.7.6 BF—忙碌标志信号
7.7.7 AC—地址计数器
7.8 LCD控制器的指令
7.8.1 清除显示器
7.8.2 光标归位设定
7.8.3 设定字符进入模式
7.8.4 显示器开关
7.8.5 显示光标移位
7.8.6 功能设定
7.8.7 CGRAM地址设定
7.8.8 DDRAM地址设定
7.8.9 忙碌标志BF或AC地址读取
7.8.10 写数据到CGRAM或DDRAM中
7.8.11 从CGRAM或DDRAM中读取数据
7.9 LCM工作时序
7.10 PIC单片机驱动16x2点阵字符液晶模块的子函数
7.10.1 写命令到LCM子函数
7.10.2 写数据到LCM子函数
7.10.3 显示光标定位子函数
7.10.4 显示指定座标的一个字符(x=0~15,y=0~1)子函数
7.10.5 演示第二行移动字符串子函数
7.10.6 显示指定座标的一串字符子函数
7.11 驱动16x2LCM的实验程序1
7.11.1 实验要求
7.11.2 源程序文件及分析
7.12 驱动16x2LCM的实验程序2
7.12.1 实验要求
7.12.2 源程序文件及分析
第8章 驱动128x64点阵图形液晶模块的实验
8.1 128x64点阵图形液晶模块特性
8.2 128x64点阵图形液晶模块引脚及功能
8.3 128x64点阵图形液晶模块的内部结构
8.4 HD61203特点
8.5 HD61202特点
8.6 HD61202工作原理
8.6.1 I/O缓冲器
8.6.2 输入寄存器
8.6.3 输出寄存器
8.6.4 显示存储器电路
8.6.5 XY地址计数器
8.6.6 显示起始行寄存器
8.6.7 Z地址计数器
8.6.8 显示开/关触发器
8.6.9 指令寄存器
8.6.10 状态字寄存器
8.6.11 显示数据锁存器
8.7 HD61202的工作过程
8.8 点阵图形液晶模块的控制器指令
8.8.1 显示器开关
8.8.2 设置页(x地址)
8.8.3 读状态
8.8.4 显示开始行
8.8.5 设置Y地址
8.8.6 写显示数据
8.8.7 读显示数据
8.9 HD61202的操作时序图
8.10 PIC单片机驱动128x64点阵图形液晶模块的子函数
8.10.1 判LCM忙子函数
8.10.2 写指令到LCM子函数
8.10.3 写数据到LCM子函数
8.10.4 设定起始行子函数
8.10.5 定位x方向、y方向的子函数
8.10.6 屏幕开启、关闭子函数
8.10.7 复位子函数
8.10.8 根据x、y地址定位,将数据写入LCM左半屏或右半屏的子函数
8.10.9 显示汉字子函数
8.10.10 显示一幅图片子函数
8.11 驱动128x64点阵图形液晶的实验程序1
8.11.1 实验要求
8.11.2 源程序文件及分析
8.11.3 怎样制作汉字点阵码表
8.12 驱动128x64点阵图形液晶的实验程序2
8.12.1 实验要求
8.12.2 源程序文件及分析
8.13 驱动128x64点阵图形液晶的实验程序3
8.13.1 实验要求
8.13.2 源程序文件及分析
8.13.3 怎样制作图片的点阵码表
第9章 中断系统及使用
9.1 PIC16F877A的中断系统
9.2 中断源的分类
9.3 相关的中断控制寄存器
9.3.1 选项寄存器 OPTION-REG
9.3.2 中断控制寄存器 INTCON
9.3.3 第1外围设备中断使能寄存器 PIE1
9.3.4 第1外围设备中断标志寄存器 PIR1
9.3.5 第2外围设备中断使能寄存器 PIE2
9.3.6 第2外围设备中断标志寄存器 PIR2
9.4 外部按键触发中断实验
9.4.1 实验要求
9.4.2 源程序文件及分析
9.5 利用RB口的电平变化中断读取行列式按键的键值
9.5.1 实验要求
9.5.2 源程序文件及分析
9.6 多个中断的实验1
9.6.1实验要求
9.6.2 源程序文件及分析
9.7 单片机休眠状态的中断实验
9.7.1 实验要求
9.7.2 源程序文件及分析
第10章 定时器/计数器
10.1 定时/计数器TMRO
10.1.1 定时/计数器TMRO特性
10.1.2选项寄存器 OPTION_REG
10.1.3 中断控制寄存器 INTCON
10.2 定时器/计数器TMR1
10.2.1定时/计数器TMR1特性
10.2.2 TMR1控制寄存器 T1CON
10.2.3 中断控制寄存器 INTCON
10.2.4 第一外围中断使能寄存器 PIE1
10.2.5 第一外围中断标志寄存器 PIR1
10.3 定时器TMR2
10.3.1定时器TMR2特性
10.3.2 TMR2控制寄存器 T2CON
10.3.3 中断控制寄存器 INTCON
10.3.4 第一外围中断使能寄存器 PIE1
10.3.5 第一外围中断标志寄存器 PIR1
10.3.6 TMR2周期寄存器 PR2
10.4 蜂鸣器发出1KHz音频的实验
10.4.1 实验要求
10.4.2 源程序文件及分析
10.5 时间精确的闪烁灯实验
10.5.1 实验要求
10.5.2 源程序文件及分析
10.6 中断扫描方式驱动8位数码管实验
10.6.1 实验要求
10.6.2 源程序文件及分析
10.7 计数器实验
10.7.1 实验要求
10.7.2 源程序文件及分析
10.8 4位跑表实验
10.8.1 实现方法
10.8.2 源程序文件及分析
第11章 捕捉/比较/脉宽调制(CCP)模块
11.1 CCP模块控制寄存器 CCP1CON和CCP2CON
11.2 CCP模块寄存器 CCPRx
11.3 CCP模块的捕捉模式
11.4 捕捉模式相关的寄存器
11.5 捕捉模式的应用设置
11.6 CCP模块的比较模式
11.7 比较模式相关的寄存器
11.8 比较模式的应用设置
11.9 CCP模块的PWM模式
11.9.1 PWM信号周期
11.9.2 PWM信号脉宽
11.10 PWM模式相关的寄存器
11.11 PWM模式的应用设置
11.12 CCP模块的捕捉实验
11.12.1 实验要求
11.12.2 源程序文件及分析
11.13 CCP模块的比较实验1
11.13.1 实验要求
11.13.2 源程序文件及分析
11.14 CCP模块的比较实验2
11.14.1 实验要求
11.14.2 源程序文件及分析
11.15 CCP模块的PWM实验
11.15.1 实验要求
11.15.2 源程序文件及分析
11.16 连续改变CCP模块PWM的实验
11.16.1 实验要求
11.16.3 源程序文件及分析
第12章 USART通信模块
12.1 USART模块的寄存器
12.1.1 数据发送控制及状态寄存器 TXSTA
12.1.2 数据接收控制及状态寄存器 RCSTA
12.1.3 发送缓冲寄存器 TXREG
12.1.4 接收缓冲寄存器 RCREG
12.1.5 波特率寄存器 SPBRG
12.2 USART通信模块相关的寄存器
12.3 USART波特率设置
12.4 USART异步数据发送原理
12.5 USART异步数据接收原理
12.6 单片机与PC机通信实验1
12.6.1 实验要求
12.6.2 源程序文件及分析
12.7 单片机与PC机通信实验2
12.7.1 实验要求
12.7.2 源程序文件及分析
12.8 单片机与PC机通信实验3
12.8.1 实验要求
12.8.2 源程序文件及分析
第13章 IIC通信模块
13.1 IIC总线通信模式
13.2 IIC模块的寄存器
13.2.1 同步串口控制寄存器 SSPCON
13.2.2 同步串口状态寄存器 SSPSTAT
13.2.3 从动器件地址/波特率寄存器 SSPADD
13.2.4 同步串口控制寄存器 SSPCON2
13.3 IIC模块相关的寄存器
13.4 IIC主控方式
13.5 IIC 从动方式
13.6 利用硬件方式读写PIC16F877A内部EEPROM的实验
13.6.1 实验要求
13.6.2 源程序文件及分析
13.7 利用库函数读写PIC16F877A内部EEPROM的实验
13.7.1 实验要求
13.7.2 源程序文件及分析
13.8 利用硬件接口读写外部24C01的实验
13.8.1 实验要求
13.8.2 源程序文件及分析
13.9 利用软件模拟时序实现读写外部24C01的实验
13.9.1 实验要求
13.9.2 源程序文件及分析
第14章 SPI通信模块
14.1 SPI通信模式
14.2 SPI模块的寄存器
14.2.1 收/发数据缓冲器 SSPBUF
14.2.2同步串行状态寄存器 SSPSTAT
14.2.3 同步串行控制寄存器 SSPCON
14.2.4 移位寄存器 SSPSR
14.3 SPI模式相关的寄存器
14.4 同步串行EEPROM AT93CXX的性能特点
14.5 AT93CXX引脚定义
14.6 AT93CXX系列存储器特点
14.7 AT93CXX系列EEPROM的内部结构
14.8 AT93CXX系列EEPROM 的指令集
14.9 器件操作
14.9.1 读操作指令
14.9.2 写操作指令
14.9.3 擦除
14.9.4 擦除/写使能和禁止
14.9.5 擦除全部
14.9.6 写全部
14.10 软件模拟SPI时序读写外部93C46的实验
14.10.1 实验要求
14.10.2 源程序文件及分析
14.11 利用硬件接口读写外部93C46的实验
14.11.1 实验要求
14.11.2 源程序文件及分析
第15章 AD转换器模块
15.1 AD转换器结构及原理
15.2 AD转换器的寄存器
15.2.1 AD控制寄存器0 ADCON0
15.2.2 AD控制寄存器1 ADCON1
15.2.3 ADC结果寄存器高位 ADRESH
15.2.4 ADC结果寄存器低位 ADRESL
15.2.5 方向控制寄存器 TRISA和TRISE
15.3 AD转换器模块相关的寄存器
15.4 中断方式读取AD转换器值的实验
15.4.1 实验要求
15.4.2 源程序文件及分析
15.5 查询方式读取AD转换器值的实验
15.5.1 实验要求
15.5.2 源程序文件及分析
第16章 PIC单片机看门狗及芯片的配置、复位等
16.1 PIC单片机看门狗定时器 WDT
16.2 PIC单片机的芯片配置寄存器 CONFIG
16.3 PIC单片机的复位
16.4 PIC单片机的工作时钟
16.4.1 石英晶体/陶瓷谐振器
16.4.2 外部时钟
16.4.3 外部RC振荡器
16.4.4 内部RC振荡器
16.5 PIC单片机的低功耗休眠
16.6 PIC单片机在线串行编程
16.7 PIC单片机看门狗实验1
16.7.1 实验要求
16.7.2 源程序文件及分析
16.8 PIC单片机看门狗门狗实验2
16.8.1 实验要求
16.8.2 源程序文件及分析
第17章 设计具有测温及液晶显示的简易万年历
17.1 实验目的
17.2 实验要求
17.3 单线数字温度传感器DS18B20
17.3.1 DS18B20内部结构与原理
17.3.2 DS18B20特点
17.3.3 1-Wire总线操作
17.3.4 DS18B20初始化流程
17.3.5 DS18B20温度转换及读取流程
17.4 程序设计
17.4.1 程序设计思路
17.4.2 ptc17-1.c主控程序文件
17.4.3 lcd1602_8bit.c液晶驱动源程序文件
17.4.4 ds18b20.c温度测量源程序文件
17.4.5 key.c按键扫描源程序文件
17.4.6 head.h头文件