




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八讲 单片机的内部资源及 使用C语言编程,一、MCS-51内部资源(一)内部资源MCS-51系列单片机的各种型号均是以8051为核心电路发展起来的。因此具有MCS-51的基本结构与软件特征。 8051内包括:适于控制应用的8位CPU;具有布尔处理(位处理)能力; 4KB程序存储器;128B数据存储器 32根双向并可以按位寻址的I/O线 1个全双工串行口I/O线; 2个16位定时计数器器; 6源/5向量中断结构,具有两个优先级;片内时钟振荡器,(一)计算机为什么需要I/O接口电路? (1) 外部设备的工作速度快慢差异很大 慢速设备如开关、继电器、机械传感器等。每秒钟提供不了一个数据;而高速设备如磁盘、CRT显示器等,每秒可传送几千位数据。面对速度差异如此之大的各类外部设备,CPU无法按固定的时序与他们以同步方式协调工作。 (2) 外部设备种类繁多 既有机械式的,又有机电式的。不同种类的外部设备之间性能各异对数据传送的要求也各有不同,无法按统一格式进行。,二、单片机并行接口,(3) 外部设备的数据信号多种多样 既有电压信号,也有电流信号,既有数字形式,还有模拟形式 (4) 外设和数据传送距离有远近不同 有的使用并行数据传送,而有的则需要使用串行传送方式。 正是由于上述原因,使数据的I/O操作变得十分复杂。无法实现外部设备与CPU进行直接的同步数据传送,而必须在CPU和外设之间设置一个接口电路,通过接口电路对CPU与外设之间的数据传送进行协调。,(二)接口电路主要有如下几项功能,(1) 速度协调 由于速度上的差异,使得数据的I/O传送难以异步方式进行,即只能在确认外设已为数据传送作好准备的前提下才能进行I/O操作。而要知道外设是否准备好,就需要通过接口或产生或传送外设的状态信息,以此进行CPU与外设之间的速度协调。 (2) 数据锁存 数据输出都是通过系统的公用数据通道(即数据总线)进行的。但是由于CPU的工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速输出设备的需要。为此在接口电路中需设置数据锁存器。以保存输出数据直至为输出设备所接收。因此数据锁存就成为接口电路的一项重要功能。,(3)三态缓冲 数据输入时,输入设备向CPU传送的数据也要通过数据总线,但数据总线是系统的公用数据通道,上面可能“挂”着许多数据源,工作十分繁忙。为了维护数据总线上数据传送的秩序”,因此只允许当前时刻正在进行数据传送的数据源作用数据总线,其余数据源都必须与数据总线处于隔离状态。为此要求接口电路能为数据输入提供三态缓冲功能。(4)数据转换 CPU只能输入和输出并行的电压数字信号,但是有些外部设备所提供或所需要的并不是这种信号形式。为此需要使用接口电路进行数据信号的转换。其中包括:模数转换、数模转换、串并转换和并串转换等。,二、单片机并行接口,外围设备与单片机之间的常用数据传送方式: 1、无条件传送方式 2. 查询方式 3. 中断方式,(三) I/O数据传送的控制方式,在计算机中,为了实现数据的输入输出传送,共有四种控制方式: 1、无条件送方式 无条件传送也称为同步程序传送。只有那些一直为数据I/O传送作好准备的外部设备,才能使用无条件传送方式。因为在进行I/O操作时,不需要测试外部设备的状态,可以根据需要随时进行数据传送操作。 无条件传送适用于以下两类外部设备的数据输入输出: (1)具有常驻的或变化缓慢的数据信号的外部设备。例如:机械开关、指示灯、发光二极管、数码管等。可以认为它们随时为输入输出数据处于“准备好”状态。 (2) 工作速度非常快,足以和CPU同步工作的外部设备。例如数/模转换器DAC,由于DAC是并行工和的,速度很快,因此CPU可以随时向其传送数据,进行数/模转换。,(三) I/O数据传送的控制方式,2、程序查询方式查询方式又称之为有条件传送方式,即数据的传送是有条件的。在I/O操作之前,要先检测外设的状态,以了解外设是否已为数据输入输出作好了准备,只有在确认外设已“准备好”的情况下,CPU才能执行数据输入输出操作。通常把以程序方法对外设状态的检测称之为“查询”,所以就把这种有条件的传送方式称之为程序查询方式 。为了实现查询方式的数据输入输出传送,需要接口电路提供外设状态,并以软件方法进行状态测试。因此这是一种软、硬件方法结合的数据传送方式。程序查询方式,电路简单,查询软件也不复杂,而且通用性强,因此适用于各种外部的设备的数据输入输出传送。但是查询过程对CPU来说毕竟是一个无用的开销,因此查询方式只能适用于单项作业、规模比较小的计算机系统。,3程序中断方式 程序中断方式与查询方式的主要区别在于如何知道外设是否为数据传送作好了准备。查询方式是CPU的主动形式,而中断方式则是CPU等待通知(中断请求)的被动形式。采用中断方式进行数据传送时,当外设为数据传送作好准备之后,就向CPU发出中断请求(相当于通过CPU)。CPU接收到中断请求后,即作出响应,暂停正在执行的原程序。而转去为外设的数据输入输出服务。待服务完成之后,程序返回,CPU再继续执行被中断的原程序。 程序中断方式,大大提高了系统的效率,不但速度快而且可以实现多道程序方式。所以在计算机中被广泛采用。但中断请求是一种随机事件。为实现程序中断,对计算机的硬件和软件都有较高的要求。此外,由于中断处理常需现场保护和现场恢复。因此,对CPU来说仍有较大的无用开销。,二、单片机的并行I/O接口,(四) MCS-51内部并行I/O口,P1口位图结构,1、P1口,P1口常用做通用I/O口,它也是一个标准的准双向I/O口,不必外接上拉电阻就可以驱动任何MOS驱动电路,且只能驱动4个TTL输入。当P1口作为输入接口时,应先向口锁存器写“1”。,四个并行输入/输出端口P0口、P1口、P2口及P3口。它们看似一样,在使用上是不一样的,也是有区别的。,2. P0口(P0.0P0.7,39脚32脚),(四) MCS-51内部并行I/O口,3. P2口(P2.0P2.7,21脚28脚),作为普通I/O使用,它是自带上拉电阻的8位准双向I/O接口,每一位可驱动4个LSTTL负载。当P2口作为输入接口时,应先向口锁存器写“1”。,两种工作方式,访问片外存储器时(扩展RAM或ROM),P2口作为高8位地址线使用。,4. P3口(P3.0P3.7,10脚17脚),除了和P1口的功能一样外, P3口的每一引脚还具有第二功能。,P3口引脚第二功能,例:在AT89S51单片机的P0和P2端口分别接有两个共阴数码管,P0口驱动显示秒时间的十位,而P2口驱动显示秒时间的个位。,LED 显示器,在单片机系统中,常用的显示器有:发光二极管显示器,简称LED(Light Emitting Diode);液晶显示器,简称LCD(Liquid Crystal Display);荧光管显示器,简称CRT。近年来也开始使用简易的CRT接口,显示一些汉字及图形。,LED 显示器,前二种显示器都有两种显示结构:段显示(7段,“米”字型等)和点阵显示(57,58,88点阵等)。而发光二极管显示又分为固定段显示和可以拼装的大型字段显示,此外还有共阳极和阴极之分等。 三种显示器中,以荧光管显示器亮度最高,发光二极管次之,而液晶显示器最弱,为被动显示器,必须有外光源。 限于篇幅,我们介绍7段LED显示器。,LED段显示器结构与原理,LED显示器是单片机应用系统中常用的价廉输出设备。 它是由若干个发光二极管组成的,当发光二极管导通时,相应的一个点或一个笔画发亮。控制不同组合的二极管导通,就能显示出各种字符。 发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。,LED段显示器结构与原理,对于共阴极LED,欲点亮的段在字节中所处的位为“1”, 对于共阳极LED,欲点亮的段在字节中所处的位为“0”, 例如:显示字符5,共阴极字型码为01101101B(6DH),共阳极字型码为10010010B(92H)。,LED共阴/共阳段选编码表,LED显示器显示方式,LED显示器有静态显示和动态显示两种显示方式,分述如下:LED静态显示方式 所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,例如七段显示器的a,b,c,d,e,f导通,g截止,显示0。这种显示方式每一位都需要有一个位输出口控制。,四位显示器的接口逻辑。如图 所示 优点:编程容易,管理简单,亮度较高, 缺点:占用口线资源较多。,LED静态显示方式,LED 动态显示方式,动态显示就是一位一位地轮流点亮显示器各个位(扫描),对于显示器的每一位来说,每隔一段时间点亮一次。 显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。,4位段LED动态显示器电路 在多位LED显示时,为了简化硬件电路,通常将所在位段选线相应地并联在一起,由一个(7段LED)8位I/O口控制,形成段线的多路复用。而各位的共阳极或共阴极分别由相应的I/O口线控制,实现各位的分时选通。,LED 动态显示方式,LED 动态显示方式,扫描显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其它各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字符的字型码,这样同一时刻,4位LED中只有选通的那一位显示出字符,而其它三位则是熄灭的。 由于人眼有视觉暂留现象,只要每位显示间隔足够短,则可造成多位同时亮的假象,达到显示的目的。,MCS-51单片机与LED显示器接口技术,要使LED显示器显示出字符,必须提供段选码和位选码。 段选码(即字码)可以用硬件译码的方法获得,也可以用软件的方法获得。 位选码 静态显示和动态显示。 下面介绍软件译码显示器接口方法。,在AT89S51单片机的P0和P2端口分别接有两个共阴数码管,P0口驱动显示秒时间的十位,而P2口驱动显示秒时间的个位。,#include unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f; unsigned char Second; void delay1s(void) unsigned char i,j,k; for(k=100;k0;k-) for(i=20;i0;i-) for(j=248;j0;j-); void main(void) Second=0; P0=tableSecond/10; P2=tableSecond%10; while(1) delay1s(); Second+; if(Second=60) Second=0; P0=tableSecond/10; P2=tableSecond%10; ,无条件传送方式,三、MCS-51单片机的中断系统,(一)单片机中断技术概述,1中断的定义 所谓“中断”,是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中止当前的程序,转去处理更紧急的事件(执行中断服务程序),处理完毕(中断服务完成)后,CPU自动返回原程序的过程。 作用:采用中断技术可以提高CPU效率、解决速度矛盾、实现并行工作、分时操作、实时处理、故障处理、应付突发事件,可使多项任务共享一个资源(CPU)。 中断与子程序的最主要区别:子程序是预先安排好的,中断是随机发生的。 中断涉及的几个环节:中断源、 中断申请、开放中断、保护现场、中断服务、恢复现场、中断返回。,2. 中断源 中断源是指引起中断的设备或事件,或发出中断请求的源头。 3. 中断的分类 中断按功能通常可分为可屏蔽中断、非屏蔽中断和软件中断三类。 可屏蔽中断是指CPU可以通过指令来允许或屏蔽中断的请求。 非屏蔽中断是指CPU对中断请求是不可屏蔽的,一旦出现,CPU必须响应。 软件中断则是指通过相应的中断指令使CPU响应中断。 4. 中断优先权与中断嵌套 中断优先级(也称为中断优先权):给每个中断源指定中断响应的优先级别, CPU按中断源的优先级高低顺序响应各中断源发出的中断请求。 中断嵌套:在某一瞬间,CPU因响应某一中断源的中断请求而正在执行它的中断服务程序时,若又有一级别高的中断源向CPU发出中断请求,且CPU的中断是开放的,CPU可以把正在执行的中断服务程序暂停下来,转而响应和处理优先权更高的中断源的中断请求,等处理完后再转回来,继续执行原来的中断服务程序,这就是中断嵌套。 中断嵌套的过程和子程序嵌套过程类似,子程序的返回指令是RET,而中断服务程序的返回指令是RETI。,5. 中断响应及处理过程 保护断点 寻找中断源 中断处理 中断返回保护断点和寻找中断源都是由硬件自动完成的,用户不用考虑。6. 中断系统的功能中断系统:能够实现中断功能的硬件电路和软件程序。中断系统的功能:能够实现中断优先权排队、中断嵌套、自动响应中断和中断返回等功能。 MCS-51单片机的大部分中断电路都是集成在芯片内部的,只有外部中断请求信号产生电路才分散在各中断源电路和接口电路中。,(二)MCS-51的中断系统,MCS-51提供了5个中断源,2个中断优先级控制,可实现2个中断服务嵌套。可通过程序设置中断的允许或屏蔽,设置中断的优先级。1MCS-51的中断源 8051允许5个中断源:(1)外部中断源(中断标志为IE0和IE1 ) 由 INT0( P3.2 )端口线引入,低电平或下降沿引起。 由 INT1( P3.3 )端口线引入,低电平或下降沿引起。(2)内部中断源 (中断标志为TF0、TF1和TI/RI ) T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 TI/RI:串行I/O中断,完成一帧字符发送/接收引起。,8051的中断结构如下图所示。,CPU识别中断申请的依据: CPU在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置位,将启动中断机制。2中断控制 MCS-51单片机设置了4个专用寄存器用于中断控制,用户通过设置其状态来管理中断系统。(1)定时器控制寄存器TCON (88H),TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0,TF0/TF1:定时器溢出中断申请标志位(由硬件自动置位)。 =0:定时器未溢出; =1:定时器溢出(由全“1”变成全“0”)时由硬件自动置位,申请中断,中断被CPU响应后由硬件自动清零。,TR0/TR1:定时器运行启停控制位(可由用户通过软件设置 )。 =0:定时器停止运行; =1:定时器启动运行。IE0/IE1:外部中断申请标志位(由硬件自动置位 ,中断响应后转向中断服务程序时,由硬件自动清0 )。 =0:没有外部中断申请; =1:有外部中断申请。IT0/IT1:外部中断请求的触发方式控制位(可由用户通过软件设置 )。 =0:在INT0/INT1端申请中断的信号低电平有效; =1:在INT0/INT1端申请中断的信号负跳变有效。,(2)串行口控制寄存器SCON (98H),TI/RI:串行口发送/接收中断申请标志位(由硬件自动置位,必须由用户在中断服务程序中用软件清0)。 =0:没有串行口发送/接收中断申请; =1:有串行口发送/接收中断申请。 SCON的高6位用于串行口工作方式设置和串行口发送/接收控制。 (3)中断允许控制寄存器IE (0A8H),SM0 SM1 SM2 REN TB8 RB8 TI RI,(3)中断允许控制寄存器IE (0A8H),EA ES ET1 EX1 ET0 EX0,EX0/EX1/ET1/ET0/ES 位:分别是 / ,T0/T1,串行口的中断允许控制位。 =0 :禁止中断; =1 :允许中断。EA:总的中断允许控制位(总开关): =0 :禁止全部中断; =1 :允许中断。,(4)中断优先级控制寄存器IP (0B8H),8051有两个中断优先级,即高优先级和低优先级,每个中断源都可设置为高或低中断优先级,以便CPU对所有的中断实现两级中断嵌套。 8051内部中断系统对各中断源的中断优先级有一个统一的规定,称为自然优先级(也称为系统缺省优先级)。如下表所示。,8051单片机的中断优先级采用了自然优先级和人工设置高、低优先级的策略,中断处于同一级别时,就由自然优先级确定。开机时,每个中断都处于低优先级,中断优先级可以通过程序来设定,由中断优先级寄存器IP来统一管理。,(4)中断优先级控制寄存器IP (0B8H),PS PT1 PX1 PT0 PX0,PX0/PX1:INT0 /INT1中断优先级控制位: =0 :属低优先级; =1 :属高优先级。PT0/PT1:T0/T1中断优先级控制位: =0 :属低优先级; =1 :属高优先级。PS1:串行口中断优先级控制位: =0 :属低优先级; =1 :属高优先级。,中断优先级处理原则: 对同时发生多个中断申请时: 不同优先级的中断同时申请:先高后低 相同优先级的中断同时申请:按序执行 正处理低优先级中断又接到高级别中断:高打断低 正处理高优先级中断又接到低级别中断:高不理低,3中断响应,(1)中断响应的条件 MCS-51单片机工作时,在每个机器周期中都会去查询各个中断标志,如果有中断请求。必须满足下列条件单片机才能响应中断。 相应的中断是开放的; 没有同级的中断或更高级别的中断正在处理; 正在执行的指令必须执行完最后 1个机器周期; 若正在执行RETI,或正在访问IE或IP寄存器,则必须执行完当前指令的下一条指令。后方能响应中断。,(2)中断响应的过程,中断过程包括中断请求、中断响应、中断服务、中断返回四个阶段。 中断请求:中断源将相应请求中断的标志位置 “1”,表示发出请求,并由CPU 查询。 中断响应:在中断允许条件下相应中断。断点入栈撤除中断标志关闭低同级中断允许中断入口地址送PC。 这些工作都是由硬件自动完成的。 中断服务:根据入口地址转中断服务程序,包含保护现场、执行中断主体、恢复现场。 中断返回:执行中断返回RETI指令断点出栈开放中断允许返回原程序。,中断服务程序入口地址: 中断响应的主要内容就是由硬件自动生成一条长调用指令(LCALL addr16),CPU执行这条长调用指令便响应中断,转入相应的中断服务程序。这里的addr16就是程序存储器中相应的中断服务程序的入口地址,MCS-51的5个中断源的中断服务程序入口地址是固定的,如下表所示。,4中断请求的撤除,为了避免中断请求标志没有及时撤除而造成的重复响应同一中断请求的错误, CPU在相应中断时必须及时将其中断请求标志位撤除。 8051的5个中断源的中断请求撤除的方法是不同的。(1)定时器溢出中断请求的撤除 定时器溢出中断得到响应后,其中断请求的标志位TF0和TF1由硬件自动复位。(2)串行口中断请求的撤除 串行口中断得到响应后,其中断请求的标志位TI和RI不能由硬件自动复位,必须由用户在中断服务程序的适当位置通过如下指令将它们撤除。 CLR TI ; 撤除发送中断请求标志 CLR RI ; 撤除接收中断请求标志 或采用字节型指令:ANL SCON, #0FCH,(3)外部中断请求的撤除,外部中断请求的两种触发方式(电平触发和负边沿触发)的中断请求撤除的方法是不同的。 负边沿触发方式:CP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年《劳动关系协调员》考试模拟练习题(附参考答案)
- 综合效应量化方法研究-洞察与解读
- 虚拟社交技能训练-洞察与解读
- 2025年劳务员基础(劳务员)新试题库附答案
- 2025年事业单位招聘考试电子商务类综合专业能力测试试卷:真题模拟详解
- 2025年事业单位面试真题模拟试卷:面试考前押题卷与心理调适
- 福州事业单位招聘考试综合类职业能力倾向测验真题模拟试卷
- 红外线护理考试题及答案
- 赫贤入学考试题目及答案
- 培训项目衰退期风险防控-洞察与解读
- 自备车补贴申请表
- 信息论与编码(第4版)完整全套课件
- 汽修厂安全风险分级管控清单
- GB/T 2679.7-2005纸板戳穿强度的测定
- GB/T 25840-2010规定电气设备部件(特别是接线端子)允许温升的导则
- GB/T 25146-2010工业设备化学清洗质量验收规范
- 参考资深同传
- 多功能注氧仪说明书课件
- 科隆电磁流量计培训课件
- 全集举一反三课件奥数五年级(数学)
- 中国民间故事整本书导读课教学设计
评论
0/150
提交评论