单片机的内部资源及应.ppt
《单片机的内部资源及应.ppt》由会员分享,可在线阅读,更多相关《单片机的内部资源及应.ppt(104页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 MCS-51单片机的内部资源及应用主要内容:MCS-51单片机内部各器件的具体结构、组成原理、工作方式的设置及典型应用,为读者后续学习单片机应用系统设计、充分利用单片机内部资源解决工程实际问题奠定基础。重点在于各器件工作方式的设置及灵活应用,难点在于中断系统和定时器/计数器的应用。3.1.1 MCS-51 3.1.1 MCS-51内部并行内部并行I/OI/O口口 8051有4个8位并行I/O口,分别命名为P0,P1,P2和P3口。1 1P0P0口口 P0口为双向三态输入/输出口,P0口既可作为地址/数据总线口,又可作为通用I/O口,可驱动8个TTL输入。在访问3.1 MCS-513.1
2、 MCS-51单片机的并行单片机的并行I/OI/O口口 外部存储器时,P0口作地址/数据总线复用口,是一个真正的双向口,并分时送出地址的低8位和送出(或接收)相应存储单元的数据。作通用I/O口时,P0口只是一个准双向口,需要在外部引脚处外接上拉电阻。P0口的位结构如右图所示。2 2P2P2口口 P2口常用做外部存储器的高8位地址口。当不用做地址口时,P2口也可作为通用I/O口,这时它也是一个准双向I/O口。不必外接上拉电阻就可以驱动任何MOS驱动电路,且只能驱动4个TTL输入。P2口的位结构如右图所示。3 3P1P1口口 P1口常用做通用I/O口,它也是一个标准的准双向I/O口,不必外接上拉电
3、阻就可以驱动任何MOS驱动电路,且只能驱动4个TTL输入。P1口的位结构如右图所示。4 4P3P3口口 P3口是一个双功能口,第一功能与P1口一样可用做通用I/O口,也是一个准双向I/O口,能驱动4个TTL输入。另外还具有第二功能。P3口工作在第二功能时各管脚定义如下表所示。P3口的位结构图如右图所示。3.1.2 MCS-513.1.2 MCS-51内部并行内部并行I/OI/O口的应用口的应用 MCS-51I/OMCS-51I/O端口的操作方式:端口的操作方式:(1)输出数据方式:CPU通过一条数据传送指令就可以把输出数据写入P0P3的端口锁存器,然后通过输出驱动器送到端口引脚线。例如,下面的
4、指令均可在P0口输出数据。MOV P0,A ANL P0,#data ORL P0,A(2)读端口数据方式:CPU读入的这个数据并非端口引脚线上的数据。读端口数据可以直接读端口。例如,下面的指令均可以从P1口输入数据,这是锁存器上的数据。MOV A,P1 MOV 20H,P1 MOV R0,P1 MOV R0,P1(3)读端口引脚方式:读端口引脚方式可以从端口引脚上读入信息。在这种方式下,CPU首先必须使欲读端口引脚所对应的锁存器置1,然后才能读端口引脚。因此,用户在读引脚时必须先置位锁存器后读,连续使用两条指令。例如,下面的程序可以读P1引脚上的信号。MOV P1,#0FFH ;置位P1引脚
5、的锁存器 MOV A,P1 ;读P1引脚上的信号送累加器A 注意:写引脚时是直接向端口输出要写的数据,读引脚时就要区分是读端口的引脚信号还是读锁存器信 号。读端口信号是必须先向端口写“1”,然后再读,这就是单片机口信号的准双向的含义。切记!(见P106)在I/O口直接用做输入/输出时,CPU既可以把它们看做数据口,也可以看做状态口,这是由用户决定的。例题例题11要求设计跑马灯。硬件电路设计:1.设计单片机最小系统设计单片机最小系统 2.设计带按键的复位电路设计带按键的复位电路 3.使用一个使用一个P口连接八个口连接八个led发光二极管发光二极管 4.软件设计软件设计 各引脚功能如下:VCC:接
6、正电源;Vss:接地;1 1I/OI/O口直接用于输入口直接用于输入/输出输出 程序设计:程序设计:;实验一:单片机最小系统及流水灯程序实验一:单片机最小系统及流水灯程序 org 00h ;源程序起始地址源程序起始地址jmp main ;跳转到跳转到MAINorg 0050h ;主程序开始地址主程序开始地址main:mov a,#11111110B;立即数送入立即数送入Aloop:mov p1,a ;数据送数据送P1口口 rr a ;右循环一下;右循环一下 lcall delay ;延时子程序延时子程序 ajmp loop;重复循环;重复循环delay:mov r3,#250 ;延时子程序;延
7、时子程序d1:mov r4,#235d2:nopnopnopdjnz r4,d2djnz r3,d1 retend2 2I/OI/O口扩展外部锁存器口扩展外部锁存器 为了输出数据并保持这个输出状态,MCS-51单片机常常需要使I/O口通过外部锁存器和输出设备相连。如下图所示为8051通过74LS273与输出设备连接的接口图。8051通过下面的指令输出数据至数码管:MOV DPTR,#7FFFH ;DPTR指向74LS273端口,地址为7FFFH)MOVX DPTR,A ;输出数据到数码管上 74LS273是带有清除端的8D触发器,只有在清除端保持高电平时,才具有锁存功能,锁存控制端为11脚CL
8、K,采用上升沿锁存。CPU 的ALE信号必须经过反相器反相之后才能与74LS273的控制端CLK 端相连。地址锁存器使用74LS373较多。引脚图如下页图所示。与8051连接电路如下页图所示。WR 上图中的ag七个笔划(段)及小数点dp均为发光二极管。数码管显示器根据公共端的连接方式,可以分为共阴极数码管(将所有发光二极管的阴极连在一起)和共阳极数码管(将所有发光二极管的阳极连在一起)。单片机系统扩展LED数码管时多用共阳LED。共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。但是共阴管的亮度比共阳管的要亮些。通
9、常每个段笔画要串一个数百欧姆的降压电阻。笔画的选择称为段选,公共端的选择称为位选。;八个数码管动态显示程序org 00hajmp mainorg 50hmain:mov r2,#00h;将要显示的数字送R2sss:mov dptr,#tab;查表取得数字的字型码送R0mov a,r2movc a,a+dptrmov r0,amov r6,#40h;循环调用显示程序延时1.5Sxsh1:lcall disp1djnz r6,xsh1inc r2;将下一个要显示数字送R2cjne r2,#0ah,sss;判断数字9显示完否?ajmp maindisp1:mov r5,#08h;显示程序开始,将要显
10、示的位数送R5mov r1,#0feh;将要显示的位码送R1dis00:mov dptr,#7fffh;将要显示的字型码送74LS273mov a,r0movx dptr,amov a,r1;将位选码送入R1mov p2,alcall delay;调延时1MS子程序rl a;位选左移,选中下一位,如果8位数字mov r1,a;显示完了则返回djnz r5,dis00retdelay:mov r3,#08h ;延时1MS程序loop:mov r4,#0a0hdjnz r4,$djnz r3,looprettab:db 0c0h,0f9h,0a4h,0b0h,99h;字型表db 92h,82h,0
11、f8h,80h,90hend3.2 MCS-51单片机的中断系统单片机的中断系统 计算机与外界的联系是通过外部设备(也称为外设、输入/输出设备或I/O设备)与外界联系的。计算机与外设之间不是直接相连的,而是通过不同的接口电路来达到彼此间的信息传送的目的。计算机与外设之间交换信息的方式:计算机与外设之间交换信息的方式:(1)无条件传送方式:外设对计算机来说总是准备好的。(2)查询传送方式:传送前计算机先查询外设的状态,若已经准备好就传送,否则就继续查询/等待。(3)中断传送方式:外设通过申请中断的方式与计算机进行数据传送。(4)直接存储器存取方式(DMA):传送数据的双方直接通过总线传送数据,不
12、经CPU中转。3.2.1 3.2.1 中断的基本概念中断的基本概念 1 1中断的定义中断的定义 所谓“中断”,是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中止当前的程序,转去处理更紧急的事件(执行中断服务程序),处理完毕(中断服务完成)后,CPU自动返回原程序的过程。作用:作用:采用中断技术可以提高CPU效率、解决速度矛盾、实现并行工作、分时操作、实时处理、故障处理、应付突发事件,可使多项任务共享一个资源(CPU)。中断与子程序的最主要区别:中断与子程序的最主要区别:子程序是预先安排好的,中断是随机发生的。中中断断涉涉及及的的几几个个环环节节:中断源、中断申请、开放中断、保护现场、
13、中断服务、恢复现场、中断返回。2.2.中断源中断源 中断源是指引起中断的设备或事件,或发出中断请求的源头。3.3.中断的分类中断的分类 中断按功能通常可分为可屏蔽中断、非屏蔽中断和软件中断三类。可屏蔽中断是指CPU可以通过指令来允许或屏蔽中断的请求。非屏蔽中断是指CPU对中断请求是不可屏蔽的,一旦出现,CPU必须响应。软件中断则是指通过相应的中断指令使CPU响应中断。4.4.中断优先权与中断嵌套中断优先权与中断嵌套 中中断断优优先先级级(也也称称为为中中断断优优先先权权):给每个中断源指定中断响应的优先级别,CPU按中断源的优先级高低顺序响应各中断源发出的中断请求。中中断断嵌嵌套套:在某一瞬间
14、,CPU因响应某一中断源的中断请求而正在执行它的中断服务程序时,若又有一级别高的中断源向CPU发出中断请求,且CPU的中断是开放的,CPU可以把正在执行的中断服务程序暂停下来,转而响应和处理优先权更高的中断源的中断请求,等处理完后再转回来,继续执行原来的中断服务程序,这就是中断嵌套。中断嵌套的过程和子程序嵌套过程类似,子程序的返回指令是RET,而中断服务程序的返回指令是RETI。5.5.中断响应及处理过程中断响应及处理过程 保护断点 寻找中断源 中断处理 中断返回保护断点和寻找中断源都是由硬件自动自动完成的,用户不用考虑。6.6.中断系统的功能中断系统的功能中断系统:中断系统:能够实现中断功能
15、的硬件电路和软件程序。中中断断系系统统的的功功能能:能够实现中断优先权排队、中断嵌套、自动响应中断和中断返回等功能。MCS-51单片机的大部分中断电路都是集成在芯片内部的,只有外部中断请求信号产生电路才分散在各中断源电路和接口电路中。3.2.2 MCS-513.2.2 MCS-51的中断系统的中断系统 MCS-51提供了5个中断源,2个中断优先级控制,可实现2个中断服务嵌套。可通过程序设置中断的允许或屏蔽,设置中断的优先级。1 1MCS-51MCS-51的中断源的中断源 8051允许5个中断源:(1)外部中断源(中断标志为IE0和IE1)由 (P3.2)端口线引入,低电平或下降沿引起。由 (P
16、3.3)端口线引入,低电平或下降沿引起。(2)内部中断源(中断标志为TF0、TF1和TI/RI)T0:定时/计数器0中断,由T0回零溢出引起。T1:定时/计数器1中断,由T1回零溢出引起。TI/RI:串行I/O中断,完成一帧字符发送/接收引起。8051的中断结构如下图所示。CPU识别中断申请的依据:识别中断申请的依据:CPU在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置位,将启动中断机制。2 2中断控制中断控制 MCS-51单片机设置了4个专用寄存器用于中断控制,用户通过设置其状态来管理中断系统。(1)定时器控制寄存器TCON(88H)TF1TF1 TR1TR1
17、 TF0TF0 TR0TR0 IE1IE1 IT1IT1 IE0IE0 IT0IT0TF0/TF1:定时器溢出中断申请标志位(由硬件自动置位)。=0:定时器未溢出;=1:定时器溢出(由全“1”变成全“0”)时由硬件自动置位,申请中断,中断被CPU响应后由硬件自动清零。TR0/TR1:定时器运行启停控制位(可由用户通过软件设置)。=0:定时器停止运行;=1:定时器启动运行。IE0/IE1:外部中断申请标志位(由硬件自动置位,中断响应后转向中断服务程序时,由硬件自动清0)。=0:没有外部中断申请;=1:有外部中断申请。IT0/IT1:外部中断请求的触发方式控制位(可由用户通过软件设置)。=0:在I
18、NT0/INT1端申请中断的信号低电平有效;=1:在INT0/INT1端申请中断的信号负跳变有效。(2)串行口控制寄存器SCON(98H)TI/RI:串行口发送/接收中断申请标志位(由硬件自动置位,必须由用户在中断服务程序中用软件清0)。=0:没有串行口发送/接收中断申请;=1:有串行口发送/接收中断申请。SCON的高6位用于串行口工作方式设置和串行口发送/接收控制。(3)中断允许控制寄存器IE(0A8H)SM0SM0 SM1SM1 SM2SM2 RENREN TB8 TB8 RB8RB8 TI RI TI RI EAEA ES ET1 EX1 ET0 EX0ES ET1 EX1 ET0 EX
19、0(3)中断允许控制寄存器IE(0A8H)EA EA ES ET1 EX1 ET0 EX0ES ET1 EX1 ET0 EX0EX0/EX1/ET1/ET0/ES 位:分别是 /,T0/T1,串行口的中断允许控制位。=0:禁止中断;=1:允许中断。EA:总的中断允许控制位(总开关):=0:禁止全部中断;=1:允许中断。(4)中断优先级控制寄存器IP(0B8H)8051有两个中断优先级,即高优先级和低优先级,每个中断源都可设置为高或低中断优先级,以便CPU对所有的中断实现两级中断嵌套。8051内部中断系统对各中断源的中断优先级有一个统一的规定,称为自然优先级(也称为系统缺省优先级)。如下表所示。
20、8051单片机的中断优先级采用了自然优先级和人工设置高、低优先级的策略,中断处于同一级别时,就由自然优先级确定。开机时,每个中断都处于低优先级,中断优先级可以通过程序来设定,由中断优先级寄存器IP来统一管理。(4)中断优先级控制寄存器IP(0B8H)PS PT1 PS PT1 PX1 PX1 PT0 PX0PT0 PX0PX0/PX1:/优先级控制位:=0:属低优先级;=1:属高优先级。PT0/PT1:T0/T1中断优先级控制位:=0:属低优先级;=1:属高优先级。PS1:串行口中断优先级控制位:=0:属低优先级;=1:属高优先级。中断优先级处理原则:对同时发生多个中断申请时:不同优先级的中断
21、同时申请:先高后低 相同优先级的中断同时申请:按序执行 正处理低优先级中断又接到高级别中断:高打断低 正处理高优先级中断又接到低级别中断:高不理低3中断响应中断响应(1)中断响应的条件 MCS-51单片机工作时,在每个机器周期中都会去查询各个中断标志,如果有中断请求。必须满足下列条件单片机才能响应中断。相应的中断是开放的;没有同级的中断或更高级别的中断正在处理;正在执行的指令必须执行完最后 1个机器周期;若正在执行RETI,或正在访问IE或IP寄存器,则必须执行完当前指令的下一条指令。后方能响应中断。(2)中断响应的过程 中断过程包括中断请求、中断响应、中断服务、中断返回四个阶段。中中断断请请
22、求求:中断源将相应请求中断的标志位置“1”,表示发出请求,并由CPU 查询。中中断断响响应应:在中断允许条件下相应中断。断点入栈撤除中断标志关闭低同级中断允许中断入口地址送PC。这些工作都是由硬件自动完成的。中中断断服服务务:根据入口地址转中断服务程序,包含保护现场、执行中断主体、恢复现场。中中断断返返回回:执行中断返回RETI指令断点出栈开放中断允许返回原程序。中断服务程序入口地址:中断服务程序入口地址:中断响应的主要内容就是由硬件自动生成一条长调用指令(LCALL addr16),CPU执行这条长调用指令便响应中断,转入相应的中断服务程序。这里的addr16就是程序存储器中相应的中断服务程
23、序的入口地址,MCS-51的5个中断源的中断服务程序入口地址是固定的,如下表所示。8051的5个中断源的中断服务入口地址之间相差8个单元。这8个存储单元用来存储中断服务程序一般来说是不够的。用户常在中断服务程序地址入口处放一条三字节的长转移指令。一般地,主程序从0030H单元以后开始存放。例如:ORG 0000HLJMP START ;转入主程序,START为主程序地址标号ORG 0003HLJMP INT0 ;转外中断中断服务程序ORG 000BHLJMP T0 ;转定时器T0中断服务程序ORG 0030HSTART:;主程序开始(3)中断响应时间 正常中断响应时间至少为38个机器周期,如果
24、有同级或高级中断服务,将延长中断响应时间。4中断请求的撤除中断请求的撤除 为了避免中断请求标志没有及时撤除而造成的重复响应同一中断请求的错误,CPU在相应中断时必须及时将其中断请求标志位撤除。8051的5个中断源的中断请求撤除的方法是不同的。(1)定时器溢出中断请求的撤除 定时器溢出中断得到响应后,其中断请求的标志位TF0和TF1由硬件自动自动复位。(2)串行口中断请求的撤除 串行口中断得到响应后,其中断请求的标志位TI和RI不能由硬件自动复位,必须由用户在中断服务程序的适当位置通过如下指令将它们撤除。CLR TI ;撤除发送中断请求标志 CLR RI ;撤除接收中断请求标志 或采用字节型指令
25、:ANL SCON,#0FCH(3)外部中断请求的撤除 外部中断请求的两种触发方式(电平触发和负边沿触发)的中断请求撤除的方法是不同的。负负边边沿沿触触发发方方式式:CPU在前一机器周期采到 /引脚为高,后一机器周期采到为低才认为是一次中断请求,即依靠CPU两次检测 (或 )上的负边沿触发电平状态而置位外部中断标志位IE0或IE1。CPU 可记忆申请、可由硬件自自动动撤除中断申请。电电平平触触发发方方式式:/引脚上的低电平须持续到中断发生。若中断返回前仍未及时撤除低电平,虽然CPU在响应中断时能由硬件自动复位IE0或IE1,但引脚上的低电平仍会使已经复位的IE0或IE1再次置位,产生重复中断的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 内部 资源
限制150内