实验4 指示灯、数码管的中断控制实验报告
中断控制器实验的实验报告
中断控制器实验的实验报告
中断控制器是计算机系统中的重要组成部分,它负责管理和处理来自外部设备的中断信号。
本实验旨在通过搭建一个中断控制器原型,深入了解中断控制器的工作原理与应用。
一、实验目的
1. 掌握中断控制器的基本原理和工作方式;
2. 熟悉中断信号的产生和处理过程;
3. 实践动手能力,培养团队合作精神。
二、实验器材
1. 开发板:一块支持中断控制器实验的开发板;
2. 外设设备:各类外设设备,如键盘、鼠标、显示器等;
3. 连接线:用于连接开发板和外设设备的线缆。
三、实验步骤
1. 准备工作:
a. 确认开发板支持中断控制器实验,并检查开发板是否正常工作;
b. 将外设设备连接到开发板上,确保连接完好稳定;
c. 准备一段简单的代码,用于测试中断控制器的工作。
2. 搭建实验电路:
a. 将外设设备与开发板连接,确保连接正确;
b. 根据开发板的电路图和引脚定义,连接中断控制器电路。
3. 编写测试代码:
a. 利用开发板所提供的编程软件,编写一个简单的测试代码;
b. 测试代码应包括产生外设中断信号和中断处理的相关逻辑;
c. 确保代码的正确性和可靠性。
4. 实验过程:
a. 将测试代码下载到开发板上,确保下载成功;
b. 模拟外设设备的中断信号产生,观察中断控制器的工作情况;。
单片机原理及应用实验报告
《单片机原理及应用》实验报告姓名:学号:班级:应用物理指导教师:日期:实验1 计数显示器一、实验目的熟悉51单片机的基本输入输出应用,掌握Proteus模块的原理图绘图方法及单片机系统仿真运行方法二、实验原理由共阴极数码管LED1和LED2、P0口、P2口,上拉电阻RP1及Vcc组成的输出电路;由按钮开关BUT、P3.7和接地点组成的输入电路,该电路在编程软件的配合下,可实现计数显示功能:可统计按钮BUT的按压次数,并将按压结果以十进制数形式显示出来;当显示值达到99后可自动从1开始,无限循环。
三、实验内容(1)观察Proteus模块的软件结构,熟悉菜单栏、工具栏、对话框等基本单元功能(2)学会选择元件、画导线、修改属性等基本操作(3)学会可执行文件加载及程序仿真运行方法(4)验证计数显示器的功能四、实验要求提交实验报告并包括如下内容:电路原理图、电路原理分析、仿真运行截图及实验小结1.实验原理图2.仿真运行截图3.实验小结通过这次实验让我认识了kell和proteus软件的基本功能,学会了用kell编写程序用proteus仿真运行。
在这次实验中同时也遇到了很多问题。
比如因为第一次使用这两个软件对界面还不太熟悉,浪费了很多的时间也产生了很多错误,但之后与同学们的交流过程中,慢慢的对这两个软件有了更深入的了解,在后期仿真的时候才能得心应手的处理问题。
这个计数显示器的实验让我进一步了解了单片机与数码管的魅力,看到了电子元件的神奇之处,只要按动按键就能让数码管的数字逐次加一,这大大激发了我的学习单片机兴趣,这次实验也会成为我以后学习单片机的奠基石,因为它打开了我认识单片机的大门,让我认识到了单片机的魅力,并让我沉浸其中。
实验2 指示灯开关控制器一、实验目的学习51单片机I/O口基本输入输出功能,掌握汇编语言的编程与调试方法。
二、实验原理输入电路由外接在P1口的8只拨动开关组成;输出电路由外接在P2口的8只低电平驱动的发光二极管组成。
数码管实验报告实训步骤
一、实验目的1. 理解数码管的显示原理,掌握数码管的分类和应用。
2. 学习使用51单片机控制数码管显示数字的方法。
3. 熟悉数码管驱动电路的设计与搭建。
4. 培养动手实践能力和问题解决能力。
二、实验原理数码管是一种常用的显示器件,由多个发光二极管(LED)组成,能够显示数字、字母或符号。
根据LED的连接方式,数码管分为共阴极和共阳极两种类型。
本实验采用共阴极数码管。
共阴极数码管的特点是当LED的阴极接地时,LED会发光,从而显示出相应的数字或符号。
数码管由七个或八个LED组成,分别对应数字0-9或字母A-F。
三、实验器材1. 51单片机开发板2. 共阴极数码管3. 连接线4. 电源5. 示波器(可选)四、实验步骤1. 硬件连接(1)将数码管的阴极(GND)连接到单片机的GND引脚。
(2)将数码管的阳极(A-G或A-F)分别连接到单片机的P0、P1、P2等引脚。
(3)将数码管的位选引脚(DP或COM)连接到单片机的另一个引脚,用于控制数码管的显示。
2. 软件设计(1)编写初始化程序,设置单片机的P0、P1、P2等引脚为输出模式。
(2)编写数码管显示函数,根据需要显示的数字或字母,将对应的段码输出到数码管的阳极引脚。
(3)编写主程序,实现数码管动态显示数字0-9或字母A-F。
3. 动态显示(1)初始化数码管显示,清屏显示数字0。
(2)循环读取按键输入,根据按键值更新数码管显示的数字。
(3)使用定时器中断或延时函数实现数码管动态刷新。
4. 实验测试(1)连接电源,打开单片机开发板。
(2)使用示波器观察数码管的段码引脚,确认数码管显示正常。
(3)通过按键输入,测试数码管的动态显示功能。
五、实验结果与分析1. 硬件连接正确,数码管显示正常。
2. 数码管动态显示数字0-9,按键输入能够实时更新显示的数字。
3. 数码管刷新频率适中,显示效果稳定。
六、实验总结通过本次实验,我们学习了数码管的显示原理和驱动方法,掌握了使用51单片机控制数码管显示数字的技术。
单片机中断实验实训报告
一、实验背景随着电子技术的飞速发展,单片机因其体积小、成本低、功能强大等优点,在各个领域得到了广泛应用。
中断技术是单片机设计中非常重要的一部分,它允许单片机在执行程序的过程中,能够及时响应外部事件,从而提高系统的实时性和效率。
本实训旨在通过实验,加深对单片机中断系统的理解,掌握中断系统的使用方法,并学会在实际应用中灵活运用中断技术。
二、实验目的1. 熟悉单片机中断系统的基本概念和原理。
2. 掌握中断源、中断优先级、中断服务程序等基本概念。
3. 学会使用单片机的中断系统实现实时响应外部事件。
4. 培养动手实践能力和问题解决能力。
三、实验器材1. 单片机实验板2. 示波器3. 电源4. 连接线5. 逻辑分析仪(可选)四、实验内容1. 实验一:外部中断实验(1)实验目的:验证外部中断功能,实现按键控制LED灯的点亮和熄灭。
(2)实验步骤:a. 将外部中断0(INT0)引脚连接到按键,按键按下时产生低电平信号。
b. 编写中断服务程序,实现按键按下时点亮LED灯,按键释放时熄灭LED灯。
c. 编译程序,下载到单片机实验板上。
d. 测试实验效果,观察LED灯的点亮和熄灭情况。
2. 实验二:定时器中断实验(1)实验目的:验证定时器中断功能,实现LED灯的定时闪烁。
(2)实验步骤:a. 配置定时器T0为模式1,设置定时器初值,使定时器溢出时间为1秒。
b. 开启定时器中断,编写定时器中断服务程序,实现LED灯的定时闪烁。
c. 编译程序,下载到单片机实验板上。
d. 测试实验效果,观察LED灯的闪烁情况。
3. 实验三:中断嵌套实验(1)实验目的:验证中断嵌套功能,实现定时器中断和外部中断的嵌套。
(2)实验步骤:a. 配置定时器T0为模式1,设置定时器初值,使定时器溢出时间为1秒。
b. 开启定时器中断和外部中断,设置中断优先级。
c. 编写定时器中断服务程序和外部中断服务程序,实现中断嵌套。
d. 编译程序,下载到单片机实验板上。
中断灯实验报告
中断灯实验报告
《中断灯实验报告》
中断灯实验是一项经典的心理学实验,旨在探究人类的注意力和认知能力。
在这个实验中,参与者需要在一个屏幕上观察一个中断灯,当灯亮起时,他们需要尽快按下按钮做出反应。
这个实验可以帮助研究者了解人们在不同注意力状态下的反应速度和准确性。
在实验开始时,参与者会被告知他们需要尽快做出反应,但同时也需要保持准确性。
然后,他们会被要求盯着屏幕上的中断灯,等待灯亮起的时刻。
一旦灯亮起,他们需要立即按下按钮做出反应。
通过这个实验,研究者可以收集大量的数据,包括反应时间、错误率等。
通过分析这些数据,他们可以得出一些结论,比如人们在不同情境下的注意力集中程度,以及不同因素对注意力和认知能力的影响。
中断灯实验的结果可以为心理学研究提供重要的参考,帮助我们更好地理解人类的认知过程。
同时,这个实验也可以应用到其他领域,比如交通安全领域,帮助设计更加人性化的交通信号灯系统。
总的来说,中断灯实验是一项非常有趣且有意义的实验,它可以为我们揭示人类认知的奥秘,也可以为我们的生活带来一些启发和改进。
希望未来还会有更多的实验和研究能够帮助我们更好地理解人类的认知能力。
单片机实验报告四 外部中断实验
南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证⃞综合⃞设计⃞创新实验日期:2019. 4.30 实验成绩:实验四外部中断实验(一)实验目的1.掌握单片机外部中断原理;2.掌握数码管动态显示原理。
(二)设计要求1.使用外部中断0和外部中断1;2.在动态数码管上显示中断0次数,中断1用作次数清0,数码管采用74HC595驱动。
(三)实验原理1.中断:计算机执行主程序过程中,由于临时重要事件,需要暂停当前程序的运行,转到中断服务程序去处理临时事件,处理完后又返回原程序的断点处继续运行。
图1STC15单片机的中断系统包含21个中断源,2个中断优先级,二级中断服务嵌套,中断允许寄存器IE、IE2和INT_CLKO控制中断允许。
中断优先级寄存器IP、IP2管理中断优先级。
同优先级中断同时提出中断请求时,由内部的查询逻辑确定响应次序。
中断请求源中的外部中断0(INT0)和外部中断1(INT1)详述如下:1)外部中断0(INT0):中断信号由P3.2引脚输入。
通过IT0来设置中断请求的触发方式。
当IT0为“1”时,外部中断0为下降沿触发;当IT0为“0”时,无论是上升沿还是下降沿,都会引发外部中断0.一旦输入信号有效,则置位IE0标志,向CPU申请终端。
2)外部中断1(INT1):中断信号由P3.3引脚输入。
通过IT1来设置中断请求的触发方式。
当IT1为“1”时,外部中断0为下降沿触发;当IT1为“0”时,无论是上升沿还是下降沿,都会引发外部中断0.一旦输入信号有效,则置位IE0标志,向CPU申请终端。
2.LED数码管是显示数字和字母的常见显示器件,由8个发光二极管构成,结构如图2:图2段码:a、b、c、d、e、f、g、dp段的二进制代码(a为最低位),控制显示字型。
位选:公共端com,控制数码管是否显示。
3.数码管动态显示原理:任何时刻只有一个数码管处于显示状态,单片机采用“扫描”方式控制各个数码管轮流显示,通常将所有数码管段码线的相应段并联在一起,由一个8位I/O 端口控制。
实验四 数码管显示控制
实验四数码管显示控制一、实验目的1、熟悉Keil uVision2软件的使用;2、掌握LED数码管显示接口技术;3、理解单片机定时器、中断技术。
二、实验设备及仪器Keil μVision2软件;单片机开发板;PC机一台三、实验原理及内容1、开发板上使用的LED 数码管是四位八段共阴数码管(将公共端COM接地GND),其内部结构原理图,如图4.1所示。
图4.1共阴四位八段LED数码管的原理图图4.1表明共阴四位八段数码管的“位选端”低电平有效,“段选端”高电平有效,即当数码管的位为低电平,且数码管的段为高电平时,相应的段才会被点亮。
实验开发板中LED数码管模块的电路原理图,如图4.2所示。
SP1a~hP0.4~P0.7SP2P0.0~P0.3图4.2 LED数码管模块电路原理图图中,当P1.0“段控制”有效时,P0.0~P0.7分别对应到数码管的a~h段。
当P1.1“位控制”有效时,P0.0~P0.7分别对应到DIG1~DIG8。
训练内容一:轮流点亮数码管来检测数码管是否正常。
参考程序:ORG 00HAJMP MAINMAIN:SETB P1.2;LED流水灯模块锁存器的控制位MOV P0,#0FFH;关闭LED灯CLR P1.2SETB P1.3 ;点阵模块的行控制锁存器MOV P0,#0 ;关闭点阵行CLR P1.3MOV A,#11111110B;数码管“位选信号”初值,低电平有效LOOP:SETB P1.1;数码管位控制锁存器有效MOV P0,ACLR P1.1RL A ;形成新的“位选信号”,为选择下一位数码管做准备SETB P1.0;数码管段控制锁存器有效MOV P0,#0FFH ;数码管的所有段点亮,显示“8”CLR P1.0CALL DELAYSJMP LOOPDELAY:MOV R5,#0;延时子程序D1: MOV R6,#0D2:NOPDJNZ R6,D2DJNZ R5,D1RETEND训练内容二:静态显示,0~9计数。
实验报告四中断系统实验
实验报告四中断系统实验实验报告四:中断系统实验一、实验目的本次中断系统实验的主要目的是深入理解计算机中断系统的工作原理和机制,掌握中断的处理过程,以及学会如何在实际编程中有效地运用中断来提高系统的性能和响应能力。
二、实验原理中断是指计算机在执行程序的过程中,当出现某种随机事件或异常情况时,暂停现行程序的执行,转而执行相应的中断处理程序,处理完后再返回原程序继续执行的过程。
中断系统主要由中断源、中断控制器和中断处理程序组成。
中断源可以是外部设备(如键盘、鼠标、打印机等)发送的信号,也可以是内部事件(如定时器溢出、算术运算错误等)产生的条件。
中断控制器负责对多个中断源进行优先级管理和分配,确定哪个中断请求能够被响应。
中断处理程序则是用于处理具体中断事件的一段代码。
在中断处理过程中,计算机需要保存当前程序的上下文(包括程序计数器、寄存器等),以便在中断处理完成后能够正确地恢复原程序的执行。
同时,中断处理程序需要尽快完成处理任务,以减少对系统性能的影响。
三、实验设备与环境本次实验使用的设备包括一台计算机、开发板以及相应的编程软件。
开发板上集成了中断控制器和相关的外部设备接口,以便进行中断实验的操作和观察。
编程软件采用了常见的集成开发环境(IDE),如 Keil、IAR 等,用于编写和调试中断处理程序。
四、实验步骤1、硬件连接首先,将开发板与计算机通过数据线连接,并确保连接稳定。
然后,根据实验要求,将外部设备(如按键、传感器等)正确连接到开发板的相应接口上。
2、软件开发(1)在编程软件中创建一个新的项目,并选择适合开发板的芯片型号。
(2)配置中断控制器的相关参数,如中断优先级、触发方式等。
(3)编写中断处理程序,在程序中实现对中断事件的具体处理逻辑。
例如,当按键被按下时,控制 LED 灯的亮灭;当传感器检测到特定值时,进行数据采集和处理。
(4)编写主程序,在主程序中初始化系统,并开启中断功能。
3、编译与下载完成程序编写后,对代码进行编译,确保没有语法错误和逻辑错误。
实验四中断系统实验报告格式(PDF)
实验四中断系统一、实验目的1.掌握单片机中断系统的结构;2.掌握单片机的5个中断源、中断过程及中断源编号;3.掌握C51中断服务函数的编写。
二、实验设备PC机(含Proteus和Keil软件)三、实验原理中断是一个过程,当CPU在处理某件事情时,外部又发生了另一紧急事件,请求CPU 暂停当前的工作而去迅速处理该紧急事件。
处理结束后,再回到原来被中断的地方,继续原来的工作。
引起中断的原因或发出中断请求的来源,称为中断源。
MCS-51单片机有5个中断源,分为2个中断优先级,每个中断源的优先级都可以由软件来设定,可实现两级中断嵌套。
5个中断源分别是:1.外部中断请求源:即外部中断0和1,由外部引脚INT0(P3.2)/INT1(P3.3)引入。
2.内部中断请求源TF0/TF1:定时/计数器T0/T1的溢出中断标志。
3.内部中断请求源TI、RI:串行口发送、接收中断标志。
MCS-51单片机有4个与中断有关的特殊功能寄存器:中断允许寄存器IE、中断优先级寄存器IP、TCON、SCON(TCON、SCON的相关位作中断源的标志位)。
在TCON中有四位是与外部中断有关的。
IT0/IT1:INT0/INT1触发方式控制位,可由软件进和置位和复位,IT0/IT1,INT0/INT1为低电平触发方式,IT0/IT1,INT0/INT1为负跳变触发方式。
IE0/IE1:INT0/INT1中断请求标志位。
当有外部的中断请求时,该就会置1(由硬件来完成),在CPU 响应中断后,由硬件将IE0/IE1清0。
四、实验内容1.编程实现:8个LED一直熄灭,每按一次按键,LED闪烁6次。
2.编程实现:8个LED一直闪烁,每按一次按键,8个LED流水一次。
3.编程实现:按一次单脉冲,8个LED闪烁;再按一次按键,8个LED流水;以此循环往复。
硬件连接:外设单片机引脚8个LED P1按键外部0中断P3.2五、实验结果1.画出单片机与8个LED、按键的连接电路原理图。
实现中断功能_实验报告(3篇)
第1篇一、实验目的1. 理解中断的概念和作用。
2. 掌握单片机中断系统的基本原理和配置方法。
3. 学会编写中断服务程序,实现外部中断和定时器中断的应用。
4. 通过实验加深对中断系统在实际应用中的理解。
二、实验原理中断是计算机系统中一种重要的机制,它允许CPU在执行程序过程中,响应某些外部或内部事件,从而暂停当前程序的执行,转而处理这些事件。
单片机的中断系统主要包括外部中断和定时器中断两种类型。
三、实验环境1. 单片机:80C512. 开发环境:Keil for 80513. 仿真软件:Proteus4. 实验电路:外部按钮电路、LED灯电路、定时器电路四、实验内容1. 外部中断实验(1)实验目的:学习外部中断的工作原理,掌握外部中断的配置和编程方法。
(2)实验步骤:a. 创建80C51固件项目,并在Keil中编写程序。
b. 配置外部中断源,设置中断优先级。
c. 编写外部中断服务程序,实现LED灯的闪烁。
d. 在Proteus中搭建实验电路,并进行仿真测试。
(3)实验结果:当按下按钮时,LED灯闪烁,松开按钮后LED灯熄灭。
2. 定时器中断实验(1)实验目的:学习定时器中断的工作原理,掌握定时器中断的配置和编程方法。
(2)实验步骤:a. 创建80C51固件项目,并在Keil中编写程序。
b. 配置定时器工作模式,设置定时时间。
c. 编写定时器中断服务程序,实现LED灯的闪烁。
d. 在Proteus中搭建实验电路,并进行仿真测试。
(3)实验结果:定时器中断触发后,LED灯闪烁,达到设定时间后停止闪烁。
五、实验分析1. 外部中断实验分析通过外部中断实验,我们了解了外部中断的工作原理和配置方法。
在实验中,我们设置了外部中断源,并编写了中断服务程序,实现了LED灯的闪烁。
这表明外部中断可以有效地响应外部事件,并执行相应的操作。
2. 定时器中断实验分析通过定时器中断实验,我们掌握了定时器中断的配置和编程方法。
微机原理_中断实验报告(3篇)
第1篇一、实验目的1. 理解中断系统的基本概念和工作原理。
2. 掌握中断源、中断向量、中断服务程序等基本概念。
3. 学习使用Keil软件进行中断程序的编写和调试。
4. 熟悉中断在微机系统中的应用。
二、实验原理中断系统是微机系统中重要的组成部分,它允许CPU在执行程序的过程中,响应外部事件或内部事件,从而实现多任务处理。
中断系统主要包括以下几个部分:1. 中断源:产生中断请求的设备或事件,如外部设备、定时器、软件中断等。
2. 中断向量:中断服务程序的入口地址,用于CPU在响应中断时找到相应的服务程序。
3. 中断服务程序:处理中断请求的程序,完成中断处理任务。
4. 中断优先级:不同中断源的优先级不同,用于确定中断响应的顺序。
三、实验设备与软件1. 实验设备:单片机实验板、计算机、Keil软件、Proteus仿真软件。
2. 实验软件:Keil uVision4、Proteus 8.0。
四、实验内容1. 外部中断实验(1)使用外部中断0(INT0)实现按键控制LED灯的亮灭。
(2)使用外部中断1(INT1)实现按键控制LED灯的闪烁。
2. 定时器中断实验(1)使用定时器0产生1秒的定时中断,实现LED灯的闪烁。
(2)使用定时器1产生1秒的定时中断,实现按键输入的计数。
3. 软件中断实验(1)使用软件中断实现按键输入的字符显示。
(2)使用软件中断实现按键输入的字符加密显示。
五、实验步骤1. 在Keil软件中创建一个新项目,选择合适的单片机型号。
2. 根据实验要求,编写中断服务程序,设置中断向量。
3. 在Proteus软件中搭建实验电路,包括单片机、按键、LED灯等。
4. 将Keil软件编译后的程序下载到单片机中。
5. 在Proteus软件中运行仿真,观察实验结果。
六、实验结果与分析1. 外部中断实验(1)按键按下时,LED灯亮;按键松开时,LED灯灭。
(2)按键按下时,LED灯闪烁;按键松开时,LED灯停止闪烁。
中断控制试验报告
实验六8259中断控制一、实验目的1.学习8086/8088 CPU中断系统的知识。
2.学习8259中断控制器的使用。
二、实验内容1. 编写程序,使8255 的A 口控制LED 灯。
CPU 执行主程序时四个绿灯亮。
用脉冲信号作为8259 的IR3 的输入信号,向CPU 请求中断。
CPU 在中断服务程序中熄灭绿灯,并使4 个红灯亮。
中断服务程序结束,又返回主程序,再使绿灯亮。
2. 编写程序,使8255 的A 口控制LED 灯。
CPU 执行主程序时四个绿灯亮。
用脉冲信号作为8259 的IR3 的输入信号,向CPU 请求中断。
CPU 在中断服务程序中每中断一次,使4 个红色LED 灯中每次只亮一个灯,并随每一次中断逐次移动一个灯的位置,中断服务程序结束,又返回主程序,再使绿灯亮。
三、实验区域电路连接图);(Xl5INT连8088的INTR(1) 8259的 Xl2);8088的INTA(2() 8259的INTA连;IR3插孔相连;(单脉冲与时钟单元)“”插孔和8259的3号中断(3) 60H);CS端接EX1(的(4)8259。
JX4→JX17(5)连;→6)IOWRIOWR(;IORD→IORD)7(.(8)A0→A0;(9)PA0…PA3→L2,L6,L10,L14;PA4…PA7→L3,L7,L11,L15。
四、程序框图1.2.五、实验步骤(1)8259 的INT 连8088 的INTR(Xl5);(2)8259 的INTA 连8088 的INTA(Xl2);(3)单脉冲插孔和8259 的 3 号中断IR3 插孔相连;(单脉冲与时钟单元);(4)8259 的CS 端接EX1(60H);(5)连JX4→JX17。
(6)IOWR→IOWR;(7)IORD→IORD;(8)A0→A0; (9) PA0…PA3→L2,L6,L10,L14; PA4…PA7→L3,L7,L11,L15。
六、实验程序1.CODE SEGMENTASSUME CS:CODEINTPORT1 EQU 0060HINTPORT2 EQU 0061HINTQ3 EQU INTREEUP3INTCNT DB ?ORG 1200HSTART:CLDMOV DX,0FF2BHMOV AL,80H ;设置8255方式字:A口输出OUT DX,ALCALL WRINTVER ;WRITE INTRRUPTMOV AL,13H ;ICW1=00010011B,边沿触发、单8259、需ICW4MOV DX,INTPORT1OUT DX,ALMOV AL,08HMOV DX,INTPORT2OUT DX,ALMOV AL,09H ;ICW4=00001001B,非特殊全嵌套方式、缓冲/从、正常EOIOUT DX,ALMOV AL,0F7H ;OCW1=11110111BOUT DX,ALMOV INTCNT,01H ;延时STIWATING:MOV DX,0FF28H;主程序绿灯亮(低四位为0则绿灯亮,高四位为1故红灯灭)MOV AL,0F0HOUT DX,ALJMP WATINGWRINTVER:MOV AX,0HMOV ES,AXMOV DI,002CH ;中断向量地址2CH=0BH*4LEA AX,INTQ3STOSW ;送偏移地址MOV AX,0000hSTOSW ;送段地址RETINTREEUP3:CLI ;中断服务子程序开始PUSH DXPUSH AXMOV DX,0FF28H ;中断服务子程序执行红灯亮MOV AL,0FH ;低四位为1则绿灯灭,高四位为0故红灯亮OUT DX,ALCALL DELAY1SMOV AL,20H ;OCW2=00100000B非特殊EOI命令,结束命令,用于完全嵌套方式的中断结束MOV DX,INTPORT1OUT DX,ALSTI ;开系统中断POP AXPOP DXIRETDELAY1S:MOV CX,0FFFFHMOV BX,5L:DEC CXJNZ LDEC BXJNZ LRETEND START2.CODE SEGMENTASSUME CS:CODEORG 1200HINTCNT DB 0EFH ;全局变量INTCNT=11101111BSTART:MOV DX,0FF2BHMOV AL,80H ;设置8255方式字:A口出OUT DX,ALMOV AL,0FFHMOV DX,0FF28HOUT DX,ALCALL Y2MOV AL,13H;ICW1=00010011B,边沿触发、单8259、需ICW4MOV DX,60HOUT DX,ALMOV AL,08H ;ICW2=00001000B,IR3(ICW2低两位自动跳变为11,即00001011B)进入则中断号=0BH MOV DX,61HOUT DX,ALMOV AL,09H ;ICW4=00001001B,非特殊全嵌套方式、缓冲/从、正常EOIOUT DX,ALMOV AL,0F7H;OCW1=11110111BOUT DX,ALMOV INTCNT,0EFHSTIY1:MOV DX,0FF28H ;主程序绿灯亮(低四位为0则绿灯亮,高四位为1故红灯灭)MOV AL,0F0H ;D7…D4=1111,D3…D0=0000OUT DX,ALJMP Y1 ;循环Y2:MOV AX,0HMOV ES,AXMOV DI,002CH ;中断向量地址2CH=0BH*4LEA AX,INTREEUP3STOSW ;送偏移地址MOV AX,0000HSTOSW ;送段地址RETINTREEUP3:CLIPUSH AX ;保护现场PUSH DXPUSH CXMOV DX,0FF28H ;中断服务子程序执行红灯亮MOV AL,INTCNTOUT DX,ALROL INTCNT,1 ;循环左移一位JC Y4MOV INTCNT,0EFHY4:MOV AX,10H ;延时服务程序INTRE0:MOV CX,10000LOOP $DEC AX ;AX=AX-1JNZ INTRE0INTER2: ;设置OCW2MOV AL,20H ;D5=EOI=1,发送EOI指令结束中断MOV DX,60HOUT DX,ALPOP CX ;现场恢复POP DXPOP AXSTI ;开系统中断IRETCODE ENDSEND START七、实验感想本次实验锻炼的是我们对8259中断控制的理解。
实验四led灯和数码显示器的中断控制
实验四LED灯和数码显示器的中断控制一、实验目的:掌握外部中断的工作原理,熟悉中断编程及Keil平台软件调试方法。
二、实验原理:实验电路如图A.53所示。
K1和K2分别接于端口P3.2和P3.3,按压后的电平负跳变可分别产生INT0中断请求和INT1中断请求。
INT0中断响应后取端口P0.4电平,使指示灯D1的状态反转,INT1中断响应后使计数值增1并送给数码管LED显示。
电路原理图及中断原理分析:按键K1接外部中断0,K2接外部中断1。
P0.4接指示灯D1,P2口接数码管,每按一次K1键电平产生负跳变,INT0中断响应后取端口P0.4电平,D1的状态反转;每按一次K2键产生负跳变,INT1中断响应使计数值增1并使数码管显示该数值,变化范围为0~F。
三、实验步骤:(1)、按照表A.5所示将元件添加到Proteus ISIS对象选择列表中,并仿照图A.53完成电路原理图绘制。
(2)、在Keil中编写C51程序,并使之编译通过。
(3)、在Keil中加载编译后的可执行文件,并控制Proteus中的程序仿真运行。
Category Reference Value Microprocessor ICs U1 80C51Optoelectromics D1 LED-GREENSwitches&Relays K1~K2 BUTTONResistors R1~R2/100 RES Optoelectronics LED 7SEG-COM-CAT-GRN四、实验要求:(1)、主函数在程序初始化完成后进入原地循环状态,等待中断请求。
(2)、两路外部中断均设为下降沿触发方式,且为自然优先级。
(3)、计数变量初值为0,变化范围为0~F。
(4)、实验报告内容包括:电路原理图及分析、中断原理分析,C51源程序(含注释语句),仿真运行截屏图,实验小结。
五、C51源程序如下:#include< reg51.h>char led_mod[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71};char flag;sbit p0_4= P0^4;void delay(unsigned int time){unsigned int j =0;for(;time>0;time--)for(j=0;j<125;j++);}int0_key () interrupt 0{p0_4=!p0_4;}int1_key () interrupt 2{delay(200);P2=led_mod[flag%16];delay(200);flag++;}void main(void) {flag=0;IT0= 1;EX0= 1;EX1= 1;EA= 1;while(1);}六、试验结果:(1)开始运行时如下图:(2)、按键后运行图如下:实验结果分析:由运行结果可以看出,按键K1产生外部中断0控制D1的状态,使指示灯D1由亮到暗一次变化;按键K2产生外部中断1使LED显示0~F不同数值。
指示灯、数码管的中断控制实验报告
指示灯、数码管的中断控制实验报告
本次实验是通过中断控制指示灯和数码管的显示。
我们使用了STC89C52单片机来进行控制实验。
首先,我们定义了两个常量。
一个是DELAY,用于控制指示灯闪烁的速度;另一个是DELAY2,用于控制数码管显示的速度。
由于数码管的刷新速度要比指示灯快,所以我们设置了一个较小的DELAY2值。
在主函数中,我们对单片机进行了初始化,并开启了中断。
然后,我们通过一个while循环不断循环执行,等待中断的触发。
在中断处理函数中,我们利用了定时器来控制指示灯的闪烁,当计数器的值等于DELAY时,就切换指示灯的状态。
通过这种方式,我们可以让指示灯不断地交替闪烁。
对于数码管的中断控制,我们使用了另一个定时器。
每隔一段时间,就会调用中断处理函数,更新数码管的显示内容。
在这个函数中,我们定义了一个数码管显示表,通过循环周期地改变显示的内容,从而实现了数码管数字的滚动显示。
在实验过程中,我们还需要注意一些问题。
首先是定时器的设置,不仅要考虑到闪烁和滚动的速度,还要注意计数器的初始值和中断的开启。
另外,由于中断会频繁地跳入中断处理函数,我们需要尽量减少中断函数的执行时间,避免影响程序的运行。
通过这一次实验,我们掌握了中断控制指示灯和数码管的方法,对单片机的应用有了更深入的了解。
在今后的学习和开发中,这些基础知识将会起到重要的作用。
实验四 数码管的动态显示实验
实验四数码管的动态显示实验班级通信1102 姓名谢剑辉学号20110803223 指导老师袁文澹一、实验目的熟悉掌握数码管动态显示的基本方法;根据已知电路和设计要求在实验板上实现数码管动态显示。
根据已知电路和设计要求在PROTEUS平台仿真实现控制系统。
二、实验内容1、在STC89C52实验平台的4位数码管上实现动态显示0123→1234→2345→3456→4567→5678→6789→7890→8901→9012→0123→不断反复,每隔2s切换显示内容。
2、思考:如何实现当4位数码管显示的内容中有“1”时,蜂鸣器蜂鸣。
三、实验原理实验要求“4位数码管上实现动态显示0123→1234→2345→3456→4567→5678→6789→7890→8901→9012→0123→不断反复,每隔2s切换显示内容”。
动态扫描可以实现要求。
简单地说,动态扫描就是选通一位,送一位数据。
原理图中的P10~P13是位选信号,即选择哪个数码管显示数字;P00~P07是段码,即要显示的数字。
可以通过依次选通一位7段数码管并通过P0端口送出显示数据。
由于人眼的视觉残留原理,如果这种依次唯一选通每一位7段数码管的动作在0.1s内完成,就会造成多位数码管同时点亮显示各自数字的假象。
本实验使用中断,实现每2s更新一次数字。
四、实验方法与步骤设计思路和方法:1、根据电路图,分析数码管动态显示的设计思路,使用中断实现每2秒更新一次数字的设计思路,以及实现当4位数码管显示的内容中有“1”时,蜂鸣器蜂鸣的设计思路。
(1)数码管动态显示的原理如“实验原理”里所述,不赘述;(2)使用中断实现每2s更新一次数字的设计思路:本次实验使用Timer0中断,由于其定时时间最大为65536us,不能实现2s的长延时,那么可以使用多次中断来实现,并且在中断到来时,不断地死循环显示数字,即根据动态显示原理“选通一位,来一位数据”。
由于最大的数字为9,则(x%10),(x+1)%10,(x+2)%10,(x+3)%10分别是千位,百位,十位,个位上的数字。
中断控制实验实验报告
一、实验目的1. 理解中断控制的基本原理,掌握中断控制器的功能和工作方式。
2. 学习在嵌入式系统中实现中断控制的方法,提高嵌入式系统设计的实践能力。
3. 通过实验,掌握中断优先级设置、中断服务程序编写以及中断嵌套等关键技术。
二、实验原理中断控制是嵌入式系统设计中常见的一种技术,它能够使CPU在执行当前程序时,响应来自外部设备的中断请求,从而实现实时处理。
中断控制器(如8259、PIC等)是中断控制的核心部件,它负责接收中断请求、判断中断优先级、选择中断服务程序等。
三、实验设备1. 嵌入式开发板:如STM32、AVR等。
2. 调试器:如ST-Link、JTAG等。
3. 示波器:用于观察信号波形。
4. 相关开发软件:如Keil、IAR等。
四、实验内容1. 中断控制器初始化根据所使用的开发板和中断控制器型号,编写初始化代码,配置中断控制器的工作模式、中断优先级等。
2. 中断服务程序编写编写中断服务程序,实现对中断事件的响应和处理。
根据实际需求,编写中断服务程序的内容,如读取传感器数据、控制执行器动作等。
3. 中断优先级设置根据系统需求,设置中断优先级。
例如,高优先级的中断请求应优先处理,以保证系统的实时性。
4. 中断嵌套实现中断嵌套功能,允许高优先级的中断请求打断低优先级的中断服务程序。
5. 实验验证编写测试程序,验证中断控制功能是否正常。
使用示波器观察信号波形,确保中断请求、中断服务程序等环节正确执行。
五、实验步骤1. 搭建实验环境将开发板、调试器、示波器等设备连接好,并启动相关开发软件。
2. 编写初始化代码根据开发板和中断控制器型号,编写初始化代码,配置中断控制器的工作模式、中断优先级等。
3. 编写中断服务程序根据实际需求,编写中断服务程序,实现对中断事件的响应和处理。
4. 设置中断优先级根据系统需求,设置中断优先级。
5. 实现中断嵌套实现中断嵌套功能,允许高优先级的中断请求打断低优先级的中断服务程序。
实验4.指示灯 数码管的中断控制
实验4.指示灯/数码管的中断控制【实验目的】掌握外部中断原理,学习中断编程与程序调试方法。
【实验原理】实验电路原理图如图A.53所示,图中按键K1和K2分别接于P3.2和P3.3,发光二极管D1接于P0.4,共阴极数码管LED1接于P2口。
时钟电路、复位电路、片选电路忽略。
图A.53 实验的电路原理图在编程软件配合下,要求实现如下功能:程序启动后,D1处于熄灯、LED1处于黑屏状态;单击K1,可使D1亮灯状态反转一次;单击K2,可使LED1显示值加1,并按十六进制数显示,达到F后重新从1开始。
软件编程原理为:K1和K2的按键动作分别作为INT0和INT1的中断请求,在中断函数中进行指示灯与数码管的信息处理。
初始化后,主函数处于无限循环状态,等待中断请求。
【实验内容】(1)熟悉μVision3的软件调试方法;(2)完成C51语言编程;(3)练习μVision3与ISIS的联机仿真方法。
【实验步骤】(1)提前阅读与实验4相关的阅读材料;(2)参考图A.53;和表A.5,在ISIS中完成原理图的绘制;(3)在KeilμVision3中编写和编译C51程序,并生成可执行文件;(4)在μVision3中启动ISIS的仿真运行,并进行联机调试。
【实验要求】提交实验报告并包括如下内容:电路原理图、C51源程序(含注释语句)、软件调试分析、仿真运行截图及实验小结。
【参考图表】【实验程序】/*指示灯、数码管的中断控制程序*/#include <reg51.h>sbit P0_4 = P0^4;unsigned char i = 0; //数码管计数初始值0unsigned char duanma[16] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //0-F的数码管段码void main(){ P2 = 0x00; //开机数码管黑屏P0_4 = 1; //开机LED灯灭EA = 1; //总中断允许EX1 = EX0 = 1; //INT0、INT1允许IT1 = IT0 = 1; //脉冲触发while(1);}void INT_0SVR() interrupt 0 //INT0中断函数{ P0_4 = !P0_4; //将P0_4非赋值给P0_4}void INT_1SVR() interrupt 2 //INT1中断函数{ i++; //数码管计数加一if(i==16) //当数码管计数达到16时回归1i = 1;P2 = duanma[i]; //将段码赋值给P2}【仿真截图】略【实验小结】通过实验对Protues有了更多的了解,同时了解到中断系统在实际中的更好应用。
实验4 指示灯、数码管的中断控制实验报告
洛阳理工学院实验报告
运行效果图:
图1 运行效果图
说明:持续按下K1则D1将“亮→灭→亮→灭→…→亮→灭”如此循环,表明实现了K1对应于D1状态反转这个功能;持续按下持续按K2则数码显示管依次显示1-F,实现了K2对应于0~F间的数码管加一计数显示。
实验总结:
通过实验对Protues有了更多的了解,同时了解到中断系统在实际中的更好应用。
经过编程操作起来更加熟练,能很快的完成绘图,编程时也更得心应手,能熟练的运用软件找出自己所编程序中的语法问题及其他问题,并予以改正。
相信在今后的学习与试验中能取得更大的进步。
中断灯实验报告
中断灯实验报告中断灯实验报告引言:中断灯是一种常见的交通信号灯,用于控制车辆和行人的通行。
本实验旨在通过对中断灯的研究和实际操作,了解其工作原理和应用。
一、实验目的本实验的目的是通过对中断灯的实际操作,掌握其工作原理和应用。
通过实验,我们可以更好地理解交通信号灯在道路交通中的重要作用。
二、实验材料和方法实验所需材料包括中断灯、电源、导线等。
实验方法是将电源与中断灯连接,观察灯的亮灭情况,并通过改变电源的电压和频率来观察灯的变化。
三、实验结果在实验过程中,我们通过调节电源的电压和频率,观察中断灯的亮灭情况。
当电源的电压和频率符合中断灯的工作要求时,灯会按照规定的顺序亮灭,模拟真实的交通信号灯。
四、实验分析通过实验结果的观察和分析,我们可以得出以下结论:1. 中断灯的工作原理是通过电流的开关控制灯的亮灭。
当电流通过中断灯时,灯会亮起;当电流断开时,灯会熄灭。
2. 中断灯的亮灭顺序是由电源的电压和频率来控制的。
电源提供的电压和频率不同,中断灯的亮灭顺序也会不同。
3. 中断灯在道路交通中起到了非常重要的作用,它能够指示车辆和行人的通行情况,确保交通秩序的有序进行。
五、实验应用中断灯作为一种常见的交通信号灯,广泛应用于道路交通中。
它的应用不仅能够提高交通效率,还能够保障交通安全。
在城市道路、高速公路、铁路道口等地方都可以看到中断灯的身影。
六、实验心得通过本次实验,我对中断灯的工作原理和应用有了更深入的了解。
实际操作让我更加直观地感受到中断灯在交通中的重要性。
同时,实验也提醒我要时刻遵守交通信号灯,确保自己和他人的安全。
结论:中断灯作为一种重要的交通信号灯,通过电流的开关控制灯的亮灭,起到了指示车辆和行人通行的作用。
它的应用广泛,为道路交通提供了保障。
通过本次实验,我们更加深入地了解了中断灯的工作原理和应用,也加深了对交通安全的认识。
以上是对中断灯实验的报告,通过实际操作和分析,我们对中断灯有了更深入的了解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
洛阳理工学院实验报告
运行效果图:
图1 运行效果图
说明:持续按下K1则D1将“亮→灭→亮→灭→…→亮→灭”如此循环,表明实现了K1对应于D1状态反转这个功能;持续按下持续按K2则数码显示管依次显示1-F,实现了K2对应于0~F间的数码管加一计数显示。
实验总结:
通过实验对Protues有了更多的了解,同时了解到中断系统在实际中的更好应用。
经过编程操作起来更加熟练,能很快的完成绘图,编程时也更得心应手,能熟练的运用软件找出自己所编程序中的语法问题及其他问题,并予以改正。
相信在今后的学习与试验中能取得更大的进步。