STC单片机C语言程序设计 8051体系架构、编程实例及项目实战作者:何宾编著出版时间:2018年版内容简介本书系统地论述了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和ISP2.3STC单片机命名规则及封装……2.4STC单片机结构及功能2.5STC单片机的I/O驱动原理2.6STC单片机硬件下载电路设计……2.7STC单片机电源系统设计2.8调试单片机系统所用到的仪器第3章数值表示及转换3.1常用数制……3.2正数表示方法…3.3正数码制转换……3.4负数表示方法……3.5负数补码的计算……3.6定点数表示3.7浮点数表示第4章STC单片机CPU子系统4.1STC单片机CPU内核功能单元……4.2STC单片机存储器结构和地址空间……4.3STC单片机中断系统原理及功能……第5章STC单片机CPU指令系统5.1STC单片机CPU寻址模式……5.2STC单片机CPU指令集……第6章STC单片机集成开发环境6.1Keil μVision集成开发环境介绍……6.2Keil μVision软件开发流程介绍……6.3Keil μVision软件开发流程实现……6.4U8W编程器……第7章STC单片机汇编语言编程基础7.1汇编语言程序结构7.2汇编代码中段的分配……7.3汇编语言符号及规则……7.4汇编语言操作数描述……7.5汇编语言控制描述……7.6汇编语言设计流程……7.7单片机端口控制汇编语言程序设计……7.8单片机中断汇编语言程序设计……第8章STC单片机C语言编程入门8.1高级编程语言概念……8.2选择C语言的理由8.3C语言发展历史8.4C语言程序框架8.5C语言词法构成第9章STC单片机C语言变量和数据类型9.1C语言中的常量和变量……9.2C51编译器支持的数据类型……9.3自定义数据类型9.4变量存储种类和存储类型……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条件语句格式111.3.2条件语句格式211.3.3条件语句格式311.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#line15.4.2#message15.4.3#error15.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比较控制寄存器119.2.2比较控制寄存器219.3STC单片机比较器应用第20章STC单片机计数器和定时器原理及实现20.1计数器/定时器模块简介20.2计数器/定时器寄存器组20.2.1定时器/计数器0/1控制寄存器TCON20.2.2定时器/计数器工作模式寄存器TMOD20.2.3辅助寄存器AUXR20.2.4T0~T2时钟输出寄存器和外部中断允许INT_CLKO(AUXR2)20.2.5定时器T0和T1中断允许控制寄存器IE20.2.6定时器T0和T1中断优先级控制寄存器IP20.2.7定时器T4和定时器T3控制寄存器T4T3M20.2.8定时器T2、T3和T4的中断控制寄存器IE220.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中断允许寄存器223.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操作系统实现126.5.2RTX51操作系统实现226.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 上一篇: STC单片机创新实践应用 王普斌,刘健,金学伟,李世国,刘福全著 2019年版 下一篇: PSD4系列 5系列可编程单片通用接口芯片原理、编程及应用 上 武汉力源单片机技术研究所 199