49文章网www.wz49.cn提供了丰富的唯美、励志、伤感、正能量等经典文章.如果你需要找名人名言、诗词名句、好词好句等,相信在这里能够找到想要的。

单片机实验1报告

分类:唯美句子浏览量:49发布于:3年前 作者:句子迷

以下为《单片机实验1报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

实验报告

盛某某 ***E0225

实验一、中断系统实验

(实验过程中遇到的问题以及分析解决在“三、程序运行现象与分析” 中)

实验原理与步骤

实验原理

本实验主要运用51单片机的外部中断系统完成对信号灯规定的操作,相关原理如下:

Ⅰ.中断处理过程:

(1)中断查询。单片机的CPU在每个机器周期结束时查询各中断请求标志位的值,若有请求,在响应条件满足的情况下响应中断;若无请求或响应条件不满足,继续执行原程序。

(2)中断响应。当有中断请求,并且中断开放、优先级允许等条件满足时,CPU暂停现行程序,设置相应的优先级状态触发器,然后断点地址入栈保护,进入中断服务程序。此外,CPU在响应中断后,对部分中断请求标志清零。

(3)执行中断服务程序。在此完成相应的服务任务。

(4)中断返回。在中断服务程序的结尾执行一条中断返回指令(RETI),即恢复优先级状态触发器和断点地址,完成中断返回,继续执行原程序。

Ⅱ. MCS-51的中断系统

MCS-5l的中断系统中有5个中断源:

中断源

中断矢量地址

中断允许寄存器IE

/允许控制位

中断优先级寄存器IP/优先级设置



外部中断INT0

0003H

EX0

PX0



定时器/计数器T0

000BH

ET0

PT0



外部中断INT1

0013H

EX1

PX1



定时器/计数器T1

001BH

ET1

PT1



串口UART中断

0023H

ES

PS



IE是中断允许寄存器,其中EX0、ET0、EX1、ET1、ES分别是上述5个中断的允许控制位,EA位是中断总允许位,每个中断只有在相应中断允许且总中断也允许的情况下才能得到中断响应。

MCS-51的5个中断部可以设为高、低2个优先级,IP是中断优先级寄存器,其中的PX0、PT0、PX1、PT1、PS位分别对应5个中断的优先级设置,置“1”时设定为高级中断,为“0”时是低级中断。在有中断嵌套要求时,低优先级中断可被高优先级中断所中断。当同一级的中断同时到来时,先响应中断矢量排在前面的中断。

Ⅲ. 外部中断的接口电路

MCS-51的外部中断源有两个,其中断请求信号分别由、引脚P3.2、P3.3(第二功能)输入。

另外,外部中断的触发方式有电平触发和边沿触发,这两种触发方式对接口电路的要求有所不同。当设置为边沿触发方式时,必须考虑请求信号的边沿不能有抖动,否则CPU会误认为有多次中断请求,而错误地产生多次中断响应。例如:CPU检测到一次边沿信号后响应中断,并清除相应的请求标志,由于触发信号有抖动,导致CPU又一次检测到中断请求,并保留此错误的请求标志,直到上一次中断返回、错误的中断被响应后才被清除。

当设置为电平触发方式时,外部中断请求标志随引脚上请求信号的变化而变化,因此接口电路应该能够完成中断响应前请求信号电平的保持、中断响应后请求信号的撤消。

Ⅳ. 外部中断的软件设置

使用外部中断之前,必须进行有关的软件设置:

1

外部中断的触发方式设置,设置TCON寄存器的IT0、IT1位某某0,则相应的外部中断为电平触发,低电平有效;设置为1时,边沿触发.下降沿有效。



2

中断优先级设置。设置IP寄存器的PX0、PX1位某某0,则相应的外部中断为低优先级;设置为1时,为高优先级。



3

中断开放设置。在希望响应外部中断时,设置IE寄存器的EA(总中断允许位)和EX0、EX1(分中断允许位)都为1,允许中断;在不希望响应外部中断时,可设置为关中断。



4

中断服务程序入口地址的设置。在程序存储器0003H、00l3H地址中设置一条转移指令,转移到相应的服务程序入口。





2、实验步骤

Ⅰ.按下图连接实验箱中相关元件

/

外部中断信号采用沿下降边触发,同时连接相应位置:

/

Ⅱ. 外部中断0服务程序的编写与调试

编写并调试—个中断程序,当按压外部中断0按钮,执行外部中断0服务子程序,使P1口8灯全亮、全某某8次。

(1)写出程序清单及注释。

(2)运行程序,记录现象。

Ⅲ. 外部中断1服务子程序的编写与调试

编写并调试—个中断程序,当按压外部中断1按钮,执行外部中断1服务子程序,使P1口驱动左右4灯轮流亮灭8次。

(1)写出程序清单及注释。

(2)运行程序,记录现象。

程序清单

外部中断0服务程序的编写与调试

Ⅰ.程序流程图

/

Ⅱ.汇编语言源程序及注释

;程序功能:当按压外部中断0按钮,执行外部中断0服务子程序,使P1口8灯全亮、全某某8次。

;参数:R0灯闪灭次数

;占用资源:P1、R0、R1、R2、R3

ORG 0000H

AJMP MAIN ;跳转主程序MAIN

ORG 0003H ;外部中断0矢量入口地址

AJMP W0 ;跳转中断服务程序

ORG 0050H ;主程序开始地址

MAIN:SETB IT0 ;设置外部中断源0为下降沿触发方式

MOV IP,#00H ;设置INT0为低级中断

SETB EA ;开CPU 总中断允许

SETB EX0 ;开INT0中断源允许

MOV R0,#08H ;设置灯闪灭次数为8次

