四.80C51单片机的中断系统中有几个优先级,如何设定?
答:80C51单片机的中断系统具有两个中断优先级,中断优先级的设定:由专用寄存器IP统一管理,由软件设置每个中断源为高优先级中断或低优先级中断,可实现两级中断嵌套。专用寄存器IP为中断优先级寄存器,锁存各中断源优先级的控制位,用户可由软件设定。其格式如下: IP BCH BBH BAH B9H B8H (B8H)
___PPTPX1 PTPX0
_ _ _ S 1 0
1.IP.4 PS——串行口中断优先级控制位。PS=1,设定串行口为高优先级中断,PS=0,为低优先级中断。 2.IP.3=0 PT1-----定时器T1中断优先级控制位。PT1=1,设定定时器T1为高优先级中断。PT1=0,为低优先级中断。
3.IP.2 PX1——外部中断1中断优先级控制位。PX1=1,设定外部中断1为高优先级中断。PX1=0,为低优先级中断。
4.IP.1 PT0——定时器T0中断优先级控制位。PT0=1,设定定时器T0为高优先级中断;PT0=0,为低优先级中断。
5.IP.0 PX0——外部中断0中断优先级控制位。PX0=1,设定外部中断0为优先级中断;PX0=0,为低优先级中断。
当系统复位后,IP低5位全部清0,将所有中断源设置为低优先级中断。如果几个统一优先级的中断源同时向CPU申请中断CPU通过内部硬件查询逻辑按自然优先级顺序确定该响应哪个中断请求。其自然优先级由硬件形成,排列如下: 中断源 自然优先级 外部中断0 最高级 定时器T0中断 外部中断1 定时器T1中断
串行口中断 最低级
这种排列顺序在实际应用中很方便,且合理。如果重新设置了优先级,则顺序查询逻辑电路将会相应改变排队顺序。 五.80C51提供哪几种中断?在中断管理上有何特点?什么事同级内的优先权管理?中断请求被封锁的条件有哪些?
答:1.80C51提供的中断80C51提供的中断有五种:外部中断0,外部中断1,定时器/计数器T0,溢出中断,定时器/计数器T1溢出中断和串行中断。2.在中断管理上的特点在中断执行过程中,中断管理的原则是:1高中断优先级可以中断低中断优先级的中断过程。但是,若在中断服务程序中,挂尼奥所有中断或关掉部分中断时除外。2.低中断优先级不能中断高中断优先级的中断过程3.同级别的中断不能相互中断。3.同级内的优先权管理如果几个同级的中断源同时向CPU申请中断时,CPU申请中断时,CPU通过内部硬件查询按自然优先级确定该响应哪个中断请求。4.中断请求被封锁的条件在接受中断申请时,如遇下列情况,硬件生成的长调用指令“LCALL”将被封锁:1,正在执行同级或高一级的中断服务程序2,当前周期不是执行当前指令的最后一个周期;当前正在执行RETI指令或执行对IE,IP的读/写操作指令。
六.80C51有几个中断源,各中断标志是如何产生的?有如何复零的?CPU响应中断时,其中中断入口地址各是多少? 答:(1)单片机的中断源:
1、80C51有五个中断源,分别是:
? INT0(P3.2)外部中断0;当IT0=1时,低电平有效;当IT0=0时,下降沿
有效;
? INT1(P3.3)外部中断1;当IT1=1时,低电平有效;当IT1=0时,下降沿
有效;
? TF0(P3.4)定时器/计数器T0溢出中断; ? TF1(P3.5)定时器/计数器T1溢出中断; ? RX,TX串行中断;
2、中断标志的产生和清零:
? T1溢出中断标志:TF1;T1计数溢出,硬件置位,响应中断时,硬件复位。
不使用中断时用软件清零;
? T0溢出中断标志:TF0;T0计数溢出,硬件置位,响应中断时,硬件复位。
不使用中断时用软件清零;
? 外部中断1标志:IE1;当CPU采样到INT1端出现有效中断请求时,IE1为
硬件置1;响应中断后,转向中断服务程序时,硬件复位。
? 外部中断0标志:IE0;当CPU采样到INT0端出现有效中断请求时,IE0为
硬件置1;响应中断后,转向中断服务程序时,硬件复位。
? 串行中断发送中断标志:TI;发送完一帧,硬件置位;响应中断后,必须软
件清零;
? 串行中断接受中断标志:RI;接受完一帧,硬件置位;响应中断后,必须软
件清零;
2中断入口地址:
中断源 中断入口地址 外部中断0 0003H 定时器/计数器T0 000B H 外部中断1 0013 H 定时器/计数器T1 001B H 串行口中断 0023 H
七、什么是中断?在单片机中中断能实现那些功能?
答:中断是通过硬件来改变CPU程序运行方向。计算机在执行程序的过程中,由于CPU以外的某种原因,有必要尽快终止当前程序的执行,而去执行相应的处理程序,带处理结束后,再回来继续执行被终止了的程序。这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。
单片机中中断能实现如下功能: (1)能实现中断及返回
当某一个中断源发出中断申请时,CPU能决定是否响应这个中断请求。若允许响应这个中断请求,CPU必须在执行的指令执行完后,把断点处的PC值推入堆栈保留下来----称为保护断点。这一步是硬件自动执行的。 (2)能实现优先权排队
计算机能按中断源级别高低逐次响应的过程称为优先权排队。这个过程可以通过硬件电路来实现,也可以通过程序查询来实现。 (3)能实现中断嵌套 当CPU响应某一中断请求,在进行中断处理时,若哟优先权级别更高的中断源发出中断申请,则CPU能中断正在进行的中断服务程序,并保留这个程序的断点,响应高级中断;在高级中断处理完以后,再继续进行被中断的中断服务程序。这个过程称为中断嵌套。
八、什么是中断优先级?中断优先级处理的原则是什么? 答:通常在系统中有多个中断源,有事会出现两个或更多个中断源同时提出中断请求的情况。这就要求计算机既能区分各个中断源的请求,又能确定首先为哪一个中断源服务。为了解决这一问题,通常给各个中断源规定了优先级别,称为优先权或中断优先级。
中断优先级处理的原则是:当两个或者两个以上的中断源同时提出中断请求时,计算机首先为优先权最高的中断源服务,服务结束后,再响应级别较低的中断源。 九.80C51的串行口有几种工作方式及其功能特点?如何选择和设定?
答:在串行口控制寄存器SCON中的SM0和SM1位决定串行口的工作方式;SM2位决定串行口应用于多处理机通信方式。1.方式0当SM0=0,SM1=0时,串行口选择方式0.这种工作方式实质上是一种同步移位寄存器方式。方式0时,数据传输波特率固定为1/12f,数据由RXD(P3.0)引脚输出。接收/发送的是8位数据,传输时低位在前。帧格式如下: ?? D0 D1 D2 D3 D4 D5 D6 D7 ?? 2.方式1当SM0=0,SM1=1时,串行口选择方式1.方式1时,数据传输波特率由定时器/计数器T1和T2的溢出决定,可用程序设定。由TXD(P3.1)引脚发送数据,由RXD(P3.0)引脚接收数据;发送或接收一帧信息为10位:1位起始位(0),8位数据位和1位停止位(1)。帧格式如下: 起始 D0 D1 D2 D3 D4 D5 D6 D7 停止 3.方式2和3当SM=1,SM1=0时,串行口选择方式2;当SM0=1,SM1=1时,串行口选择方式3.方式2和3的区别在于它们波特率产生方式不同。方式2的波特率是固定的,为振荡器频率的1/32f或1/64f;方式3的波特率则由定时器/计数器T1和T2的溢出决定,可用程序设定的。由TXD(P3.1)引脚发送数据,由RXD(P3.0)引脚接收数据。发送或接收一帧信息为11位:1位起始位(0),9位数据位和1位停止位(1)。帧格式如下: 起始 D0 D1 D2 D3 D4 D5 D6 D7 D8 停止