文档库 最新最全的文档下载
当前位置:文档库 › 中断小结

中断小结

中断小结
中断小结

关于中断部分的小结(1):

中断是单片机和其他各种微处理器中必不可少的一部分之一,在此对51单片机中断有用的部分加以小结。

小结(1)主要是对中断部分,对中断编程常用的特殊功能寄存器加以罗列小结,这一部分是中断思想的核心,以后的编程全部围绕这些寄存器进行。以后对于中断的编程及其寄存器设置可参考这一部分内容。

一、关于51中断:

对于51单片机中断子程序的编写我们必须知道大多51单片机芯片有5个中断源,有2个中断优先级,每个中断源的优先级可以编程控制。

5个中断源分别是:

外部中断0,由INT0/P3.2输入

外部中断1,由INT1/P3.3输入

定时器/计数器0,溢出中断请求;

定时器/计数器1,溢出中断请求;

串行口发送/接收,中断请求;

这里给出一个非常经典的中断源图,根据这个图我们就能大概知道中断的具体过程,以及在中断编程中哪些地方需要设置。

很明显的,5个中断源可以分为三类,外部中断,定时器中断和串口中断;并且我们需要对TCON,IE,IP等进行设置。

二、几个重要的特殊功能寄存器:

1.中断允许控制寄存器IE

CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。

EX0(IE.0),外部中断0允许位;

ET0(IE.1),定时/计数器T0中断允许位;

EX1(IE.2),外部中断1允许位;

ET1(IE.3),定时/计数器T1中断允许位;

ES(IE.4),串行口中断允许位;

EA (IE.7), CPU中断允许(总允许)位。

2.控制寄存器TCON

TCON的低4位用于控制外部中断, TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:

TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。

TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。

TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。

TR0(TCON.4):T0运行控制位,其功能与TR1类同。

IE1(TCON.3),外部中断1中断请求标志位。

IT1(TCON.2),外部中断1触发方式控制位。

当IT0=0时,为电平触发方式。

当IT0=1时,为边沿触发方式(下降沿有效)。

IE0(TCON.1),外部中断0中断请求标志位。

IT0(TCON.0),外部中断0触发方式控制位。

当IT0=0时,为电平触发方式。

当IT0=1时,为边沿触发方式(下降沿有效)。

3.串口控制寄存器SCON

RI(SCON.0),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI向CPU申请中断。注意,RI必须由软件清除。

TI(SCON.1),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI向CPU 申请中断。注意,TI必须由软件清除。

4.中断优先级寄存器IP

51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的。

PX0(IPH.0),外部中断0优先级设定位;

PT0(IPH.1),定时/计数器T0优先级设定位;

PX1(IPH.2),外部中断0优先级设定位;

PT1(IPH.3),定时/计数器T1优先级设定位;

PS (IPH.4),串行口优先级设定位;

PT2 (IPH.5),定时/计数器T2优先级设定位

三、其他相关:

1.P3口复用功能;

51单片机P3口除了作为通用I/O口外,还具有复用的特殊功能,而这些功能通常都和各种中断有关。

P3.0 RXD(串行数据输入口)

P3.1 TXD(串行数据输出口)

P3.2 INT0(外部中断0)

P3.3 INT1(外部中断1)

P3.4 T0(定时器/计数器0外部输入)

P3.5 T1(定时器/计数器1外部输入)

P3.6 WR(外部数据存储器写脉冲)

P3.7 RD(外部数据存储器读脉冲)

2.中断排队和中断服务入口表

同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:

3.中断函数写法:

在C51中中断函数的完整语法如下:

返回值函数名({参数}) [模式] [重入] interrupt n [ using n ] Interrupt 后面接一个0-31的整数,不允许用表达式。

例:

void INT_TEST() interrupt 0 using 0 //外部中断0/1 编号(0/2)

{

…………

}

中断不允许用于外部函数,小型程序中的中断程序使用默认的寄存器0,不带using属性的可能会取得更高的效率。

其实今后对于中断的应用除了核心思想外,无非是对上述特殊功能寄存器的设置。

关于中断部分的小结(2):

中断是单片机和其他各种微处理器中必不可少的一部分之一,在此对51单片机中断有用的部分加以小结。

小结(2)主要是针对外部中断部分,总结外部中断对特殊功能寄存器的设置以及程序的编写流程。此外这里重点介绍一些中断扩展的方法。

外部中断信号是由P3口的P3.2和P3.3两个管脚输入的。

外部中断程序编写流程:

一、外部中断初始化:

在使用外部中断前,先要设置相关特殊功能寄存器,即初始化过程;

1.开CPU总中断:EA=1;

2.开外部中断:

开外部中断0:EX0=1;

开外部中断1:EX1=1;

3.设置外部中断触发方式:

外部中断0触发控制位IT0;

当IT0=0时,为电平触发方式

当IT0=1时,为边沿触发方式(下降沿有效)

外部中断1触发控制位IT1(同上);

4.外部中断优先级设置(可以不设置)

PX0=1;

PX1=1;

举例如下:

void interrupt_init(void) // 中断初始化

{

EA = 1; //开总中断

EX0 = 1; //开外部中断0

EX1 = 1; //开外部中断0

IT0 = 1; //外部中断0下降沿触发方式

IT1 = 0; //外部中断1电平的触发方式

}

二、主程序

主程序部分为你需要实现的功能,这部分和中断几乎没什么太大关联,只不过,在执行主程序时,如果从外部来一个外部中断信号,不得不放弃现在执行的任务而转而执行中断子程序;

三、中断子程序

这部分主要便是对请求中断成功后进入中断后,你需要执行什么任务;

外部中断子程序写法如下:

void INT_0() interrupt 0 using 0 //外部中断0子程序{

LED0 = ~LED0; //这句话代换成你所需要功能的C代码}

void INT_1() interrupt 2 using 2 //外部中断1子程序{

LED1 = 0; //这句话代换成你所需要功能的C代码}

完整外部中断例程代码如下:

#include

#define uchar unsigned char

sbit wr=P3^6;

sbit LED0 = P1^0;

sbit LED1 = P1^1;

void interrupt_init(void) // 中断初始化

{

EA = 1; //开总中断

EX0 = 1; //开外部中断0

EX1 = 1; //开外部中断0

IT0 = 1; //外部中断0下降沿触发方式

IT1 = 0; //外部中断1电平的触发方式

}

void main(void)

{

wr=0; //低电平时第三列为独立按键

interrupt_init();

while(1)

{

LED1 = 1;

}

}

void INT_0() interrupt 0 using 0 //外部中断0子程序{

LED0 = ~LED0;

}

void INT_1() interrupt 2 using 2 //外部中断1子程序{

LED1 = 0;

}

实现功能:初始灯1和2全灭;

当按下P3.2对应键盘1(矩阵键盘第三行第三列),向下降沿触发外部中断0子程序,按一次键1松手灯1亮,再按一次键1松手灯1灭;

当按下P3.3对应键盘2(矩阵键盘第四行第三列),送入低电平信号触发外部中断1子程序,按下键2灯2亮,松手灯2灭。

中断的扩展:

一、定时器扩展为外部中断源

在51单片机内部有两个定时器/计数器T0和T1,在满足中断响应的情况下,当T0或T1的计数值从全1(0xFFFF)状态进入全0(0x0000)时,此时就会产生定时器溢出中断。

根据以上分析,我们只需要把计数器的初值设置为0xFFFF,那么只要计数输入端再来一个脉冲就可以产生溢出中断申请。设想我们把外部中断输入连接到计数器输入端,就可以利用外部中断申请的负脉冲产生定时器溢出中断申请,而转移到相应中断服务程序入口地址。只要在(0x000B或0x001B)处存放外部中断服务子程序,就可以达到目的。

具体步骤如下:

1.将定时/计数器T0或T1的计数输入端(P3.3或P3.4)作为扩展外部中断

请求输入端。

2.置定时/计数器T0或T1为工作模式2,计数方式—8位自动装载方式。

3.定时/计数器T0或T1的高8位和低8位都预置为全1。

4.在相应的中断服务程序入口(0x000B或0x001B)处存放外部中断服务子程序。

二、软件查询扩展外部中断源

当需要的外部中断源较多,采用第一种方法仍不能满足实际需求,我们可以采用这种方法。

设有四个外部中断源,INT00、INT01、 INT02 、INT03,这四个外部中断请求源的输入端通过一个4路的或非门连接到51单片机的/INT0引脚输入端。只要4个外部中断请求源中有一个或者一个以上的有效(高电平),就会产生一个负的/INT0信号向51单片机发出中断申请。

