单片机原理及应用(电子类相关专业)全套教学课件_第1页
单片机原理及应用(电子类相关专业)全套教学课件_第2页
单片机原理及应用(电子类相关专业)全套教学课件_第3页
单片机原理及应用(电子类相关专业)全套教学课件_第4页
单片机原理及应用(电子类相关专业)全套教学课件_第5页
已阅读5页,还剩861页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

——单片机入门篇单片机原理及应用全套可编辑PPT课件共13章,包括如何学习单片机,常用软件介绍,单片机基础知识介绍,指令系统,单片机汇编指令应用实例,中断、定时/计数器及串口的汇编语言编程,单片机C语言编程基础知识,I/O口的C语言编程,中断、定时/计数器及串口的C语言编程,AD/DA转换,LCD显示屏,总线,传感器如何学习单片机HowtoLearnMicrocontroller本章将主要介绍什么是单片机以及如何才能更好地学习单片机2目录1.2单片机有何用途1.1什么是单片机1.4怎么学习单片机1.3为什么要学习单片机如何学习单片机3单片机(SingleChipMicrocomputer,简称SCM)是一种集成电路芯片,是采用超大规模集成电路技术将具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。同时,单片机也被称为微控制器,因为它最早被用在工业控制领域。现在的单片机由芯片内仅有CPU的专用处理器发展而来。早期的单片机都是4位或8位,其中最成功的是Intel的8031,因为简单可靠而且性能不错获得了很多好评。此后,Intel公司又在8031基础上发展出了MCS-51系列单片机,基于这一系列单片机的系统直到现在还在广泛使用。1.1什么是单片机4随着工业控制领域要求的提高,16位单片机开始出现,但因其性价比不理想,当时并未得到广泛应用。90年代后期,单片机的性能得到了跨越式的发展。随着Inteli960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代了16位单片机成为市场主流产品。目前,高端32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器。大量专用的嵌入式操作系统被广泛应用在各系列的单片机上,掌上电脑和手机里的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。与此同时,单片机的价格也大幅下降,普通型号的单片机出厂价格跌至1美元,最高端的型号也只有10美元。单片机是世界上数量最多的微控制器。现在,几乎每件电子产品中都会有单片机系统。例如,手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都有单片机。个人电脑中也有为数不少的单片机在工作,汽车上一般配备40多个单片机,复杂的工业控制系统上甚至可能有数百个单片机。1.1什么是单片机5目录1.2单片机有何用途1.1什么是单片机1.4怎么学习单片机1.3为什么要学习单片机如何学习单片机61.2单片机有何用途7单片机经历了40多年的发展,其踪迹遍布各个领域。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机,以及程控玩具、电子宠物等,这些都离不开单片机;更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。工业控制:广泛应用于工业控制中的数据采集系统、通信系统、信号检测系统、无线感知系统、测控系统、机器人等,以及常见的工厂流水线的智能化管理系统、电梯智能化控制系统、各种报警系统等。智能仪器:广泛应用于仪器仪表中,例如电压表、功率计、示波器、各种分析仪等。单片机的使用使得仪器仪表实现了数字化和智能化,且功能比起采用单纯的数字电路更为强大。网络和通信:现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信。这为设备之间通信的实现和计算机网络的广泛使用提供了极好的物质条件。广泛应用于电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信,移动电话、集群移动通信、无线电对讲机等,及各种需要进行通信的设备中。家用电器:广泛应用于电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材,再到电子秤量设备等。8模块化系统:某些单片机系统用于实现特定功能,它们可以在各种电路中作为其中一个模块来使用。这种模块化的微小系统一般不要求使用人员了解其内部结构,而只需了解其输入输出信号及系统能够实现的功能即可。例如,音乐集成单片机可将音乐信号以数字的形式存于存储器中,工作时可由微控制器读出数据,然后转化为模拟音乐电信号。在大型电路中,这种模块化应用极大地缩小了设备的体积,简化了电路设计,降低了错误率,同时也便于更换。医用设备:广泛应用于医用呼吸机、各种分析仪、监护仪、超声诊断设备及病床呼叫系统等。汽车电子:广泛应用于汽车中的发动机控制器、基于CAN总线的汽车发动机智能电子控制器、GPS导航系统、ABS防抱死制动系统、胎压检测等。9目录1.2单片机有何用途1.1什么是单片机1.4怎么学习单片机1.3为什么要学习单片机如何学习单片机10(1)(2)(3)单片机应用领域非常广泛单片机技术是学习高端电子技术的基础学习单片机不仅有前途而且有钱途1.3为什么要学习单片机11(1)单片机应用领域非常广泛从农业电子产品到工业电子产品医用电子产品到军用电子产品民用电子产品到商用电子产品12单片机具有电路设计简单、成本低、性能稳定、经久耐用等优点,这些优点使其备受设计者的青睐。单片机的魅力还在于随着电子技术的飞速发展,芯片资源更加丰富,它们能够实现的功能越发强大,从而使外围电路更加简单,使用起来也更加方便。因此,学习单片机和应用单片机的群体越来越大。

单片机技术

嵌入式系统

DSP

