| 作者 |
| 何宾 |
| 丛书名 |
| 清华开发者书库 |
| 出版社 |
| 清华大学出版社 |
| ISBN |
| 9787302482024 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 本书系统地论述了STC单片机的C语言程序设计方法。全书共分为27章,主要内容包括: 单片机基础知识,STC单片机硬件知识,数值表示及转换,STC单片机CPU子系统,STC单片机CPU指令系统,STC单片机集成开发环境,STC单片机汇编语言编程基础,STC单片机C语言编程入门,STC单片机C语言变量和数据类型,STC单片机C语言运算符,STC单片机C语言描述语句,STC单片机C语言数组,STC单片机C语言指针,STC单片机C语言函数,STC单片机C语言预处理指令,STC单片机C语言复杂数据结构,STC单片机C语言高级编程技术,STC单片机时钟、复位和电源模式原理及实现,STC单片机比较器原理及实现,STC单片机计数器和定时器原理及实现,STC单片机异步串行收发器原理及实现,STC单片机ADC原理及实现,STC单片机SPI原理及实现,STC单片机CCP/PCA/PWM模块原理及实现,STC 单片机增强型PWM发生器原理及实现,RTX51操作系统原理及实现,综合项目实例: 风扇转速控制系统的设计与实现。 本书将C语言程序设计与STC单片机的各个知识点进行系统化融合,不仅系统地介绍C语言程序设计的各个知识点及其在单片机中的具体应用,而且更加突出学习方法。为了方便读者自学,本书提供了大量的设计案例和公开教学视频。 本书可作为读者零基础学习单片机C语言程序设计的参考用书,也可作为单片机竞赛、单片机认证考试的参考用书。 |
| 目录 |
第1章单片机基础知识 1.1单片机发展历史 1.2单片机内部架构 1.3单片机与嵌入式系统的关系 1.4单片机硬件开发平台 1.5运行第一个单片机程序 1.6单片机编程语言 第2章STC单片机硬件知识 2.1STC单片机发展历史 2.2STC单片机IAP和ISP 2.3STC单片机命名规则及封装 2.3.1命名规则 2.3.2封装类型 2.3.3引脚定义 2.4STC单片机结构及功能 2.5STC单片机的I/O驱动原理 2.6STC单片机硬件下载电路设计 2.6.1通过USB串口芯片的下载电路 2.6.2USB直接下载编程电路 2.7STC单片机电源系统设计 2.8调试单片机系统所用到的仪器 第3章数值表示及转换 3.1常用数制 3.1.1二进制 3.1.2十进制 3.1.3十六进制 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.5.1负整数补码的计算 3.5.2负小数补码的计算 3.6定点数表示 3.7浮点数表示 第4章STC单片机CPU子系统 4.1STC单片机CPU内核功能单元 4.1.1控制器 4.1.2运算器 4.1.3特殊功能寄存器 4.2STC单片机存储器结构和地址空间 4.2.1程序Flash存储器 4.2.2数据Flash存储器 4.2.3内部数据RAM 4.2.4外部数据存储器 4.2.5字节存储顺序 4.3STC单片机中断系统原理及功能 4.3.1中断原理 4.3.2中断系统结构 4.3.3中断优先级处理 4.3.4中断优先级控制寄存器 4.3.5中断向量表 第5章STC单片机CPU指令系统 5.1STC单片机CPU寻址模式 5.1.1立即数寻址模式 5.1.2直接寻址模式 5.1.3间接寻址模式 5.1.4寄存器寻址模式 5.1.5相对寻址模式 5.1.6变址寻址模式 5.1.7位寻址模式 5.2STC单片机CPU指令集 5.2.1算术指令 5.2.2逻辑指令 5.2.3数据传送指令 5.2.4布尔指令 5.2.5程序分支指令 第6章STC单片机集成开发环境 6.1Keil μVision集成开发环境介绍 6.1.1软件功能介绍 6.1.2软件的下载 6.1.3软件的安装 6.1.4导入STC单片机元件库 6.1.5软件的启动 6.2Keil μVision软件开发流程介绍 6.2.1明确软件需求 6.2.2创建设计工程 6.2.3编写汇编/C软件代码 6.2.4汇编器对汇编语言处理 6.2.5C编译器对C语言进行处理 6.2.6库管理器生成库文件 6.2.7链接器生成绝对目标模块文件 6.2.8目标模块文件到HEX转换器 6.2.9调试器调试目标代码 6.3Keil μVision软件开发流程实现 6.3.1建立新的设计工程 6.3.2配置文件结构 6.3.3设置工程选项 6.3.4添加新的源文件 6.3.5建立设计 6.3.6运行设计 6.3.7启动硬件仿真 6.4U8W编程器 6.4.1U8W编程器接口和功能 6.4.2U8W在线联机下载 6.4.3U8W脱机下载 第7章STC单片机汇编语言编程基础 7.1汇编语言程序结构 7.2汇编代码中段的分配 7.2.1CODE段 7.2.2BIT段 7.2.3IDATA段 7.2.4DATA段 7.2.5XDATA段 7.3汇编语言符号及规则 7.3.1符号的命名规则 7.3.2符号的作用 7.4汇编语言操作数描述 7.4.1数字 7.4.2字符 7.4.3字符串 7.4.4位置计数器 7.4.5操作符 7.4.6表达式 7.5汇编语言控制描述 7.5.1地址控制 7.5.2条件汇编 7.5.3存储器初始化 7.5.4分配存储器空间 7.5.5过程声明 7.5.6程序链接 7.5.7段控制 7.5.8杂项 7.6汇编语言设计流程 7.6.1建立新的设计工程 7.6.2添加新的汇编语言文件 7.6.3建立设计 7.6.4分析.m51文件 7.6.5分析.lst文件 7.6.6分析HEX文件 7.6.7程序软件仿真 7.6.8程序硬件仿真 7.7单片机端口控制汇编语言程序设计 7.7.1设计原理 7.7.2建立新的工程 7.7.3添加汇编语言文件 7.7.4建立设计 7.7.5下载设计 7.8单片机中断汇编语言程序设计 7.8.1设计原理 7.8.2建立新的工程 7.8.3添加汇编语言文件 7.8.4分析.lst文件 7.8.5建立设计 7.8.6下载设计 7.8.7硬件仿真 第8章STC单片机C语言编程入门 8.1高级编程语言概念 8.1.1构建计算模型 8.1.2形式化描述 8.1.3算法的流程图描述 8.1.4转换成计算机可以识别的形式 8.1.5代码、程序和编程的关系 8.2选择C语言的理由 8.3C语言发展历史 8.4C语言程序框架 8.5C语言词法构成 第9章STC单片机C语言变量和数据类型 9.1C语言中的常量和变量 9.1.1常量 9.1.2变量 9.2C51编译器支持的数据类型 9.2.1标准C语言所支持的类型 9.2.2volatile类型修饰符 9.2.3单片机扩充的类型 9.3自定义数据类型 9.4变量存储种类和存储类型 9.4.1变量存储种类 9.4.2变量存储器类型 9.5定位变量的绝对位置 第10章STC单片机C语言运算符 10.1C语言运算符分类 10.2C语言运算符优先级 10.3赋值运算符 10.4算术运算符 10.5递增和递减运算符 10.6关系运算符 10.7逻辑运算符 10.8位运算符 10.9复合赋值运算符 10.10逗号运算符 10.11条件运算符 10.12强制类型转换符 10.13sizeof运算符 第11章STC单片机C语言描述语句 11.1输入输出语句 11.1.1putchar函数 11.1.2getchar函数 11.1.3printf函数 11.1.4scanf函数 11.1.5puts函数 11.1.6gets函数 11.2表达式语句 11.3条件语句 11.3.1条件语句格式1 11.3.2条件语句格式2 11.3.3条件语句格式3 11.4开关语句 11.5循环语句 11.5.1while语句 11.5.2dowhile语句 11.5.3for语句 11.5.4goto语句 11.5.5break语句 11.5.6continue语句 11.6返回语句 11.7C语言端口控制实现 第12章STC单片机C语言数组 12.1一维数组的定义和操作 12.1.1一维数组的定义 12.1.2一维数组初始化 12.1.3一维数组的操作 12.2多维数组的定义和操作 12.2.1多维数组的定义 12.2.2多维数组初始化 12.2.3多维数组的操作 第13章STC单片机C语言指针 13.1C51编译器中指针的分类 13.2通用指针 13.2.1未指定存储区域的通用指针 13.2.2指定存储区域的通用指针 13.3指定存储器类型的指针 13.4指针转换 13.5指针变量输入 13.6指向指针的指针 13.7抽象指针 第14章STC单片机C语言函数 14.1函数定义和声明 14.1.1标准C函数定义和声明 14.1.2扩展C函数定义和声明 14.1.3存储器模型 14.2函数调用原理 14.2.1函数调用格式 14.2.2参数和堆栈 14.2.3参数和寄存器 14.2.4返回值 14.3函数调用实现分析 14.4函数变量的存储方式 14.5数组类型传递参数 14.6指针类型传递参数 14.7指向函数的指针 14.8可重入函数设计 14.9中断函数设计 14.9.1C语言中断函数的声明格式 14.9.2外部中断电路原理 14.9.3C语言中断程序的编写和测试 第15章STC单片机C语言预处理指令 15.1文件包含 15.1.1包含用户头文件 15.1.2包含系统头文件 15.1.3只包含一次文件 15.2宏定义及使用 15.2.1简单的宏定义 15.2.2复杂的宏定义 15.2.3宏操作符 15.2.4预定义的宏 15.3条件编译 15.4其他预处理命令 15.4.1#line 15.4.2#message 15.4.3#error 15.4.4#pragma 第16章STC单片机C语言复杂数据结构 16.1结构 16.1.1结构类型的定义 16.1.2结构变量的定义 16.1.3结构变量内元素的引用 16.1.4指向结构的指针 16.2联合 16.3枚举 16.4链表 16.4.1单链表的存储结构 16.4.2建立链表 16.4.3查找结点 16.4.4删除结点 16.4.5插入结点 第17章STC单片机C语言高级编程技术 17.1C程序中使用汇编语言 17.1.1内嵌汇编语言 17.1.2调用汇编程序 17.2优化代码策略 17.3C语言动态图形交互设计 17.3.1动态图形交互硬件平台 17.3.2STC单片机对触摸屏的控制 17.3.3STC单片机对触摸屏的初始化 17.3.4触摸屏基本绘图流程 17.3.5绘制不同图形的具体实现方法 17.3.6设计头文件说明 17.3.7主处理文件main函数设计 第18章STC单片机时钟、复位和电源模式原理及实现 18.1STC单片机时钟 18.2STC单片机复位 18.2.1外部RST引脚复位 18.2.2软件复位 18.2.3掉电/上电复位 18.2.4MAX810专用复位电路复位 18.2.5内部低压检测复位 18.2.6看门狗复位 18.2.7程序地址非法复位 18.3STC单片机电源模式 18.3.1低速模式 18.3.2空闲模式 18.3.3掉电模式 第19章STC单片机比较器原理及实现 19.1STC单片机比较器结构 19.2STC单片机比较器寄存器组 19.2.1比较控制寄存器1 19.2.2比较控制寄存器2 19.3STC单片机比较器应用 第20章STC单片机计数器和定时器原理及实现 20.1计数器/定时器模块简介 20.2计数器/定时器寄存器组 20.2.1定时器/计数器0/1控制寄存器TCON 20.2.2定时器/计数器工作模式寄存器TMOD 20.2.3辅助寄存器AUXR 20.2.4T0~T2时钟输出寄存器和外部中断允许INT_CLKO(AUXR2) 20.2.5定时器T0和T1中断允许控制寄存器IE 20.2.6定时器T0和T1中断优先级控制寄存器IP 20.2.7定时器T4和定时器T3控制寄存器T4T3M 20.2.8定时器T2、T3和T4的中断控制寄存器IE2 20.3计数器/定时器工作模式原理和实现 20.3.1定时器/计数器0工作模式 20.3.2定时器/计数器1工作模式 20.3.3定时器/计数器2工作模式 20.3.4定时器/计数器3工作模式 20.3.5定时器/计数器4工作模式 第21章STC单片机异步串行收发器原理及实现 21.1RS232标准简介 21.1.1RS232传输特点 21.1.2RS232数据传输格式 21.1.3RS232电气标准 21.1.4RS232参数设置 21.1.5RS232连接器 21.2STC单片机串口模块简介 21.2.1串口模块结构 21.2.2串口引脚 21.3串口1寄存器及工作模式 21.3.1串口1寄存器组 21.3.2串口1工作模式 21.3.3人机交互控制的实现 21.3.4按键扫描及串口显示 21.4串口2寄存器及工作模式 21.4.1串口2寄存器组 21.4.2串口2工作模式 21.5串口3寄存器及工作模式 21.5.1串口3寄存器组 21.5.2串口3工作模式 21.6串口4寄存器及工作模式 21.6.1串口4寄存器组 21.6.2串口4工作模式 21.7红外通信的原理及实现 21.7.1红外收发器的电路原理 21.7.2红外通信波形捕获 21.7.3红外通信协议 21.7.4红外检测原理 21.7.5串口通信原理 21.7.6设计实现 第22章STC单片机ADC原理及实现 22.1ADC原理 22.1.1ADC的参数 22.1.2ADC的类型 22.2STC单片机内ADC的结构原理 22.2.1STC单片机内ADC的结构 22.2.2ADC转换结果的计算方法 22.3STC单片机内ADC寄存器组 22.3.1P1口模拟功能控制寄存器 22.3.2ADC控制寄存器 22.3.3时钟分频寄存器 22.3.4ADC结果高位寄存器 22.3.5ADC结果低位寄存器 22.3.6中断使能寄存器 22.3.7中断优先级寄存器 22.4直流电压测量及串口显示 22.4.1直流分压电路原理 22.4.2软件设计流程 22.4.3具体实现过程 22.5直流电压测量及LCD屏显示 22.5.1硬件电路设计 22.5.21602字符LCD原理 22.5.3软件设计流程 22.5.4具体实现过程 22.6交流电压测量及LCD屏显示 22.6.1硬件电路设计 22.6.212864图形点阵LCD原理 22.6.3软件设计流程 22.6.4ADC外部输入信号要求 22.6.5具体实现过程 22.7温度测量及串口显示 第23章STC单片机SPI原理及实现 23.1STC SPI模块结构及功能 23.1.1SPI传输特点 23.1.2SPI模块功能 23.1.3SPI接口信号 23.1.4SPI接口的数据通信方式 23.1.5SPI模块内部结构 23.2SPI模块寄存器组 23.2.1SPI控制寄存器 23.2.2SPI状态寄存器 23.2.3SPI数据寄存器 23.2.4中断允许寄存器2 23.2.5中断优先级寄存器 23.2.6控制SPI引脚位置寄存器 23.3SPI模块配置及时序 23.3.1SPI配置模式 23.3.2主/从模式的注意事项 23.3.3通过SS修改模式 23.3.4写冲突 23.3.5数据模式时序 23.47段数码管的驱动与显示 23.4.1系统控制电路原理 23.4.27段数码管原理 23.4.374HCT595原理 23.4.4系统软件控制流程 23.4.5程序具体实现 第24章STC单片机CCP/PCA/PWM模块原理及实现 24.1CCP/PCA/PWM结构 24.2CCP/PCA/PWM寄存器组 24.2.1PCA工作模式寄存器 24.2.2PCA控制寄存器 24.2.3PCA比较捕获寄存器 24.2.4PCA的16位计数器 24.2.5PCA捕获/比较寄存器 24.2.6PCA模块PWM寄存器 24.2.7PCA模块引脚切换寄存器 24.3CCP/PCA/PWM工作模式 24.3.1捕获模式 24.3.216位软件定时器模式 24.3.3高速脉冲输出模式 24.3.4脉冲宽度调制模式 第25章STC单片机增强型PWM发生器原理及实现 25.1增强型PWM发生器简介 25.2增强型PWM发生器相关寄存器组 25.2.1端口配置寄存器 25.2.2PWM配置寄存器 25.2.3PWM控制寄存器 25.2.4PWM中断标志寄存器 25.2.5PWM外部异常控制寄存器 25.2.6PWM计数器 25.2.7PWM时钟选择寄存器 25.2.8PWM2翻转计数器 25.2.9PWM2控制寄存器 25.2.10PWM3翻转计数器 25.2.11PWM3控制寄存器 25.2.12PWM4翻转计数器 25.2.13PWM4控制寄存器 25.2.14PWM5翻转计数器 25.2.15PWM5控制寄存器 25.2.16PWM6翻转计数器 25.2.17PWM6控制寄存器 25.2.18PWM7翻转计数器 25.2.19PWM7控制寄存器 25.2.20PWM中断优先级控制寄存器 25.3生成单路PWM信号 25.4生成两路互补PWM信号 25.5步进电机的驱动和控制 25.5.1五线四相步进电机工作原理 25.5.2步进电机28BYJ48电气性能 25.5.3步进电机的驱动 25.5.4使用软件驱动步进电机 25.5.5使用增强型PWM模块驱动步进电机 25.5.6设计下载和验证 第26章RTX51操作系统原理及实现 26.1操作系统的必要性 26.1.1单任务程序 26.1.2轮询程序 26.2操作系统基本知识 26.2.1操作系统的作用 26.2.2操作系统的功能 26.3RTX51操作系统的任务 26.3.1定义任务 26.3.2管理任务 26.3.3切换任务 26.4RTX51操作系统内核函数 26.5RTX51操作系统实现 26.5.1RTX51操作系统实现1 26.5.2RTX51操作系统实现2 26.5.3RTX51操作系统实现3 第27章综合项目实例: 风扇转速控制系统的设计与实现 27.1项目需求分析 27.1.1划分软件和硬件边界 27.1.2设计过程中的细节问题 27.2离散PID控制算法及其参数 27.2.1离散PID控制算法 27.2.2参数整定方法 27.3风扇原理、驱动和运动特性 27.3.1风扇原理 27.3.2风扇驱动 27.3.3风扇运动特性 27.4反馈信号处理方法 27.4.1比较器的硬件设置 27.4.2比较器的程序配置方案 27.4.3比较器处理结果分析 27.5输出测速信号的处理 27.5.1设计思路 27.5.2程序设计方案 27.6单片机串口数据通信 27.6.1设计思路 27.6.2现象分析 27.7PID控制算法中关键问题 27.8系统的硬件结构原理图 27.9控制系统设计代码 27.10上位机应用程序开发 附录ASTC单片机选型表636 附录BSTC四轴飞行器643 附录CGNTSMK2开发板原理图645 |