为了确认在/INT0有效时究竟是INT00、INT01、 INT02 、INT03中哪个发出的中断申请,可以通过软件查询的方法来确认。将四个中断源输入端INT00、INT01、 INT02 、INT03分别接到P1.0~P1.3这四个引脚上。一旦响应中断,在中断服务程序中CPU通过软件查询方法对P1.0~P1.3这四条线的电位进行检测,以确认提出中断申请的中断源。

当扩展的4个外部中断源优先级不同时,软件查询的顺序也应按照优先级的的由高到低顺序进行。设扩展的4个外部中断源的优先级由高到低的顺序是INT00到INT03,则软件查询顺序为P1.0到P1.3。

关于中断部分的小结(3):

中断是单片机和其他各种微处理器中必不可少的一部分之一,在此对51单片机中断有用的部分加以小结。

小结(3)主要是针对定时器中断部分,总结定时器特殊功能寄存器的设置以及程序的编写流程。

一、定时器/计数器简介:

51单片机中至少有二个16位内部的定时器/计数器。定时器/计数器0和1既可以编程为定时器使用,也可以编程为计数器使用。若是计数内部的晶振时钟,则是定时器。若是计数单片机的外部I/O口脉冲信号,则是计数器。51的T/C 是加1 计数器,定时器实际上也是工作在计数的方式下,只不过是对固定频率的脉冲进行计数。对于脉冲周期是固定的,由计数值可以计算出时间。

在定时器/计数器工作在定时状态时,是对晶振的频率12分频脉冲计数,即每个机器周期计数值加1,计数率=1/12(晶振频率FOSC),当晶振为12M的时候,计数率= 1M,每1US计数值加1。当定时器/计数器工作在计数模式下,计数的脉冲来自外部输入引脚T0(P3.4)或T1(P3.5)。当T0或T1脚上有负的跳变时计数值加1,识别引脚上的负跳变需要二个机器,即24个振荡周期。所以在T0或T1输入的可计数外部脉冲的最高频率为1/24(晶振频率FOSC)。当晶振为12M的时候,最高计数率为500KHZ,高于此频率计数值就会出错。

二、与定时器/计数器有关的寄存器

1.定时器工作方式寄存器TMOD

51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。

工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:

GATE:门控位。GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动多了一条件。

TMOD.6:定时/计数模式选择位。

TMOD.6=0为定时模式; TMOD.6=1为计数模式。

M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。

2.计数寄存器TH和TL;

T/C是16位,计数寄存器由TH高8位和TL低8位构成。在特殊功能寄存器(SFR)中,对应定时器/计数器0的为TH0、TL0。对应定时器/计数器1的为TH1、TL1。定时器/计数器的初始值由TH0、TL0和TH1、TL1设置。

三、定时器几种工作方式:

1.工作方式0:

方式0为13位的定时器计数器。TH中存放8位,TL中存放低5位(只用低5位,高3位未用),满计数为213。

初值计算:T定时时间=(8192-X初值)*时钟周期*12

2.工作方式1:

方式1和方式0基本上是相同的,唯一的区别是计数的寄存器是16位的,由TH和TL寄存器各提供8位,满计数值为216。

初值计算:T定时时间=(65536-X初值)*时钟周期*12

*注意:工作在方式0或方式1的时候,当溢出生需要再次重新装入计数值。

3.工作方式2:

方式2是8位的可自动重装载的方式,满计数为28。

方式2中TH和TL被当作二个8位计数器,计数过程中,TH寄存器8位初值保持不变,由TL进行8位计数,当计数溢出的时候,除了产生溢出中断请求外,还自动将TH中的初值重装在到TL中,不会像方式0或方式1再装入数据。除了这个自动重装载的不同之外,其它的和方式0完全一样。

初值计算:T定时时间=(256-X初值)*时钟周期*12

4.工作方式3:

方式3只适合于定时器/计数器0,当定时器0工作于方式3时,TH0和TL 成为2个独立的计数器,这时TL0可作定时器/计数器,占用定时器0 TCON和TMOD寄存器中的控制位和标志位,而TH0只能做定时器用,占用原定时器1的资源和TR1 TF1。在这种情况下定时器1仍可以用于方式0、1、2,但不能使用中断方式。因为定时器1的TR1、TF1和T1的中断源已被定时器0占用,计数器溢出时只能将输出送往串行口,这种情况下,定时器1一般做串行口波特率发生器或不需要中断的场合。

初值计算:TL0定时时间=(256-TL0初值X)*时钟周期*12

TH0定时时间=(256-TH0初值X)*时钟周期*12

按公式计算完初值后转换为16进制,分别送入TH和TL中。

四、定时器程序编写流程:

1.定时器初始化:

a. 设置定时器工作方式:给TMOD赋值;

b. 定时器装初值(将初值送入TH,TL中);

c. 开CPU总中断:EA=1;

d.开定时器中断:

开定时器0中断:ET0=1;

开定时器1中断:ET1=1;

e.用软件启动定时器:

启动定时器0:TR0=1;

启动定时器1:TR1=1;

举例如下:

void Init_INT(void)

{

TMOD = 0x61; //给TMOD赋值;

TH0 = 0xD5; //定时器装初值,定时10MS

TL0 = 0x9E;

TH1 = 255; //给计数器装初值,计数1次

TL1 = 255;

EA = 1; //开总中断;

ET0 = 1; //开定时器0中断;

ET1 = 1; //开定时器1中断;

TR0 = 1; //启动定时器0;

TR1 = 1; //启动定时器1;

}

2.主程序:

主程序部分为你需要实现的功能,设置当定时器或计数器溢出时要执行的任务;当然也可以把任务放到中断程序中去执行。

3.定时器中断子程序:

这部分主要便是对定时器/计数器溢出中断后,需要执行什么任务;可以在其中设置标志变量让其在溢出时自加,当自加到N时,可以达到T*N的长时间定时,同理可以达到X*N的计数值。

外部中断子程序写法如下:

void TIME0() interrupt 1 using 1 //定时器0中断

{

TH0 = 0xD5; //工作方式0和1在溢出后要重新装入初值

TL0 = 0x9E;

Time ++; //设置标志变量

if(Time == 100) //定时10ms*100=1s

{

Time = 0;

LED0 = ~LED0; //代换成你所需要功能的C代码}

}

void TIME1() interrupt 3 using 3 //定时器1中断{

LED1 = ~LED1; //代换成你所需要功能的C代码

}

完整定时器中断例程代码如下:

#include

#define uint unsigned int

#define uchar unsigned char

sbit LED0 = P1^0;

sbit LED1 = P1^7;

sbit P3_3=P3^3;

uchar Time = 0;

void Init_INT(void);

void main(void)

{

P3_3=0;

Init_INT();

while(1);

}

//定时器0设置为16位定时器,计数器1设置为8位计数器.

void Init_INT(void)

{

TMOD = 0x61;

TH0 = 0xD5; //定时10MS

TL0 = 0x9E;

TH1 = 255; //计数1次

TL1 = 255;

EA = 1;

ET0 = 1;

ET1 = 1;

TR0 = 1;

TR1 = 1;

}

void TIME0() interrupt 1 using 1

{

TH0 = 0xD5;

TL0 = 0x9E;

Time ++;

if(Time == 100)

{

Time = 0;

LED0 = ~LED0;

}

}

void TIME1() interrupt 3 using 3

{

LED1 = ~LED1;

}

实现功能: LED1灯1亮1秒灭1灭;LED8灯按下4行2列键后亮,再按一次灭,循环往复;

注:部分型号单片机有定时器2,一般情况下定时器0,1可以满足应用要求,这里暂时不做总结。

关于中断部分的小结(4):

中断是单片机和其他各种微处理器中必不可少的一部分之一,在此对51单片机中断有用的部分加以小结。

小结(4)主要是针对串口中断部分,阐述串口通信相关内容以及对特殊功能寄存器的设置以及串口通信程序的编写流程。

我们可以利用串口向电脑发送数据,也可以用串口接收电脑的数据。有了这个接口我们可以利用它来设计很多东西,数据采集,多机通信,远程控制等。所以串口通信时很重要的一部分。

一、关于串口通信;

我们可以利用串口向电脑发送数据,也可以用串口接收电脑的数据。有了这个接口我们可以利用它来设计很多东西,数据采集,多机通信,远程控制等。所以串口通信时很重要的一部分。

对于通信,我们需要了解一些概念,比如串行与并行通信,同步与异步通信以及单工半双工和双工传输等,除此之外我们还需要了解传输方法、比特率以及232、485通信的相关知识,这里不加赘述。

二、与串行通信有关的特殊功能寄存器;

SM2:多机通信控制位