FPGA(2)单片机技术是学习高端电子技术的基础13嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,因此适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。他一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。DSP即数字信号处理,是将信号以数字方式表示并进行相应处理的技术,是单片机技术的拓展和功能的增强,专门用于数字信号处理的超高速单片机。FPGA即现场可编程门阵列,和单片机有相同的外围资源,也有时钟电路、FLASH和RAM,配置文件相当于单片机的程序,硬件描述语言Verilog和C语言是一样的。找到称心如意的工作自主创业研发智能电子产品挺进电子技术更高端的领域前途钱途(3)学习单片机不仅有前途而且有钱途14目录1.2单片机有何用途1.1什么是单片机1.4怎么学习单片机1.3为什么要学习单片机如何学习单片机151.4.1基础理论1.4.2实验实践1.4.3硬件设计1.4怎么学习单片机16基础理论电路模拟电路数字电路语言汇编语言C语言1.4.1基础理论17181.4.1基础理论模拟电路是电子技术最基础的学科,它让你知道什么是电阻、电容、电感、二极管、三极管、场效应管、放大器等等以及它们的工作原理和在电路中的作用,这是学习电子技术必须掌握的基础知识。扎实的模拟电路基础不仅让你容易看懂别人设计的电路,而且让你的设计的电路更可靠。模拟电路单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就容易理解。如果觉得单片机很难,那就应该先放下单片机教材,去重温数字电路,搞清楚触发器、寄存器、门电路、COMS电路、时序逻辑和时序图、进制转换等理论知识。数字电路191.4.1基础理论汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。汇编语言的学习可以对深刻理解和熟练运用单片机有重要的帮助。汇编语言C语言知识并不难,没有任何编程基础的人都可以学。C语言重点需要掌握的知识就3个条件判断语句、3个循环语句、3个跳转语句和1个开关语句。学习时要一条语句一条语句的学,学一条活用一条,全部学过用过这些关键语句后,相信你的C基础建立了。C语言实验实践刻苦学习的决心一套完整的学习开发工具理论和实践相结合201.4.2实验实践刻苦学习的决心刻苦学习的决心1.明确学习目的2.端正学习心态3.要多动脑勤动手4.虚心交流21完整的学习开发工具一台电脑一块单片机开发板一套视频教程一本单片机教材一本C语言教材理论和实践相结合编程思路和算法决定一个程序的优劣,只有在实际动手编写的时候才会有深切地感悟。1.4.2实验实践编程思路和算法决定一个程序的优劣,只有在实际动手编写的时候才会有深切地感悟。构思看到例程题目先试着构思自己的编程思路研究看教材或视频教程里的代码,研究人家的编程思路,注意与自己思路的差异动手照搬人家的思路亲自动手编写这个程序,领会其中每一条语句的作用修改对有疑问的地方试着按照自己的思路修改程序,比较程序运行效果,领会其中的奥妙学习编写程序过程221.4.2实验实践231.4.3硬件设计设计需求分析原理图设计工艺文件处理PCB设计设计者经过深入细致的调研和分析,准确理解项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须达成什么功能。是硬件电路设计的核心,合适的器件选型、必要的计算分析以及参数搭配、仿真工具的运用与验证等是其常用工作流程,最终通过绘制原理图将这些技术用图形化语言表达出来。以电路原理图为依据实现硬件电路的功能。设计过程包括制作物理边框、引入元器件和网络、元器件布局、电路板布线等步骤。通常设计者可以使用Protel软件或AltiumDesigner软件来完成PCB设计。布线完成后,需要对个别元器件、布线、文字的位置和大小等进行调整完善,以便进行生产、调试和维修。最后进行覆铜,完成印制板的制造。数据手册谢谢观看2627使用单片机作为开发平台,具体的开发流程如下:(1)在Keil软件中使用汇编语言或C语言编写程序。(2)程序编译通过后,生成目标文件(HEX文件)。(3)使用串口线或USB转串口线连接单片机硬件电路和计算机,连接完成后,安装相应的驱动程序。(4)使用下载软件将目标文件写入单片机中。(5)运行程序。若运行结果未能达到预期目标,可以通过人工检查、仿真软件Protues、串口调试等方法逐一排查错误并修改程序,然后再重新编译、下载和运行。重复该过程直至单片机上的程序能够完成既定的功能。282.1.1Keil环境简介2.1.2串行口的设置与驱动程序安装2.1.3STC程序下载软件29①访问/,下载KeilμVision4软件(Keil3或Keil5均可)进行安装,安装后桌面出现Keil图标。301.启动Keil②为了能够在创建工程时选用STC系列芯片,我们需要先对STC程序下载软件进行配置,以便将该系列芯片添加到Keil中。配置过程如下:在STC提供的下载工具中选择“Keil仿真设置”选项卡,单击按钮(见图2-1),打开“浏览文件夹”对话框。。图2-1添加STC仿真器驱动图2-2“浏览文件夹”对话框③选择Keil的安装目录“C:\Keil”,单击“确定”按钮(见图2-2),即可将STC系列芯片添加到Keil工程中。31④双击桌面上的Keil图标,打开工作界面,如图2-3所示。窗口的顶部为主菜单栏。图2-3Keil工程界面1.启动Keil⑤Keil菜单简介File为文件菜单Edit为编辑菜单View菜单为视图菜单,主要为状态栏,工具栏、工程窗口、存储输出窗口Project为工程栏,具有创建工程、打开工程等功能Flash栏主要包含Flash的下载、擦除、配置等功能Debug为调试栏,主要包含断点设置、单步运行、全速运行等功能Peripherals主要在仿真调试时使用,用于观察输出口及中断、串行口数据传输时相关寄存器的数值Tools为工具栏SVCS主要为Keil的版本信息Window主要为窗口栏Help为帮助菜单栏,提供关于Keil的用法信息321.启动Keil①单击“Project→NewProject”选项,在弹出的对话框中选择工程保持路径及工程名,如图2-4所示。图2-4创建一个Keil工程图2-5

选择单片机型号为STCMCU332.创建Keil工程②然后单击“保存”按钮后出现如图2-5所示对话框,单击其中的下拉菜单按钮,选择“STCMCUDatabase”选项。③打开“SelectDeviceforTarget‘Target1’…”对话框,在对话框左侧的列表中选择STC89C52RC芯片,单击“OK”按钮,如图2-6所示。34图2-6

芯片选择窗口图2-7

是否拷贝启动代码到工程选择窗口④打开“μVision”对话框,该对话框用于选择是否将启动代码拷贝到工程中。一般情况下,采用汇编语言编程时选择“否”,采用C语言编程时选择“是”。此处单击“否(N)”按钮,完成Keil工程的创建,如图2-7所示。2.创建Keil工程图2-8

