51单片机轻松入门基于STC15W4K系列.pdf
- 文档编号:14656875
- 上传时间:2023-06-25
- 格式:PDF
- 页数:51
- 大小:2.56MB
51单片机轻松入门基于STC15W4K系列.pdf
《51单片机轻松入门基于STC15W4K系列.pdf》由会员分享,可在线阅读,更多相关《51单片机轻松入门基于STC15W4K系列.pdf(51页珍藏版)》请在冰点文库上搜索。
-1-联系方式:
QQ群(STC51-STM32):
324284310,个人QQ:
347305156,验证信息:
单片机邮箱:
淘宝店地址:
http:
/百度网盘辅助参考视频与资料下载地址:
http:
/-2-内内容容简简介介本书以最新流行的不需要外部晶振与复位电路的可仿真的高速STC15系列单片机为核心,详细介绍了单片机内部功能模块,比如定时器、中断、串口、SPI接口、片内比较器、ADC转换器、可编程计数器阵列(CCP/PCA/PWM)等。
每个重要知识点都有简短精炼的实例作验证,然后就是单片机常用外围接口的介绍与STC15系列单片机的实际产品运用实例分析。
另外对单片机开发必须掌握的C语言基础知识与Keil开发环境也作了较为详细的介绍,对于没有学习过C语言的读者通过本书也能轻松进入以C语言开发单片机的学习状态。
为了快速验证本书的理论知识,作者设计了与本书配套的双核(两个仿真型单片机)实验板,功能强大,操作简单,直观,除用于本书实验测试外,也可用于产品前期开发。
本书可作为普通高校计算机类、电子类、自动控制类、仪器仪表类、机电一体化类等相关专业教学用书,对已有一定设计经验的单片机工程师也有重要参考价值。
-3-前前言言STC单片机是在传统8051单片机内核的基础上进行大幅度改进升级优化而来的新一代8051单片机,具有高速、高可靠、低功耗、外围模块多、ISP升级程序方便、价格低廉等显著优点,加上STC/宏晶科技单片机的厂商“南通国芯微电子”属于中国大陆本土企业,当我们在产品设计过程中遇到问题时方便与厂家沟通获得技术支持,所以STC单片机已经被众多的产品设计工程师作为首选方案运用到自己的产品中去。
STC单片机的指令系统与标准的8051内核完全兼容,过去的51单片机书籍仍然可以拿来作为辅助参考学习,对于已经熟悉传统8051内核单片机的读者,可以轻松过渡到STC可仿真的超级强大的STC15系列单片机或STC早期的STC89系列单片机,本书的编写建立在笔者十多年的产品设计经验基础之上,具体编写从前到后又花费了近5年的时间,笔者本着十年磨一剑的精神把每一个章节的内容写出水平,因此本书内容真实,言语简练,通俗易懂,对多年来传统单片机教材含糊不清的概念与重要知识都作了明确分析,全书程序代码编写规范,注重程序的通用性与移植性,让读者既能轻松看懂理论知识又能方便将程序代码移植到产品中去。
本教材主讲的单片机型号是STC公司的IAP15W4K58S4(既能仿真又能USB直接下载程序),是目前STC最先进的芯片之一,内部资源十分丰富,具有58K字节程序存储器,4096字节数据存储器,5个定时器,4个独立串口,8通道10位高速ADC转换器,1个SPI接口支持主机与从机模式、2路CCP/PCA/PWM、6路带死区控制的专用PWM、1个比较器等,支持USB直接下载程序和串口下载程序,内部集成有高精度R/C时钟与高可靠复位电路,支持2.55.5V宽工作电压范围,只需提供电源就是单片机最小系统,只需加上一个RS232电平转换芯片或USB转串口芯片后连上电脑就成为一个功能完美的仿真系统,程序仿真调试非常方便,用此芯片可以完成本书很多高级实验,比如TLC5615数模转换芯片播放歌曲、SD卡读写等,另外,此单片机在软件与硬件上都完全兼容资源略少的上一代单片机STC15F2K60S2系列,因此本书也完全适用于STC15F2K60S2系列的学习,为降低实际产品成本,本书还辅助性的介绍了STC15W404S系列,STC15W404S系列资源更少一些,但管脚仍然很多,同样支持宽电压供电,带比较器功能,支持SPI主机与从机模式等,在功能要求比较简单的产品上,为进一步降低成本,读者也可使用STC15W401AS系列或STC15W100系列芯片。
编者2015年1月-4-目目录录第第11章章单片机高效入门单片机高效入门1.1单片机简介1.1.1认识单片机1.1.2单片机的用途1.1.3学习的典型芯片与C语言介绍1.1.4本书配套实验板及相关学习工具介绍1.2点亮1个发光二极管1.2.1单片机型号命名规则1.2.2单片机引脚功能说明1.2.3制作一个最简单的单片机实验电路1.2.4使用KeiluVsion3环境编写最简单的程序1.2.5ISP下载程序到单片机(将电脑上的目标代码“灌入”单片机中运行)1.2.6程序解释1.3Keil仿真1.3.1软件仿真(标准8051方式仿真,不能仿真单片机新增功能)1.3.2硬件仿真(利用STC专用仿真芯片仿真,可仿真所有功能)1.4经典流水灯实例1.5单片机C语言延时程序详解1.5.1学会使用计算软件1.5.2计算软件内部运算过程详解1.5.3利用库函数实现短暂精确延时1.5.4使用定时器/计数器实现精确延时1.6main()、voidmain()和intmain()的区别1.7printf格式化输出函数第第22章章单片机开发必须掌握的单片机开发必须掌握的CC语言基础语言基础2.1简单数据类型与运算符2.1.1原码、反码、补码、BCD码、格雷码2.1.2常量2.1.3变量的数据类型(bit、char、int、long、float)2.1.4变量存储空间(code、data、bdata、idata、xdata)2.1.5变量存储类型(auto、static、extern)2.1.6变量作用域2.1.7运算符2.1.8运算符的优先级与结合性2.2C51构造数据类型2.2.1数组:
将相同类型数据组合在一起就构成数组(如数码管显示缓冲区)2.2.2结构体:
将不同类型数据组合在一起就构成结构体(如年月日2014-12-31)2.2.3共用体:
不同变量占用相同内存地址就是共用体2.2.4指针:
用于直接读取或修改内存值2.2.5#define与typedef的差别-5-2.3流程与控制2.3.1分支结构2.3.2循环结构2.3.3跳转结构2.4函数2.4.1函数定义2.4.2调用格式2.4.3传值调用与传地址调用2种方式对比2.4.4数组作为函数参数2.4.5使用指针变量作函数形式参数2.4.6使用结构体变量指针作为函数参数2.4.7函数作用域2.4.8库函数2.5模块化编程2.5.1头文件的编写2.5.2条件编译2.5.3多文件程序(模块化编程)第第33章章定时定时器器/计数器计数器、中断系统中断系统3.1定时器/计数器3.1.1单片机定时器/计数器工作原理概述3.1.2定时器/计数器的相关寄存器3.1.3定时器/计数器的工作方式3.1.4初值计算3.1.5编程举例3.2可编程时钟输出3.3中断系统3.3.1中断系统结构图3.3.2操作电路图中的开关(相关寄存器介绍)3.3.3编写中断函数3.3.4中断程序举例3.3.5外中断代码调试(按键的防抖技术)第第44章章串口通信串口通信4.1最基本的串口通信4.1.1串口数据发送格式4.1.2串口相关寄存器4.1.3波特率计算步骤详解4.1.4单片机与计算机通信的简单例子4.2彻底理解串口通信协议4.3串口隔离电路4.4计算机扩展串口(USB转串口芯片CH340G)4.5RS485串行通信-6-4.6SSI通信4.6.1SSI数据通信格式4.6.2SSI硬件电路4.6.3SSI软件实现4.7数据通信中的错误校验4.7.1校验和(CheckSum)与重要的串口通信实例4.7.2CRC校验(全称:
循环冗余码校验)4.8单片机串口向计算机串口发送2进制、16进制、数值与字符串第第55章章SPISPI通信通信5.1SPI总线数据传输格式5.1.1接口定义5.1.2传输格式5.2SPI接口相关寄存器5.2.1SPI相关的特殊功能寄存器5.2.2SPI接口引脚切换5.3SPI接口运用举例第第66章章II22CC通信通信6.1I2C总线数据传输格式6.1.1各个位的传输要求6.1.2多字节传输格式6.2程序模块功能测试6.2.1硬件仿真观察24C02读写结果(R/C时钟:
22.1184MHz)6.2.2硬件仿真观察24C32/64读写结果(R/C时钟:
22.1184MHz)6.324C02运用实例(断电瞬间存储整数或浮点数)第第77章章单片机内部比较器与单片机内部比较器与DataFlashDataFlash存储器存储器7.1STC15W系列单片机内部比较器7.1.1比较器结构图7.1.2寄存器说明7.1.3电路讲解与程序实例7.2DataFlash存储器7.2.1DataFlash操作有关的寄存器介绍7.2.2DataFlash操作实例(断电瞬间存储数据)第第88章章可编程计数阵列可编程计数阵列CCP/PCA/PWMCCP/PCA/PWM模块模块(可用作可用作DAC)DAC)8.1PCA模块总体结构图8.2PCA模块的特殊功能寄存器8.3PCA模块的工作模式与应用举例第第99章章模数转换器模数转换器ADCADC9.1模数转换器ADC主要技术指标9.2使用单片机内部的10位ADC转换器9.2.1、ADC相关的特殊功能寄存器9.2.2、实例代码-7-9.312位ADC转换芯片MCP3202-B9.416位ADC转换芯片ADS1110A09.518位ADC转换芯片MCP3421A0T-E/CH第第1010章章数模转换器数模转换器DACDAC10.1TLC5615数模转换电路与基本测试程序10.2TLC5615产生锯齿波、正弦波、三角波10.3TLC5615的高级运用(播放歌曲)第第1111章章单片机实用小知识单片机实用小知识11.1复位11.1.1外部RST引脚复位11.1.2软件复位11.1.3内部低压检测复位11.1.4看门狗定时器复位11.2单片机的低功耗设计11.2.1相关寄存器说明11.2.2应用举例11.3单片机扩展32K外部数据存储器6225611.3.1电路讲解11.3.2软件测试实例第第1122章章常用单片机接口程序常用单片机接口程序12.1数码管静态显示12.2数码管动态显示12.3独立键盘12.4矩阵键盘第第1133章章16021602液晶液晶13.11602液晶外形与电路图13.21602液晶运用举例13.31602液晶显示汉字与特殊符号第第1144章章精密电压表精密电压表电流表电流表通用显示器通用显示器计数器制作计数器制作14.1功能说明与电路原理分析14.2程序实例14.2.1通用显示器功能检测程序(外部程序)14.2.2计数器功能检测程序(外部程序)14.2.3模块程序第第1155章章步进电机测试步进电机测试15.1步进电机特点15.2步进电机的3种励磁方式15.3步进电机驱动电路15.4步进电机驱动实例15.5步进电机专用驱动器介绍第第1166章章频率检测频率检测-8-16.1频率检测的用途与频率定义16.2频率检测实例第第1177章章DS1302DS1302时钟芯片时钟芯片17.1DS1302的SPI数据通信格式17.2程序实例第第1818章章红外通信红外通信18.1红外通信电路与基本原理18.2红外接收软件实例第第1919章章单总线单总线DS18B20DS18B20通信通信(长距离无线通信长距离无线通信)19.1DS18B20运用基础19.1.1单只DS18B20温度检测电路19.1.2DS18B20通信时序19.1.3DS18B20内部功能部件ROM、RAM、E2RAM、指令集19.1.4读取温度步骤19.2单只DS18B20的温度检测实例19.3多只DS18B20的温度检测19.3.1读取传感器代码实例19.3.2读取传感器温度实例第第2200章章SDSD卡与卡与znFATznFAT文件系统文件系统20.1认识SD卡与SD卡驱动程序20.1.1认识SD卡20.1.2电路讲解20.1.3通信时序与完整驱动程序说明20.2znFAT文件系统20.2.1znFAT的移植方法20.2.2znFAT移植实例第第2211章章MP3MP3播放器实验播放器实验(znFATznFAT文件系统运用实例文件系统运用实例)21.1MP3介绍与电路讲解21.2正弦测试21.3通过SD卡播放MP3文件第第2222章章数字存储示波器数字存储示波器技巧技巧与逻辑分析仪的操作与逻辑分析仪的操作22.1测量直流电源开关机瞬间输出毛剌浪涌22.2测量稍纵即逝的红外发射信号22.3精确测量直流电源纹波22.4示波器带宽选用依据22.5逻辑分析仪快速入门附录附录11ASCIIASCII码表码表参参考考文文献献-9-第第11章章单片机高效入门单片机高效入门1.11.1单片机简介单片机简介1.1.11.1.1认识单片机认识单片机单片机全称是单片微型计算机,说计算机大家都知道它内部主要包含微处理器CPU、硬盘、内存条等部件,一个单片机内部也包含了微处理器内核、程序存储器、数据存储器等,单片机的内核相当于计算机主板上的CPU,单片机的程序存储器相当于计算机的硬盘,单片机的数据存储器相当于计算机的内存条,另外,编写过计算机运用程序的人都知道,计算机是按程序命令一条条执行语句完成所需的功能,单片机也是按程序命令一条条执行语句完成所需的功能,从这里可以看出,单片机与计算机实在是太相似了,这就是可以把它称为计算机的原因,另外,单片机拥有的这么多的结构部件都是集成在单一的一块集成电路芯片上的,加上体积微小,所以全称就是单片微型计算机,简称单片机。
外观如图1-1所示。
图1-1单片机常见外形图单片机与普通集成电路的区别是:
普通集成电路功能是固定死的,使用者无法更改,单片机的功能是可以通过编写程序进行更改的。
事实上,由于单片机只是用在电子产品线路板上的一个集成电路芯片,完成一些常用的电气检测与控制功能,把它称为微型计算机太过夸大其词,于是又有人把它改名称为微控制器,英文名称:
MicroControlUnit,缩写为MCU,不管称为单片微型计算机还是微控制器或者MCU,它本质上始终是用在电子产品线路板上的一个集成电路芯片,没什么神奇之处。
1.1.21.1.2单片机的用途单片机的用途单片机用途十分广泛,比如常见的家用电器洗衣机、空调、电磁炉等内部有单片机,现在的智能化仪器仪表内都有单片机,工业生产上的数控机床有位移检测用的光栅尺,光栅尺连接的控制仪表内就有单片机,作者设计过的用在全国各地的国家粮食储备库与中央粮食储备库的计算机测温系统除计算机外的核心就是单片机,作者设计过的用在生产流水线检验家用热水器部件的检验设备和检验汽车部件的检验设备都是都是以计算机和单片机为核心构成的检验设备。
现在这个时代的电子产品,普遍都在使用单片机,所以学好单片机是非常重要的。
1.1.31.1.3学习的典型芯片与学习的典型芯片与CC语言介绍语言介绍单片机种类较多,比较流行的有51单片机、AVR单片机、PIC单片机、MSP430单片机、STM32等,过去比较流行的51单片机典型型号是AT89C51与AT89S51,现在已被功能更强大,使用更方便的STC单片机取代,STC单片机对原有51内核进行了重大改进并增加了很多片内外设,第一代的STC89系列单片机性能就显著超越了AT89系列,又经历了几代发展,现在STC已发展到了15系列,具有低功耗、低价位、高性-10-能、使用方便等显著特点。
STM32是意法半导体公司使用Cortex-M3内核生产的32位单片机,运行速度更快,功能更强大,性价比高,现在运用也比较广泛,至于AVR单片机、PIC单片机、MSP430单片机等由价格高、供货渠道不稳定等多种因素,它们在市场的占有份额已经越来越小,所以学单片机重点要把STC和STM32学好,我这本书主讲STC,把STC学精通后再学习STM32就很简单了,STC单片机的例子几乎都可以用到STM32上。
STC15系列单片机又分为多个子系列,STC15W100/STC15F100W系列STC15W201S系列STC15W401AS系列STC15W404S系列STC15W1K16S系列STC15F2K60S2系列STC15W4K32S4系列等,它们的功能从简单到高级依次增强,由于芯片具体型号众多,不可能每一个都去学,本书主讲功能最强的STC15W4K32S4系列中的IAP15W4K58S4,它的功能最全,15系列中的其它型号功能都比它少,价格也更便宜,表1-1列出了STC15系列单片机典型型号与资源对比,IAP15W4K58S4单片机兼容STC15系列其它型号单片机,在IAP15W4K58S4单片机上运行正常的程序不用任何修改就可以直接下载到同系列其它型号单片机上运行,在硬件上,IAP15W4K58S4引脚排列也完全兼容相同封装的15系列其它型号,正因为如此,与本书配套的实验板除了可以做IAP15W4K58S4相关的实验外,也可以完成15系列其它型号单片机的实验,综上所述,我们只要学会了IAP15W4K58S4,STC15系列中其它型号芯片就都可以使用了。
表1-1STC15系列单片机典型型号对比型号工作电压(V)Flash程序存储器字节数据存储器SRAM字节定时器PCA/PWM/CCP6通道带死区控制PWM串口数量8通道10位ADC转换器SPI接口比较器EEPROM支持USB直接下载支持外部晶振M参考价元IAP15W4K58S4(本身就是仿真器)2.5-5.558K4096T0-T42通道有4有主从有IAP支持5-355.9STC15W4K56S42.5-5.556K4096T0-T42通道有4有主从有2K支持5-355.9IAP15F2K61S2(本身就是仿真器)4.5-5.561K2048T0-T23通道2有主IAP5-354.9STC15F2K60S24.5-5.560K2048T0-T23通道2有主1K5-354.9STC15W408S2.5-5.58K512T0-T21主从有5K3.0表格说明:
1.型号为IAP开头的单片机可以在程序运行过程中由程序修改或者擦除整个FLASH程序存储区,让传统的只读程序存储器变成了可读写程序存储器,程序运行过程中写入FLASH的数据与程序一样,具有掉电不丢失的功能,表中EEPROM为IAP的表示EEPROM使用FLASH存储区剩余空间,型号不是IAP开头的单片机无论程序如何操作都是无法更改FLASH程序存储区的,使用IAP提高了程序的灵活性,不使用IAP有利于FLASH存储空间程序的安全性。
-11-2.STC单片机内部带有高精度R/C时钟,1%温漂(-4085),通常的运用如串口通信、红外通信、18B20通信类程序都是不需要外部晶振的,作为特殊运用,比如精密频率计需要外部晶振时(外部晶振频率稳定度通常都高于0.01%,初始误差可通过调整与晶振连接的电容容量进行微调),需要注意15系列的个别型号(比如IAP15W4K61S4)目前只能外接24MHz的晶振,否则芯片可能无法正常工作,IAP15W4K58S4、IAP15F2K61S2、STC15F2K60S2等都是可以使用外部5-35MHz晶振的。
学单片机除了要了解芯片内部功能模块外,还要学习编程语言,编程语言有汇编和C语言2种可供选择,汇编语言学习其实比C语言要简单,只要熟悉一下单片机的汇编指令,找几个简单的例子练一练就大致学会了,学习汇编语言还有个好处就是可以对单片机内部程序存储器与数据存储器部分的原理理解得比较清楚,C语言本身也简单,只是学习的内容比汇编语言要多,也就是说,学C语言难度要略大于汇编语言,但是,汇编语言编写好的程序,别人是很难读懂的,就连自己编写的程序,隔上三五个月再看也是很难看懂的,C语言就不同了,C语言编写的程序比汇编语言程序容易理解,并且具有较强的移植性,一种单片机的代码可方便移植到另一种单片机上,更重要的一个问题,汇编语言编程水平不管高到哪里去,如果不精通C语言的话,还是不行的,因此本书主讲C语言。
1.1.41.1.4本书配套实验板及相关学习工具介绍本书配套实验板及相关学习工具介绍本书配套了2个实验板,一个作为主实验板,外形如图1-2所示,可以完成流水灯、定时器/计数器、串口通信、I2C通信、SPI通信、按键、数码管、LCD1602液晶、A/D转换、D/A转换、红外接收、DS18B20温度传感器、TFT工业彩色串口触摸屏等实验,另一个作为辅助实验板可直接插接到主实验板上,用于完成SD卡、MP3播放器实验。
使用配套实验板最大的好处是可以节省自己搭接实验电路的时间。
图1-2主实验板外形图SD卡与MP3辅助实验板外形如图1-3所示。
-12-图1-3辅助实验板外形图电路原理详细说明如下,熟悉电路图是编程与实验的重要基础,由于电路模块单元较多,可以在学习到相应章节时再回来仔细分析电路。
1、电源电路与EEPROM断电检测电路如图1-4所示,图1-4有2路断电检测电路,一路是通过二极管1N4007全波整流采样交流电,适用于各个型号的单片机,可靠性很高,可用于大量数据的断电瞬间存储,另一路是电源VCC与GND间的电阻串联分压值送入比较器输入口P5.5,这种方式硬件更加简单,但只能用于内部带比较器的STC15W系列单片机。
50V0.1uF50V0.1uF25V470uF25V470uF1N40071N4007Vin1GND2Vout3LM7805220V9V1N40071N4007+5V300mA电源开关外置变压器1N40071N400751KGNDGNDINT2(P3.6)27VCC5.1KIAP15W4K58S4S8050ECB18GND2010mS10mS10mS10mS10mS10mSS8050S8050ECB1KLED2号单片机51K(1%)21.5K(1%)19GNDP5.5图1-4电源电路与EEPROM断电检测电路2、双CPU电路如图1-5所示本实验板采用双CPU电路,目的是要完成单片机与单片机之间高达8MHz的SPI数据通信实验,另外
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 轻松 入门 基于 STC15W4K 系列
![提示](https://static.bingdoc.com/images/bang_tan.gif)