SM2为1时,只有接收到了第9位数据(RB8)为1,RI才置位。

SM2为0时,接收到字符RI就置位。

REN 串行口接收允许位

REN为1,允许串行口接收。

REN为0,禁止串行口接收。

TB8:方式2和方式3时,为发送的第9位数据,可以作奇偶校验位。

RB8:方式2和方式3时,为接收到的第9位数据,方式1时,为接收到的停止位。

TI 发送中断标志位

由硬件置位,必须由软件清零。

RI 接收中断标志位

由硬件置位,必须由软件清零

PCON的第7位SMOD是与串行口的波特率设置有关的选择位。

SMOD 串行口波特率加倍位:

当SMOD = 1时,在方式1和方式3时,波特率=定时器1溢出率/16;

方式2波特率为FOSC/32。

当SMOD = 0时,在方式1和方式3时,波特率=定时器1溢出率/32;方式2波特率为FOSC/64。

GF0、GF1 两个通用标志位

PD、IDL CHMOS器件的低功耗控制位

三、串口工作方式;

1.方式0:

方式0为移位寄存器的输入/输出方式。串行数据通过RXD输入/输出,TXD 则用于输出移位时钟脉冲。方式0时,收发的数据为8位,低位在前。波特率固定为FOSC/12,其中FOSC为单片机外接晶振频率。发送是以写SBUF寄存器的指令开始的,8位输出结束时TI被置位。方式0接收是在REN = 1和RI = 0同时满足时开始的。接收的数据装入SBUF中,结束的时候RI被置位。

移位寄存器的方式在用于硬件扩展接口的方式时比较适用,串行口可外接一片移位寄存器74HC164构成输出接口电路;串行口外接一片74HC165可以构成输入接口电路。任何数目的移位寄存器都可以串接于输入和输出,通过对SBUF进行读写。(串并转换)

移位寄存器的方式还可以用于两个单片机之间的通信。与通常波特率9600相比,短距离1M的通信速度还是相当的快。

2.方式1:

方式1是10位异步通信方式,有1位起始位“0”、8位数据位和1位停止位“1”。其中的起始位和停止位是自动插入的。任何的一条以SBUF为目的寄存器的指令都启动一次发送,发送的条件是TI = 1.发送完毕后置位TI。

方式1的接收前提条件是SCON中的REN为1,同时还要满以下二个条件:RI = 0和SM2=0或接收到的停止位为1。本次接收有效,将其装入SBUF和RB8位。否则放弃接收结果。

方式1的波特率是可变的,波特率可由以下计算公式来计算得到:

方式1波特率=2SMOD*(定时器1的溢出率)/32。

其中的SMOD为PCON的最高位。定时器1的方式0、1、2都可以使用。其溢出率为定时时间倒数。

3.方式2和3:

这二种方式都是11位异步接收/发送方式,它们的操作过程完全一样,所不

同的是波特率。

方式2波特率=2SMOD*(FOSC/64)

方式3的波特率同方式1 (定时器1作波特率发生器)

方式2和方式3的发送起始于任何一条写“SBUF”的指令。当第9位数据TB8输出后,置位TI。

方式2和方式3的前提条件也是REN为1,在接收到第9位数据后,如果下列的条件同时满足,即RI = 0和SM2=0 或接收到的第9位为1,则将已接收到的数据装入SBUF和RB8,并置位RI。如果条件不满足,则接收无效。

四、串行通信的波特率;

串行通信的4种工作方式对应3种波特率:

1.对于方式0:波特率固定,为fosc/12;

2.对于方式2:波特率=fosc*2SMOD

/64

3.对于方式1和3:波特率=(2SMOD

/32)*(定时器T1的溢出率)

而T1的溢出率可以采用以下公式:

T1的溢出率= fosc/(12*(2n

-初值X))

其中n为定时器T1的位数;因为定时器方式2为自动装载初值的8位定时器/计数器模式,最适合做波特率发生器,此时n=8;

当时钟频率选用11.0592HZ时,容易获得标准波特率,所以很多系统选用这个晶振。

五、串口通信程序编写流程:

1.串口使用前初始化:

a.确定定时器1的工作方式,给TMOD赋值;

b.计算定时器1的初值,装载TH1 TL1。

c.启动定时器1,编程TCON中的TR1位。

d.确定串行口的控制。编程SCON。

e.设置串口波特率是否加倍。

f.串行口在中断方式工作时,开CPU总中断,编程IE寄存器。

举例如下:

void Init_Uart(void)

{

TMOD = 0x20; //给TMOD赋值,让定时器1处在方式2;

TH1 = 0xFD; //送初值,确定波特率;

TL1 = 0xFD;

TR1 = 1; //启动定时器1;

SCON = 0x50; //给SCON赋值,允许串口接受,并工作在方式1;

PCON = 0; //波特率不加倍;

EA = 1; //开总中断;

}

2.主程序:

主程序部分为你需要实现的功能,设置当定时器或计数器溢出时要执行的任务;当然也可以把任务放到中断程序中去执行。

3.串口中断子程序:

这部分主要便是对串口中断后,需要执行什么任务;

串口中断子程序写法如下:

void INT_UART() interrupt 4 //串口中断;

{

if(RI) //如果接收完了,RI软件清0;

{

RI = 0;

}

if(TI) //如果发送完了,TI软件清零;

{

TI = 0;

}

}

完整串口通信例程代码如下:

#include

#define uchar unsigned char

#define uint unsigned int

sbit EN=P3^4;

sbit RS=P3^5;

sbit RW=P3^6;

sbit BUZZ=P2^3;

uchar

table[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D', 'E','F'

}; //显示字符数组

//以下为1602的操作;

void LCD1602()

{

EN=0;

RS=1;

RW=1;

P0=0xff;

}

void read_busy()

{

P0=0xff;

RS=0;

RW=1;

EN=1;

while(P0&0x80);

EN=0;

}

void write(uchar i,bit j) {

read_busy();

P0=i;

RS=j;

RW=0;

EN=1;

EN=0;

}

void delay(uint c)

{

uint a,b;

for(a=0;a

for(b=0;b<120;b++); }

void init()

{

delay(15);

write(0x38,0);

delay(5);

write(0x38,0);

write(0x08,0);

write(0x01,0);

write(0x06,0);

write(0x0c,0);

}

void display_lcd_byte(uchar y,uchar x,uchar z)

{

if(y)

{

x+=0x40;

}

x+=0x80;

write(x,0);

write(z,1);

}

void Display() //显示子程序;

{

uchar j=0;

j=SBUF; //串口接收的数据;

display_lcd_byte(0,0,'D');

display_lcd_byte(0,1,'A');

display_lcd_byte(0,2,'T');

display_lcd_byte(0,3,'A');

display_lcd_byte(0,4,':');

display_lcd_byte(0,5,'0');

display_lcd_byte(0,6,'x');

//以下两行把接收的16进制数转化为字符显示出来;

display_lcd_byte(0,7,table[j/16]);

display_lcd_byte(0,8,table[j%16]);

if(j == 0xFF) //如果接收到数为ff,蜂鸣器响;

{

BUZZ =~BUZZ;

}

}

//以上为1602的操作

void Init_Uart(void) //串口工作前初始化子程序;{

TMOD = 0x20;

TH1 = 0xFD;

TL1 = 0xFD;

TR1 = 1;

SCON = 0x50;

PCON = 0;

EA = 1;

ES = 1;

}

void main()

{

LCD1602();

init();

Init_Uart();

P2=0x00; //把蜂鸣器初始化;

while(1)

{

Display();

}

}

void INT_UART() interrupt 4 //串口子程序;

{

if(RI)

{

RI = 0;

}

}

实现功能:1602显示DATA:0x_ _;_ _表示送入的16进制数;当送入6f, 1602显示DATA:0x6F,蜂鸣器不发声;当送入ff,1602显示DATA:0xFF,并且蜂鸣器发声;

电厂安全工作心得体会

电厂安全工作心得体会 在电力生产中,生产者实现“要我安全”到“我要安全”的观念转变,是安全思想由强制性到自觉性的一次质的飞跃。 但是,要确保电力生产安全,这一转变依然是不够的,还必须由“我要安全”转变到“我会安全”,才能够从事故源头上遏制不安全因素的作用,减少或避免事故的发生。 电力生产是一门非常复杂的系统工程,而生产安全又是这一系统工程中诸多因素综合作用的结果。一般而言,电力生产事故有三类:一是“天灾”,如雷电、大风、暴雨、施工爆破等不可控或不便控的自然因素,有其突发性。二是线路、设备、器材的“先天不足”,有其隐蔽性。三是“人祸”,人为地违法、违规、违章,有其盲目性。且占所有事故中的绝大部分。而“人祸”又可分为三种表现形式:其一是对规章明知故犯,明知这样做不符合要求,但图一时方便或抱着侥幸心理的习惯性违章。其二是对规章似懂非懂,知其一,不知其二,工作中又恰好在其二中发生了问题。其三是对规章不懂装懂,稀里糊涂,发生了事故才”恍然大悟或恍然半悟。 显而易见,工作人既是事故的制造者又是事故的受害者。但是,可以肯定地说,所有事故的发生都不是工作人的主观愿望。因此,“我