文件保存窗口①选择“File”→“New…”菜单,创建文件,然后单击工具栏中的“保存”按钮打开“SaveAs”对话框,在“文件名”编辑框中输入“第一个单片机例子.asm”,单击“保存”按钮,如图2-8所示。353.创建文件此过程是为了将空白文件保存为指定的汇编格式文件,以便将其添加到工程中。②右击“Project”工程栏中的“SourceGroup”文件夹,在弹出的快捷菜单中选择“AddFilestoGroup‘SourceGroup1’”选项(见图2-9),打开“AddFilestoGroup‘SourceGroup1’”对话框,在“文件类型”下拉列表中选择“AsmSourcefile(*.s*;*.src;*.a*)”选项,在“名称”列表中选择“第一个单片机例子.asm”文件,单击“Add”按钮,即可将汇编文件添加至工程中,如图2-10所示。36图2-9

添加文件到工程栏窗口图2-10

选择添加的文件3.创建文件①双击工程下的“第一个单片机例子.asm”文件,打开程序编辑界面(见图2-11),在代码编辑区输入程序代码。图2-11

输入程序代码374.设置工程代码编辑区②程序编辑完成后,先保存文件,然后右击“Project”工程导航栏中的“Target1”文件夹图标,在弹出的快捷菜单中选择“OptionforTarget‘Target1’...”选项(见图2-12)。图2-12工程设置菜单384.设置工程图2-13Target选项卡③此时打开“OptionforTarget‘Target1’”对话框,选择“Target”选项卡,在“Xtal”编辑框内输入开发板的晶振频率12.0(此处假定使用的单片机开发板晶振频率为12MHz),如图2-13所示。④切换到“Output”选项卡,选中“CreatHEXFile”复选框,单击“OK”按钮(见图2-14)返回Keil工程界面。图2-14Output选项卡394.设置工程图2-15编译信息输出窗口⑤单击Keil快捷工具栏中的第3个按钮,即Rebuild按钮(或选择“Project”→“Rebuildalltargetfiles”菜单)编译程序,编译通过后的输出信息如图2-15所示。此时已经创建了一个名为“第一个单片机例子.hex”的HEX文件。。选择“Debug”→“Start/StopDebugSession”菜单(见图2-16)进入调试模式,如图2-17所示。405.调试运行图2-16调试命令菜单图2-17如下页所示。界面上方左侧的调试工具栏图标(这些调试命令在Debug菜单中)是程序调试时非常有用的工具,具体见下页图。调试工具栏中的图标依次表示设置断点、使断点生效或失效、关闭所有断点及清除所有断点。界面左侧的树状列表显示了若干寄存器及其状态值,例如,寄存器r0~r7,a,b,sp,pc,auxr,dptr,以及psw等。此外,还可以通过此处的sec寄存器观察到运行时间(单位为秒)。复位全速运行停止单步运行不进入函数内部运行从函数内部跳出运行到415.调试运行⑦图2-17调试界面若想观察程序运行过程中存储单元的数据情况,可以选择“View”→“MemoryWindow”→“Memory1”菜单,此时在工作界面下方会显示出程序存储器观察窗口,如图2-18所示。图2-18

程序存储器观察窗口图2-19观察内部数据存储器中内容图2-20观察外部数据存储器中内容426.存储器观察不同类型的存储器单元需要使用不同的大写字母加以区分。观察程序存储器内容,可以在Address后的编辑框中输入“C:”,冒号后紧跟地址单元。例如,输入“C:0000H”,如图2-18所示。观察内部数据存储器内容,可以在Address后的编辑框中输入“D:”,冒号后紧跟地址单元。例如,输入“D:90H”,如图2-19所示。观察外部数据存储器内容,可以在Address后的编辑框中输入“X:”,冒号后紧跟地址单元。例如,输入“X:0x1fff”,如图2-20所示。程序运行期间,通过选择Peripherals菜单中的相关菜单项(见图2-21),可以实时查看I/O口、串口、中断和定时器等信息。

例如,要观察P1口的状态,可以选择“Peripherals”→“I/O-Ports”→“Port1”菜单,此时系统将打开“ParallelPort1”对话框,其中显示了P1口各个引脚的值,如图2-22所示。图2-21

Peripherals菜单437.输入输出窗口观察图2-22显示P1口数值情况

如要将程序下载到单片机中,通常采用串行口,在早期的电脑主板上有串行口,可以直接与开发板相连进行下载,但是现在大部分编程人员采用的笔记本电脑都没有串行口,要解决用串口下载程序到单片机的问题,通常可以选择USB转串行口线,该下载线内部集成了USB与串行口数据转换芯片,如图2-23所示。USB转串口线属于一种硬件设备,需要安装好驱动程序才能正常工作,目前这类设备的商家大多会在线发送驱动文件给用户,用户可以直接点击“下一步”即可完成安装,用户也可以通过“鲁大师”或“驱动精灵”检测硬件更新情况,然后选择列表中对应的驱动,一般该类设备的驱动会出现“Usb-Serial”字样,直接选择“安装”即可。图2-23

USB转串口线44

在进行单片机程序下载过程中,经常会出现下载软件的串口与电脑设备管理器中的串口不一致的情况,从而导致程序无法下载进去,此时,用户可以通过以下步骤进行设置(以电脑操作系统是Win7旗舰版为例):右击桌面上“我的电脑”图标,在弹出的快捷菜单中选择“属性”选项,进入控制面板主页界面,如图2-24所示(下图)。执行“设备管理器”命令,进入设备管理器界面。单击界面中“端口”左侧的三角形,展开端口列表,如图2-25所示(下图)。查看含有“USB-SERIAL××(COM××)”字样的端口,确定电脑当前所使用的串口号。例如,图2-25中显示当前串口是COM4。查看(3)中的串口号与STC下载软件中的串口号(见图2-26)是否一致。如果二者一致,即可正确下载程序到单片机上;如不一致则返回(3),并完成电脑串口的更改。操作如下:将鼠标放置在当前“USB-SERIAL××(COM××)”上,右击打开“属性”对话框,单击“端口设置”页中的“高级”按钮,在“COM端口号”下拉列表中选择合适的端口,使其与STC下载软件中的串口号保持一致。。45生成HEX文件并设置好串口之后,就可以将程序下载到STC单片机中了。访问/,下载STC-ISP软件。打开该软件时,软件会自动将驱动文件复制到相关的系统目录中,其界面如图2-26所示。图2-26