HERE:SJMP HERE ;等待中断,待信号到来,进入外部中断0矢量地址0003H,再由该处程序跳转至中断服务程序W0

W0: MOV P1,#00H ;开灯

ACALL DELAY1S;调用1S延时子程序

MOV P1,#0FFH ;关灯

ACALL DELAY1S;调用1S延时子程序

DJNZ R0,W0 ;判断灯闪灭次数是否已达到8次

CLR EX0 ;清外部中断0

CLR EA ;清总中断

RETI ;中断返回

DELAY1S:MOV R1,#100 ;延时1S程序

B1: MOV R2,#10 ;延时10ms的循环次数

B2: MOV R3,#124 ;延时1ms的循环次数

NOP

B3: NOP

NOP

DJNZ R3,B3

DJNZ R2,B2

DJNZ R1,B1

RET

END

2. 外部中断1服务子程序的编写与调试

Ⅰ.程序流程图

/

Ⅱ.汇编语言源程序及注释

ORG 0000H

AJMP MAIN ;跳转主程序MAIN

ORG 0013H ;外部中断1矢量入口地址

AJMP W1 ;跳转中断服务程序

ORG 0050H

MAIN:SETB IT1 ;设置外部中断源1为下降沿触发方式

SETB EA ;开CPU 总中断允许

SETB EX1 ;开INT0中断源允许

MOV R0,#08H ;设置灯闪灭次数

HERE:SJMP HERE ;等待中断

W1: MOV P1,#0FH ;开高4位对应灯

ACALL DELAY1S ;调用1S延时子程序

MOV P1,#0F0H ;开第四位对应灯

ACALL DELAY1S ;调用1S延时子程序

DJNZ R0,W1 ;判断交替亮灭灯次数是否已达到8次

MOV P1,#0FFH ;灭全部灯

CLR EX1 ;清外部中断1

CLR EA ;清总中断

RETI ;中断返回

DELAY1S:MOV R1,#100 ;延时1S程序

B1: MOV R2,#10 ;延时10ms的循环次数

B2: MOV R3,#124 ;延时1ms的循环次数

NOP

B3: NOP

NOP

DJNZ R3,B3

DJNZ R2,B2

DJNZ R1,B1

RET

END

三.程序运行现象与分析

1. 外部中断0服务程序的编写与调试

/

/

在正确连线与程序调试完成后,与P1口连接的8个信号灯在接收到外部中断信号后,交替闪灭,一共8次,且间隔时间为1S。

实验中遇到的问题分析与解决:

编译程某某,总是有提示存在1个错误。

解决:该错误为漏了‘END’指令。因为教材书上展现的程序未必是完整程序,所以无论所编程序在哪一段结束,均需要在程序最后面加上‘END’指令才能完成编译。

运行程某某,有的灯没有按程序设定亮灭

解决:在反复确认程序无误后,认定为实验箱硬件问题,对应引脚一只为低电平,使信号灯一直亮灯。

注意:实验指定连接方式为信号灯共阳极连接,所以P1传输低电平时才使开灯,高电平为灭灯,编程时需注意。

2. 外部中断0服务程序的编写与调试

/

/

在正确连线与程序调试完成后,与P1口连接的8个信号灯在接收到外部中断信号后,先是高四位对应灯亮,然后为第四位对应灯亮,重复此方式,一共8次,且间隔时间为1S。

实验中遇到的问题分析与解决:

按下中断按钮后,信号灯没有反应

解决:外部中断0与外部中断1的信号传输引脚不同,此时运行新程某某,忘记调整实验箱上接线了。应将P3.2线接至P3.3。

【2】 运行程某某,有的灯没有按程序设定亮灭

解决:在反复确认程序无误后,认定为实验箱硬件问题,对应引脚一只为低电平,使信号灯一直亮灯。

四、问题回答

1. 单片机通电或复位,程序执行顺序是怎样的?

答:从0000H开始执行,然后根据该处的跳转指令,跳转到主程序,再按顺序执行。

中断信号到来,程序执行顺序是怎样的?

答:首先跳转到相应中断的矢量入口地址(前文实验原理有说明),然后根据该处的跳转指令,跳转到相应的中断服务程序,顺序执行中断服务。遇到‘RETI’指令后返回之前接受中断处。

中断定义中的三个关键词(中断、跳转、返回)在本程序中是如何体现的?

答:中断:主程序中各开中断程序与等待中断程序,例如:

SETB IT1 ;设置外部中断源1为下降沿触发方式

SETB EA ;开CPU 总中断允许

SETB EX1 ;开INT0中断源允许

HERE:SJMP HERE ;等待中断

跳转:放置在各中断矢量入口地址处的跳转指令:

AJMP W1 ;跳转中断服务程序

XXXXX

W1:XXXXX

返回:放置在中断服务程序中的‘RETI’指令。

比较外部中断1和外部中断0两个模块有何异同。

答:

外部中断0

外部中断1



功能:

区别不大



引脚:

P3.2

P3.3



中断请求标志位:

IE0

IE1



中断方式控制位:

IT0

IT1



中断允许位:

EX0

EX1



中断优先级(同级):

先于外部中断1

后于外部中断0



中断优先级控制位:

PX0

PX1



中断矢量入口地址:

0003H

0013H





[全文已结束,注意以上仅为全文的文字预览,不包含图片和表格以及排版]

以上为《单片机实验1报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

阅读本文的人,还看了

猜你喜欢

最近更新

关注我们

qrcode

49文章网提供了丰富的唯美、励志、伤感、正能量等经典文章.如果你需要找名人名言、诗词名句、好词好句等,相信在这里能够找到想要的.