实验4 指示灯、数码管的中断控制实验报告
中断控制器实验的实验报告
中断控制器实验的实验报告
中断控制器是计算机系统中的重要组成部分,它负责管理和处理来自外部设备的中断信号。
本实验旨在通过搭建一个中断控制器原型,深入了解中断控制器的工作原理与应用。
一、实验目的
1. 掌握中断控制器的基本原理和工作方式;
2. 熟悉中断信号的产生和处理过程;
3. 实践动手能力,培养团队合作精神。
二、实验器材
1. 开发板:一块支持中断控制器实验的开发板;
2. 外设设备:各类外设设备,如键盘、鼠标、显示器等;
3. 连接线:用于连接开发板和外设设备的线缆。
三、实验步骤
1. 准备工作:
a. 确认开发板支持中断控制器实验,并检查开发板是否正常工作;
b. 将外设设备连接到开发板上,确保连接完好稳定;
c. 准备一段简单的代码,用于测试中断控制器的工作。
2. 搭建实验电路:
a. 将外设设备与开发板连接,确保连接正确;
b. 根据开发板的电路图和引脚定义,连接中断控制器电路。
3. 编写测试代码:
a. 利用开发板所提供的编程软件,编写一个简单的测试代码;
b. 测试代码应包括产生外设中断信号和中断处理的相关逻辑;
c. 确保代码的正确性和可靠性。
4. 实验过程:
a. 将测试代码下载到开发板上,确保下载成功;
b. 模拟外设设备的中断信号产生,观察中断控制器的工作情况;。
中断灯实验报告
中断灯实验报告中断灯实验报告引言:中断灯是一种常见的交通信号灯,用于控制车辆和行人的通行。
本实验旨在通过对中断灯的研究和实际操作,了解其工作原理和应用。
一、实验目的本实验的目的是通过对中断灯的实际操作,掌握其工作原理和应用。
通过实验,我们可以更好地理解交通信号灯在道路交通中的重要作用。
二、实验材料和方法实验所需材料包括中断灯、电源、导线等。
实验方法是将电源与中断灯连接,观察灯的亮灭情况,并通过改变电源的电压和频率来观察灯的变化。
三、实验结果在实验过程中,我们通过调节电源的电压和频率,观察中断灯的亮灭情况。
当电源的电压和频率符合中断灯的工作要求时,灯会按照规定的顺序亮灭,模拟真实的交通信号灯。
四、实验分析通过实验结果的观察和分析,我们可以得出以下结论:1. 中断灯的工作原理是通过电流的开关控制灯的亮灭。
当电流通过中断灯时,灯会亮起;当电流断开时,灯会熄灭。
2. 中断灯的亮灭顺序是由电源的电压和频率来控制的。
电源提供的电压和频率不同,中断灯的亮灭顺序也会不同。
3. 中断灯在道路交通中起到了非常重要的作用,它能够指示车辆和行人的通行情况,确保交通秩序的有序进行。
五、实验应用中断灯作为一种常见的交通信号灯,广泛应用于道路交通中。
它的应用不仅能够提高交通效率,还能够保障交通安全。
在城市道路、高速公路、铁路道口等地方都可以看到中断灯的身影。
六、实验心得通过本次实验,我对中断灯的工作原理和应用有了更深入的了解。
实际操作让我更加直观地感受到中断灯在交通中的重要性。
同时,实验也提醒我要时刻遵守交通信号灯,确保自己和他人的安全。
结论:中断灯作为一种重要的交通信号灯,通过电流的开关控制灯的亮灭,起到了指示车辆和行人通行的作用。
它的应用广泛,为道路交通提供了保障。
通过本次实验,我们更加深入地了解了中断灯的工作原理和应用,也加深了对交通安全的认识。
以上是对中断灯实验的报告,通过实际操作和分析,我们对中断灯有了更深入的了解。
中断灯实验报告
中断灯实验报告
《中断灯实验报告》
中断灯实验是一项经典的心理学实验,旨在探究人类的注意力和认知能力。
在这个实验中,参与者需要在一个屏幕上观察一个中断灯,当灯亮起时,他们需要尽快按下按钮做出反应。
这个实验可以帮助研究者了解人们在不同注意力状态下的反应速度和准确性。
在实验开始时,参与者会被告知他们需要尽快做出反应,但同时也需要保持准确性。
然后,他们会被要求盯着屏幕上的中断灯,等待灯亮起的时刻。
一旦灯亮起,他们需要立即按下按钮做出反应。
通过这个实验,研究者可以收集大量的数据,包括反应时间、错误率等。
通过分析这些数据,他们可以得出一些结论,比如人们在不同情境下的注意力集中程度,以及不同因素对注意力和认知能力的影响。
中断灯实验的结果可以为心理学研究提供重要的参考,帮助我们更好地理解人类的认知过程。
同时,这个实验也可以应用到其他领域,比如交通安全领域,帮助设计更加人性化的交通信号灯系统。
总的来说,中断灯实验是一项非常有趣且有意义的实验,它可以为我们揭示人类认知的奥秘,也可以为我们的生活带来一些启发和改进。
希望未来还会有更多的实验和研究能够帮助我们更好地理解人类的认知能力。
单片机实验报告四 外部中断实验
南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证⃞综合⃞设计⃞创新实验日期: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 端口控制。
单片机实验报告
实验报告实验课程:单片机原理及应用班级:12自动化2班学号:姓名:教师:张玲成绩:实验日期:年月日实验名称:实验1——计数显示器一、实验目的:学习Proteus 软件的使用,掌握单片机原理图的绘图方法。
二、实验内容:1、绘制“计数显示器”电路原理图;2、利用提供的hex文件验证此电路的运行效果。
三、实验要求:提交的实验报告中应包括:1、绘图方法简述,要求说明元件与电源的选取、摆放及属性编辑,总线与标签的画法等内容;2、电路原理图;3、仿真运行效果展示,要求就仿真文件加载方法及3~4幅运行截图进行简要说明;4、实验小结,说明遇到的主要问题或实验1体会等。
参考电路原理图如下:元件类别电路符号元件名称Microprocessor ICs “U1”80C51Miscellaneous “X1”/12MHz CRYSTALCapacitors “C1”~“C2”/1nF CAPCapacitors “C3”/22μF CAP-ELECResistors Packs “RP1”/7-100ΩRESPACK-7Resistors “R1”/100ΩRESOptoelectronics “LED1”~“LED2”7SEG-COM-CAT-GRNSwitches & Relays “BUT”BUTTON1、编程思路及C51源程序:2、电路原理图:3、仿真运行效果展示:4、实验小结:熟悉Proteus软件,了解软件的结构组成与功能;学习ISIS模块的使用方法,学会设置图纸、选元件、线画总线、修改属性等基本操作;学会可执行文件加载及程序仿法;理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制。
实验名称:实验2——LED指示灯循环控制一、实验目的熟悉μVision3编译软件、掌握C51编程与调试方法。
二、实验内容1、按照教材P243的图A.34,绘制实验二电路原理图;2、编写C51程序,实现8个LED灯依次点亮的功能:P0.0→P0.1→P0.2→P0.3→┅→P0.7→P0.6→P0.5→┅→P0.0的顺序,无限循环,间隔约50ms;3、观察仿真结果,完成实验报告。
实验四 数码管显示控制
实验四数码管显示控制一、实验目的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计数。
单片机实验总结范文
一、实验背景随着科技的不断发展,单片机技术在各个领域得到了广泛的应用。
为了更好地掌握单片机原理和应用,我们进行了一系列的实验,以下是我对本次单片机实验的总结。
二、实验内容本次实验主要围绕以下几个方面展开:1. 单片机最小系统搭建:通过学习单片机基本原理,我们搭建了单片机最小系统,了解了单片机的基本工作原理。
2. 数码管显示实验:学习了数码管的原理,掌握了数码管显示的基本方法,实现了数字的动态显示。
3. 中断控制实验:了解了中断的概念,掌握了中断的编程方法,实现了数码管的中断控制。
4. 串口通信实验:学习了串口通信的基本原理,掌握了串口通信的编程方法,实现了单片机之间的数据交换。
5. 定时器实验:了解了定时器的原理,掌握了定时器的编程方法,实现了单片机的定时功能。
三、实验过程1. 实验一:单片机最小系统搭建在指导老师的帮助下,我们按照电路图搭建了单片机最小系统,并验证了系统的正常工作。
2. 实验二:数码管显示实验通过学习数码管的原理,我们编写了相应的程序,实现了数字的动态显示。
3. 实验三:中断控制实验我们学习了中断的概念,并编写了中断服务程序,实现了数码管的中断控制。
4. 实验四:串口通信实验我们学习了串口通信的基本原理,并编写了串口通信程序,实现了单片机之间的数据交换。
5. 实验五:定时器实验我们了解了定时器的原理,并编写了定时器程序,实现了单片机的定时功能。
四、实验心得1. 通过本次实验,我对单片机的基本原理和应用有了更深入的了解。
2. 在实验过程中,我学会了如何搭建单片机最小系统,掌握了数码管、中断、串口通信和定时器等模块的编程方法。
3. 在实验过程中,我遇到了许多问题,通过查阅资料、请教老师和同学,我学会了如何解决这些问题,提高了自己的动手能力和解决问题的能力。
4. 本次实验让我认识到理论与实践相结合的重要性,只有将所学知识运用到实际中,才能真正掌握单片机技术。
五、总结本次单片机实验让我受益匪浅,通过实验,我不仅掌握了单片机的基本原理和应用,还提高了自己的动手能力和解决问题的能力。
实验报告四中断系统实验
实验报告四中断系统实验实验报告四:中断系统实验一、实验目的本次中断系统实验的主要目的是深入理解计算机中断系统的工作原理和机制,掌握中断的处理过程,以及学会如何在实际编程中有效地运用中断来提高系统的性能和响应能力。
二、实验原理中断是指计算机在执行程序的过程中,当出现某种随机事件或异常情况时,暂停现行程序的执行,转而执行相应的中断处理程序,处理完后再返回原程序继续执行的过程。
中断系统主要由中断源、中断控制器和中断处理程序组成。
中断源可以是外部设备(如键盘、鼠标、打印机等)发送的信号,也可以是内部事件(如定时器溢出、算术运算错误等)产生的条件。
中断控制器负责对多个中断源进行优先级管理和分配,确定哪个中断请求能够被响应。
中断处理程序则是用于处理具体中断事件的一段代码。
在中断处理过程中,计算机需要保存当前程序的上下文(包括程序计数器、寄存器等),以便在中断处理完成后能够正确地恢复原程序的执行。
同时,中断处理程序需要尽快完成处理任务,以减少对系统性能的影响。
三、实验设备与环境本次实验使用的设备包括一台计算机、开发板以及相应的编程软件。
开发板上集成了中断控制器和相关的外部设备接口,以便进行中断实验的操作和观察。
编程软件采用了常见的集成开发环境(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、按键的连接电路原理图。
实验4 指示灯、数码管的中断控制实验报告
洛阳理工学院实验报告
运行效果图:
图1 运行效果图
说明:持续按下K1则D1将“亮→灭→亮→灭→…→亮→灭”如此循环,表明实现了K1对应于D1状态反转这个功能;持续按下持续按K2则数码显示管依次显示1-F,实现了K2对应于0~F间的数码管加一计数显示。
实验总结:
通过实验对Protues有了更多的了解,同时了解到中断系统在实际中的更好应用。
经过编程操作起来更加熟练,能很快的完成绘图,编程时也更得心应手,能熟练的运用软件找出自己所编程序中的语法问题及其他问题,并予以改正。
相信在今后的学习与试验中能取得更大的进步。
中断控制试验报告
实验六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中断控制的理解。
利用8259A中断实现LED灯和数码管显示实验
实验三:利用8259A中断实现LED灯和数码管显示实验安全0901 王宇航 09283020实验报告1.实验目的:了解8259中断控制器的基本使用,掌握中断程序编程技术。
同时使同学掌握中断和其它接口芯片配合来完成某一特定任务的方法。
2.实验步骤:8254A的OUT1输出接到8259A的MIR5上,每秒产生一次中断信号向8259A发出中断请求,在中断程序里将连接在8255A口的LED灯按照中断次数二进制点亮(即中断一次L0亮,中断两次L1亮,中断三次L1L0亮,中断四次L2亮……)。
同时在数码管低位上显示中断次数。
满10次后停止。
1.8254A在主程序中初始化。
CLK0工作在方式3,则控制字为00110110B,计数常数设为1000;CLK1工作在方式3,则控制字为01110110B,计数常数设为1000,则OUT1输出为1HZ 的方波。
2.8255A在使用前需要在主程序中初始化。
A口方式0输出,B口方式0输入,则控制字为10000011B。
3.8259A不用初始化,但在程序中需要包含以下几个部分:(1)8259A的MIR5对应的中断向量号为35H,需用此来设置中断入口地址。
(2)设置中断入口地址之后,需设置中断屏蔽字OCW1,使IR5请求被允许,其他请求被禁止。
(3)中断服务程序结束之前写OCW2,送中断结束命令EOI。
4.中断服务程序的主要功能是LED指示灯和数码管显示。
图3-1 实验连线图注意:实验系统的主8259A的片选信号为20H。
3.实验代码:.Model small.386DATA SEGMENTDATA0 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;分别对应字符0-9 COUNT DB 10 ;计数值为10DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AX ;DS装入段基址LEA SI,DA TA0 ;取操作数DA TA0的16位偏移地址送到寄存器SI中 ;8254初始化MOV DX,203H ;8254命令口MOV AL,00110110B ;控制字--0通道、方式3(方波发生器)、二进制计数 OUT DX,AL ;将控制字写入命令口MOV DX,200H ;0通道的数据口MOV AX,1000 ;计数常数=1000OUT DX,AL ;先写入低字节MOV AL,AHOUT DX,AL ;再写入高字节MOV DX,203H ;8254命令口MOV AL,01110110B ;控制字1通道、方式3(方波发生器)、二进制计数 OUT DX,ALMOV DX,201H ;1通道的数据口MOV AX,1000 ;计数常数=1000OUT DX,ALMOV AL,AHOUT DX,AL ;8255初始化MOV DX,213H ;8255命令口MOV AL,10000011B ;8255控制字--A口方式0输出,B口方式0输入OUT DX,AL ;将控制字写入命令口;中断入口地址设置(用串指令)CLI ;关中断MOV AX,0MOV ES,AX ;置附件段基地址为0MOV DI,4*35H ;置附件段偏移地址到DIMOV AX,OFFSET INT_35 ;置中断程序首地址的偏移量到AXCLDSTOSW ;填首地址的偏移量到中断地址表MOV AX,SEG INT_35 ;置中断程序的段基地址到AXSTOSW ;填段基地址到中断地址表IN AL,21H ;读中断屏蔽寄存器IMRAND AL,11011111B ;设置中断屏蔽字OCW1,IR5请求被允许,其他请求被禁止 OUT 21H,AL ;将OCW1写入IMR中STI ;开中断WAIT:CMP COUNT,10 ;判断10次中断是否结束JNZ WAIT ;未结束,等待CLI ;10次中断后,关中断MOV AH,4CH ;结束,返回DOSINT 21H;延时程序DELAY PROCPUSH CX ;保护现场MOV CX,100H ;延时时间为处理一次CX自减1的时间乘以100HDELAY1: LOOP DELAY1POP CX ;恢复现场RET ;返回到调用处,继续执行DELAY ENDP;中断服务程序INT_35 PROCPUSH DX ;保护现场PUSH AXPUSH CXCLI ;关中断MOV AX,DATAMOV DS,AXINC COUNT ;中断次数加1MOV AL,COUNT ;将中断次数写入AL中MOV DX,210H ;8255数据口OUT DX,AL ;将中断次数输出到LED显示灯MOV CX,680HCMP COUNT,10JB GOON-randomirandom; ;低于10时跳转到GOONCMP COUNT,10JNZ L1 ;不等于10(此处即大于10)时跳转到L1 SUB SI,9 ;第10次中断时SI减去9,即归0L1:MOV AL,[SI] ;查表,对应0-9MOV DX,220H ;地址译码器连接六位数码管电路的数据口OUT DX,ALMOV DX,221H ;数据口MOV AL,00000001B ;指定六位数码管在最低位显示0-9OUT DX,ALCALL DELAY ;调用延时程序MOV AL,06H ;对应字符'1'MOV DX,220HOUT DX,ALMOV DX,221HMOV AL,00000010B ;指定六位数码管在次低位显示1OUT DX,ALCALL DELAYLOOP L1 ;CX=680HINC SI ;SI加1JMP L ;跳转至LGOON:INC SI ;SI加1MOV AL,[SI] ;查表MOV DX,220HOUT DX,ALMOV DX,221HMOV AL,00000001BOUT DX,ALL:MOV AL,20H ;写OCW2,送中断结束命令EOIOUT 20H,ALSTI ;开中断POP CX ;恢复现场POP AXPOP DXIRET ;中断返回INT_35 ENDPCODE ENDSEND START4.试验流程图:主程序流程图中断服务程序流程图。
实验四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不同数值。
设计性 实验四 IO操作及按键中断
实验四 I/O操作及按键中断一、实验目的1、掌握DSP的I/O操作。
2、掌握DSP的中断控制功能。
二、实验设备计算机、ZY13DSP2BD实验箱、5402EVM板。
三、实验原理数码管的驱动采用了74LS244,其中数码管的段信号和位信号都是由FPGA来控制,在做DSP实验的时候需要知道数码管相对于DSP的I/O口地址为:0x10、0x11、0x12、0x13、0x14、0x15、0x16、0x17就可以完成实验项目了。
在编写LED段码的时候DSP的数据线D7—D0分别代表数码管的A、B、C、D、E、F、G、Dp段,由于DSP的数据是16位的而LED的数据是8位的,所以在使用FPGA接口时做了相应的处理,在使用时只需要在编写好的8位段码前面加上80H就可以了,例如:数据0,1,2,3,4,5,6,7对应的段码分别为:80FCH、8060H、80DAh、80F2h、8066H、80B6H、80BEH、80E0H。
此模块共有两种按键,KEY1—KEY4是轻触按键,在按键未按下时为高电平输入FPGA,当按键按下后对FPGA输入低电平,松开按键后恢复高电平输入,KEY5—KEY8是带自锁的双刀双掷开关,在按键未按下时是低电平,按键按下时为高电平并且保持高电平不变,只有再次按下此按键时才恢复低电平输入。
每当按下一个按键时,FPGA就会对此按键进行编码,KEY1—KEY8分别对应的是01H、02H、03H、04H、05H、06H、07H、08H。
在编码的同时对DSP产生中断INT1,这个时候DSP就会读取按键的值。
四、实验步骤一、I/O操作:1、将5402EVM上的J4同主板上的J4用排线相接,注意方向;2、打开主板上的电源和5402EVM上的电源开关;3、装栽DSP程序LED.PJT并运行,可以观察到数码管上显示的数据;4、修改DSP的实验原程序,观察数码管显示效果的变换,适当修改程序,使数码管显示不同的数据,并记录。
指示灯、数码管的中断控制实验报告
指示灯、数码管的中断控制实验报告
本次实验是通过中断控制指示灯和数码管的显示。
我们使用了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有了更多的了解,同时了解到中断系统在实际中的更好应用。
实验五_外部中断控制数码管显示实验
实验五、外部中断控制数码管显示实验一、实验目的(1)掌握80C51扩展显示、外部中断的硬件设计和编程方法。
二、实验内容按键每按下一次,数码管循环显示0-9字符。
三、实验接线图图4-1 独立按键电路图4-2 数码块显示电路图4-3 实验接线图1、程序流程图图2-4 主程序流程图 图2-5 中断服务程序流程图2、源程序#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit P32=P3^2;uchar led_c[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 };void delay(uint N) //N=500,延时1s ;N=5,延时10ms{uint i;while(N--) for(i=0;i<100;i++) _nop_();}void int0_s(void) interrupt 0{ uchar i; P2=0xfe;for(i=0;i<10;i++){P0=led_c[i]; delay(500); P0=0xff;} }void main(void){ SP=0x40; P0=0xff;IT0=1; EA=1; EX0=1;while(1); }1、P0口接数码显示模块的P17,P2.0接数码显示模块的P16的Q4B,独立键盘模块的P12引脚之一接P3.2;2、用keil编辑、编译程序,生成hex文件;3、用STC-ISP软件下载hex文件;4、观察程序运行时数码块显示情况。
六、实验结果七、思考题1、调整接线,并修改程序,使接收到外部中断后数码管显示00-99数字。
2、利用外部中断,控制音乐的播放。
【免费下载】指示灯数码管的中断控制实验报告
(参考样本)
学 院: 软件与通信工程 课程名称: 单片机原理 专业班级: 通信 101 姓 名: 学 号:
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通过实验对Protues有了更多的了解,同时了解到中断系统在实际中的更好应用。经过编程操作起来更加熟练,能很快的完成绘图,编程时也更得心应手,能熟练的运用软件找出自己所编程序中的语法问题及其他问题,并予以改正。相信在今后的学习与试验中能取得更大的进步。
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char i;
fanzhuan () interrupt 0
{
D1=!D1;
}
jishu () interrupt 2
{
i++;
P2=zimo[i];
if (i==15)i=0;
}
void main ()
3、编写实验四C51程序,实现如下功能:K1对应于D1状态反转;K2对应于0~F间的数码管加一计数显示;3、观察仿真结果,完成实验报告。
实验内容:
实验程序
#include<reg51.h>
sbit D1=P0^4;
unsigned char zimo[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
{
P2=0x00;
D1=0;
EA=1;
IT0=1;
EX0=1;
IT1=1;
EX1=1;
while (1);
}
运行效果图:
图1运行效果图
说明:持续按下K1则D1将“亮→灭→亮→灭→„→亮→灭”如此循环,表明实现了K1对应于D1状态反转这个功能;持续按下持续按K2则数码显示管依次显示1-F,实现了K2对应于0~F间的数码管加一计数显示。
洛阳理工学院实验报告
系别
计算机与信息工程系
班级
B1105
学号
B1105
姓名
课程名称
单片机原理及应用
实验日期
10.18
实验名称
指示灯/数码管的中断控制
成绩
Hale Waihona Puke 实验目的:掌握外部中断原理,学习中断编程与程序调试方法。
实验条件:
1、按照教材图A.53,绘制实验四电路原理图;
2、采用外部中断原理编程,按键K1、K2均设置为下降沿触发方式,且为自然优先级;