《PIC单片机轻松入门》以PIC16系列单片机的典型芯片为例,详尽介绍了单片机的工作原理、C语言编程、开发与应用等方面的知识,包括单片机的结构、MPLAB开发环境、HITECH的C语言编程知识、典型接口器件应用等。《PIC单片机轻松入门》使用Proteus仿真系统作为教学工具;作者为《PIC单片机轻松入门》写作而开发了硬件实验电路板;随书光盘提供了书中Proteus仿真电路的源文件、各例子的源程序以及实验过程与现象的动画等。因此,读者获得的不仅是一本文字教材,更是一个完整的学习环境。《PIC单片机轻松入门》结合了作者多年教学、科研实践所获取的经验,融入了作者教学改革的成果,并依据学习者的认知规律来编排内容,充分体现了“以人为本”的指导思想。
本书特点:
使用Proteus仿真系统,不需硬件即可观察电路的工作效果。
尽可能为各知识点找到工程实际中的应用实例。
提供各实例完成过程的详细讲解,并以动画形式提供实例的操作过程和效果,让读者可以无师自通。例子程序由作者调试通过并作了详细说明,力争让读者“看则能用,用则能成”,保证读者在动手过程中常常体会到成功的乐趣,而不是挫折的痛苦。
作者在提供本书文字教材的同时,还通过网络(http://www.mcustudio.com)为广大读者提供服务。
随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言过渡到逐渐使用高级语言进行开发。其中主要以C语言为主,市场上几种常见的单片机均有其C语言开发环境。本书将以目前广为流行的Microehip公司PIC单片机为例来学习单片机的C语言编程技术。在本书编写以前,作者在多年教学、科研实践以及对单片机课程进行教学改革的基础上,编写了《单片机C语言轻松入门》一书。该书以80C51单片机为例来学习C语言,发行后受到广大读者的欢迎,读者反映该书的确能起到“轻松入门”的作用。本书以PIC单片机为例,延续《单片机C语言轻松入门》一书的风格,带领读者“轻松入门”。通过学习PIC单片机内部结构、C语言的基础知识、Proteus软件的使用及用C语言开发PIC单片机所需的其他相关知识等,最终学会用C语言编写程序。
本书采用“以任务为中心”和C语言体系结构两条主线来编排内容,全书的内容按C语言体系结构来编排,而每一章的内容则采用“以任务为中心”的方式来编排,将C语言编程所需的基本知识,如c语言中的变量、常量、保留字、程序结构、运算符、表达式等知识,结合P1C单片机的结构特点及HI-TECH软件使用方法等,通过一系列的“任务”进行介绍。每个“任务”都包括了一些C语言的知识点。HI-TECt{软件的使用、程序调试方法。单片机结构方面及单片机开发中必须了解的其他知识。每个任务都是易于完成的,在完成这些任务后,即可掌握上述各知识点。因此,对于一个已有一定汇编程序编写经验的单片机程序员而言,甚至在学完第1章后,就可以尝试用C语言来改写原来编写过的程序。对于一个刚开始学习单片机的读者来说,则可以同步学到单片机结构、C语言编程及HI—TECH软件使用等各方面的知识。
周坚,网络中被惯称为“平凡”。以教书为业,开发些单片机项目,故自封为工程师。好读书,爱动手,以求甚解,常思考,每有所得,必以行动验证之;心无城府、不慕名利,所做皆小事,但均为实事。
第1章 单片机的C语言概述
1.1 C语言简介
1.1.1 C语言的产生与发展
1.1.2 C语言的特点
1.2 C语言入门知识
1.2.1 简单的C程序介绍
1.2.2 C程序的特点
第2章 PIC单片机C语言开发环境的建立
2.1 软件实验环境的建立
2.1.1 MPLAB软件的安装与使用
2.1.2 Proteus软件简介
2.1.3 HITECH软件的安装
2.2 用PIC单片机控制一个LED
2.2.1 PIC16F877A芯片的外部引脚
2.2.2 任务分析
2.3 Proteus仿真的实现
2.4 硬件实验环境的建立
2.4.1 实验板简介
2.4.2 硬件结构
2.4.3 实验电路板的基本使用方法
第3章 数据类型、运算符与表达式
3.1 数据类型概述
3.2 常量与变量
3.2.1 常量
3.2.2 变量
3.3 整型数据
3.3.1 整型常量
3.3.2 整型变量
3.4 字符型数据
3.4.1 字符常量
3.4.2 字符变量
3.5 数的溢出
3.6 实型数据
3.6.1 实型常量
3.6.2 实型变量
3.7 PIC单片机的数据存储
3.7.1 程序存储器
3.7.2 数据存储器
3.8 变量赋初值
3.9 C运算符及其表达式
3.9.1 C运算符简介
3.9.2 算术运算符及其表达式
3.9.3 各类数值型数据间的混合运算
3.9.4 赋值运算符及其表达式
3.9.5 逗号运算符及其表达式
3.9.6 位操作运算符及其表达式
3.9.7 自增减运算符、复合运算符及其表达式
第4章 C流程与控制
4.1 顺序结构程序
4.2 选择结构程序
4.2.1 引入
4.2.2 关系运算符及其表达式
4.2.3 逻辑运算符及其表达式
4.2.4 选择语句if
4.2.5 if语句的嵌套
4.2.6 条件运算符
4.2.7 switch/case语句
4.3 循环结构程序
4.3.1 循环程序简介
4.3.2 while循环语句
4.3.3 dowhile循环语句
4.3.4 for循环语句
4.3.5 break语句
4.3.6 continue语句
第5章 C构造数据类型
5.1 数组
5.1.1 引入
5.1.2 一维数组
5.1.3 二维数组
5.1.4 字符数组
5.1.5 数组与存储空间
5.2 指针
5.2.1 指针的基本概念
5.2.2 定义一个指针变量
5.2.3 指针变量的引用
5.2.4 HITECHPICC的指针类型
5.3 结构
5.3.1 结构的定义和引用
5.3.2 结构数组
5.4 共用体
5.5 枚举
5.5.1 枚举的定义和说明
5.5.2 枚举变量的取值
5.6 用typedef定义类型
第6章 PIC单片机内部资源编程
6.1 定时器/计数器
6.1.1 定时器/计数器TMR0
6.1.2 定时器/计数器TMR1
6.1.3 定时器/计数器TMR2
6.2 通用串行接口
6.2.1 USART模块关键寄存器介绍
6.2.2 USART波特率设定
6.2.3 USART工作过程分析
6.2.4 USART实例分析
6.3 CCP模块
6.3.1 与CCP模块相关的控制寄存器
6.3.2 CCP模块的输入捕捉模式
6.3.3 CCP模块的比较输出模式
6.3.4 CCP模块的PWM模式
6.4 A/D转换模块及使用
6.4.1 PIC单片机片上ADC模块概述
6.4.2 ADC相关控制寄存器
6.4.3 模拟通道输入引脚的设置
6.4.4 A/D转换实例分析
第7章 函数
7.1 概述
7.2 函数的定义
7.3 函数参数和函数的值
7.4 函数的调用
7.4.1 函数调用的一般形式
7.4.2 函数调用的方式
7.4.3 对被调用函数的声明和函数原型
7.4.4 用函数指针变量调用函数
7.5 数组作为函数参数
7.6 局部变量和全局变量
7.6.1 局部变量
7.6.2 全局变量
7.7 变量的存储类别
7.7.1 动态存储方式与静态存储方式
7.7.2 atuo变量
7.7.3 static变量
7.7.4 用extern声明外部变量
第8章 单片机接口的C语言编程
8.1 LED数码管
8.2 键盘
8.2.1 键盘工作原理
8.2.2 键盘与单片机的连接
8.3 I2C总线接口
8.3.1 概述
8.3.2 24系列EEPROM的结构及特性
8.3.3 24系列EEPROM的使用
8.4 93CXX系列EEPROM
8.4.1 93CXX系列EEPROM的结构及特性
8.4.2 93C46芯片的使用
8.5 实时钟
8.5.1 DS1302的结构及特性
8.5.2 DS1302芯片的使用
8.6 液晶显示器接口
8.6.1 字符型液晶显示器的基本知识
8.6.2 字符型液晶显示器的使用
第9章 应用设计举例
9.1 秒表
9.2 可预置倒计时钟
9.3 使用DS1302制作的时钟
9.4 AT24C01A的综合应用
9.5 93C46的综合应用
附录光盘使用说明
参考文献