STC程序下载软件界面46该软件的操作步骤如下:①选择单片机型号。在“单片机型号”的下拉列表中选择STC89C52RC/LE52RC芯片。②选择串口。若已经连接好USB转串口线,单击“扫描”按钮会自动出现已连接的串口。如未出现,则需要更改串口号(更改方法见2.1.2节),再重新扫描即可。

③单击“打开程序文件”按钮,选择要加载的HEX文件。

④单击左下方的“下载/编程”按钮(在单击该按钮之前确保单片机未上电,因为该启动方式属于冷启动),等待一段时间。

⑤给单片机上电,此时,在窗口的右下方出现下载进度条,下载完成后,即可在单片机上运行程序了。47482.2.1Protues电路仿真软件简介2.2.2Protues创建实例49Proteus软件是英国LabCenterElectronics公司出版的EDA工具软件。

Proteus是将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。

它可以完成原理图布图、代码调试及单片机与外围电路的协同仿真,还可以一键切换到PCB设计,真正实现从概念到产品的完整设计。50该软件的处理器模型支持8051,HC11,PIC10/12/16/18/24/30/DsPIC33,AVR,ARM,8086和MSP430等处理器,2010年又增加了Cortex和DSP系列处理器。随着芯片的不断发展,它也在不断增加其他系列的处理器模型。在编译方面,它支持IAR、Keil和MPLAB等多种编译器。Protues软件的最新版本可以从/网站下载,下面以单片机控制流水灯为例说明Protues8的使用方法。51安装Protues8软件后,双击图标打开软件,初始界面如图2-27所示。图2-27

Protues8启动界面File为该软件的相应操作栏,与大多数软件功能类似System为该软件的相应设置Help为该软件相应的帮助栏52

第一步:选择“File”→“NewProject”菜单,打开“NewProjectWizards:Start”对话框,在“Name”编辑框输入工程名“单片机流水灯仿真实例.pdsprj”;在“Path”编辑框输入工程的保存路径(也可以通过“Browse”按钮选择保存路径),这里路径设定为桌面上名为“Protues单片机流水灯仿真实例”的空文件夹;工程类型设置区选择“NewProject”单选钮,单击“Next”按钮,如图2-28所示。图2-28创建工程窗口——工程命名与路径保存53

第二步:打开“NewProjectWizards:SchematicDesign”对话框,选择“Createaschematic

fromtheselectedtemplate”单选钮,在“DesignTemplate”列表中选择“DEFAULT”选项,它表示创建一个默认的原理图模板,然后单击“Next”按钮,如图2-29所示。图2-29原理图模板选择窗口54

第三步:打开“NewProjectWizards:PCBLayout”对话框,选择是否创建一个PCB

设计图。本例只需创建一个单片机的仿真原理图,不需要创建PCB,故选择“DonotcreateaPCBlayout”单选钮。单击“Next”按钮,如图2-30所示。图2-30PCB模板选择窗口55

第四步:打开“NewProjectWizards:Firmware”对话框,选择“CreateFirmwareProject”

单选钮,表示创建一个单片机工程。在“Family”下拉列表中选择单片机类型为“8051”;在“Contoller”下拉列表中选择单片机子类为“80C51”;在“Compiler”下拉列表中选择编译软件为“Keilfor8051(notconfigured)”,单击“Next”按钮,如图2-31所示。图2-31选择是否创建一个单片机工程56

第五步:打开下一个对话框后,单击“Finish”按钮进入原理图绘制界面,单击左侧导航栏中的“P”按钮,如图2-32所示。图2-32

Protues单片机原理图绘制界面57仿真运行按钮

第六步:打开“PickDevices”对话框,在“Keywords”编辑框中输入关键词“LED”,对话框中部将出现关于LED的搜索结果,选择“LED-RED”选项,右侧上方即可出现该器件的预览图,单击“OK”按钮,如图2-33所示。图2-33选择元器件对话框58

第七步:使用步骤6中同样的方法在Keywords编辑框中分别输入关键词“CRYSTAL”“CAP”“RES”,选择相应的晶振、电容和电阻。添加完元器件后,修改各元器件参数,并按图连接各元器件,如图2-34所示。图2-34基于单片机的LED流水灯原理图59

第八步:双击原理图中的80C51芯片,打开“EditComponent”对话框。单击“ProgramFile”右侧的文件夹按钮,选择需要导入的HEX文件(此处借助本章2.1.1节生成的HEX文件进行导入),单击“OK”按钮,如图2-35所示。图2-35导入HEX文件60

第九步:返回原理图界面,单击仿真运行按钮(见图2-32),即可进行单片机控制流水灯的仿真,仿真效果如图2-36所示。图2-36流水灯从上到下依次点亮的仿真界面61进入仿真状态后,我们可以看到,D1~D8流水灯元器件中会交替出现亮、灭两种显示效果。622.3.1串口调试助手2.3.2单片机编程小精灵2.3.3数码管代码生成工具2.3.4点阵数据生成工具2.3.5液晶汉字模提取软件LcmLimo2.3.6简谱谱写工具MusicEncode63在单片机的编程和调试过程中,串口的使用比较频繁。读者可以使用STC下载软件自带的调试功能查看串口数据,也可以使用串口调试助手进行查看,如图2-37所示。

该软件可设置串口、比特率、校验位、数据位及停止位,同时具有自动发送和十六进制发送功能。单击“保存显示数据”按钮还可以保存串口接收到的数据。它是通信测试中的有力工具。图2-37

串口调试助手64单片机技术已经比较成熟,某些简单功能的编写可以使用现成的代码,如延时函数的编写、定时器/计数器的设定、串口比特率和中断/控制字的设置等。有不少单片机编程工具已经集成了上述功能,只要填上对应的参数就可以自动生成相应的程序。这里介绍一款可以实现此功能的软件——单片机编程小精灵,其界面如图2-38所示。以生成延时子函数为例,在软件中填写单片机的晶振和延时时间,选择需要生成的代码类型,单击“计算”按钮即可生成延时子函数代码。图2-38