要安全”也就仅仅是一种良好的主观愿望,要真正取得确保电力生产安全这一客观效果,就必须解决好“我会安全”这一根本。 大凡发生了事故后,总结时都不难得出:“安全基础不牢,安全观念淡薄,安全管理不善,技术素质不高,安全防护能力弱,习惯性违章”等诸多教训的结论,都会把违章作业认为是事故的“病灶”,也提上了人们的议事日程。但深层次地去分析违章作业存在的原因,拿出切实可行的从源头上杜绝违章作业的办法来,是不是真正摆上了我们各级 ___门、管理者、生产人的办事日程? 勿庸置疑,经过有电以来的生产实践和血的教训,总结提炼了一套有效确保电力生产安全的规章制度。各电力生产企业又结合实际根据不同生产时期制定了大量的具体保证措施,以及上级随机性,针对性的电力安全生产的指示、通报、要求等。这些是确保电力生产安全的依据,且有唯一性。但是电力生产是一个错综复杂,千变万化的过程,从事生产的人又是这个过程是否安全的决定因素。而人的认识水平,接收能力,工作姿态,经验积累等等又各尽不同,要把所有确保电力生产的依据变为每一个从事电力生产的职工的自觉行动,解决好“我会安全”的问题,应是从事电力生产安全的管理者,生产者长期的,艰巨的,复杂的课题。唯一的途径就是学习--学习--再学习。

微机原理期末复习总结

一、基本知识 1、微机的三总线是什么? 答:它们是地址总线、数据总线、控制总线。 2、8086 CPU启动时对RESET要求?8086/8088 CPU复位时有何操作? 答:复位信号维高电平有效。8086/8088 要求复位信号至少维持 4 个时钟周期的高电平才有效。复位信号来到后,CPU 便结束当前操作,并对处理器标志寄存器,IP,DS,SS,ES 及指令队列清零,而将cs 设置为FFFFH, 当复位信号变成地电平时,CPU 从FFFF0H 开始执行程序 3、中断向量是是什么?堆栈指针的作用是是什么?什么是堆栈? 答:中断向量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。堆栈指针的作用是指示栈顶指针的地址,堆栈指以先进后出方式工作的一块存储区域,用于保存断点地址、PSW 等重要信息。 4、累加器暂时的是什么?ALU 能完成什么运算? 答:累加器的同容是ALU 每次运行结果的暂存储器。在CPU 中起着存放中间结果的作用。ALU 称为算术逻辑部件,它能完成算术运算的加减法及逻辑运算的“与”、“或”、“比较”等运算功能。 5、8086 CPU EU、BIU的功能是什么? 答:EU(执行部件)的功能是负责指令的执行,将指令译码并利用内部的寄存器和ALU对数据进行所需的处理BIU(总线接口部件)的功能是负责与存储器、I/O 端口传送数据。 6、CPU响应可屏蔽中断的条件? 答:CPU 承认INTR 中断请求,必须满足以下 4 个条件: 1 )一条指令执行结束。CPU 在一条指令执行的最后一个时钟周期对请求进行检测, 当满足我们要叙述的4 个条件时,本指令结束,即可响应。 2 )CPU 处于开中断状态。只有在CPU 的IF=1 ,即处于开中断时,CPU 才有可能响应可屏蔽中断请求。 3 )没有发生复位(RESET ),保持(HOLD )和非屏蔽中断请求(NMI )。在复 位或保持时,CPU 不工作,不可能响应中断请求;而NMI 的优先级比INTR 高,CPU 响应NMI 而不响应INTR 。 4 )开中断指令(STI )、中断返回指令(IRET )执行完,还需要执行一条指令才 能响应INTR 请求。另外,一些前缀指令,如LOCK、REP 等,将它们后面的指令看作一个总体,直到这种指令执行完,方可响应INTR 请求。 7、8086 CPU的地址加法器的作用是什么? 答:8086 可用20 位地址寻址1M 字节的内存空间,但8086 内部所有的寄存器都是16 位的,所以需要由一个附加的机构来根据16 位寄存器提供的信息计算出20 位的物理地址,这个机构就是20 位的地址加法器。 8、如何选择8253、 8255A 控制字? 答:将地址总线中的A1、A0都置1 9、DAC精度是什么? 答:分辨率指最小输出电压(对应的输入数字量只有最低有效位为“1 ”)与最大输出电压(对应的输入数字量所有有效位全为“1 ”)之比。如N 位D/A 转换器,其分辨率为1/ (2--N —1 )。在实际使用中,表示分辨率大小的方法也用输入数字量的位数来表示。 10、DAC0830双缓冲方式是什么?

习题(中断与接口及答案)

单片机练习三中断与接口 一.单项选择题 1. 已知MCS-51单片机系统晶振频率为12MHZ,SMOD=1,串行口工作于方式2的波特率为( A )。 A. 375K B. 1875K C. 2400K D. 1200K 2. MCS-51单片机T0作为计数器工作于不受外部信号INTO控制,T1作为定时器,T0工作于方式0,T1工作于方式1,其方式控制字的内容为( B )。 A. 00H B. 14H C. 17H D. 80H 3. 控制定时器工作方式的寄存器是( D )。 A. TCON B. PCON C. SCON D. TMOD 4. MCS-51单片机的中断允许触发器内容为83H,CPU将响应的中断请求是( D )。 A. INTO,INT1 B. T0, T1 C. T1, 串行接口 D. INTO,T0 5. 设定时器/计数器T0工作于方式3,则TH0作为一个独立的8位定时器,它的运行由控制位( D )。 A. GATE B. INTO C. TR0 D. TR1 6. 当MCS-51进行多机通信时,串行口的工作方式应选择( C )。 A.方式0 B.方式1 C. 方式2或方式3 D. 方式2 7. 8031单片机的串行口的中断程序入口地址为( B )。 B. 0023H C. 000BH D. 0003H 8. 已知单片机系统的fosc=6MHZ,执行下列延时程序的时间为( C )。 DY2: MOV R6, #2 DLP1: MOV R7, #250 DLP2: DJNZ R7, DLP2 DJNZ R6, DLP1 RET A.1ms B. C. 2ms D. 4ms 9. 串行口中断入口地址是( D )。 A. 0003H B. 000BH C. 0013H D. 0023H 10. 若MCS-51单片机的晶振频率为24MHZ,则其内部的定时器/计数利用计数器对外部输入脉冲的最高计数频率是( A )。 A. 1MHZ B. 6MHZ C. 12MHZ D. 24MHZ 11. MCS-51串行口工作于方式2时,传送的一帧信息为( C )。 A. 8位 B. 16位 C. 11位 D. 12位 12. MCS-51单片机有( B )内部中断源。 A. 2个 B. 3个 C. 4个 D. 5个 13. T1作为计数器,工作于方式2,不需门控位参于控制,其控制字为( A,C )。 A. 60H B. 06H C. 66H D. 00H 14. 已知(60H)=23H,(61H)=61H,运行下列程序62H内容为( A )。 CLR C MOV A, #9AH SUBB A,60H ADD A, 61H DA A MOV 62H, A A. 38H B. D8H C. DBH D. 3EH 15. 设系统的晶振频率为6MHZ,下列子程序DELAY的延时时间约为( B )。 DELAY: MOV R2, #0FAH L2: DJNZ R2, L2

学习电力安全心得体会

