《单片机应用技术》000-9(周君芝)课件 项目二 单片机开发软件及硬件系统的认识_第1页
《单片机应用技术》000-9(周君芝)课件 项目二 单片机开发软件及硬件系统的认识_第2页
《单片机应用技术》000-9(周君芝)课件 项目二 单片机开发软件及硬件系统的认识_第3页
《单片机应用技术》000-9(周君芝)课件 项目二 单片机开发软件及硬件系统的认识_第4页
《单片机应用技术》000-9(周君芝)课件 项目二 单片机开发软件及硬件系统的认识_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

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

文档简介

单片机应用技术(第2版)项目2单片机开发软件及硬件系统的认识项目导读自20世纪70年代,单片机诞生以来,其发展速度非常迅猛,应用领域也非常广泛。因此,对单片机相关知识的学习是非常重要的。本项目主要介绍单片机的软件及硬件相关知识,通过本项目的学习,学生应对单片机有一个全面的了解,有助于单片机的后续学习。达成目标知识目标了解单片机的基本概念及应用领域掌握MCS-51系列单片机的常用软件掌握MCS-51系列单片机的内部结构、引脚定义及功能掌握MCS-51系列单片机的最小系统、存储器掌握MCS-51系列单片机的并行I/O端口及工作方式达成目标技能目标会使用Keil软件、Proteus软件进行编译、仿真、调试能够设计简单的单片机应用系统思政目标养成自主学习、协作学习、探究学习的意识提高独立思考、触类旁通、举一反三的能力弘扬精益求精、科学严谨、追求卓越的工匠精神项目导航设计LED流水灯——单片机开发软件的应用任务2.1设计交通信号灯——单片机硬件系统的认识任务2.2C设计LED流水灯

——单片机开发软件的应用