单片机编程小精灵界面65单片机的显示器件中,数码管的使用也是十分常见的。目前,已经有不少自动生成数码管启动代码的工具,LED段码数据生成软件就是其中的一款,其界面如图2-39所示。在这类软件中,可以选择数码管的类型(共阴极或者共阳极)和生成的代码类型,单击“自动”按钮即可生成相应的启动代码,复制到程序中就可以直接使用,非常方便。图2-39

LED段码数据生成软件界面66点阵也是常用的屏幕显示工具。字模提取软件可以按照“文字输入区”中输入的汉字和字符生成图像及点阵代码,还可以模拟动画等,其界面如图2-40所示。图2-40

点阵代码生成工具界面67液晶字模提取软件能够将输入的汉字或字符(见图2-41)生成相应的代码(见图2-42),使用LCD1602或LCD12864液晶屏幕可以将这些代码再转换成汉字显示出来。图2-41液晶汉字模提取软件LcmZimo参数设置与数据输入界面图2-42

液晶汉字模提取软件LcmZimo代码生成界面68利用单片机可以制作电子音乐播放器,选择一款比较好的谱曲工具关系到编程的效率。MusicEncode工具在谱曲转换方面有独到之处。例如,将乐曲“小苹果”的开头曲谱写成C语言代码(见图2-43),对照乐谱,从右侧选择相应的音符,左上方就会出现对应的乐谱符号,单击“开始转换”按钮,即可将音符转换成C语言数组。图2-43

MusicEncode谱曲工具697273在单片机出现之前,电脑的功能部件(如CPU、内存、I/O接口等)大都安装在一块主板上,通常将这样的主板称为单板机。

随着工业应用的不断深入,要求在一块芯片上集成上述多种功能,于是,单片机应运而生了。单板机与单片机的主要结构如图3-1所示。

单片机是指在一块芯片内部集成了中央处理器、存储器、定时/计数器和I/O接口电路等计算机中的主要功能部件的微型计算机,也称为微控制器。单片机具有功能强大、价格低廉、抗干扰能力强等优点,在单片机的外围配置合适的器件就可以组成各具特色的应用系统。因此,它被广泛应用于工业、农业、国防、科研及日常生活当中。图3-1单板机与单片机(a)单板机(b)单片机743.1.1单片机的发展历程3.1.2单片机的发展趋势75第一个单片机出现在1974年,它是由美国的FairChild公司研制出来的。单片机的发展经历了4位机、8位机、16位机和32位机几个阶段。76①第一代单片机(1974—1976年):该时期为单片机的起步阶段。此时的单片机主要为4位机,典型的代表产品是Intel公司的4位单片机4004,主要应用于家用电器领域。77②

第二代单片机(1976—1978年):该时期为单片机的发展阶段。这个时期生产的单片机主要为中低档的8位单片机,片内集成了CPU、I/O接口电路、定时器和ROM程序存储器等,这一阶段的8位机存储容量小、性能低,目前已经很少使用。当时的主流产品是MCS-48系列单片机。78③

第三代单片机(1979—1982年):这一代单片机的存储容量和寻址范围都有较大的提升,片内不仅增加了中断源、并行I/O口和定时/计数器,还集成了全双工串行通信接口电路。当时的主流型号为MCS-51系列单片机。79④

第四代单片机(1982—1990年):这是16位单片机和8位高性能单片机并行发展的时代。16位单片机的功能比8位单片机功能更加强大,该时期的主流型号为MCS-96系列单片机。我国对单片机的研究主要从第四代单片机开始。全国首届单片机开发与应用交流会于1986年在上海召开,单片机在其后的短短五年时间里发展极为迅速,那是关于单片机的第一次研究高潮。80⑤

第五代单片机(1990年至今):微控制器的全面发展阶段。随着单片机在各个领域全面而深入的应用,这个时期出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,如32位的ARM系列处理器和用于智能电子玩具的小型廉价单片机等。81在要求单片机性能提高的同时,人们还要求单片机的功耗越来越低。MCS-51系列的8031单片机在推出时功耗高达630mW,而现在的单片机功耗普遍都在100mW左右。现在的单片机制造商基本都采用了CMOS工艺(互补金属氧化物半导体工艺)。例如,80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS工艺(互补高密度金属氧化物半导体工艺)以降低功耗。CHMOS同时具备了高速和低功耗的特点,这些特征使其更适合电池供电的低功耗应用场合。所以,这种工艺将是今后一段时期内单片机工艺发展的主要方向。1.低功耗化82常规的单片机都是将中央处理器(CPU)、随机存取数据存储器(RAM)、只读程序存储器(ROM)、并行和串行通信接口、中断系统、定时电路、时钟电路等功能集成在一块芯片上。增强型的单片机还集成了如A/D转换器、PWM(脉宽调制电路)、WDT(看门狗)等功能,单片机厂商甚至可以根据用户的要求量身定做单片机。例如,有些单片机将LCD(液晶)驱动电路集成在芯片上。越来越多的功能集成在一块芯片上使单片机具有强大的扩展和控制能力。现在的产品普遍要求体积小、重量轻、功能强,这就要求单片机除了功能强、功耗低以外,还要求其体积要小。当前单片机的SMD封装(见图3-2)越来越受欢迎,它同时满足了功能强、体积小的要求,使得单片机构成的系统正朝微型化方向发展。2.微型单片化83图3-2微型化的ARM芯片目前的单片机虽然品种繁多,但以8051为核心的单片机仍占市场主导地位,兼容其结构和指令系统的有PHILIPS公司生产的单片机、ATMEL公司的单片机以及中国台湾的Winbond系列单片机。MICROCHIP公司的PIC单片机也有着强劲的发展势头。中国台湾的HOLTEK公司近年的单片机产量与日俱增,它凭借价低质优的特点占据了一定的市场份额。此外,还有MOTOROLA公司、日本几家大公司生产的单片机都活跃在单片机市场上。在一定时期内,这种多产品共存的情形将继续保持。单片机的发展走的是依存互补、共同发展的道路,不存在某个单片机一统天下的垄断局面。3.主流产品与多品种共存84853.2.1典型产品简介3.2.2STC单片机86单片机与通用计算机的发展不同,通用计算机追求的是多功能化,而单片机追求的是专用性,量体裁衣地满足应用需求才是单片机发展的目的。因此,市场上各类单片机可以在不同的应用场合大展身手。87