学习电力安全心得体会 电力产业由发电、输电、配电和售电这四个紧密联系的业务环节构成以下我为你带来学习电力安全心得体会,希望对你有所帮助! 学习电力安全心得体会篇1 Xx年X月x日至X月x日,公司全体员工进行了为期两天的安全知识教育培训。通过这短短两天的复习和充电,在繁忙的工作之余,大家的安全生产知识又进一步得到加强,安全意识再一次深入心中,安全管理和施工的理念得到了全体员工的统一认可和支持。 刚刚过去的6月,是"全国安全生产活动月",每年的这个时候,不仅仅是我们电力部门,全民安全学习的热情都空前高涨,足见国家对安全的重视的程度,足见安全在工作中的重要性。大力倡导安全文化,提高全员安全防范意识,加强安全生产宣传教育工作,营造良好的安全生产环境氛围,对于我们电力施工企业来说,不仅仅是保障员工最根本的利益,创造最大的生产效益,也最大程度的节约了企业成本。从树立"以人为本"的安全理念出发,宣传安全生产法律、法规和电力安全知识,达到启发人、教育人、提高人、约束人和激励人的目的,从而提高全员安全生产防范意识。通过两天的学习,我认为在安全生产工作中,一定要充分发挥班组安全管理的作用,因为班组是公司最基层的部门,是由一线施工员工组成的部门,班组安全管理上了台阶,公司的安全就有了保障。班组除了要有健全的规章制度、完善的组织机构,还需要在日常管理中多一点爱心,多一些关心;在对职工的思想教育、业务培训上多一点耐心;管理过程中更为细心;对待违章作业多一些"狠"心。只有这样,用"心"去构筑安全防线,安全基础才能更为牢固,安全工作才更有保障。"人人参与保安全"即要求全体员工在生活、学习、工作中重视安全,做到"不伤害他人,不伤害自己,不被别人伤害,保护他人不受伤害",也特别要求每一个电力施工企业员工提高安全防范意识,严格执行安全生产法律、法规,确保电力生产的安全,而要堵住这个源头就要靠我们在班组安全管理中下"狠心"去反违章、消灭违章作业,只有这样,才能以"无违章班组"去实现零事故。还要准确地把握电力安全生产管理工作中的轻重缓急。安全生产管理也应把"安全重于泰山"时时刻刻放在心上,树立"居安思危"的忧患意识。

微机原理期末总结

第一章微机原理概述 主要内容: 1.数制的转换 2.原码、反码、补码、移码间的转换 典型习题: 复习PPT上两种题型弄懂做法即可 第二章微型计算机系统的微处理器 主要内容: 1.8086CPU的组成结构,要记牢EU和BIU的各组成部分名称和缩写 2.各寄存器组的作用 3.逻辑地址的表示方法和物理地址的计算方法 4.标志寄存器各位的含义 5.了解最大模式和最小模式下的一些要求 典型习题: 复习PPT上两种基本类型的习题即可,令需注意基础知识的记忆,可结合课后习题及答案进行记忆 第三章8086/8088指令系统 主要内容: 1.各种寻址方式的特点