011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100102.12.1任务工单扫一扫查看任务工单任务描述夜晚时,在城市的大街小巷,随处可以看到各式各样的广告艺术灯、霓虹灯和流水灯等,它们变幻着绚烂的色彩和动感的图案,这些都是由单片机控制LED灯来实现的。请设计制作8个LED灯的闪烁控制系统。要求每次只亮1个灯,其他灯全灭,从第1个灯开始亮,然后第2个灯亮,依此类推,第8个灯亮过之后,再转到第1个灯,循环闪烁呈现出流水灯的效果。每个灯亮的时间间隔为1s。任务实施1.整体设计思想2.硬件设计3.软件设计4.利用Keil软件编译、调试5.利用Proteus设计、仿真详细内容扫码观看2.1.1单片机的认识1.单片机的基本概念单片机(singlechipmicrocomputer,简称SCM)是一种集成电路芯片,是采用超大规模集成电路技术将具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O端口、中断系统、定时/计数器等功能部件集成到一块硅片上,构成的一个小而完善的微型计算机系统。什么是单片机单片机的体积很小,常被嵌入到各种现代设备中作为控制器件。因此,单片机还有一个常用的名字——微控制器单元(microcontrollerunit,MCU)。MCU单片机的应用非常广泛,其踪迹遍布各个领域。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信与数据传输,工业自动化过程的实时控制和数据处理,各种智能IC卡,自动控制领域的机器人、智能仪表、医疗器械及各种智能机械,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机,以及程控玩具、电子宠物等,这些都离不开单片机。右图展示了单片机应用的部分领域。2.1.1单片机的认识想想身边有哪些东西用到了单片机,然后搜集资料并与同学讨论。2.1.1单片机的认识2.1.1单片机的认识2.MCS-51系列单片机MCS-51系列单片机分为51和52两个子系列,8031、8051、8751、8032、8052和8752等芯片都属于该系列,8051是其中的典型代表,其他单片机只是在8051的基础上进行了一些调整,所以人们习惯上以8051来称呼MCS-51系列单片机。在过去的几十年里,单片机从最初的4位单片机已经发展成为32位单片机,类型也已经发展到上百种系列的近千个品种。制造单片机的公司有很多,主要有Intel公司、Motorola公司、ATMEL公司、Microchip公司、EMC公司等。Intel公司是单片机领域的领跑者,其推出的MCS-51系列单片机使用最广泛。2.1.1单片机的认识系列芯片型号片内RAM片内ROMI/O端口定时/计数器中断源串行接口5180C31128B无4×8位2×16位5180C51128B4KBROM4×8位2×16位5187C51128B4KBEPROM4×8位2×16位5189C51128B4KBEEPROM4×8位2×16位515280C32256B无4×8位2×16位6180C52256B8KBROM4×8位2×16位6187C52256B4KBEPROM4×8位2×16位6189C52256B4KBEEPROM4×8位2×16位61MCS-51系列单片机的功能特性注:带有字母“C”的型号表示采用CHMOS工艺的低功耗芯片,未带字母“C”的一般采用HMOS工艺。知识链接ROM(read-onlymemory):只读存储器。ROM中的只读数据是预先烧录的,并且一旦烧录就不能再修改。RAM(randomaccessmemory):随机存储器。RAM存储单元的内容可按需要随意取出或存入。EPROM(erasableprogrammableROM):可擦除可编程存储器。EPROM利用专用的紫外线擦除器,可以擦除单片机中的数据。要向EPROM中写入数据,必须使用专用的写入器。EEPROM(electricallyerasableprogrammableROM):电可擦除可编程只读存储器。EEPROM通过单片机的控制电压,可以擦除单片机中的数据,或向单片机中写入数据,而不必将单片机从系统中取出。2.1.1单片机的认识2.1.2单片机应用系统的开发流程学习单片机的目的就是为了进行单片机应用系统的开发,右图为单片机应用系统的开发流程。2.1.2单片机应用系统的开发流程1.明确任务。分析和了解项目的总体要求,并综合考虑系统使用环境、可靠性要求、可维护性及产品的成本等因素,制定出可行的性能指标。2.划分硬、软件功能。单片机应用系统由硬件和软件两部分组成。在单片机应用系统中,有些功能既可由硬件来实现,也可由软件来实现。使用硬件实现可以提高系统的实时性和可靠性;使用软件实现,可以降低系统成本,简化硬件结构。因此在总体考虑时,必须综合分析以上因素,合理地制定硬件和软件任务的比例。2.1.2单片机应用系统的开发流程3.确定希望使用的单片机及其他关键元器件根据硬件设计任务,选择单片机及其他关键元器件,如A/D转换器、D/A转换器、传感器、放大器等,这些元器件需要满足系统精度、速度及可靠性等方面的要求。4.硬件设计根据总体设计要求,以及选定的单片机及关键元器件,利用软件设计出单片机应用系统的电路原理图。5.软件设计在硬件设计的基础上,确定软件系统的程序结构并划分功能模块,然后进行各模块的程序设计。2.1.2单片机应用系统的开发流程6.仿真调试硬件和软件设计结束后,需要进行两者的仿真调试。为避免浪费资源,在生成实际电路板之前,可以利用Keil和Proteus软件进行系统仿真,出现问题可以及时修改。7.系统调试完成系统仿真后,根据电路原理图绘制PCB(printedcircuitboard)印刷电路板图,然后将PCB图交给相关厂商生产电路板。拿到电路板后,为便于更换元器件和修改电路,可首先在电路板上焊接所需芯片插座,并利用编程器将程序写入单片机。接下来将单片机及其他芯片插到相应的芯片插座中,接通电源及其他输入、输出设备,进行系统联调,直至调试成功。2.1.2单片机应用系统的开发流程8.测试修改、用户试用经测试检验符合要求后,将系统交给用户试用,对于出现的实际问题进行修改完善,系统开发完成。单片机数码管指示灯为了方便起见,单片机教学过程中进行的仿真实验大多在仿真板上进行。如右图所示,这块仿真板可以进行流水灯、数码管显示等实验。2.1.2单片机应用系统的开发流程随着科技的发展,单片机也得到了飞速的发展,现在的单片机功能越来越全且体积越来越小,单片机的发展同时也极大地促进了计算机技术的发展。科技的发展贵在不断地钻研,不断地创新,中国科技能有今天的成就正是全国人民不懈努力、不断创新的体现。今后,大家在自己的工作岗位上也要爱岗敬业、钻研创新,充分利用国家为人民提供的良好资源,为实现中华民族伟大复兴的中国梦贡献智慧和力量。2.1.3MCS-51系列单片机常用软件MCS-51系列单片机的常用软件有Keil、Proteus、STC-ISP下载软件等。进行单片机应用系统开发时,一般先在Keil软件中使用汇编语言或C语言编写程序,程序编译通过后,生成目标文件(hex文件);然后通过仿真软件Proteus进行仿真、调试;调试完成后,使用串口线或USB转串口线连接单片机硬件电路和计算机,连接完成后,安装相应的驱动程序,使用STC-ISP下载软件将目标文件写入单片机中;然后运行程序,若运行结果未能达到预期目标,需要查找错误并修改程序,再重新编译、下载和运行,直至单片机上的程序能够完成既定的功能。2.1.3MCS-51系列单片机常用软件主要介绍STC-ISP下载软件的使用方法。生成hex文件并设置好串行接口之后,就可以将程序下载到STC单片机中了。访问/,下载STC-ISP软件。打开该软件时,软件会自动将驱动文件复制到相关的系统目录中,其界面如图所示。2.1.3MCS-51系列单片机常用软件STC-ISP程序下载软件的设置步骤如下。(1)选择单片机型号。在“单片机型号”的下拉列表中选择STC89C51。(2)选择串行接口。若已经连接好USB转串口线,单击“扫描”按钮会自动出现已连接的串行接口。如未出现,则需要更改串口号,再重新扫描即可。(3)单击“打开程序文件”按钮,选择要加载的hex文件。(4)单击左下方的“下载/编程”按钮。在单击该按钮之前确保单片机未上电,因为该启动方式属于冷启动,需等待一段时间。(5)给单片机上电,此时,在窗口的右下方出现下载进度条,下载完成后,即可在单片机上运行程序了。2.1.3MCS-51系列单片机常用软件单片机学习的过程应该是一个循序渐进、不断学习、不断积累的过程。要想学好单片机应做到以下几点。(1)思想上要有刻苦学习的决心。(2)硬件上要有一套完整的学习开发工具。(3)软件上要注重理论和实践相结合。课堂小结1单片机的认识2单片机应用系统的开发流程3MCS-51系列单片机常用软件C设计交通信号灯