STC系列单片机是由深圳宏晶科技公司研发的。该系列单片机完全兼容MCS-51单片机,其主流型号包括STC89系列、STC90系列、STC12系列、STC60系列、STC11系列、IAP12系列,以及STC15系列单片机等。在这些系列中,有些单片机内部集成了常用功能模块(如定时器、串行口、中断、I/O口等),还有些单片机集成了ADC、PCA/PWM/CCP/DAC、SPI、看门狗、内部复位、掉电唤醒专用定时器等功能模块。STC系列单片机在工业测控领域有大量的应用,它是开发人员必须掌握的一款单片机。1.STC系列单片机88

MICROCHIP是全球领先的单片机和模拟半导体供应商,它于2016年收购了ATMEL(该公司生产的主流单片机是AT89C51)。其主要产品是16C系列8位单片机,该系列单片机的CPU采用RISC(精简指令集)结构,仅33条指令,运行速度快,且以低价位著称,一般单片机价格都在一美元以下。该公司生产的PIC单片机的突出特点是体积小、功耗低、可靠性高以及抗干扰性能好,且大部分芯片都有其兼容的FLASH程序存储器。2.MICROCHIP公司单片机89PHILIPS公司的单片机是基于8051内核的单片机,其内部嵌入了掉电检测、片内RC振荡器等功能,这使51LPC系列单片机在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求。2006年末,从飞利浦公司独立出来的半导体公司NXP(恩智浦),目前主要提供各种半导体产品与软件,其生产的32位单片机为移动通信、消费类电子、非接触式付费与连线以及车内娱乐等产品带来了更优质的感知体验。3.

PHLIPIS51LPC系列单片机90德州仪器提供了TMS370和MSP430两大系列通用单片机。TMS370系列单片机是8位CMOS单片机,具有多种存储模式和多种外围接口,适用于复杂的实时控制场合。MSP430系列单片机是一种超低功耗、功能集成度较高的16位单片机,它又被称为混合信号处理器。它将多个不同功能的模拟电路、数字电路和微处理器集成在一个芯片上,以提供满足实际应用需求的单片机解决方案。该系列单片机多用于低功耗场合,如需要电池供电的便携式仪器仪表等。4.

TI公司单片机91凌阳单片机主要用于需要处理大量数字信号的场合。凌阳单片机的种类比较多,按照CPU的类型和数据总线的位数基本可以分为8位机和16位机系列。8位机主要用于高级电子玩具、各种档次的电子琴、玩具、计算器、语音识别数据库系统、游戏机、嵌入式计算机系统等。凌阳16位单片机的CPU内核是凌阳推出的µ’nSPTM16位微处理器芯片,它是构成SPCE系列单片机的基础。SPCE系列单片机的数据总线被增至16位,大大提高了数据的访问速度,除此之外,它还被赋予了数字信号处理(DSP)功能。5.凌阳单片机92飞思卡尔半导体(FreescaleSemiconductor)是全球领先的半导体公司,飞思卡尔的产品主要面向汽车、网络、工业和消费电子市场,它的主要应用包括汽车安全、混合动力和全电动汽车、下一代无线基础设施、智能能源管理、便携式医疗器件、消费电子、工业、医疗保健等。其产品范围包括8位微控制器、16位微控制器、32位ARMCortex-M架构微控制器Kinetis系列、ARMCortex-A架构i.MX系列处理器、PowerArchitecture™/PowerQUICC™、高性能网络处理器、高性能多媒体处理器、高性能工业控制处理器、CodeWarrior™开发工具、数字信号处理器与控制器、电源管理、RF射频功率放大器、高性能线性功率放大器GPA、音视频家电射频多媒体处理器、传感器等。6.飞思卡尔单片机93

RENESAS是2003年4月1日由日立制作所半导体部门和三菱电机半导体部门合并成立的。它是制造嵌入式半导体的全球领先供应商,也是世界第六大半导体制造商。RENESAS结合了日立与三菱在半导体方面的先进技术和丰富经验,其产品遍布无线网络、汽车、消费与工业市场设计等领域。7.瑞萨单片机94飞思卡尔公司协办了全国大学生“飞思卡尔”杯智能汽车竞赛。该竞赛得到了教育部相关领导、飞思卡尔公司领导及各高校师生的高度认可。目前,它已发展成全国30个省市自治区、近300所高校广泛参与的全国大学生智能汽车竞赛。2008年,该竞赛被教育部列为国家教学质量与教学改革工程资助项目中的科技人文竞赛之一。三星电子于1992年8月在中国惠州投资建立了三星电子有限公司(SEHZ)。此后,三星电子不断加大在中国的投资与合作,截止到2017年底,在华累计投资额已达312亿美元,成为对中国投资最大的韩国企业。目前,三星公司生产的32位ARM微处理器主流产品型号有S3C2410、S3C2440等。8.三星公司单片机

ST公司旗下的微控制器从8位到32位都有。8位的STM8系列单片机和32位的STM32ARMCortexM微控制器均具有强大的功能,它们通常用于LCD控制器、马达控制定时器、防篡改保护、嵌入式EEPROM、DMA矩阵和针对电池供电的低功耗模式等场合。9.ST公司单片机95STC系列单片机的典型型号为STC89系列单片机。以STC89C52RC单片机为例,它内部自带8K程序存储器和512字节数据存储器,同时集成了4KB的EEPROM;芯片内部还包含3个定时器、1个异步串行口、4个并行I/O口、1个看门狗定时器、4路外部中断和一个专用复位电路模块,其内部结构如图3-3所示。96图3-3STC单片机内部结构97

(1)工作频率范围为0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。(2)通用I/O口有32个。复位后,P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,用作扩展的总线时不用加上拉电阻,用作I/O口时需加上拉电阻。(3)具有ISP(在系统可编程)/IAP(在应用可编程)的特性,无须专用编程器和仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,数秒即可完成。1.

STC89C52RC单片机的主要特点98正常工作模式:典型功耗为4mA~7mA。空闲模式:典型功耗为2mA。掉电模式:典型功耗<0.1μA。该模式使单片机适用于水表、气表等电池供电系统及便携式设备。2.