2.上课老师要求的各条指令的用法 典型习题: 熟练掌握PPT上的题型,另需注意课后习题的判断题部分,大致了解一下可能的指令用错的情况。 第四章汇编语言程序设计 主要内容: 1.熟悉各种程序机构和伪指令含义 2.通过各种例子掌握基本的程序结构,尤其是开头和结尾部分的书写规范 典型习题: 以课本例题为主 第五章(了解 第六章半导体存储器 主要内容: 1.历来考试的考点和取分点,位与字节含义的区分。 2.存储容量和线路计算方法 3.线路译码方法 4.简单设计,前三项的综合 典型习题: 以PPT上习题为主。

第七章微型计算机和外设间的数据传输(了解基本概念,对照答案熟读一遍课后习题即可 第八章中断系统 主要内容: 1.中断的基本概念的判断 2.8086中断系统基本概念和相应计算 3.8259A的特点和编程知识 典型习题: 熟读课本各例题,弄清每句含义,再通读实验时的程序代码,自己体会分析一遍即可。 第九章微型计算机常用接口技术 主要内容: 1.熟练掌握8255A知识与应用 2.了解通信相关知识 典型习题: 通第八章 小结: 参照以往考试经验,考试中小题部分每张都会涉及而且较为固定,大家自己感觉重点的地方肯定是会考到的。大题部分虽然每年都再变,但有几项肯定要考的,一定

中断控制

微机原理实验报告 实验名称:并行I/O接口实验 院系: 班级: 姓名: 学号: 一. 实验目的 掌握GPIO IP核的工作原理和使用方法 掌握中断控制方式的IO接口设计原理 掌握中断程序设计方法 掌握IO接口程序控制方法 查询方式 中断方式 延时方式

二. 实验环境 UltraEdit ; XilinxISE。 三、实验内容 最小系统的建立,查询方式与中断方式在counse显示独立开关操作总线连接方式 Gpio内部框图

中断寄存器 硬件电路框图

四.实验内容 1.最小系统的建立 打开Xilinx Platform studio平台,选择相关参数,建立相关文件。 将FPGA内存改为32K,添加UART类型接口,其他选择默认配置。 修改时钟设置:删除Exterinal Port 中的CLK_P与CLK_N并添加Clock_generator_0中的CLKIN修改名称为CLK。同时再将RS232的输入输出端口名修改RsRxRsTx。 最后再添加约束文件,约束引脚,保存。产生bit流,最小系统就建好了。 NET "CLK" LOC="E3"|IOSTANDARD="LVCMOS33"; NET "RESET" LOC="E16"|IOSTANDARD="LVCMOS33"; NET "RsRx" LOC="C4"|IOSTANDARD="LVCMOS33"; NET "RsTx" LOC="D4"|IOSTANDARD="LVCMOS33"; #OUTOUT 2.在最小系统基础上添加相应的IP核。分别是8位的Button,4位的Dip,中断 控制核(AXI Interrupt Controller IP)并与micorblace的中断信号线相连(刚开始我没有做这一步,结果一节课过去了,却怎么也做不出来),将Button,Dip添加为他的中断源,button Dip设置为仅输入其他端都设置为无连接。最后再添加相应的约束文件并保存。 NET "Dip_GPIO_IO_I_pin<0>" LOC="U9"|IOSTANDARD="LVCMOS33"; NET "Dip_GPIO_IO_I_pin<1>" LOC="U8"|IOSTANDARD="LVCMOS33"; NET "Dip_GPIO_IO_I_pin<2>" LOC="R7"|IOSTANDARD="LVCMOS33"; NET "Dip_GPIO_IO_I_pin<3>" LOC="R6"|IOSTANDARD="LVCMOS33"; NET "Dip_GPIO_IO_I_pin<4>" LOC="R5"|IOSTANDARD="LVCMOS33"; NET "Dip_GPIO_IO_I_pin<5>" LOC="V7"|IOSTANDARD="LVCMOS33"; NET "Dip_GPIO_IO_I_pin<6>" LOC="V6"|IOSTANDARD="LVCMOS33"; NET "Dip_GPIO_IO_I_pin<7>" LOC="V5"|IOSTANDARD="LVCMOS33"; NET "Button_GPIO_IO_I_pin<0>" LOC="F15"|IOSTANDARD="LVCMOS33";

电力安全教育心得体会

电力安全教育心得体会 心得一:电力安全教育心得体会 安全生产是涉及职工生命安全的大事,也关系到企业的生存发展和稳定。近年来,从报纸、电视等新闻媒体报道中铁路、煤矿等行业发生的安全生产事故,损失之重,影响之大,频率之高,令人胆战心惊。剖析事故产生的深层次原因,不难看出一些干部、职工对安全生产、管理存在着认识上、思想上的误区。我公司是电力施工企业,工程点多、面广,高空作业、交叉作业、焊接作业等高危作业频繁,所以安全生产对于我们这个高风险行业来说,其意义更加重要。结合工程施工安全工作实际,强化各级安全生产责任、提高全员安全生产意识和技能、执行落实好各项规章制度和消除思想认识上的误区无疑是实现安全生产“有序可控”良好局面的有效办法。 做好安全生产工作犹如履薄冰,来不得半点疏忽和麻痹。作为安全管理者或单位安全第一责任人首先要消除在思想认识上存在的误区。一是对安全设施的认识误区。随着科学技术的迅猛发展,施工现场安全设施和劳动保护用品也呈现高、精、尖技术,并被广泛运用到生产实践中。由此个别从事安全管理人员或干部就出现盲目乐观思想,认为只要投入这些“精良装备”今后不会再发生安全大问题了,工作中也不注重抓小防大了,这种麻痹思想很可能会导致事故的发生;

二是对职工培训的认识误区。主要是我公司是安全生产先进单位,已连续实现安全生产六千多天,大多职工也从事施工生产多年或干过很多个工程,觉得没有再加大培训力度的必要了;再之是专、兼职安全管理人员少,甲方、业主一味追求工期进度,没有时间、力量和精力来深入搞培训;另外新进职工绝大多数是大中专、技校毕业生,已在公司接受过培训部门的安全培训,于是就降低了三级教育网络的培训标准。由于领导重视程度和培训力度不够以及流于形式的状况,而事故恰恰最容易发生在对业务知识生疏、现场安全施工经验少的职工身上。所以,抓紧对职工劳动安全生产的教育,也是有效防止安全事故发生的保障;三是个别安全管理人员或干部思想上的认识误区。执行制度必严、违反制度必究,对待安全生产工作我们都知道“严是爱、松是害”,然而在实际工作中,个别安全管理人员或干部干部对安全管理存在着“三怕”思想:对上怕担责任,对下怕得罪人,对工作怕吃苦受累,造成形式主义、好人主义、官僚主义的严重局面,导致在执行和落实当中出现“缺位”现象。?? 管理能出效益,安全亦出效益,安全生产是涉及职工生命安全的大事,也关系到企业的生存发展和稳定。安全生产需要多管齐下警钟长鸣。 一是牢固树立以人为本的思想。再先进的安全设施和机器也要靠人去操作、去控制、去维修,其科技含量愈高,对

微机原理复习知识点总结资料

微机原理复习知识点 总结

1.所谓的接口其实就是两个部件或两个系统之间的交接部分(位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路)。 2.为了能够进行数据的可靠传输,接口应具备以下功能:数据缓冲及转换功能、设备选择和寻址功能、联络功能、接收解释并执行CPU命令、中断管理功能、可编程功能、(错误检测功能)。 3.接口的基本任务是控制输入和输出。 4.接口中的信息通常有以下三种:数据信息、状态信息和控制信息。5.接口中的设备选择功能是指: 6.接口中的数据缓冲功能是指:将传输的数据进行缓冲,从而对高速工作的CPU与慢速工作的外设起协调和缓冲作用,实现数据传送的同步。 7.接口中的可编程功能是指:接口芯片可有多种工作方式,通过软件编程设置接口工作方式。 8.计算机与外设之间的数据传送有以下几种基本方式:无条件传送方式(同步传送)、程序查询传送(异步传送)、中断传送方式(异步传送)、DMA传送方式(异步传送)。 9.根据不同的数据传输模块和设备,总线的数据传输方式可分为无条件传输、程序查询传送方式、中断传送方式、DMA方式。 10.总线根据其在计算机中的位置,可以分为以下类型:片内总线、内部总线、系统总线、局部总线、外部总线。 11.总线根据其用途和应用场合,可以分为以下类型:片内总线、片间总线、内总线、外总线。ISA总线属于内总线。 12.面向处理器的总线的优点是:可以根据处理器和外设的特点设计出最适合的总线系统从而达到最佳的效果。 13. SCSI总线的中文名为小型计算机系统接口(Small Computer System Interface),它是 芯的信号线,最多可连接 7 个外设。 14. USB总线的中文名为通用串行接口,它是4芯的信号线,最多可连接127个外设。 15. I/O端口的编码方式有统一编址和端口独立编址。访问端口的方式有直接寻址和间接寻址。PC机的地址由16位构成,实际使用中其地址范围为000~3FFH。 16.在计算机中主要有两种寻址方式:端口独立编址和统一编址方式。在端口独立编址方式中,处理器使用专门的I/O指令。 17. 74LS688的主要功能是:8位数字比较器,把输入的8位数据P0-P7和预设的8位数据Q0-Q7进行比较。如果相等输d出0,不等输出1。 主要功能:把输入的8位数据P0-P7和预设的8位数据Q0-Q7进行比较,比较的结果有三种:大于、等于、小于。通过比较器进行地址译码时,只需把某一地址范围和预设的地址进行比较,如果两者相等,说明该地址即为接口地址,可以开始相应的操作。 18. 8086的内部结构从功能上分成总线接口单元BIU和执行单元EU两个单元。 19. 8086有20地址线,寻址空间1M,80286有24根地址线,寻址空间为 16M。 20. 8086/8088有两种工作模式,即最大模式、最小模式,它是由MNMX 决定的。

习题(中断与接口及答案)

中断与接口及答案 一.单项选择题 1. 已知MCS-51单片机系统晶振频率为12MHZ,SMOD=1,串行口工作于方式2的波特率为()。A. 3750K B. 1875K C. 2400K D. 1200K 2. MCS-51单片机T0作为计数器工作于不受外部信号INTO控制,T1作为定时器,T0工作于方式0,T1工作于方式1,其方式控制字的内容为()。 A. 00H B. 14H C. 17H D. 80H 3. 控制定时器工作方式的寄存器是()。 A. TCON B. PCON C. SCON D. TMOD 4. MCS-51单片机的中断允许触发器内容为83H,CPU将响应的中断请求是()。 A. INTO,INT1 B. T0, T1 C. T1, 串行接口 D. INTO,T0 5. 设定时器/计数器T0工作于方式3,则TH0作为一个独立的8位定时器,它的运行由控制位()。 A. GATE B. INTO C. TR0 D. TR1 6. 当MCS-51进行多机通信时,串行口的工作方式应选择()。 A.方式0 B.方式1 C. 方式2或方式3 D. 方式2 7. 8031单片机的串行口的中断程序入口地址为()。 A.001BH B. 0023H C. 000BH D. 0003H 8. 已知单片机系统的fosc=6MHZ,执行下列延时程序的时间为()。 DY2:MOV R6,#2 DLP1:MOV R7,#250 DLP2:DJNZ R7,DLP2 DJNZ R6,DLP1 RET A.1ms B. 1.5ms C. 2ms D. 4ms 9. 串行口中断入口地址是()。 A. 0003H B. 000BH C. 0013H D. 0023H 10. 若MCS-51单片机的晶振频率为24MHZ,则其内部的定时器/计数利用计数器对外部输入脉冲的最高计数频率是()。 A. 1MHZ B. 6MHZ C. 12MHZ D. 24MHZ 11. MCS-51串行口工作于方式2时,传送的一帧信息为()。 A. 8位 B. 16位 C. 11位 D. 12位 12. MCS-51单片机有()内部中断源。 A. 2个 B. 3个 C. 4个 D. 5个 13. T1作为计数器,工作于方式2,不需门控位参于控制,其控制字为()。 A. 60H B. 06H C. 66H D. 00H 14. 已知(60H)=23H,(61H)=61H,运行下列程序62H内容为()。 CLR C MOV A,#9AH SUBB A,60H ADD A,61H DA A MOV 62H,A A. 38H B. D8H C. DBH D. 3EH

微机原理与接口技术-期末考试试题答案3

“微机原理与接口技术” 1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。 2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什 么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU 与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对 20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的

内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令 的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址 为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意 义各是什么? 答:状态标志位有6个: ZF,SF,CF,OF,AF,PF。其意思是用 来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的 指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么? 答:INTR是可屏蔽请求信号,INTA中断响应信号,NMI是不可屏 蔽中断请求信号,ALE是地址锁存允许信号,HOLD总线请求信 号,HLDA总线请求响应信号。 11.虚拟存储器有哪两部分组成?

微机原理67章答案

第6章作业 问答题 3 若8086系统采用单片8259A,其中一个中断源的中断类型码为46H,问该中断源应与8259A 的哪一个IR输入端连接?其中断矢量地址是多少?若其中断服务子程序的首地址为16A0:23D4H,则向量表对应的4个单元的内容是什么? 该中断源应与8259A的IR6相连.其中断矢量地址是0000:0118H,矢量区对应的4个单元内容依次是:D4H,23H,A0H,16H。 4,怎样用8259A的屏蔽命令字来禁止IR4和IR5引脚上的请求?又怎样撤销这一禁止命令?设8259A的端口地址为20H-21H,写出有关指令。 使OCW1的D4和D5位为1,写到8259A的奇地址就可禁止IR4和IR5引脚上的请求。撤销 禁令只需写入D4和D5位为0的OCW1命令。有关指令如下: IN AL,21H OR AL,30H OUT 21H,AL ;禁止IR4,IR5的请求 IN AL,21H AND AL,0CFH OUT 21H,AL ;撤销对IR4,IR5的禁令用OR和AND命令是为了保持OCW1的其他6位不变。IMR(中断屏蔽寄存器)内容可读写。 补充1、什么叫中断?简述中断的处理过程。 所谓中断是指CPU在正常运行程序的过程中,CPU内部或外部出现某些事件、异常需要及时处理,导致CPU暂停正在执行的程序,转去执行处理该事件或异常对应的程序,并在处理完毕返回原程序处继续执行被暂停的程序,这一过程称为中断及中断处理。 中断处理过程包括:中断请求、中断响应、中断处理和中断返回几个步骤。 补充2、8086cpu有哪几种中断?简述8086cpu对可屏蔽中断的响应过程。 中断源可分为两大类:一类是外设接口的中断请求,由CPU的引脚引入,中断源来自CPU 外部,故称外部中断(又称硬件中断);另一类在执行指令时引起,来自CPU的内部,故称内部中断(又称软件中断)。 外部中断分为NMI(非屏蔽中断)和INTR(可屏蔽中断) 内部中断分为除法错误中断、溢出中断INTO、单步执行中断(单步中断)、INT n中断指令引起的中断、断点中断 在8086/8088系统中,CPU对可屏蔽中断的响应处理要经过以下几步: (1) 执行2个中断响应总线周期,取得中断类型码。 当CPU响应INTR引脚上的中断请求后,在2个总线周期的T2~T4状态分别输出2个负脉冲,在第2个总线周期的T2~T4状态内,CPU在低8位数据总线上获得8259A送来的中 断类型码 (2) 执行一个总线写周期将标志寄存器FLAG的值压栈。 (3) 将TF送入TEMP。 (4) 设置IF=0,TF=0,即关中断和禁止单步中断。

安全作文之电厂安全心得体会

电厂安全心得体会 【篇一:电力安全教育培训心得体会】 电力安全教育培训心得体会 xxxx年x月xx日至x月xx日,公司全体员工进行了为期两天的 安全知识教育培训。通过这短短两天的复习和充电,在繁忙的工作 之余,大家的安全生产知识又进一步得到加强,安全意识再一次深 入心中,安全管理和施工的理念得到了全体员工的统一认可和支持。刚刚过去的6月,是“全国安全生产活动月”,每年的这个时候,不 仅仅是我们电力部门,全民安全学习的热情都空前高涨,足见国家 对安全的重视的程度,足见安全在工作中的重要性。大力倡导安全 文化,提高全员安全防范意识,加强安全生产宣传教育工作,营造 良好的安全生产环境氛围,对于我们电力施工企业来说,不仅仅是 保障员工最根本的利益,创造最大的生产效益,也最大程度的节约 了企业成本。从树立“以人为本”的安全理念出发,宣传安全生产法律、法规和电力安全知识,达到启发人、教育人、提高人、约束人 和激励人的目的,从而提高全员安全生产防范意识。通过两天的学习,我认为在安全生产工作中,一定要充分发挥班组安全管理的作用,因为班组是公司最基层的部门,是由一线施工员工组成的部门,班组安全管理上了台阶,公司的安全就有了保障。班组除了要有健 全的规章制度、完善的组织机构,还需要在日常管理中多一点爱心,多一些关心;在对职工的思想教育、业务培训上多一点耐心;管理 过程中更为细心;对待违章作业多一些“狠”心。只有这样,用“心” 去构筑安全防线,安全基础才能更为牢固,安全工作才更有保障。“人人参与保安全”即要求全体员工在生活、学习、工作中重视安全,做到“不伤害他人,不 伤害自己,不被别人伤害,保护他人不受伤害”,也特别要求每一个 电力施工企业员工提高安全防范意识,严格执行安全生产法律、法规,确保电力生产的安全,而要堵住这个源头就要靠我们在班组安 全管理中下“狠心”去反违章、消灭违章作业,只有这样,才能以“无 违章班组”去实现零事故。还要准确地把握电力安全生产管理工作中 的轻重缓急。安全生产管理也应把“安全重于泰山”时时刻刻放在心上,树立“居安思危”的忧患意识。 回首往昔,安全生产的现实提醒我们,安全生产管理工作还有许多 的不足和漏洞,我们每一个电力职工都不能高枕无忧,一定要不断

微机原理复习知识点总结

1 .所谓的接口其实就是两个部件或两个系统之间的交接部分(位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路)。 2.为了能够进行数据的可靠传输,接口应具备以下功能:数据缓冲及转换功能、 设备选择和寻址功能、联络功能、接收解释并执行CPU命令、中断管理功能、可编程功能、(错误检测功能)。 3.接口的基本任务是控制输入和输出。 4.接口中的信息通常有以下三种:数据信息、状态信息和控制信息。 5.接口中的设备选择功能是指: 6.接口中的数据缓冲功能是指:将传输的数据进行缓冲,从而对高速工作的CPU 与慢速工作的外设起协调和缓冲作用,实现数据传送的同步。 7 .接口中的可编程功能是指:接口芯片可有多种工作方式,通过软件编程设置 接口工作方式。 8.计算机与外设之间的数据传送有以下几种基本方式:无条件传送方式(同步 传送)、程序查询传送(异步传送)、中断传送方式(异步传送)、DMA传送方式(异步传送)。 9.根据不同的数据传输模块和设备,总线的数据传输方式可分为无条件传输、 程序查询传送方式、中断传送方式、DMA方式。 10.总线根据其在计算机中的位置,可以分为以下类型:片内总线、内部总线、系统总线、局部总线、外部总线。 11.总线根据其用途和应用场合,可以分为以下类型:片内总线、片间总线、内 总线、外总线。ISA 总线属于内总线。 12 .面向处理器的总线的优点是:可以根据处理器和外设的特点设计出最适合 的总线系统从而达到最佳的效果。 13.SCSI 总线的中文名为小型计算机系统接口(Small Computer System Interface) ,它是 芯的信号线,最多可连接7 个外设。 14.USB 总线的中文名为通用串行接口,它是 4 芯的信号线,最多可连接127 个外设。15 .I/O 端口的编码方式有统一编址和端口独立编址。访问端口的 方式有直接寻址和间接寻址。PC机的地址由16 位构成,实际使用中其地址范围 为000~3FFH。 16.在计算机中主要有两种寻址方式:端口独立编址和统一编址方式。在端口独立编址方式中,处理器使用专门的I/O 指令。 17.74LS688的主要功能是:8 位数字比较器,把输入的8 位数据P0-P7 和预设的8 位数据Q0-Q7进行比较。如果相等输 d 出0,不等输出1。 主要功能:把输入的8 位数据P0-P7 和预设的8 位数据Q0-Q7进行比较,比较的结果有三种:大于、等于、小于。通过比较器进行地址译码时,只需把某一地址 范围和预设的地址进行比较,如果两者相等,说明该地址即为接口地址,可以开始相应的操作。 18.8086 的内部结构从功能上分成总线接口单元BIU和执行单元EU两个单元。19.8086 有20 地址线,寻址空间1M,80286有24根地址线,寻址空间为16M。20.8086/8088 有两种工作模式,即最大模式、最小模式,它是由MNMX决定的。21.在8086/8088 系统中,I/O 端口的地址采用端口独立编址方式,访问端口时 使用专门的 I/O 指令。

工厂电力安全心得体会500字

电力安全心得体会_范文 在工作中,“安全第一”,“生产必须安全,安全促进生产”,安全是最大的效益我希望大家共守规则渴望安全,在改革开放大好形势下,国家要发展,人民要安全,俗话说生命才是革命的本钱. 当我们不遵守规则时,实际上是在酝酿着一场悲剧。想一想,倘若我们出了什么意外,亲人该怎么办呢?生命如此美好,每个人只有一次,我们要是因为不遵守安全规则,不仅会失去自己可贵的生命,还会摧残别人的生命。所以要求(转载于:工厂电力安全心得体会500字)所有员工.提高认识,树立正确的安全观,安全与人人相关,安全与全社会相连,如何提高全员全社会安全意识,这对做好企业安全工作有着极其重要的意义,我认为搞好安全工作,生产发展需要外,还要正确树立以下两处安全特点: 1.要树立正确的安全人生观,安全工作是社会性工作,安全工作做好了,于人、于已、于企业、于社会都得益。反之,安全工作做不好,发生事故,伤到自己,给自己带来痛苦;伤着他人,给他人带来灾难,给企业造成损失,对社会造成不良影响。因此,树立正确的安全人生观,是搞好安全工作的基础; 2.树立正确的安全法制观,安全为天,法律至上”。安全工作是“人命关天”的大事,是企业的首要工作,“安全是‘天字号’第一大事”。企业规章制度,是企业以往血的事故教训的总结,是企业法律法规,是员工的行为规范,企业内每一个员工都必须严格遵守。企业规章制度,同样是一个要求大家必须共同遵守的行为准则,只有每一个员工都共同遵守,才能保一方平安。因此,我们应在班组大力倡导“遵章守纪光荣,违 章违纪可耻”的风气,并制订相应的管理措施,严惩违章违纪人员,奖励敢于与违章违纪作斗争的人员,形成“人人保平安,个个守规章”的良好局面。 生命只有一次,不要拿自己的生命开玩笑。让我们共同遵守安全规则,做一个珍惜生命的人,做一个文明的人,那么,展现在我们面前的将是一个七彩的世界。让我们携起手来,关注安全,关爱生命。从我做起,共同遵守规则吧!篇二:电力企业安全学习心得体会安全学习心得体会 在电力企业安全生产中,人们通常把管理者对员工提出安全规范要求称之为“要我安全”,而把员工的自觉安全行为称之为“我要安全”。两种提法,不仅表述了语言概念不同,且安全实现方式和管理效果也不一样。“要我安全”,是从客体出发,由外因发出安全生产约束控制信息,作用于安全生产行为的主题,最终达到生产安全;“我要安全”则是从主体出发,由内因产生安全生产的动机,主观能动地实现安全生产。从管理角度来说,“要我安全”和“我要安全”是辨证统一的关系,“要我安全”是外因,是动力;“我要安全”是内因,是根据。两者相互关联,相辅相成,从不同方面对实现安全生产起到推动或决定作用。 如何实现从“要我安全”向“我要安全”的转变呢?笔者工作在电力建设企业,立足于生产第一线,对于安全是永恒的主题,安全是生产的保障,有了安全才有效益,有着深刻的认识和体会。 首先、着眼人的安全心理进行安全教育安全心理是人在生产劳动这一特定环境中的心理活动的反映,是劳动过程中伴随着生产工具、机械设备、工作环境、人际关系而产生的安全需要与安全意识。主要包括:劳动生产中的安全心理、职业安全心理、安全管理过程中的安全群体心理、安全组织心理等。通过对安全生产工作中心理现象的总结,可以提高安全教育的质量,产生安全教育的心理效应,达到抓住人心、震撼人心、深入人心的效果。因此,安全教育应抓住以下三个重点:一是利用安全心理的优先效应,抓好对新员工进厂后的安全教育,以先入为主的第一印象给新员工打下安全生产烙印。二是利用安全心理的近因效应,以本单位的典型安全案例对员工进行安全教育,用活生生的事 实影响员工、激励员工。三是利用安全心理的暗示效应,运用含蓄的、间接的办法,对员工的心理和行为产生潜移默化的影响,进行常规教育。不管采用哪种教育方法,只要密切

微机原理课程设计总结

微机原理课程设计 数据采集系统(中断法)

一、课设目的:进一步掌握微机原理知识,了解微机在实时采集数 据的应用,学习掌握编程和程序调试的方法。 二、课设内容和要求:用中断法将ADC0809通道0外接0—5V电 压,转换成数字量后,在七段数码管LED上显示。以小数点后 两位表示精度,显示模拟电压的十进制;0809通道0的数字量 以线性控制方式DAC0832输出,当通道0的电压为5V时,0832 的OUT为0V当通道0的电压为0时,0832的OUT为2.5V; 此模拟电压再送到ADC0809通道1,转换后的数字量在CRT 上以十六进制显示。ADC0809的采样脉冲CLK由定时器8254 的OUT0提供;ADC0809的EOC信号用作8259中断请求信号。 三、总体设计: 1)、ADC0809的IN0采集电位器0—5V电压,IN1采集0832输出的模拟量。 2)、DAC0832将ADC0809的IN0数字量重新转换成模拟量输出3)、8259用于检测ADC0809转换是否结束和向CPU发送INTR 信号 4)8255为七段LED数码管显示提供驱动信息 5)、七段LED数码管显示ADC0809的IN0的值 6)8254提供ADC0809的采样时钟脉冲。 四、硬件设计:因采用PC机和微机实验箱,硬件电路设计相对比较简单,主要利用微机实验箱上的8255并行口,ADC0809,DAC0832,七段数码管LED,8254定时/计数器,74LS574输出接口,电位器等