——单片机硬件系统的认识011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100102.22.2任务工单扫一扫查看任务工单任务描述十字路口的交通信号灯如右图所示,它是我们日常生活中常见的单片机应用之一。请设计一个交通信号灯,并实现下表所示的功能。南北

主道信号绿灯亮黄灯亮红灯亮时间30s2s22s东西

从道信号红灯亮绿灯亮黄灯亮时间32s20s2s任务实施1.整体设计思想2.硬件设计3.软件设计4.仿真调试详细内容扫码观看任务实施设计制作一个输出两种声音(频率自定)的警笛声音发生器,同时用两种不同颜色的发光二极管模拟发光。活学活用2.2.1单片机的引脚定义及功能单片机有DIP封装、PLCC封装、TQFP封装等多种封装形式。其中比较常见的是DIP封装(见图)。2.2.1单片机的引脚定义及功能知识链接DIP封装:双列直插式封装。绝大多数中小规模集成电路都采用这种封装形式。采用该封装形式的单片机通常有两排引脚,需要插入到具有DIP结构的芯片插座上。PLCC封装:表面贴装型封装的一种。其引脚从4个侧面引出,外形一般呈正方形,尺寸比DIP封装小,可靠性高。TQFP封装:塑封四角扁平封装。采用该封装形式的单片机,引脚之间距离很小,引脚很细,其引脚数一般在100个以上,因此这种封装形式一般用在大规模或超大规模集成电路中。采用该封装形式的单片机需要与主板焊接起来。2.2.1单片机的引脚定义及功能如图所示,DIP封装的51系列单片机共有40个引脚,引脚的排列顺序是从芯片缺口左侧的引脚逆时针数起,依次为1、2、3、4…40。40个引脚包括2个电源引脚、2个时钟引脚、4个控制引脚,以及32个8位可编程I/O引脚。2.2.1单片机的引脚定义及功能知识链接51系列单片机是对兼容Intel8051指令系统的单片机的统称,主要品牌及其产品如下。Intel:80C31、80C32、80C51、80C52、87C51、87C52等。Atmel:89C51、89C52、89C2051、89S51、89S52等。STC:STC89C51、STC90C51、STC11系列、STC15系列等。2.2.1单片机的引脚定义及功能1.电源引脚

VCC电源输入,接+5V电源。

VSS接地线。0102电源引脚共2个,分别接入电源和地线。2.2.1单片机的引脚定义及功能2.时钟引脚