STC89C52RC单片机的功耗99STC89系列单片机命名规则如图3-4(下页图)所示。例如,STC89C52RC40I-PDIP40单片机表示的含义是:该芯片是基于8051内核的,其指令周期为12个时钟周期或6个时钟周期;工作电压为3.8V~5.5V;程序存储空间为8K字节,RAM大小为512字节;外部晶振最高可接入40MHz,芯片使用温度范围为−40℃~+85℃,封装为双列直插式。3.

STC89系列单片机命名规则100图3-4STC公司单片机各字段含义101STC89××RC/RD+系列单片机内部包含了若干功能模块,CPU是如何驱动这些模块正常工作的呢?单片机在存储空间开辟了一些独立的存储单元,这些被称为特殊功能寄存的独立存储单元可以完成对各功能模块的设置、监测及控制,CPU就是通过特殊功能寄存器来完成各种复杂场合下的精准操作。特殊功能寄存器(SFR)位于单片机片内数据存储区的高128字节(80H~FFH单元)区域,各寄存器地址及含义如表3-1(下页)所示。4.

STC89××RC/RD+系列单片机的特殊功能寄存器102表3-1特殊功能寄存器地址及各位情况寄存器

符号地址寄存器名称76543210复位值P080H8位P0口P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.01111,1111SP81H堆栈指针0000,0111DPL82H数据指针低位0000,0000DPH83H数据指针高位0000,0000PCON87H电源控制器SMODSMOD0-P0FGF1GF0PDIDL00x1,0000TCON88H定时/计数器T0和T1控制器TF1TR1TF0TR0IE1IT1IE0IT00000,0000TMOD89H定时/计数器工作模式寄存器GATEC/T#M1M0GATEC/T#M1M00000,0000TL08AH定时/计数器0低字节0000,0000TL18BH定时/计数器1

低字节0000,0000103表3-1特殊功能寄存器地址及各位情况(续)寄存器

符号地址寄存器名称76543210复位值TH08CH定时/计数器0高字节0000,0000TH18DH定时/计数器1

高字节0000,0000AUXR8EH辅助寄存器0------EXTRAMALE0FFxxxx,xx00P190H8位P1口P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.01111,1111SCON98H串行口控制器SM0SM1SM2RENTB8RB8TIRI0000,0000SBUF99H串行口

数据缓冲器xxxx,xxxxP2A0H8位P2口P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.01111,1111AUXR1A2H辅助寄存器1----GF2--DPSxxxx,0xx0IEA8H中断使能EA-ET2ESET1EX1ET0EX00000,0000SADDRA9H从地址0000,0000P3B0H8位P3口P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.01111,1111104表3-1特殊功能寄存器地址及各位情况(续)寄存器

符号地址寄存器名称76543210复位值IPHB7H中断优先级

高位PX3HPX2HPT2HPSHPT1HPX1HPT0HPX0H0000,0000IPB8H中断优先级

低位--PT2PSPT1PX1PT0PX0xx00,0000SADENB9H从地址0000,0000X1CONC0HAUXL中断

控制器PX3EX3IE3IT3PX2EX2IE2IT20000,0000T2CONC8H定时/计数器T2控制器TF2EXF2RCLKTCLKEXEN2TR2C/T2#CP/RL2#0000,0000T2MODC9H定时/计数器2

模式------T20EDCENxxxx,xx00RCAP2LCAH定时/计数器2

重装/捕获低位0000,0000RCAP2HCBH定时/计数器2

重装/捕获高位0000,0000105表3-1特殊功能寄存器地址及各位情况(续)寄存器

符号地址寄存器名称76543210复位值TL2CCH定时/计数器2

低位0000,0000TH2CDH定时/计数器2

低位0000,0000PSWD0H程序状态字

寄存器CYACF0RS1RS0OVF1P0000,0000ACCE0H累加器0000,0000WDT_

CONTRE1H看门狗定时--EN_WDTCLR_WDTIDLE_WDTPS2PS1PS0xx00,0000P4E8H4位P4口----P4.3P4.2P4.1P4.0xxxx,1111BF0HB寄存器0000,00001063.3.1进位计数制及其各进制之间的转换3.3.2二进制运算3.3.3带符号数的表示方法107进位计数制是按进位原则进行计数的方法。(1)十进制①有10个不同的数字符号(0,1,2,3,4,5,6,7,8,9)②低位向高位进位的规律是“逢十进一”。如:879=800+70+9=8×102+7×101+9×100其中:上式中的10称为十进制的基数,102、101、100称为各数位的权。(2)二进制①二进制数有2个不同的数码:0,1。②二进制数逢二进一。(1101.1011)2=1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3+1×2-4其中:2称为二进制的基数,23、22、21、20、2-1、2-2、2-3、2-4称为各数位的权。1081.进位计数制进位计数制是按进位原则进行计数的方法。(3)八进制①8进制数有8个不同的数码:(0,1,2,3,4,5,6,7)②8进制数逢八进一。(678)8=6×82+7×81+8×80其中:8称为八进制的基数,82,81,80称为各数位的权。(4)十六进制数①16进制数有16个不同的数码:(0,1,2,3,…,7,8,9,A,B,C,D,E,F)②16进制数逢16进一。(2AB.1C)16=2×162+A×161+B×160+1×16-1+C×16-2其中:16称为16进制的基数,162,161,160,16-1,16-2。109(1)十进制数转换为二进制十进制是人们比较习惯的计数方式,十进制整数转换成二进制数采用的是“除2取余”法。

例如,将整数79转换成二进制数,转换过程是先将数字79除以2,得出余数1,用得到的商再除以2,得出余数1,然后再用商继续除以2……直至商为0;这时,将得到的余数按逆序排列,即可得出79的二进制序列(1001111)2,如图3-5所示。

十进制小数的转换方法这里不再详细描述,请读者自行查阅相关资料。1102.各进制之间的转换图3-5十进制转二进制(2)二进制转换为十进制