单元 (图1:数据采集系统硬件连接示意图) 六、软件设计:本设计通过软件编程,实现模/数转换,0809分别对IN0 0—5V直流电压的采样和经线性控制后输出电压IN1采样,IN0

第八章 “中断控制接口”习题答案

第八章中断控制接口 〔习题8.1〕 8088 CPU具有哪些中断类型?各种中断如何产生,如何得到中断向量号? 解答1: ?除法错中断:在执行除法指令时,除数为0或商超过了寄存器所能表达的范围产生 ?指令中断:在执行中断指令INT n时产生 ?溢出中断:在执行溢出中断指令INTO时,溢出标志OF为1产生 ?单步中断:单步标志TF为1,在每条指令执行结束后产生 ?非屏蔽中断:外部通过NMI请求信号向微处理器提出请求时产生 ?可屏蔽中断:外部通过INTR请求信号向微处理器提出请求,并在允许可屏蔽中断的条件下产生 解答2: ?除法错中断、溢出中断、单步中断、非屏蔽中断的向量号是8086微处理器内部已经确定 ?指令中断的操作数n就是向量号 ?可屏蔽中断的向量号在响应中断时通过数据总线从外部获得 〔习题8.2〕 8088中断向量表的作用是什么? 〔解答〕 参看教材8.1.3节(P194页) 〔习题8.11〕 下段程序读出的是8259A的哪个寄存器? mov al,0bh out 20h,al nop in al,20h 〔解答〕 ?读取中断服务寄存器ISR的内容 ?因为执行输入指令(A0=0)之前,执行的输出指令,写入了OCW3(D4D3=01),其中P RR RIS(D2D1D0)=011指明随后读出ISR ?不是查询字 〔习题8.14〕 中断服务程序的人口处为什么通常要使用开中断指令? 〔解答〕 ?开中断,以便可以实现中断嵌套

