首页 51单片机轻松入门—基于STC15W4K系列

51单片机轻松入门—基于STC15W4K系列

举报
开通vip

51单片机轻松入门—基于STC15W4K系列-1-联系方式:QQ群(STC51-STM32):324284310,个人QQ:347305156,验证信息:单片机邮箱:xgliyouquan@126.com淘宝店地址:http://shop117387413.taobao.com/search.htm?spm=a1z10.1-c.w4023-10438077395.34.1Wybca&orderType=hotsell_desc百度网盘辅助参考视频与资料下载地址:http://pan.baidu.com/share/home?uk=4077802723...

51单片机轻松入门—基于STC15W4K系列
-1-联系方式:QQ群(STC51-STM32):324284310,个人QQ:347305156,验证信息:单片机邮箱:xgliyouquan@126.com淘宝店地址:http://shop117387413.taobao.com/search.htm?spm=a1z10.1-c.w4023-10438077395.34.1Wybca&orderType=hotsell_desc百度网盘辅助参考视频与资料下载地址:http://pan.baidu.com/share/home?uk=4077802723&view=share#category/type=0-2-内容简介本书以最新流行的不需要外部晶振与复位电路的可仿真的高速STC15系列单片机为核心,详细介绍了单片机内部功能模块,比如定时器、中断、串口、SPI接口、片内比较器、ADC转换器、可编程计数器阵列(CCP/PCA/PWM)等。每个重要 知识点 高中化学知识点免费下载体育概论知识点下载名人传知识点免费下载线性代数知识点汇总下载高中化学知识点免费下载 都有简短精炼的实例作验证,然后就是单片机常用外围接口的介绍与STC15系列单片机的实际产品运用实例分析。另外对单片机开发必须掌握的C语言基础知识与Keil开发环境也作了较为详细的介绍,对于没有学习过C语言的读者通过本书也能轻松进入以C语言开发单片机的学习状态。为了快速验证本书的理论知识,作者 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 了与本书配套的双核(两个仿真型单片机)实验板,功能强大,操作简单,直观,除用于本书实验测试外,也可用于产品前期开发。本书可作为普通高校计算机类、电子类、自动控制类、仪器仪表类、机电一体化类等相关专业教学用书,对已有一定设计经验的单片机工程师也有重要参考价值。-3-前言STC单片机是在传统8051单片机内核的基础上进行大幅度改进升级优化而来的新一代8051单片机,具有高速、高可靠、低功耗、外围模块多、ISP升级程序方便、价格低廉等显著优点,加上STC/宏晶科技单片机的厂商“南通国芯微电子”属于中国大陆本土企业,当我们在产品设计过程中遇到问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 时方便与厂家沟通获得技术支持,所以STC单片机已经被众多的产品设计工程师作为首选方案运用到自己的产品中去。STC单片机的指令系统与 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的8051内核完全兼容,过去的51单片机书籍仍然可以拿来作为辅助参考学习,对于已经熟悉传统8051内核单片机的读者,可以轻松过渡到STC可仿真的超级强大的STC15系列单片机或STC早期的STC89系列单片机,本书的编写建立在笔者十多年的产品设计经验基础之上,具体编写从前到后又花费了近5年的时间,笔者本着十年磨一剑的精神把每一个章节的内容写出水平,因此本书内容真实,言语简练,通俗易懂,对多年来传统单片机教材含糊不清的概念与重要知识都作了明确分析,全书程序代码编写 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 ,注重程序的通用性与移植性,让读者既能轻松看懂理论知识又能方便将程序代码移植到产品中去。本教材主讲的单片机型号是STC公司的IAP15W4K58S4(既能仿真又能USB直接下载程序),是目前STC最先进的芯片之一,内部资源十分丰富,具有58K字节程序存储器,4096字节数据存储器,5个定时器,4个独立串口,8通道10位高速ADC转换器,1个SPI接口支持主机与从机模式、2路CCP/PCA/PWM、6路带死区控制的专用PWM、1个比较器等,支持USB直接下载程序和串口下载程序,内部集成有高精度R/C时钟与高可靠复位电路,支持2.5~5.5V宽工作电压范围,只需提供电源就是单片机最小系统,只需加上一个RS232电平转换芯片或USB转串口芯片后连上电脑就成为一个功能完美的仿真系统,程序仿真调试非常方便,用此芯片可以完成本书很多高级实验,比如TLC5615数模转换芯片播放歌曲、SD卡读写等,另外,此单片机在软件与硬件上都完全兼容资源略少的上一代单片机STC15F2K60S2系列,因此本书也完全适用于STC15F2K60S2系列的学习,为降低实际产品成本,本书还辅助性的介绍了STC15W404S系列,STC15W404S系列资源更少一些,但管脚仍然很多,同样支持宽电压供电,带比较器功能,支持SPI主机与从机模式等,在功能要求比较简单的产品上,为进一步降低成本,读者也可使用STC15W401AS系列或STC15W100系列芯片。编者2015年1月-4-目录第1章单片机高效入门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格式化输出函数第2章单片机开发必须掌握的C语言基础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多文件程序(模块化编程)第3章定时器/计数器、中断系统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外中断代码调试(按键的防抖技术)第4章串口通信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进制、数值与字符串第5章SPI通信5.1SPI总线数据传输格式5.1.1接口定义5.1.2传输格式5.2SPI接口相关寄存器5.2.1SPI相关的特殊功能寄存器5.2.2SPI接口引脚切换5.3SPI接口运用举例第6章I2C通信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运用实例(断电瞬间存储整数或浮点数)第7章单片机内部比较器与DataFlash存储器7.1STC15W系列单片机内部比较器7.1.1比较器结构图7.1.2寄存器说明7.1.3电路讲解与程序实例7.2DataFlash存储器7.2.1DataFlash操作有关的寄存器介绍7.2.2DataFlash操作实例(断电瞬间存储数据)第8章可编程计数阵列CCP/PCA/PWM模块(可用作DAC)8.1PCA模块总体结构图8.2PCA模块的特殊功能寄存器8.3PCA模块的工作模式与应用举例第9章模数转换器ADC9.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第10章数模转换器DAC10.1TLC5615数模转换电路与基本测试程序10.2TLC5615产生锯齿波、正弦波、三角波10.3TLC5615的高级运用(播放歌曲)第11章单片机实用小知识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软件测试实例第12章常用单片机接口程序12.1数码管静态显示12.2数码管动态显示12.3独立键盘12.4矩阵键盘第13章1602液晶13.11602液晶外形与电路图13.21602液晶运用举例13.31602液晶显示汉字与特殊符号第14章精密电压表\电流表\通用显示器\计数器制作14.1功能说明与电路原理分析14.2程序实例14.2.1通用显示器功能检测程序(外部程序)14.2.2计数器功能检测程序(外部程序)14.2.3模块程序第15章步进电机测试15.1步进电机特点15.2步进电机的3种励磁方式15.3步进电机驱动电路15.4步进电机驱动实例15.5步进电机专用驱动器介绍第16章频率检测-8-16.1频率检测的用途与频率定义16.2频率检测实例第17章DS1302时钟芯片17.1DS1302的SPI数据通信格式17.2程序实例第18章红外通信18.1红外通信电路与基本原理18.2红外接收软件实例第19章单总线DS18B20通信(长距离无线通信)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读取传感器温度实例第20章SD卡与znFAT文件系统20.1认识SD卡与SD卡驱动程序20.1.1认识SD卡20.1.2电路讲解20.1.3通信时序与完整驱动程序说明20.2znFAT文件系统20.2.1znFAT的移植方法20.2.2znFAT移植实例第21章MP3播放器实验(znFAT文件系统运用实例)21.1MP3介绍与电路讲解21.2正弦测试21.3通过SD卡播放MP3文件第22章数字存储示波器技巧与逻辑分析仪的操作22.1测量直流电源开关机瞬间输出毛剌浪涌22.2测量稍纵即逝的红外发射信号22.3精确测量直流电源纹波22.4示波器带宽选用依据22.5逻辑分析仪快速入门附录1ASCII码表参考文献-9-第1章单片机高效入门1.1单片机简介1.1.1认识单片机单片机全称是单片微型计算机,说计算机大家都知道它内部主要包含微处理器CPU、硬盘、内存条等部件,一个单片机内部也包含了微处理器内核、程序存储器、数据存储器等,单片机的内核相当于计算机主板上的CPU,单片机的程序存储器相当于计算机的硬盘,单片机的数据存储器相当于计算机的内存条,另外,编写过计算机运用程序的人都知道,计算机是按程序命令一条条执行语句完成所需的功能,单片机也是按程序命令一条条执行语句完成所需的功能,从这里可以看出,单片机与计算机实在是太相似了,这就是可以把它称为计算机的原因,另外,单片机拥有的这么多的结构部件都是集成在单一的一块集成电路芯片上的,加上体积微小,所以全称就是单片微型计算机,简称单片机。外观如图1-1所示。图1-1单片机常见外形图单片机与普通集成电路的区别是:普通集成电路功能是固定死的,使用者无法更改,单片机的功能是可以通过编写程序进行更改的。事实上,由于单片机只是用在电子产品线路板上的一个集成电路芯片,完成一些常用的电气检测与控制功能,把它称为微型计算机太过夸大其词,于是又有人把它改名称为微控制器,英文名称:MicroControlUnit,缩写为MCU,不管称为单片微型计算机还是微控制器或者MCU,它本质上始终是用在电子产品线路板上的一个集成电路芯片,没什么神奇之处。1.1.2单片机的用途单片机用途十分广泛,比如常见的家用电器洗衣机、空调、电磁炉等内部有单片机,现在的智能化仪器仪表内都有单片机,工业生产上的数控机床有位移检测用的光栅尺,光栅尺连接的控制仪表内就有单片机,作者设计过的用在全国各地的国家粮食储备库与中央粮食储备库的计算机测温系统除计算机外的核心就是单片机,作者设计过的用在生产流水线检验家用热水器部件的检验设备和检验汽车部件的检验设备都是都是以计算机和单片机为核心构成的检验设备。现在这个时代的电子产品,普遍都在使用单片机,所以学好单片机是非常重要的。1.1.3学习的典型芯片与C语言介绍单片机种类较多,比较流行的有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有主—IAP—5-354.9STC15F2K60S24.5-5.560K2048T0-T23通道—2有主—1K—5-354.9STC15W408S2.5-5.58K512T0-T2——1—主从有5K——3.0表格说明:1.型号为IAP开头的单片机可以在程序运行过程中由程序修改或者擦除整个FLASH程序存储区,让传统的只读程序存储器变成了可读写程序存储器,程序运行过程中写入FLASH的数据与程序一样,具有掉电不丢失的功能,表中EEPROM为IAP的表示EEPROM使用FLASH存储区剩余空间,型号不是IAP开头的单片机无论程序如何操作都是无法更改FLASH程序存储区的,使用IAP提高了程序的灵活性,不使用IAP有利于FLASH存储空间程序的安全性。-11-2.STC单片机内部带有高精度R/C时钟,±1%温漂(-40℃~85℃),通常的运用如串口通信、红外通信、18B20通信类程序都是不需要外部晶振的,作为特殊运用,比如精密频率计需要外部晶振时(外部晶振频率稳定度通常都高于0.01%,初始误差可通过调整与晶振连接的电容容量进行微调),需要注意15系列的个别型号(比如IAP15W4K61S4)目前只能外接24MHz的晶振,否则芯片可能无法正常工作,IAP15W4K58S4、IAP15F2K61S2、STC15F2K60S2等都是可以使用外部5-35MHz晶振的。学单片机除了要了解芯片内部功能模块外,还要学习编程语言,编程语言有汇编和C语言2种可供选择,汇编语言学习其实比C语言要简单,只要熟悉一下单片机的汇编指令,找几个简单的例子练一练就大致学会了,学习汇编语言还有个好处就是可以对单片机内部程序存储器与数据存储器部分的原理理解得比较清楚,C语言本身也简单,只是学习的内容比汇编语言要多,也就是说,学C语言难度要略大于汇编语言,但是,汇编语言编写好的程序,别人是很难读懂的,就连自己编写的程序,隔上三五个月再看也是很难看懂的,C语言就不同了,C语言编写的程序比汇编语言程序容易理解,并且具有较强的移植性,一种单片机的代码可方便移植到另一种单片机上,更重要的一个问题,汇编语言编程水平不管高到哪里去,如果不精通C语言的话,还是不行的,因此本书主讲C语言。1.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数据通信实验,另外可以将一个CPU的输出脉冲作为计数源送入另一CPU完成计数器实验,采用多CPU方式还能够解决单片机IO口不足问题或两个高级中断谁也不能让谁的竞争问题。-13-图1-5双CPU电路3、2号单片机晶振与复位电路图1-6所示STC15系列单片机内部R/C时钟精度高达±1%(-40°~+85°),内部具有高可靠复位电路,因此一般情况下是不需要晶振与复位电路的,本实验板的1号单片机外部就完全没有这部分电路,为了做精确频率检测实验,2号单片机使用了外部22.1184MHz晶振,外部晶振频率稳定度通常都高于0.01%,初始误差可通过调整与晶振连接的电容容量进行微调,当然不是用示波器或频率计测量单片机晶振引脚频率后调整,示波器或频率计的接入相当于在晶振引脚并接电容到地,所以测量得到的频率误差会增大,可通过软件设置单片机在P5.4引脚输出主时钟,频率计测量这个位置得到的频率才是最真实的频率值。2号单片机17IAP15W4K58S4(直插)1516RESET22.1184MHz30P30PGND1K240Ω测试点+5VXTAL2XTAL1RSTA0A1A2A3SDASCLWPVCC1234567824C025.1K5.1KIAP15W4K58S42018+5VVCCGNDP3.7P4.128292号单片机图1-6晶振与复位电路图1-7I2C接口电路4、2号单片机与I2C器件24C02连接电路如图1-7所示。5、2号单片机串口下载与与双串口实验电路如图1-8所示。计算机USB_TTL转换电路1号单片机2号单片机121314RXDTXDGNDMOSIMISOSCLKGND1620IAP15W4K58S4(直插)33MOSI-2MISO-2SCLK-23231GNDIAP15W4K58S4(贴片)2122SS-2SS3411计算机USB_TTL转换电路RXDTXDGND1819240Ω240Ω240Ω+5V+5V1814跳线帽(P54-P34)240Ω1KLED+5V13P5.4P3.425240Ω跳线帽(P17-P35)240ΩP3.51226P1.7-14-VccRXDV3UD+UD-RIRTSDTRXODCDDSRR232TXDGNDXICTS12345678910111213141516CH340GC122P22P12MHz1234VCCD-D+GNDUSB0.01uFVCC_5VVCC_5V10uF接口TXDRXDGND100mA1KLEDP1.0P3.1P3.0(Rxd)(Txd)GND9221021IAP15W4K58S4(Rxd2)(Txd2)P1.1B5819W240Ω2号单片机图1-82号单片机串口下载与与双串口实验电路6、2号单片机数码管显示接口电路如图1-9所示由于独立的6位一体数码管市场上很难购买,电路中采用的是2个完全相同的3位一体共阳型数码管。gfabedchhabcdefg12habcdefghabcdefg3空gfabedchhabcdefg12habcdefghabcdefg3空Q0SRCLKRCLKOEQ4Q3Q2Q1Q5Q674HC595Gnd111213865432115cgafbDATCNT(控制)CLK+5V620Ω*8SRCLRedh1610SER14Q7Q779Q0SRCLKRCLKOEQ4Q3Q2Q1Q5Q674HC595Gnd111213865432115IAP15W4K58S4+5VSRCLR1610SER14Q7Q779P4.531305.1K5.1K5.1KS8550S8550S8550S85505.1KS85505.1KS85505.1KQ0'Q1'Q2'Q5'Q6'Q7'Q0'Q1'Q2'Q5'Q6'Q7'+5V40P4.4P4.220GND5.1K*3+5VVCC18图1-9数码管显示接口电路7、2号单片机独立按键与外部显示器接口电路、矩阵按键电路等如图1-10所示。与按键连接的单片机I/O口都串联了240Ω的电阻,用于防止软件设置错误(比如误设为强推挽)时单片机I/O口输出电流保护,外部显示器接口是通过2根信号线连接“电压表/电流表/计数器/显示器”模块,“电压表/电流表/计数器/显示器”模块的电路图将在第14章单独介绍,P3.4与P3.5还用作计数器与频率计信号输入口,输入脉冲信号由1号单片机的P5.4与P1.7提供。-15-5.1K*4P3.3P3.2P3.4P3.5IAP15W4K58S4+5VK4K3K2K1240Ω240Ω240Ω23242526+5V外部显示器接口跳线帽(P54-P34)1KLED+5VIAP15W4K58S4P5.413CLKDATGND1号单片机2号单片机240Ω12P1.7跳线帽(P17-P35)240Ω240Ω5.1K*4P2.0P2.1P2.2P2.3P2.5P2.4P2.6P2.7IAP15W4K58S4+5V0123456789ABCDEF行4行1行2行3列4列1列2列3输出输入2号单片机240Ω240Ω240Ω240Ω240Ω240Ω240Ω240Ω图1-10独立按键与外部显示器接口电路(图左)、矩阵按键电路(图右)8、2号单片机LED指示灯电路图1-11所示。1KLED01KLED11KLED21KLED31KLED41KLED51KLED61KLED712345678P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7+5VIAP15W4K58S42号单片机VccRXDV3UD+UD-RIRTSDTRXODCDDSRR232TXDGNDXICTS12345678910111213141516CH340GC122P22P12MHz1234VCCD-D+GNDUSB0.01uFVCC_5VVCC_5V10uF接口TXDRXDGND100mA1KP3.2R340T340P3.3P3.1P3.0(Rxd)(Txd)GND18192021IAP15W4K58S4B5819W240Ω1号单片机图1-11LED指示灯电路图1-121号单片机串口下载与模拟串口实验电路9、2号单片机10位ADC转换电路如图1-13所示,当电位器调到两端极限+5V或0V时,如果程序中将P1.1(ADC1)设为输出,将导致I/O口短路,串联240Ω电阻将把短路电流限制到单片机IO口允许的20mA范围内,从而保护IO口不损坏。10K0.1uFSW+5VGNDVCC0V181020P1.1(ADC1)IAP15W4K58S4(直插)2号单片机240Ω图1-132号单片机10位ADC转换电路10、1号单片机串口下载与模拟串口实验电路如图1-12所示。11、1号单片机与LCD1602液晶显示器连接电路如图1-14所示,LCD1602模块使用插针的方式直接插接到-16-主实验板对应的插座上。背光耗电大,一般不接10Ω/1W10K*8680Ω+5VGNDDB0VCCRSR/WEVLBLKDB7BLABLKVSS7141516123456GNDP0.0IAP15W4K58S4P1.3P1.2P4.7P0.740376可用电位器代替8VCC141616021号单片机图1-141号单片机与LCD1602液晶显示器连接电路12、1号单片机与时钟芯片DS1302连接电路如图1-15所示。0.1uFVCC2X1X2GNDVCC1SCLKI/ORST+5VDS130232.768KHZ10K*3IAP15W4K58S4P4.6P4.5P2.71K1N4148100uF(电容代替备用电池)1234567839383718VCC图1-151号单片机与时钟芯片DS1302连接电路13、1号单片机与D/A输出芯片TLC5615连接电路如图1-16所示IAP15W4K58S4模拟输出DINSCLKCSDOUTVCCSCLKREFINAGNDTLC561512345678VCCOUT空GNDMC140312345678空空空空0.1uF680Ω100Ω10K100uF单声道输出耳机P3.4P4.0P5.522171520GND10K实测输出:2.498V1号单片机图1-161号单片机与D/A芯片TLC5615连接电路14、1号单片机温度检测与LED指示灯电路如图1-17所示1KLED指示灯1235.1K18B20P3.5P1.510IAP15W4K58S4+5VGND16VCC141号单片机-17-图1-17温度检测与LED指示灯电路15、1号单片机红外接收电路如图1-18所示图1-18红外接收电路与红外接收头引脚定义16、由1号单片机驱动的SD卡电路原理如图1-19所示,它与MP3部分的电路共同构成一个独立的电路板,使用插针方式直接插接到主实验板上的LCD1602液晶插座位置即可,由于单片机使用的是5V电压供电,IO口输出电压也接近5V,单片机驱动3.3V的SD卡,在程序中应将对应的单片机IO口设置为开漏输出方式。5.1K5.1K3.3V5.1K20K+5V0V3.3V3.3V1234AMS1117_3.3100uF12345678910111213CSDIVSSVCCCLKVSSDONC(不用)NC(不用)NCD(插入检测)WP(写保护)SD卡座PAD1PAD2240Ω240Ω234567893.3V1NCCSDIVCCCLKVSSDONCNCDGNDGNDGND+5VMicroSD卡座240Ω240ΩLED1KGND(P0.5)DI(P0.7)DO(P0.6)CLK(P0.4)CS10uF图1-191号单片机驱动的SD卡电路17、由1号单片机驱动的MP3音频播放器模块电路原理如图1-20和图1-21所示。123456789VCC_5.0GNDP13P12P47P03P02P01P00外部接口240Ω*75.1K*32.5V内部电路SOSISCLKXRESTDREQXDCSXCS3.3V2.5V电源电路图1-20主实验板与VS1003模块接口-18-XRESET100KVCC_3.3VCC_2.5DREQ10K1M100K100K100K100K1K1K1K1K1K1K100KXDCSVCC_2.5XCSVCC_3.3SCLKSISOVCC_2.5AGND33P1uF33PAVCC_3.3LINEINVCC_3.312.288MLED1230VOUTINAMS1117_2.51230VOUTINAMS1117_3.3100uFLEDVCC_3.3VCC_2.5VCC_5.0OUT100uF/10V100uF/10VMIC10uF100P1uF1uFAGNDAVCC_3.3DGNDVCC_3.312345678910111213141516171819202122232425262728293031323334353637383940MICPMICNXRESETDGND0IOVDD0CVDD0RCAPDREQCVDD1GPIO2/DCLKGPIO3/SDATA1SOSICVDD3SCLKTXRXAVDD1CVDD2XCSTESTRIGHTDGND4XDCS/DGND1BSYNCIOVDD1VCOXTALOXTALIIOVDD2DGND2DGND3LINEINLEFTAVDD2AGND3GBUFAGND2AVDD0GPIO1AGND1GPIO0/SPIBOOTAGND04142434445464748VS1003B10uFAGND模拟地数字地0.1uF0.1uFAVCC_3.3470R10nF1uFLineIN10uF10uF1N4007图1-21MP3音频播放器模块内部电路除开发板外还有其它几个常用工具:数字万用表、逻辑分析仪、数字存储示波器与计算机,数字万用如果没有现成的,建议购买“胜利VC86E”或“胜利VC97”,VC86E直流电压精度比VC97更高,在做A/D转换实验时需要使用,VC97的频率检测功能比VC86E更稳定,方便测量单片机输出信号频率,逻辑分析仪特别重要,初学时购买24MHZ采样率的就可以了,价格100元左右,外观与使用说明在本书最后章节有详细介绍,要想彻底明白书上的串口通信、SPI通信、I2C通信,没这个东西几乎是不可能的,不过也要提示一下,24MHZ采样率的逻辑分析仪适合测量的信号频率在1MHz以内,信号频率过高的话,测出的波形将与实际不符,数字存储示波器建议选用100M带宽、4通道并具有单次捕获功能的泰克示波器,示波器价格较高,有最好,没有也不影响本书实验,最后就是计算机,计算机配置要求并不高,但最好选用主板带9针RS232串口的,这样会省去很多麻烦。1.2点亮1个发光二极管1.2.1单片机型号命名规则STC15系列典型单片机型号命名规则如图1-22所示。-19-图1-22STC15系列典型单片机型号命名规则1.2.2单片机引脚功能说明1、封装图IAP15W4K58S4单片机有多种封装形式,最常用的封装如图1-23、图1-24、图1-25。图1-23IAP15W4K58S4单片机LQFP-44封装的引脚图-20-图1-24IAP15W4K58S4单片机LQFP64L/LQFP64S封装的引脚图-21-图1-25IAP15W4K58S4单片机PDIP-40封装的引脚图2、引脚功能说明先说PDIP40封装引脚,除18与20脚用作电源引脚外,默认情况下,其余所有引脚都是数字输入输出I/O口,P4口~P7口的使用如同使用常规的P0、P1、P2、P3一样,并且都可以按位操作,I/O口作为输入使用时,2.2V以上时单片机认定为高电平,0.8V以下时单片机认定为低电平,PDIP40封装各引脚功能详细说明如下。1~8脚P0口,包括P0.0~P0.7。P0.0还复用为RxD3(串口3数据接收端)。P0.1还复用为TxD3(串口3数据发送端)。P0.2还复用为RxD4(串口4数据接收端)。P0.3还复用为TxD4(串口4数据发送端)。P0.4还复用为T3CLKO(定时器/计数器3的时钟输出)。P0.5还复用为T3(定时器/计数器3的外部输入)与PWMFLT_2(PWM异常停机控制管脚)。P0.6还复用为T4CLKO(定时器/计数器4的时钟输出)与PWM7_2(脉宽调制输出通道7)。P0.7还复用为T4(定时器/计数器4的外部输入)与PWM6_2(脉宽调制输出通道6)。在特殊情况下需要扩展外部数据存储器时,P0口还可分时用作数据总线(D0~D7)与16位地址总线的低8位地址,P0口到底是用作I/O口还是低8位数据/地址是不需要单独设置的,程序中如果是I/O操作命令,它就是I/O口,程序中如果是在执行访问外部数据存储器的命令,它就是8位数据/地址。9~16脚P1口,包括P1.0~P1.7。同时复用为8通道模数转换器ADC输入口,STC15系列IO口用作模数转换ADC时不需要对IO口输出状态作额外配置。P1.0还复用为CCP1(捕获/脉冲输出/脉宽调制通道1)与RxD2(串口2数据接收端)。P1.1还复用为CCP0(捕获/脉冲输出/脉宽调制通道0)与TxD2(串口2数据发送端)。P1.2还复用为ECI(可编程计数阵列定时器的外部时钟输入)与SS(单片机用作SPI从机时的从机片选输入控制端),P1.2还复用为CMPO(比较器的比较结果输出端)。P1.3还复用为MOSI(SPI主机输出从机输入)。P1.4还复用为MISO(SPI主机输入从机输出)。P1.5还复用为SCLK(SPI主机时钟输出或从机时钟输入)。P1.6与P1.7复用为外部晶振输入端口,若程序下载时勾选“选择使用内部R/C时钟”则P1.6与P1.7设置为普通IO口,不勾选“选择使用内部R/C时钟”则P1.6与P1.7设置为外部晶振输入端口,程序下载完毕后给单片机断电,重新上电后设置生效,P1.6还复用为RxD_3(串口1接收端备用切换引脚),P1.6还复用为MCLKO_2(主时钟输出备用切换引脚),P1.6还复用为PWM6(脉宽调制输出通道6),P1.7还复用为TxD_3(串口1发送端备用切换引脚),P1.7还复用为PWM7(脉宽调制输出通道7)。17脚P5.4口,若要用作外部复位引脚RST,需在程序下载软件中设置,外部复位与内部的MAX810专用复位电路是逻辑或的关系,P5.4还复用为MCLKO,即可编程主时钟输出:无输出、输出主时钟、输出0.5倍主时钟、、输出0.25倍主时钟,由于单片机所有I/O口对外允许最高输出频率为13.5MHz,所以这里最高输出也不能超过13.5MHz,主时钟指外部晶体振器频率或内部R/C时钟频率,P5.4还复用为SS_3(SPI从机时的从机片选输入端备用切换引脚)与CMP-(比较器负极输入端)。18脚电源正,STC15W系列使用2.5~5.5V,STC15F系列使用+4.5~5.5V,STC15L系列使用2.4~3.6V。19脚P5.5,复用为CMP+(比较器正极输入端)。20脚GND。21~28脚P3口,包括P3.0~P3.7。P3.0复用为RxD(串口1数据接收端)、INT4(外中断4,只能下降沿中断)、T2CLKO(T2时钟输出)。P3.1复用为TxD(串口1数据发送端)、T2(定时器/计数器T2外部计数脉冲输入)。-22-P3.2复用为INT0(外部中断0输入,既可上升沿中断也可下降沿中断)。P3.3复用为INT1(外部中断1输入,既可上升沿中断也可下降沿中断)。P3.4复用为T0(定时器/计数器T0外部计数脉冲输入)、T1CLKO(T1时钟输出)、ECI_2(可编程计数阵列定时器的外部时钟输入备用切换引脚)。P3.5复用为T1(定时器/计数器T1外部计数脉冲输入)、T0CLKO(T0时钟输出)、CCP0_2(捕获/脉冲输出/脉宽调制通道0备用切换引脚)。P3.6复用为INT2(外部中断2输入,只能下降沿中断)、RxD_2(串口1数据接收端备用切换引脚)、CCP1_2(捕获/脉冲输出/脉宽调制通道1备用切换引脚)。P3.7复用为INT3(外部中断3输入,只能下降沿中断)、TxD_2(串口1数据发送端备用切换引脚)、PWM2(脉宽调制输出通道2)。29脚P4.1,复用为MISO_3(SPI主机输入从机输出备用切换引脚)。30脚P4.2,复用为/WR(扩展片外数据存储器时的写控制端)与PWM5_2(脉宽调制输出通道5)。31脚P4.4,复用为/RD(扩展片外数据存储器时的读控制端)与PWM4_2(脉宽调制输出通道4)。32~39脚P2口,包括P2.0~P2.7,在扩展外部数据存储器时作地址总线的高8位输出。P2.0复用为RSTOUT_LOW功能,可通过程序下载软件设置上电复位后输出高电平还是低电平。P2.1复用为SCLK_2(SPI时钟备用切换引脚)与PWM3(脉宽调制输出通道3)。P2.2复用为MISO_2(SPI主机输入从机输出备用切换引脚)与PWM4(脉宽调制输出通道4)。P2.3复用为MOSI_2(SPI主机输出从机输入备用切换引脚)与PWM5(脉宽调制输出通道5)。P2.4复用为ECI_3(可编程计数阵列定时器的外部时钟输入备用切换引脚)、SS_2(SPI从机时的从机片选输入端备用切换引脚)、PWMFLT(PWM异常停机控制管脚)。P2.5复用为CCP0_3(捕获/脉冲输出/脉宽调制通道0备用切换引脚)。P2.6复用为CCP1_3(捕获/脉冲输出/脉宽调制通道1备用切换引脚)。P2.7复用为PWM2_2(脉宽调制输出通道2)。40脚P4.5,复用为ALE,在扩展外部数据存储器时利用此引脚锁存低8位地址,使P0口分时作地址总线低8位和8位数据总线,P2口作地址总线高8位。P4.5还复用为PWM3_2(脉宽调制输出通道3)。LQFP44贴片封装比PDIP40插件封装多P4.0、P4.3、P4.6、P4.7引脚,单独说明如下。17脚,P4.0复用为MOSI_3(SPI主机输出从机输入备用切换引脚)。28脚,P4.3复用为SCLK_3(SPI时钟备用切换引脚)。39脚,P4.6复用为RxD2_2(串口2数据接收端备用切换引脚)。6脚,P4.7复用为TxD2_2(串口2数据发送端备用切换引脚)。LQFP64L/LQFP64S封装比LQFP44封装增加的并且有复用功能的引脚说明如下。32脚,P5.0复用为RxD3_2(串口3数据接收端备用切换引脚)。33脚,P5.1复用为TxD3_2(串口3数据发送端备用切换引脚)。64脚,P5.2复用为RxD4_2(串口4数据接收端备用切换引脚)。1脚,P5.3复用为TxD4_2(串口4数据发送端备用切换引脚)。3、I/O口工作模式IAP15W4K58S4单片机所有I/O口都可由软件配置成4种工作模式之一:准双向口(标准8051单片机输出模式)、推挽输出、仅为输入(高阻)与开漏输出。每个口的工作模式由2个控制寄存器(PnM1、PnM0)中的相应位控制,其中n=0、1、2、3、4、5、6、7,例如P0M1和P0M0用于设定P0口,其中P0M1.0和P0M0.0用于设置P0.0,P0M1.7和P0M0.7用于设置P0.7,依次类推,设置关系如表1-2所示。STC15系列中的STC15W4K32S4系列芯片,上电后所有与死区控制专用PWM相关的IO口均为高阻态,需将这些口设置为-23-准双向口或强推挽模式方可正常使用,相关IO:P0.6/P0.7,P1.6/P1.7,P2.1/P2.2/P2.3/P2.7,P3.7,P4.2/P4.4/P4.5,其余IO口上电复位后都是200uA的弱上拉输出状态,可直接作输出口使用。表1-2I/O口工作模式PnM1[7~0]PnM0[7~0]I/O口工作模式00准双向口(标准8051单片机输出模式),灌电流可达20mA,拉电流典型值为200uA,由于制造误差,实际为150~270uA。01推挽输出,强上拉输出,可达20mA,外加限流电阻,尽量少用。10仅为输入(高阻)11开漏,内部上拉电阻断开,要外接上拉电阻才可以输出高电平。例如,若设置P1.7为开漏,P1.6为强推挽输出,P1.5为高阻输入,P1.4、P1.3、P1.2、P1.1和P1.0为弱上拉,则可使用下面的代码进行设置。P1M1=0xa0;//10100000BP1M0=0xc0;//11000000B为了所有IO口都方便直接使用,可将所有IO口都配置为准双向口,函数代码如下。voidport_mode()//端口模式{P0M1=0x00;P0M0=0x00;P1M1=0x00;P1M0=0x00;P2M1=0x00;P2M0=0x00;P3M1=0x00;P3M0=0x00;P4M1=0x00;P4M0=0x00;P5M1=0x00;P5M0=0x00;P6M1=0x00;P6M0=0x00;P7M1=0x00;P7M0=0x00;}在使用单片机I/O口作灌电流输入或拉电流输出时,由于内部无电流限制功能,外部电路设计上一定要限制进出I/O口的电流不要超过20mA,另外,虽然IAP15W4K58S4单片机所有I/O口驱动能力都能达到20mA,但整个芯片的最大工作电流不要超过120mA,电流较大时可使用74HC245、ULN2003或三极管进行驱动。1.2.3制作一个最简单的单片机实验电路这个实验电路很简单,但特别重要,即使你已经有了实验板,也建议你手工制作这个硬件电路,这样你才能体会到成功的喜悦,电路原理如图1-26所示。P0.2P0.3P0.4P0.5P0.7P0.1P0.0P0.6P1.0(ADC0)P1.2(ADC2)P1.3(ADC3)P1.4(ADC4)P1.6(ADC6)P1.5(ADC5)P1.7(ADC7)P1.1(ADC1)VCCP5.4P5.5GNDP2.6P2.5P2.4P2.3P2.1P2.7P4.5P2.2P2.0P4.2P4.1P3.7(T1)P3.5P3.6(T0)P3.4P4.4(INT0)P3.2(INT1)P3.3(TXD)P3.1(RXD)P3.012345678910111213141516171819202122232425262728293031323334353637383940IAP15W4K58S4LED1LED8R11KR81K0.1uF共8路+5VGNDVccC1-C2+C2-V-T1INT1OUTR1INR2INR1OUTT2INGndV+C1+T2OUTR2OUT12345678910111213141516(或MAX232)0.1uF0.1uF0.1uFGND0.1uFGND235单片机串口(母)GND+5VSP32320.1uF图1-26最简单的单片机实验电路电路图左边需要输入5V直流电源,电源电压允许范围3.0V-5.5V(单片机电压范围2.5V—5.5V,SP3232EEN电压范围3V—5.5V),单片机1至8脚接8路发光二极管用于观察单片机程序运行结果,如果没有5V直流-24-电源,也可按图1-27制作,或者用3只1.5V的干电池串联成近似的5V电源。D11N4007D31N4007D21N4007D41N4007C1470uF/50VC2470uF/50V123U1LM7805T19VS1常闭开关220V+5VGNDLM7805123输入GND输出图1-275V直流稳压电源检查电路制作无误后,将单片机串口母头插接到计算机9针串口公头上,RS232串口公头与母头实物如图图1-28所示,实物上的每一个引脚都是有编号的。图1-28计算机串口公接头与单片机串口母接头1.2.4使用KeilμVsion3环境编写最简单的程序1、安装Keil软件建议安装KeilC51V8.18,此版本功能齐全,使用稳定,如图1-29所示。图1-29KeilC51V8.18安装图标先在C盘新建一个文件夹并命名为“KEIL_818”,把安装程序路径修改为这个路径,安装过程非常简单,不需要输入系列号,在如图1-30所示界面的&ld
本文档为【51单片机轻松入门—基于STC15W4K系列】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
秦娜
本人自上班以来兢兢业业,尽心尽力为学生着想。曾获得优秀教师,县级模范教师等荣誉称号。
格式:pdf
大小:2MB
软件:PDF阅读器
页数:0
分类:建筑/施工
上传时间:2019-08-21
浏览量:3