XTAL1片内振荡电路的输入端。当接外部振荡器时,此端要接地。

XTAL2片内振荡电路的输出端。当接外部振荡器时,此端用于接外部振荡信号。0102时钟引脚主要用于接入外部时钟电路,为单片机的正常运转提供基本的时钟信号。2.2.1单片机的引脚定义及功能3.控制引脚复位端该引脚上连续出现2个机器周期的高电平时将复位单片机。4个控制引脚中,RST控制引脚用于对系统进行复位操作,其他3个控制引脚主要用于辅助CPU进行正确的读写操作。2.2.1单片机的引脚定义及功能3.控制引脚地址锁存允许端在系统扩展时,ALE用于把P0端口输出的低8位地址送入锁存器锁存,以实现低8位地址和数据的分时传送。由于ALE引脚周期性地以1/6振荡器频率向外输出正脉冲,因此可作为外部时钟或外部定时脉冲使用。对片内ROM编程时,此引脚可作为编程脉冲输入端。2.2.1单片机的引脚定义及功能3.控制引脚片外程序存储器读选通信号输出端。

当有效(低电平)时,可实现对外部ROM单元的读操作。片外程序存储器选择端。该引脚接低电平时,单片机从片外程序存储器中读取指令;接高电平时,单片机从片内程序存储器中读取指令。2.2.1单片机的引脚定义及功能4.I/O引脚I/O引脚用于连接外部部件,共有4组,每组8个引脚,分别为P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7。I/O引脚的功能特性将在2.2.5中详细介绍。2.2.2单片机的内部结构51系列单片机内部包括中央处理器(CPU)、片内数据存储器、片内程序存储器、定时/计数器、并行I/O端口、串行接口、中断系统和时钟电路等部件,如图所示。2.2.2单片机的内部结构

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

片内数据存储器简称片内RAM。51系列单片机共有256个RAM单元,其中后128个单元被专用寄存器占用,供用户使用的只有前128个单元。因此,通常所说的片内数据存储器指的是前128个单元。

片内程序存储器简称片内ROM。51系列单片机有4KB的ROM,用于存放程序、原始数据或表格。2.2.2单片机的内部结构

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

并行I/O端口51系列单片机共有4个8位的并行I/O端口(P0、P1、P2、P3),这些端口用于完成数据的输入和输出。2.2.2单片机的内部结构

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

中断系统51系列单片机的中断功能较强,可以满足不同的应用需求。中断优先级有高级和低级之分,系统根据中断优先级来响应不同的中断请求。

时钟电路51系列单片机内部有时钟电路,可为单片机提供时钟信号。2.2.3单片机最小系统的构成为单片机提供正常工作的电压信号用于将单片机内部各部分电路的状态恢复到初始状态为单片机提供时钟信号电源电路复位电路时钟电路利用单片机本身的资源,外加下面三种电路便可构成单片机的最小系统。2.2.3单片机最小系统的构成1.时钟电路单片机是一个较为复杂的同步时序电路,为了保证内部各部件间的同步协调工作,单片机需要在唯一的时钟信号下严格地按时序进行工作。时序是控制各信号执行的时间顺序。时钟信号是时序的时间基准,时钟周期、状态周期、机器周期和指令周期是描述时序的单位。什么是时序?2.2.3单片机最小系统的构成1)时钟电路的形成外接时钟电路内部时钟电路12根据单片机产生时钟信号的方式不同2.2.3单片机最小系统的构成内部时钟电路是指利用单片机内部的高增益反相放大器,在引脚XTAL1和XTAL2之间外接晶体振荡器(简称晶振)和两个微调电容构成的电路,如图所示。2.2.3单片机最小系统的构成外部时钟电路是指把外部已有的时钟信号引入单片机内的电路,如图所示。采用这种方式可以使单片机的时钟与外部信号保持同步。2.2.3单片机最小系统的构成2)时钟周期