补充:1. 如何利用DOS功能调用设置中断向量? --解答参考教材第8.1.3节(第195页) 解答: 设置中断向量即为把新中断向量写入中断向量表内。方法如下: MOV AH,25H MOV AL,中断向量号 MOV DS,新中断向量的段地址 MOV DX,新中断向量的偏移地址 INT 21H 补充:2. 如何利用DOS功能调用获取中断向量? --解答参考教材第8.1.3节(第195页) 解答: 获取中断向量即为把中断向量表内的中断向量读出到ES:BX中。方法如下:MOV AH,35H MOV AL,中断向量号 INT 21H 补充:3. 如何开CPU的中断允许? 解答: 用STI指令使IF=1。 补充:4. 如何开8259A的中断允许? 解答: OCW1中的IMR的第i位=0,即允许IR中的第i位发出中断申请。 编程方法参见P207页(5)。

微机原理与接口技术第六章 8259A练习题及答案

中断技术和中断控制器8259A练习题及答案 一、填空题 1.8088微处理器最多能处理256种不同类型的中断。 2.8088系统的中断向量表位于从内存地址 00000H 开始,占1K字节存储单元。 3.8088CPU响应INTR中断时,将PSW(或标志寄存器内容)和断点(或CS:IP)进堆栈保存。 4.8259A可管理8级优先级中断源,通过级联,最多可管理 64 级优先级中断源。 5.若8259A的IRR(中断请求寄存器)的内容为10H,说明IR4请求中断。 二、选择题 6.8088CPU的标志寄存器中IF=1时,表示允许CPU响应______中断。C A.内部中断 B.外部中断 C.可屏蔽中断 D.不可屏蔽中断 7.CPU在响应中断时,保存断点是指______。D A.将用户设置的程序指令地址入栈保存 B.将中断服务程序的入口地址入栈保存 C.将程序状态字PSW入栈保存 D.将返回地址即程序计数器PC(CS:IP)的内容入栈保存 8.8088的中断向量表用于存放______。B A.中断类型号 B.中断服务程序的入口地址 C.中断服务程序的返回地址 D.断点地址 三、判断题 9.8086的可屏蔽中断的优先级高于不可屏蔽中断。 [ ] × 10.通常8259A芯片中的IR0优先级最低,IR7的优先级最高。 [ ]× 11.在8088系统中,所谓中断向量就是中断服务程序入口地址。 [ ] √ 四、简答题 12.CPU响应INTR中断的条件是什么? 答:(1)INTR信号为有效电平 (2)当前指令执行完毕 (3)CPU开中断(IF=1) (4)没有更高级的请求(RESET , HOLD ,NMI) 13.一般CPU响应中断时自动做哪些工作? 8088CPU呢? 答:一般CPU在响应中断时,关中断,保存断点,识别中断源,找到中断服务程序入口地址,转入中断服务程序。 8080CPU在响应中断时,首先把PSW(或标志寄存器内容)入栈保存,其余同一般CPU. 14.8088CPU在执行中断返回指令IRET时,执行什么操作? 答:(1)弹出断点送CS:IP (2)弹出PSW送标志寄存器 15.中断控制器8259A中下列寄存器的作用是什么? (1) IRR (中断请求寄存器) :保存中断源的中断请求 (2) IMR (中断屏蔽寄存器) :屏蔽/允许中断源请求中断,由程序写入,1为屏蔽,0为允许

相关文档