嵌入式C编程 PIC单片机和C编程技术与应用 内容简介
本书介绍PIC单片机的C语言程序设计方法,前半部分详细讲解C语言的基本概念,后半部分重点关注PIC及其外围组件。全书风格简洁清晰,知识点、代码示例、编程练习都紧紧围绕工程实践需求。本书不要求读者具备C语言或硬件接口的预备知识,初学者可边学边练逐步精进,而有一定基础的程序员则可从作者分享的实战经验中获益。
嵌入式C编程 PIC单片机和C编程技术与应用 目录
出版者的话
译者序
前言
第1章C语言概述和程序结构
1.1C源代码
1.2注释
1.3程序结构
1.4C预编译指令
1.5函数
1.6声明
1.7语句和表达式
1.8时间
1.9输入准确度
1.10文本格式
1.11兼容性
1.12小结
1.13练习
1.14测验
第2章常量
2.1位、字节等
2.1.1位
2.1.2半字节
2.1.3字节
2.1.4内存大小
2.2C常量语法
2.2.1二进制
2.2.2十进制
2.2.3有符号整数
2.2.4十六进制
2.2.5八进制
2.2.6浮点数
2.2.7定点数
2.2.8字符
2.2.9字符串
2.2.10真和假
2.2.11常量
2.3三字母词
2.4兼容性
2.5设计文档
2.6小结
2.7练习
2.8测验
第3章预编译指令
3.1标准预编译指令
3.1.1#def?ineidtext
3.1.2#include<f?ilename>或#include“f?ilename”
3.1.3#ifdef、#ifndef、#else、#endif和#undef
3.1.4#if、#else、#elif和#endif
3.1.5#error
3.1.6#nolist和#list
3.2兼容性
3.3非标准编译指示
3.3.1#warning
3.3.2#usedelay
3.3.3关于频率
3.3.4#users232(options)
3.3.5#fusesoptions
3.3.6#locateid=address
3.3.7#byteid=x和#wordid=x
3.3.8#bitid=x.y
3.3.9#reserveaddress
3.3.10引导加载程序
3.3.11#romaddress={data}
3.3.12#iddata
3.3.13其他编译指示
3.4小结
3.5练习
3.6测验
第4章变量和数据类型
4.1数据类型
4.1.1字符
4.1.2整数
4.1.3兼容性
4.1.4整数格式
4.1.5枚举类型
4.1.6定点数
4.1.7浮点数
4.1.8帮助
4.1.9浮点格式
4.1.10空类型
4.1.11类型定义
4.2变量声明
4.2.1标识符
4.2.2变量作用域
4.2.3变量生命周期
4.2.4附加限定词
4.3设计资料
4.4RAM
4.5小结
4.6练习
4.7测验
第5章表达式和运算符
5.1数学运算符
5.2兼容性
5.3运算符优先级
5.4表达式类型和类型转换
5.5关系运算符
5.6位运算符
5.7兼容性
5.8赋值运算符
5.9自增/自减运算符
5.10其他运算符
5.11序列点
5.12表达式示例
5.13小结
5.14练习
5.15测验
第6章语句
6.1语句定义
6.1.1if语句
6.1.2while循环
6.1.3for循环
6.1.4跳转语句
6.1.5switch/case语句
6.2副作用
6.3嵌套、缩进和括号的使用
6.4设计文档
6.5程序复杂度
6.6小结
6.7练习
6.8测验
第7章函数
7.1main()函数
7.2函数定义
7.3函数参数
7.4高级特性
7.4.1兼容性
7.4.2引用参数
7.4.3默认参数
7.4.4重载函数
7.5返回值
7.6内联函数
7.7嵌套函数
7.8递归函数
7.9序列点进阶
7.10结构良好的程序
7.11设计文档
7.12实现细节
7.13小结
7.14练习
7.15测验
第8章数组
8.1数组初始化
8.2常量数组
8.3字符串变量
8.4无下标数组
8.5多维数组
8.6索引范围
8.7数组使用示例
8.8查找表
8.9数组搜索
8.10数组排序
8.11小结
8.12练习
8.13测验
第9章结构体
9.1结构体嵌套和结构体数组
9.2结构体在内存中的存储
9.3位字段
9.4联合体
9.5程序中的结构体示例
9.6小结
9.7练习
9.8测验
第10章内存和指针
10.1内存
10.2取地址运算符
10.3间接运算符
10.4强制指定变量地址
10.5指针类型
10.6指针运算
10.7下标
10.8函数参数
10.9结构体
10.10函数指针
10.11指针的其他用途
10.12错误行为
10.13常见错误
10.14ROM指针
10.15用户定义内存
10.16兼容性
10.17通关之后
10.18小结
10.19练习
10.20测验
第11章内置函数
11.1数学
11.2内存
11.3动态内存
11.4一些更有趣的函数
11.5可变参数列表
11.6文本输入/输出
11.7实现常量
11.8兼容性
11.9位和字节操作
11.10非易失性内存
11.11看门狗
11.12延时
11.13多个时钟频率
11.14更多标准函数
11.15小结
11.16练习
11.17测验
第12章字符串
12.1字符串复制和字符串长度
12.2字符串查找
12.3字符串比较
12.4字符串操作
12.5字符串输入/输出
12.6字符串和数字相互转换
12.7字符操作
12.8统一字符编码
12.9常量字符串管理
12.10小结
12.11练习
12.12测验
第13章函数式宏定义
13.1参数
13.2宏名字
13.3串联运算符
13.4字符串化运算符
13.5可变参数宏
13.6函数式宏定义与内联函数
13.7可读性
13.8高级示例
13.9宏调试
13.10小结
13.11练习
13.12测验
第14章条件编译
14.1基本指令
14.2关系表达式
14.3特殊宏
14.4特殊定义
14.5全局定义
14.6奇怪的错误
14.7条件编译示例
14.8小结
14.9练习
14.10测验
第15章PIC微控制器
15.1PIC架构
15.1.1CPU
15.1.2栈
15.1.3工作寄存器
15.1.4特殊功能寄存器
15.1.5程序存储器
15.1.6指令
15.1.7时钟
15.1.8复位
15.1.9睡眠
15.1.10中断
15.1.11配置位
15.1.12外围组件
15.2最小系统
15.3设备编程
15.4hex文件
15.5上电过程
15.6时钟配置
15.7调试
15.8引导加载
15.9小结
15.10练习
15.11测验
第16章离散输入和输出
16.1输入电压
16.2驱动电流
16.3驱动更大的电流
16.4集电极开路输出
16.5方向
16.6按钮输入
16.7上拉电阻
16.8消抖
16.9滤波
16.10内存映射端口
16.11小结
16.12练习
16.13测验
第17章中断
17.1简单中断示例
17.2时间都去哪儿了
17.3再议消抖
17.4中断发生的时刻
17.5为什么需要中断
17.6中断详解
17.6.1中断标志位(IF)
17.6.2中断使能标志位(IE)
17.6.3全局中断使能标志位(GIE)
17.6.4中断处理
17.7正确处理中断
17.8多个中断同时发
17.8.112位字长
17.8.214位字长
17.8.316位字长
17.8.424位字长
17.9延迟
17.10重入
17.11兼容性
17.12小结
17.13练习
17.14测验
……
第18章定时器/计数器
第19章高级定时器
第20章模拟技术
第21章内部串行总线
第22章外部串行总线
第23章多任务
第24章内联汇编
第25章调试
附录A
附录B
附录C
参考资料
嵌入式C编程 PIC单片机和C编程技术与应用 精彩文摘
1.3 程序结构
C程序由编译单元组成,有时也称作翻译单元。一组文件由编译器编译在一起就构成了一个编译单元。本书中大多数例子都只用了一个编译单元。编译单元由全局数据和函数组成。把一段经常使用的代码封装起来,在使用的时候可以直接调用,这就是c语言中的函数,在其他编程语言中,这也被称为过程或子程序。函数中的局部数据只能在函数内部定义和使用。