时钟周期又称为振荡周期,定义为时钟频率的倒数,是单片机中最基本、最小的时间单位。例如,时钟频率为12MHz的单片机,它的时钟周期就是1/12μs。在一个时钟周期内,CPU仅完成一个最基本的动作。2.2.3单片机最小系统的构成知识链接时钟频率控制着单片机的工作节奏,对同一种机型的单片机,时钟频率越高,单片机的工作速度就越快。但是,由于单片机硬件电路和元器件的限制,时钟频率是有一定的限制的。例如,8051单片机的时钟频率范围是1.2MHz~12MHz。2.2.3单片机最小系统的构成3)状态周期在51系列单片机中,把1个时钟周期定义为1个节拍,用P表示;把2个节拍定义为1个状态周期,用S表示。2.2.3单片机最小系统的构成4)机器周期一条指令的执行过程可分为若干个阶段,如取指令、读存储器、写存储器等。完成某一个操作的时间称为一个机器周期。通常情况下,一个机器周期由12个时钟周期组成。2.2.3单片机最小系统的构成5)指令周期执行一条指令所需要的时间称为指令周期。它一般由若干个机器周期组成。指令不同,所需要的机器周期数也不同。在51系列单片机的指令系统中,一些简单的单字节指令,指令取出到指令寄存器后,立即译码执行,因此只需要一个机器周期;一些比较复杂的指令,如转移指令、乘法指令等,则需要两个或两个以上的机器周期。指令2.2.3单片机最小系统的构成【例2-1】若MCS-51单片机外接晶振为12MHz,则单片机的四个周期的具体值分别为多少?【答案】时钟周期=1/12MHz=1/12μs=0.0833μs

状态周期=1/6μs=0.167μs

机器周期=1μs

指令周期=1~4μs2.2.3单片机最小系统的构成2.复位电路复位是指单片机的初始化。复位是单片机中一种非常重要的操作,复位操作后程序从0000H开始执行。另外,当单片机运行中出现错误或死机时,也需要进行复位操作。复位2.2.3单片机最小系统的构成单片机复位需要在单片机的引脚RST/VPD上连续出现2个机器周期以上的高电平。例如,若单片机的时钟频率为12MHz,则机器周期为1μs,那么复位信号需要保证持续2μs以上的时间,单片机内部才执行复位操作。1)复位条件2.2.3单片机最小系统的构成2)复位电路的形式上电自动复位电路按键复位电路2.2.3单片机最小系统的构成上电自动复位电路:如图所示,电源接通瞬间,RC电路充电,由于电容两端电压不能突变,所以RST/VPD端可以维持一段时间的高电平,只要时间大于两个机器周期,即可实现自动复位。2.2.3单片机最小系统的构成

按键复位电路:如图所示,在电容两端并联一个带有电阻和开关的支路。当开关断开时,按键复位电路与上电自动复位电路相同;当开关闭合时,电容通过并联的电阻迅速放电,然后,RC电路充电,能够保证RST/VPD端维持一段时间的高电平以实现复位。2.2.3单片机最小系统的构成单片机复位后会将一些特殊功能寄存器(SFR)的值重新设置,复位后SFR的状态如下页表所示。3)复位后寄存器的状态2.2.3单片机最小系统的构成SFR名称SFR符号复位状态SFR名称SFR符号复位状态程序计数器PC0000H定时/计数器

方式控制寄存器TMOD00H累加器AACC00H定时/计数器

控制寄存器TCON00H寄存器BB00H定时/计数器0

(低位字节)TL000H程序状态字PSW00H定时/计数器0

(高位字节)TH000H堆栈指针SP07H定时/计数器1

(低位字节)TL100H地址指针DPTR(包括DPH和DPL)0000H定时/计数器1

(高位字节)TH100HP0~P3端口P0~P3FFH串行控制寄存器SCON00H中断优先级

控制寄存器IPXXX00000B串行数据缓冲器SBUFXXXXXXXXB中断允许

控制寄存器IE0XX00000B电源控制寄存器PCON0XXX0000B复位后SFR的状态注:X表示无关位,是一个随机值。H是十六进制数后缀,B是二进制数后缀。2.2.4单片机的存储器

数据存储器(RAM)只读存储器。其特点是在程序正常运行时,CPU对程序存储器只能进行读操作。它通常用来存储固定不变的程序,如引导程序、基本输入输出系统程序等。系统断电时,程序存储器中的信息不会丢失。51系列单片机的存储器分为