方法是:将二进制各数位的数值乘以对应的权,得到的结果就是对应的十进制数。例如:(110.01)2=1×22+1×21+0×20+0×2−1+1×2−2=6.25(3)二进制转换为十六进制由于二进制数中的0000~1111正好对应到十六进制数中的各个位,所以其转化方法是将二进制数以小数点分隔,每4位划分为一组,不足4位的部分向前或向后补0,然后将划分好的4位二进制数转换成对应的十六进制数。例如:(1101110.101)2=(01101110.1010)2=(6E.A)16111112十进制、二进制和十六进制之间的对应关系如表3-2所示。表3-2各进制之间的对应关系十进制数4位二进制数十六进制数十进制数4位二进制数十六进制数000000810008100011910019200102101010A300113111011B401004121100C501015131101D601106141110E701117151111F(1)二进制加法运算根据“逢二进一”的原则,二进制加法法则为:0+0=0,0+1=1,1+0=1,1+1=10(为2时向高位进一位)(2)二进制数减法运算根据“借一当二”的原则,二进制减法法则为:0-0=0,0-1=1(不够减,向高位借一位),1-0=1,1-1=0(3)二进制数乘法运算在原则上是当两个乘数均为1时,积为1,否则积为0。乘法法则为:

0×0=0,0×1=0,1×0=0,1×1=11131.算术运算(1)与运算规则为“遇0得0”,即参与运算的两个数中只要有一个为0,结果就为0;只有当两个操作数均为1时,结果才为1。具体规则为:

0·0=0,0·1=0,1·0=0,1·1=1(2)或运算规则为“遇1得1”,即参与运算的两个数中只要有一个为1,结果就为1;只有当两个操作数均为0时,结果才为0。具体规则为:0+0=0,0+1=1,1+0=1,1+1=1(3)非运算规则为“按位取反”,即运算结果为参与运算的操作数取反后的值。具体规则如下:=1,=0(4)异或运算原则为“相异为1,相同为0”,即当两个操作不同时,结果为1;当两个操作数相同时,结果为0。具体规则如下:0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=01142.逻辑运算实际应用中存在正负数的问题,由于计算机只能识别0和1代码,因此,若要在计算机中表示正负数,需要指定一位二进制位为符号位。通常指定二进制数据的最高位为符号位,最高位为0表示正数,最高位为1表示负数。

常用的带符号数的表示方法有以下几种:(1)机器数将一个数在机器中的表示形式称为机器数。(2)真值将机器数的实际数值称为真值。(3)原码正数的符号位用0表示,负数的符号位用1表示,数值部分用真值的绝对值表示的二进制机器数称为原码,一般用[X]原表示。

例如,+113与−113在8位单片机中的原码表示为:

[+113]原=01110001B;[-113]原=11110001B

其中:0的原码不唯一,即[+0]原=00000000B,[−0]原=10000000B。115(4)反码正数的反码与该数的原码相同;负数的反码等于该数的原码保留符号位,其余位按位取反。反码通常用[X]反表示。例如:X=+101,则[X]反=[X]原=01100101BX=-101,则[X]原=11100101B,[X]反=10011010B(5)补码正数的补码是其本身;

负数的补码对其原码求反码,再在数值末位加上1,即[X]补=[X]反+1。

例如:[+73]补=[+73]原=01001001B

[-73]补=[-73]反+1=11001001+1=10110111B

[-30]补=[-30]反+1=11100001+1=11100010B116(6)BCD码

BCD码是一种用4位二进制数代表一位十进制数的代码,即用0000~1001代表0~9。

例如:(678)BCD=(011001111000)BCD常用的几种BCD码如表3-3所示。表3-3常用的几种BCD码117BCD码进制数8421码5421码余3码2421A码2421B码000000000001100000000100010001010000010001200100010010100100010300110011011000110011401000100011101000100501011000100001011011601101001100101101100701111010101001111101810001011101111101110910011100110011111111(7)ASCII码它是由8位二进制数组成,其中最高位为校验位,用于传输过程中检验数据的正确性。其余7位二进制数表示一个字符,共有128种组合(右表,表中数字为十进制数)。

例如,ASCII码值为65代表大写字母A,数字0的ASCII码值为80等。

ASCII值控制字符ASCII值字符ASCII值字符ASCII值字符012345678910111213141516171819202122232425262728293031NULSOHSTXETXEOTENDACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS3233343536373839404142434445464748495051525354555657585960616263(space)!“#$%&‘()*+,-./0123456789:;<

=>

?6465666768697071727374757677787980818283848586878889909192939495@A62BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_96979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127`abcdefghijklmnopqrstuvwxyz{|}~(del)1181193.4.1

单片机内部结构3.4.251单片机的引脚定义及功能12051单片机内部包括中央处理器、内部数据存储器、内部程序存储器、定时/计数器、并行I/O口、串口、中断控制系统和时钟电路等部件,如图3-6所示。图3-6单片机内部结构框图121122

中央处理器(CPU):CPU是单片机的核心部件,CPU内包含运算器、控制器以及寄存器等。

内部数据存储器(RAM):51单片机芯片内共有256个RAM单元,其中后128个单元被专用寄存器占用,供用户使用的只是前128个单元。因此,通常所说的内部数据存储器指的是前128个单元,简称为内部RAM,其地址范围是00H~7FH。后128个特殊寄存器区的地址范围为80H~0FFH。

内部程序存储器(ROM):51单片机内部有4KB字节的程序存储器ROM,用于存放程序、原始数据或表格,也简称为内部ROM。51系列内部ROM的地址范围为0000H~0FFFH(4KB)。

定时器/计数器:51系列单片机共有2个16位的定时/计数器,它们主要用来完成定时或计数功能。用作定时器时,计数内部分频时钟实现定时功能;用作计数器时,系统对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。123

并行I/O口:

51单片机共有4个8位的I/O口(P0,P1,P2,P3),这些I/O口用于完成数据的输入和输出。

串行口:

51单片机有一个可编程的全双工通信串口,可用来实现单片机和其他设备之间的串行数据传送。该串口既可作为全双工异步通信收发器使用,又可作为移位器使用。它通过RXD(P3.0)引脚接收数据,TXD(P3.1)引脚发送数据。

中断控制系统:

51单片

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论