程序存储器(ROM)随机存储器。它用于存放程序运行期间的中间数据,可随时进行读写操作。系统断电时,数据存储器中的信息会全部丢失。两种分开编址,具有各自独立的寻址空间和寻址方式。2.2.4单片机的存储器1.程序存储器程序存储器由片内程序存储器和片外程序存储器两部分构成,用来存放程序及常数。片内和片外程序存储器采用16位统一编址方式,地址范围为0000H~FFFFH。程序存储器结构如图所示。2.2.4单片机的存储器1.程序存储器对于没有片内程序存储器的单片机来说,其程序存储器必须外接,此时引脚必须接低电平,强制CPU从片外程序存储器中读取指令。对于有片内程序存储器的单片机来说,CPU会先从片内程序存储器中读取指令。当接高电平时,CPU从片内程序存储器的0000H单元开始读取指令,若指令地址超过0FFFH,CPU将自动转向片外程序存储器读取指令。当接低电平时,CPU从片外程序存储器中读取指令并执行。具体情况如下:2.2.4单片机的存储器51系列单片机片内程序存储器的地址范围为0000H~0FFFH。在这些程序存储单元中,有些特殊的存储单元在使用时需要加以注意。1)特殊存储单元0000H~0002H单片机复位后,CPU将从0000H单元开始执行程序。如果不希望程序从0000H单元开始,则应在这3个单元中存放一条无条件转移指令,使CPU直接跳转到用户指定的单元执行程序。2.2.4单片机的存储器2)特殊存储单元0003H~002AH

这40个存储单元是专门存放中断处理子程序的地址单元。它们被均匀地分为5段。0003H~000AH外部中断0中断地址区000BH~0012H定时/计数器0中断地址区0013H~001AH外部中断1中断地址区20030023H~002AH串行中断地址区001BH~0022H定时/计数器1中断地址区2.2.4单片机的存储器知识链接CPU响应中断后,程序根据中断类型自动跳转到对应的中断地址区执行程序。从上面的单元分配可以看出,每个中断服务子程序只有8个字节单元可用,用8个字节来存放一个中断服务子程序显然是不可能的。因此,通常在中断地址区存放一条无条件转移指令,该指令指向真正的中断服务子程序地址。当中断被响应后,CPU读到中断地址区的转移指令,便转向指定地址去执行中断服务程序。2.2.4单片机的存储器2.数据存储器数据存储器由片内数据存储器和片外数据存储器两部分构成,用来存放运算的中间结果。两部分存储器采用分开编址方式:片内数据存储器采用8位地址,共256B片外数据存储器采用16位地址,共64KB数据存储器结构如图所示。2.2.4单片机的存储器1)片内数据存储器片内数据存储器结构如图所示。00H~1FH单元为工作寄存器区20H~2FH单元为位寻址区30H~7FH单元为用户RAM区80H~FFH单元为特殊功能寄存器(SFR)区。2.2.4单片机的存储器(1)工作寄存器区(00H~1FH)工作寄存器区共有32个单元,它被均匀地分为4组,每组包含8个8位寄存器,分别以R0~R7来命名,这些寄存器也被称为通用寄存器。这4组寄存器的名称都是R0~R7,那么在程序中如何区分和使用呢?这就需要使用SFR中的程序状态字寄存器(PSW)来管理它们。CPU只要定义PSW中的D3和D4位(RS0和RS1),即可选中这4组通用寄存器中的一个。2.2.4单片机的存储器工作寄存器组号RS1RS0各组寄存器对应的地址R0R1R2R3R4R5R6R700000H01H02H03H04H05H06H07H10108H09H0AH0BH0CH0DH0EH0FH21010H11H12H13H14H15H16H17H31118H19H1AH1BH1CH1DH1EH1FH工作寄存器的地址分配表2.2.4单片机的存储器若程序中并不需要使用4组寄存器,那么,未被选中的寄存器组可用作一般的数据缓冲器。单片机在复位后,默认选中第0组工作寄存器。2.2.4单片机的存储器(2)位寻址区(20H~2FH)位寻址区既可作为一般的存储单元,使用字节进行寻址;也可通过位寻址的方式进行访问。位寻址区共有16个字节,每个字节8位,共计128位,相应的位地址为00H~7FH。CPU能直接寻址这些位,执行如置“1”、清“0”、求“反”、转移、传送和逻辑等操作。2.2.4单片机的存储器位寻址区的地址分配表字节地址位地址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H2.2.4单片机的存储器(3)用户RAM区(30H~7FH)用户RAM区共有80个单元,这部分区域的使用没有任何规定和限制,可作为堆栈或数据缓冲器使用。2.2.4单片机的存储器(4)SFR(80H~FFH)51系列单片机有21个SFR。它们都有自己的固定地址,离散地分布在片内地址80H~FFH的RAM空间中,如下页表所示。CPU可以直接使用寄存器的名字或者通过直接寻址方式对其进行访问,其中有11个寄存器还可以通过位寻址的方式进行访问。2.2.4单片机的存储器SFR字节地址位地址/位功能标记位寻址D7D6D5D4D3D2D1D0BF0HF7HB.7F6HB.6F5HB.5F4HB.4F3HB.3F2HB.2F1HB.1F0HB.0是ACCE0HE7HACC.7E6HACC.6E5HACC.5E4HACC.4E3HACC.3E2HACC.2E1HACC.1E0HACC.0是PSWD0HD7HCYD6HACD5HF0D4HRS1D3HRS0D2HOVD1H—D0HP是IPB8HBFH—BEH—BDH—BCHPSBBHPT1BAHPX1B9HPT0B8HPX0是P3B0HB7HP3.7B6HP3.6B5HP3.5B4HP3.4B3HP3.3B2HP3.2B1HP3.1B0HP3.0是IEA8HAFHEAAEH—ADH—ACHESABHET1AAHEX1A9HET0A8HEX0是P2A0HA7HP2.7A6HP2.6A5HP2.5A4HP2.4A3HP2.3A2HP2.2A1HP2.1A0HP2.0是SBUF99H

否SCON98H9FHSM09EHSM19DHSM29CHREN9BHTB89AHRB899HTI98HRI是P190H97HP1.796HP1.695HP1.594HP1.493HP1.392HP1.291HP1.190HP1.0是TH18DH

否TH08CH

否TL18BH

否TL08AH

否TMOD89HGATEC/M1M0GATEC/M1M0否TCON88H8FHTF18EHTR18DHTF08CHTR08BHIE18AHIT189HIE088HIT0是PCON87HSMOD———GF1GF0PDIDL否DPH83H

否DPL82H

否SP81H

否P080H87HP0.786HP0.685HP0.584HP0.483HP0.382HP0.281HP0.180HP0.0是SFR的地址分配表2.2.4单片机的存储器SFR主要分布在以下几个部件中:

中断系统:包括2个SFR,分别是IP和IE。定时器:包括6个SFR,分别是TH0、TH1、TL0、TL1、TMON和TCON。

其中,8位寄存器TL0和TH0组成T0,TL1和TH1组成T1。

并行I/O端口:包括4个SFR,分别是P0、P1、P2和P3。串行接口:包括3个SFR,分别是SBUF、SCON和PCON。CPU:包括6个SFR,分别是B、ACC、PSW、DPH、DPL和SP。

其中,2个8位寄存器DPL和DPH组成16位的DPTR。2.2.4单片机的存储器扫码查看PC、PSW从“SFR的地址分配表”

中可以看出,21个SFR并没有完全使用80H~FFH这128个地址空间。对于没有定义的地址单元,用户不能作为寄存器使用。2.2.4单片机的存储器2)片外数据存储器片外数据存储器的地址范围是0000H~FFFFH,共64KB。在实际应用中,用户可以根据具体需求进行适量的扩展。2.2.4单片机的存储器单片机存储器组成部分较多且功能不同,只有不断地重复练习,才能掌握它们的使用方法,才能灵活地运用它们。在工作或生活中,当有很多事做不好时,其实不是你不会做,也不是你做不好,只是因为你没有用心。世上无难事,只怕有心人,只要对工作真正投入,只要事事用心,就会处处见匠心,并成就一番事业。2.2.5并行I/O端口01P0端口02P1端口03P2端口04P3端口51系列单片机有4组并行I/O端口2.2.5并行I/O端口1.P0端口P0端口位结构如图所示。电路组成:一个锁存器(D型触发器),两个三态门缓冲器(U1和U2),与门、非门和多路开关MUX组成的输出控制电路,一对场效应管(T1和T2)等。2.2.5并行I/O端口P0端口具有两种功能当多路开关和锁存器接通时,P0端口可以作为通用I/O端口当多路开关和非门接通时,P0端口可以作为地址/数据总线2.2.5并行I/O端口1)P0端口作为通用I/O端口P0端口作为通用I/O端口时,多路开关的控制信号为0(低电平),T1管截止,多路开关与锁存器的端相接。2.2.5并行I/O端口读引脚:读引脚中的数据时,读引脚三态门缓冲器U2打开(即三态门缓冲器的控制端有效),P0.X上的数据经三态门缓冲器U2进入内部总线(注:此时数据并不经过锁存器)。读锁存器:读锁存器中的数据时,读锁存器三态门缓冲器U1打开(即三态门缓冲器的控制端有效),锁存器输出端Q的数据经三态门缓冲器U1进入内部总线。(1)数据输入两种方式2.2.5并行I/O端口

51系列单片机在对端口P0~P3的输入操作上,有如下约定:凡属于“读—修改—写”方式的指令,均从锁存器读入信号;其他指令则从端口引脚线上读入信号。2.2.5并行I/O端口P0端口作为通用I/O端口时,其数据输出工作过程如下:写锁存器信号CP有效,内部总线的信号→锁存器的输入端D→锁存器的反向输出端→多路开关MUX→T2管(数据反相)→P0.X。(2)数据输出2.2.5并行I/O端口

P0端口作为数据输出端口使用时,P0是漏极开路输出,当驱动上接电流负载时,需要外接上拉电阻。2.2.5并行I/O端口2)P0端口作为地址/数据总线P0端口作为地址/数据总线时,多路开关的控制信号为1(高电平),与门输出信号由地址/数据线信号决定,多路开关与反相器的输出端相连,地址信号经非门(数据反相)、T2管(数据反相)输出至P0.X。工作过程:P0端口输出低8位地址信息后,将变为数据总线,此时控制信号为0,T1管截止,多路开关转向锁存器反相输出端;CPU自动将0FFH(即向D锁存器写入一个高电平)写入P0端口锁存器,使T2管截止;在读引脚信号控制下,P0.X上的数据通过读引脚三态门缓冲器U2送到内部总线。2.2.5并行I/O端口2.P1端口P1端口的结构简单,位结构如图所示。其与P0端口的主要区别在于,P1端口没有非门和多路开关MUX,并用内部上拉电阻代替了P0端口的场效应管T1。2.2.5并行I/O端口2.P1端口P1端口仅可作为通用I/O端口,输出数据时,内部总线输出的数据经锁存器和场效应管后,锁存在端口线上,所以P1端口是具有输出锁存的静态口;输入有读引脚和读锁存器之分,工作过程参照P0端口,这里不再赘述。2.2.5并行I/O端口3.P2端口P2端口位结构如图所示。由于既有上拉电阻,又有多路开关MUX,因此P2端口在功能上兼有P0端口和P1端口的特点。2.2.5并行I/O端口P2端口作为通用I/O端口P2端口作为地址总线P2端口作为通用I/O端口时,多路开关的控制信号为0(低电平),多路开关与锁存器的Q端相接,数据输入、输出工作过程与P0端口作为通用I/O端口时相似。P2端口可以作为地址总线的高8位(AD8~AD15),与P0端口的低8位一起构成16位地址总线。P2端口作为地址总线时,多路开关的控制信号为1(高电平),多路开关与地址线接通,地址信号经非门(数据反相)、场效应管(数据反相)输出至P2.X。P2端口具有两种功能2.2.5并行I/O端口4.P3端口P3端口位结构如图所示。P3端口除了具有通用I/O端口的功能外,还具有第二功能,如外部中断、计数等。2.2.5并行I/O端口1)P3端口作为通用I/O端口P3端口作为通用I/O端口时,第二功能输出信号为1(高电平),此时,内部总线信号经锁存器和场效应管输入/输出,工作过程与P1端口相同。2.2.5并行I/O端口2)P3端口第二功能端口线第二功能名称功能描述P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2外部中断0输入P3.3外部中断1输入P3.4T0定时/计数器0外部输入P3.5T1定时/计数器1外部输入P3.6片外数据存储器写选通信号P3.7片外数据存储器读选通信号P3端口第二功能表2.2.5并行I/O端口当P3端口的某一位作为第二功能输入时,在输入通路上增设了一个缓冲器U3,输入的第二功能信号可从缓冲器U3的输出端取得。(1)数据输入当P3端口的某一位输出第二功能信号时,该位锁存器置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。(2)数据输出2.2.5并行I/O端口在应用中,如不设定P3端口各位的第二功能,则P3端

温馨提示

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

评论

0/150

提交评论