单片机实验四报告材料_外中断实验

大学实验报告学生:学号:专业班级:实验类型:⃞验证⃞综合■设计⃞创新实验日期:2018.05.29 实验成绩:实验四外中断实验(一)实验目的1.掌握单片机外部中断原理;2.掌握数码管动态显示原理。

(二)设计要求1.使用外部中断0和外部中断1;2.在动态数码管上显示中断0次数,中断1用作次数清0,数码管采用74HC595驱动。

(三)实验原理1.中断所谓中断是指程序执行过程中,允许外部或部时间通过硬件打断程序的执行,使其转向为处理外部或部事件的中断服务程序中去,完成中断服务程序后,CPU返回继续执行被打断的程序。

如下图所示,一个完整的中断过程包括四个步骤:中断请求、中断响应、中断服务与中断返回。

当中断请求源发出中断请求时,如果中断请求被允许的话,单片机暂时中止当前正在执行的主程序,转到中断处理程序处理中断服务请求。

中断服务请求处理完后,再回到原来被中止的程序之处(断电),继续执行被中断的主程序。

如果单片机没有终端系统,单片机的大量时间可能会浪费在是否有服务请求发生的查询操作上,即不论是否有服务请求发生,都必须去查询。

因此,采用中断技术大大地提高了单片机的工作效率和实时性。

2.IAP15W4K58S4单片机的中断请求IAP15W4K58S4单片机的中断系统有21个中断请求源,2个优先级,可实现二级中断服务嵌套。

由IE、IE2、INT_CLKO等特殊功能寄存器控制CPU是否相应中断请求;由中断优先级高存器IP、IP2安排各中断源的优先级;同优先级2个以中断同时提出中断请求时,由部的查询逻辑确定其响应次序。

中断请求源中的外部中断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”时,外部中断1为下降沿触发;当IT1为“0”时,无论是上升沿还是下降沿,都会引发外部中断1。

一旦输入信号有效,则置位E1标志,向CPU申请中断。

中断源是否有中断请求,是由中断请求标志来表示的。

在IAP15W4K58S4单片机中,外部中断0、外部中断1等请求源的中断请求标志分别由特殊功能寄存器TCON和SCON控制,格式如下:(1)TCON寄存器中的中断请求标志。

TCON为定时器T0与T1的控制寄存器,同时也锁存T0和T1的溢出中断请求标志及外部中断0和外部中断1的中断请求标志等。

格式如下图所示:D7 D6 D5 D4 D3 D2 D1 D088H与中断有关的各标志位功能如下:①TF1:T1的溢出中断请求标志。

T1被启动计数后,从初值做加1计数,计满溢出后由硬件置位TFI,同时向CPU发出中断请求,此标志一直保持到CPU 响应中断后才由硬件自动清0。

也可由软件查询该标志,并由软件清0。

②TF0:T0的溢出中断请求标志。

T0被启动计数后,从初值做加1计数,计满溢出后由硬件置位TF0,同时向CPU发出中断请求,此标志一直保持到CPU响应中断后才由硬件自动清0。

也可由软件查询该标志,并由软件清0。

③IE1:外部中断1的中断请求标志。

当INT1(P3.3)引脚的输入信号满足中断触发要求时,置位IE1,外部中断1向CPU申请中断。

中断响应后中断请求标志自动清0。

④IT1:外部中断1(INT1)中断触发方式控制位。

当(IT1)=1时,外部中断1为下降沿触发方式。

在这种方式下,若CPU检测到INT1出现下降沿信号,则认为有中断申请,随即使IE1标志置位。

中断响应后中断请求标志会自动清0,无须做其他处理。

当(T1)=0时,外部中断1为上升沿触发和下降沿触发触发方式。

在这种方式下,无论CPU检测到INT1引脚出现下降沿信号还是上升沿信号,都认为有中断申请,随即使IE1标志置位。

中断响应后中断请求标志会自动清0,无须做其他处理。

⑤IE0:外部中断0的中断请求标志。

当INT0(P3.2)引脚的输入信号满足中断触发要求时,置位IE0,外部中断0向CPU申请中断。

中断响应后中断请求标志自动清0。

⑥IT0:外部中断0的中断触发方式控制位。

当(IT0)=1时,外部中断1为下降沿触发方式。

在这种方式下,若CPU检测到INT0(P3.2)出现下降沿信号,则认为有中断申请,随即使IE0标志置位。

中断响应后中断请求标志会自动清0,无须做其他处理。

当(IT0)=0时,外部中断0为上升沿触发和下降沿触发触发方式。

在这种方式下,无论CPU检测到INT0(P3.2)引脚出现下降沿信号还是上升沿信号,都认为有中断申请,随即使IE0标志置位。

中断响应后中断请求标志会自动清0,无须做其他处理。

(2)SCON寄存器中的中断请求标志。

SCON是串行口控制寄存器,其低2位TI和RI锁存串行口1的发送中断请求标志和接收中断请求标志格式如下:D7 D6 D5 D4 D3 D2 D1 D098H中断请求标志和接收中断请求标志的功能如下:①TI:串行口1发送中断请求标志。

CPU将数据写入发送缓冲器SBUF时,就启动发送,每发送完一个串行帧,硬件将使TI置位。

但CPU响应中断时并不清除TI,必须由软件清除。

②RI:串行口1接收中断请求标志。

在串行口1允许接收时,每接收完一个串行帧,硬件将使RI置位。

同样,CPU在响应中断时不会清除RI,必须由软件清除。

中断请求源中的外部中断0(INT0)和外部中断1(INT1)等都是可屏蔽中断,由片的中断允许寄存器IE控制,,可对中断的开放和关闭实现两级控制。

所谓两级控制,就是有一个总的开关中断控制位EA(IE.7位),当EA=0时,所有的中断请求被屏蔽,CPU对任何中断请求都不接受,因此称EA为系统中断允许总开关控制位;当EA=1时,CPU开放中断,但5个中断源的中断请否允许,还要由其对应的中断请求允许控制位状态决定。

格式如下:D7 D6 D5 D4 D3 D2 D1 D0A8H其中EX1是外部中断1中断允许位,EX1=0,禁止外部中断1中断;EX1=1,允许外部中断1中断。

EX0是外部中断0中断允许位,EX0=0,禁止外部中断0中断;EX0=1,允许外部中断0中断。

另外,单片机中的中断请求源还具有两个中断优先级,存放在特殊功能寄存器IP中,只要利用程序改变其容就可以对各个中断源的中断优先级进行控制,其格式如下:D7 D6 D5 D4 D3 D2 D1 D0IP ——PT2 PS PT1 PX1 PT0 PX0 B8H位地址——BDH BCH BBH BAH B9H B8H其中PX1是外部中断1的中断优先级控制位,PX1=1,外部中断1为高优先级;PX1=0,外部中断1为低优先级。

PX0是外部中断0的中断优先级控制位,PX0=1,外部中断0为高优先级;PX0=1,外部中断0为低优先级。

根据上述原理分析,单片机要相应中断请求,首先要使IE寄存器中的中断总允许位EA=1,再使外部中断0和1所对应的中断请求标志为1和中断允许位为1即可。

本实验要求对中断0计数再利用中断1清0,只需要在中断0的中断服务子程序加上一个计数器,在中断1的中断服务子程序对该计数器清0,最后利用数码管显示该计数器的值便可实现。

(四)实验设备硬件:PC机、USB数据传输线、STC单片机综合实验箱软件:兼容51单片机的Keil uvision5集成开发环境、STC-ISP单片机烧录软件(五)实验结果实验源代码如(七)所示。

对代码进行编译,提示0错误0警告,生成hex文件。

将单片机试验箱和电脑通过USB数据线连接,打开STC-ISP检测串口点击点开程序文件,选择刚才生成的hex文件,点击下载程序,烧录成功(六)结果讨论与心得体会结果分析讨论:将程序烧录至单片机后,可观察到数码管的高三位显示000,其他位消隐。

按下SW17(外部中断0),数码管对此计数,当按下SW18(外部中断1),数码管显示000,即定时器清零,与预期效果一致,完成实验。

心得体会:通过本次实验,我掌握了外部中断的原理,学会了利用按键来产生中断,还了解了如何使用数码管显示,希望通过自己多次尝试能在今后实验中熟练使用外部中断并将其运用到其他方面。

(七)附录:实验源代码P4 DATA 0C0H ;P5 DATA 0C8H ;P4M1 DATA 0xB3 ;P4M0 DATA 0xB4 ;P5M1 DATA 0xC9 ;P5M0 DATA 0xCA ;;******************************************************/ P_HC595_SER BIT P4.0 ;P_HC595_RCLK BIT P5.4 ;P_HC595_SRCLK BIT P4.3 ;;******************************************************/ LED8 DATA 30H ;display_index DATA 38H ;INT0_cnt DATA 39H ;;******************************************************/ ORG 0000H ;LJMP F_Main ;ORG 0003H ;LJMP F_INT0_Interrupt ;ORG 0013H ;LJMP F_INT1_Interrupt ;;******************************************************/ ORG 0100H ;F_Main:CLR A ;MOV P4M1, A ;MOV P4M0, A ;MOV P5M1, A ;MOV P5M0, A ;MOV display_index, #0 ;MOV R0, #LED8 ;MOV R2, #8 ;CLR IE1 ;CLR IE0 ;SETB EX1 ;SETB EX0 ;SETB IT0 ;SETB IT1 ;SETB EA ;MOV INT0_cnt, #0 ;L_MainLoop:LCALL F_delay_ms ;LCALL F_DisplayScan ;LJMP L_MainLoop ;F_delay_ms:MOV R2, #20 ;D1:MOV R3, #20 ;D2:DJNZ R3, D2 ;DJNZ R2, D1 ;RETT_Display: ;DB03FH,006H,05BH,04FH,066H,06DH,07DH,007H,07FH,06FH,077H,07CH,039H,05EH,079H,071H; DB 000HT_COM:DB 020H,040H,080H;F_Send_595:PUSH 02H ;MOV R2, #8 ;L_Send_595_Loop:RLC A ;MOV P_HC595_SER, C ;SETB P_HC595_SRCLK ;CLR P_HC595_SRCLK ;DJNZ R2, L_Send_595_Loop ;POP 02H ; RETF_DisplayScan:PUSH DPH ;PUSH DPL ;PUSH 00H ;MOV A, INT0_cnt ;MOV B, #100 ;DIV ABMOV LED8+0, A ;MOV A, #10 ;XCH A, B ;DIV AB ;MOV LED8+1, A ;MOV LED8+2, B ;MOV DPTR, #T_COM ;MOV A, display_index;MOVC A, A+DPTR ;CPL A ;LCALL F_Send_595 ;MOV DPTR, #T_Display ;MOV A, display_index;ADD A, #LED8 ;MOV R0, A ;MOV A, R0 ;MOVC A, A+DPTR ;LCALL F_Send_595 ;CLR P_HC595_RCLK ;SETB P_HC595_RCLK ;INC display_index ;MOV A, display_index;CJNE A, #3, L_QuitDisplayScan ;MOV display_index, #0 ;L_QuitDisplayScan:POP 00H ;POP DPL ;POP DPH ; RETF_INT0_Interrupt:INC INT0_cnt ;RETIF_INT1_Interrupt:MOV INT0_cnt , #00H ; RETIEND。

合集下载

外中断实验报告

外中断实验报告

一、实验目的1. 理解外中断的概念和作用。

2. 掌握外中断的触发方式和处理流程。

3. 通过实验验证外中断在嵌入式系统中的应用。

二、实验环境1. 实验平台:STM32开发板2. 开发环境:Keil uVision53. 代码编写语言:C语言三、实验原理外中断是指当外部信号发生时,CPU暂停当前程序执行,转而执行外中断服务程序。

外中断通常用于处理实时事件,如按键、传感器数据采集等。

外中断分为两个部分:中断触发和中断处理。

1. 中断触发:当外部信号满足一定条件时,触发外中断。

2. 中断处理:CPU响应中断请求,执行中断服务程序,完成相关处理。

四、实验步骤1. 初始化外中断(1)配置GPIO引脚为输入模式,用于接收外部信号。

(2)设置中断触发方式(上升沿、下降沿或双边沿触发)。

(3)使能中断和中断优先级。

2. 编写中断服务程序(1)编写中断服务程序,完成外部事件的处理。

(2)在中断服务程序中,设置标志位或调用其他函数处理事件。

3. 编写主程序(1)初始化硬件设备。

(2)启动外中断。

(3)执行主程序,监控中断事件。

4. 编译、下载程序到开发板(1)使用Keil uVision5编译代码。

(2)使用ST-Link下载程序到开发板。

5. 实验验证(1)通过按键或其他外部信号触发外中断。

(2)观察中断服务程序是否被正确执行,事件是否得到处理。

五、实验结果与分析1. 实验结果在实验过程中,当按下按键时,外中断被触发,中断服务程序被正确执行,事件得到处理。

2. 分析(1)外中断的触发方式设置正确,中断能够及时响应。

(2)中断服务程序编写合理,能够完成事件处理。

(3)主程序能够正常执行,监控中断事件。

六、实验总结1. 通过本次实验,掌握了外中断的概念、触发方式和处理流程。

2. 熟悉了STM32开发板外中断的使用方法。

3. 增强了在实际项目中应用外中断的能力。

七、实验心得1. 外中断在嵌入式系统中具有重要作用,能够提高系统的实时性和可靠性。

单片机原理外部中断实验

单片机原理外部中断实验

单片机原理实验报告实验题目外部中断实验一、实验目的1.掌握用外部中断方式实现控制的方法。

2.掌握中断优先级的使用方法。

3. 掌握用Proteus实现单片机系统仿真的方法。

二、实验预备知识外部中断信号由P3.2(P3.3)管脚输入,当中断触发方式控制位ITO(IT1)为1时,CPU 在每个机器周期的S5P2采样P3.2(P3.3)管脚,如果连续两次采样,前一次采样为高电平,后一次采样为低电平,则认为有中断申请,随即使中断标志位IE0(IE1)置1,向CPU申请中断,直到该中断被CPU响应。

当定时器以计数方式工作,计数初值为满量程,在计数输入端T0(T1)输入负跳变信号时,计数器将加1并产生溢出,随即使溢出标志位TF0(TF1)置1,向CPU申请中断,直到该中断被CPU响应。

三、实验内容P1口做输出口,接八只发光二极管,利用手控单脉冲信号作为外部中断信号,编写控制程序,使八只发光二极管按一定的规律循环点亮。

1.程序1: 从外部中断0请求输入端(P3.2)输入脉冲信号2.程序2: 从定时器0的外部输入端(P3.4)输入脉冲信号四、实验参考电路P1口接发光二极管的阴极,P1口的管脚输出低电平时对应的发光二极管点亮,实验电路图如图4-1所示。

图4-1 外部中断实验电路五、实验参考程序ORG 0003HAJMP INT00 ORG 0013H AJMP INT11 ORG 0050H MAIN:SETB EASETB EX0SETB EX1SETB PX1SETB IT0SETB IT1MOV A,#0FEH LP1:MOV P1,ALCALL DELAY RL ASJMP LP1ORG 0100H INT00:PUSH ACCMOV A,#0FCH MOV R1,#7 LP2:MOV P1,A LCALL DELAY RL ADJNZ R1,LP2 POP ACCRETIORG 0150H INT11:PUSH ACCMOV A,#3FH MOV R2,#7 LP3:MOV P1,ALCALL DELAY RR ADJNZ R2,LP3 POP ACCRETIORG 0200H DELAY:MOV R3,#20 L1:MOV R7,#200 L2:MOV R6,#123 NOPL3:DJNZ R6,L3 DJNZ R7,L2 DJNZ R3,L1 RETEND六、实验分析与总结。

外部中断计数实验报告

外部中断计数实验报告

一、实验目的1. 理解单片机外部中断的工作原理和触发条件。

2. 掌握如何通过外部中断实现计数功能。

3. 学习中断服务程序的设计方法。

4. 提高单片机编程和调试能力。

二、实验环境1. 单片机:80C512. 开发工具:Keil uVision3. 实验电路:按键、LED灯、单片机及其相关外围电路三、实验原理外部中断是指单片机通过外部引脚接收到的中断信号,使得CPU暂停当前程序,转而执行中断服务程序。

本实验通过外部中断实现计数功能,具体原理如下:1. 将单片机的某个外部引脚(如P3.2)设置为外部中断0(INT0)的触发引脚。

2. 在外部中断0的中断服务程序中,设置一个计数变量,每次中断发生时,计数变量加1。

3. 将计数变量的值通过LED灯显示出来,以观察计数过程。

四、实验步骤1. 创建Keil uVision项目,并添加80C51固件库。

2. 编写C语言程序,实现以下功能:- 初始化外部中断0,设置中断触发方式为下降沿触发。

- 初始化定时器,用于产生中断。

- 编写外部中断0的中断服务程序,实现计数功能。

- 编写主函数,用于设置单片机的工作状态和显示计数结果。

3. 编译并下载程序到单片机。

4. 连接实验电路,包括按键、LED灯和单片机及其相关外围电路。

5. 观察实验现象,验证计数功能是否实现。

五、实验结果与分析1. 实验现象:按下按键,LED灯显示的计数值加1。

2. 分析:- 外部中断0的中断服务程序被正确调用。

- 计数变量在每次中断发生时加1。

- LED灯能够正确显示计数结果。

六、实验总结1. 本实验成功实现了通过外部中断实现计数功能,验证了单片机外部中断的工作原理。

2. 通过编写中断服务程序,掌握了中断编程方法。

3. 实验过程中,遇到了一些问题,如中断服务程序编写错误、程序编译错误等,通过查阅资料和调试,最终解决了问题。

4. 通过本次实验,提高了单片机编程和调试能力,加深了对单片机外部中断的理解。

单片机实验四报告_外中断实验

单片机实验四报告_外中断实验

南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证 ⃞综合■设计 ⃞创新实验日期:2018.05.29 实验成绩:实验四外中断实验(一)实验目的1.掌握单片机外部中断原理;2.掌握数码管动态显示原理。

(二)设计要求1.使用外部中断0和外部中断1;2.在动态数码管上显示中断0次数,中断1用作次数清0,数码管采用74HC595驱动。

(三)实验原理1.中断所谓中断是指程序执行过程中,允许外部或内部时间通过硬件打断程序的执行,使其转向为处理外部或内部事件的中断服务程序中去,完成中断服务程序后,CPU返回继续执行被打断的程序。

如下图所示,一个完整的中断过程包括四个步骤:中断请求、中断响应、中断服务与中断返回。

当中断请求源发出中断请求时,如果中断请求被允许的话,单片机暂时中止当前正在执行的主程序,转到中断处理程序处理中断服务请求。

中断服务请求处理完后,再回到原来被中止的程序之处(断电),继续执行被中断的主程序。

如果单片机没有终端系统,单片机的大量时间可能会浪费在是否有服务请求发生的查询操作上,即不论是否有服务请求发生,都必须去查询。

因此,采用中断技术大大地提高了单片机的工作效率和实时性。

2.IAP15W4K58S4单片机的中断请求IAP15W4K58S4单片机的中断系统有21个中断请求源,2个优先级,可实现二级中断服务嵌套。

由IE、IE2、INT_CLKO等特殊功能寄存器控制CPU是否相应中断请求;由中断优先级高存器IP、IP2安排各中断源的优先级;同优先级内2个以中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。

中断请求源中的外部中断0(INT0)和外部中断1(INT1)详述如下:(1)外部中断0(INT0):中断请求信号由P3.2引脚输入。

通过IT0来设置中断请求的触发方式。

当IT0为“1”时,外部中断0为下降沿触发;当IT0为“0”时,无论是上升沿还是下降沿,都会引发外部中断0。

一旦输入信号有效,则置位IE0标志,向CPU申请中断。

外部中断计数实验报告

外部中断计数实验报告

外部中断计数实验报告实验名称:外部中断计数实验报告一、实验目的通过实验了解外部中断的工作原理和应用,掌握基于外部中断进行计数的方法,并能够编写相应的程序实现计数功能。

二、实验内容1. 搭建实验电路:将一个外部脉冲信号作为中断源,与单片机相应的中断输入引脚连接。

2. 编写相应的程序:设置单片机的中断向量表,配置中断引脚为外部中断,编写中断服务函数和主函数,实现外部中断计数功能。

3. 下载程序到单片机并运行:将编写好的程序下载到单片机,通过外部脉冲信号触发中断,验证计数功能的正确性。

三、实验原理外部中断是指外部事件触发单片机中断请求的一种中断方式。

其工作原理是:当外部事件发生时,通过引脚输入信号到中断输入引脚,引起中断请求,最终触发中断服务程序的执行。

在本次实验中,我们通过将外部脉冲信号连接到单片机的中断输入引脚,每次外部脉冲信号到达时触发一次中断,并在中断服务程序中进行计数操作。

四、实验步骤1. 搭建实验电路:将外部脉冲信号连接到单片机的中断输入引脚,同时连接电源和调试工具。

2. 编写程序:使用适当的开发工具编写程序,包括设置中断向量表、配置中断引脚和编写中断服务函数。

3. 下载程序:将编写好的程序下载到单片机。

4. 运行程序:通过触发外部脉冲信号,验证计数功能的正确性。

五、实验结果与分析根据实验的步骤和要求,我们成功搭建了实验电路,并编写了相应的程序。

通过触发外部脉冲信号,实验结果显示单片机成功进行了计数操作,即正确触发了中断服务函数。

六、实验总结通过本次实验,我们了解了外部中断的工作原理和应用,并掌握了基于外部中断进行计数的方法。

同时,通过编写程序,我们成功搭建了实验电路,实现了外部中断计数功能。

实验结果表明,外部中断计数功能正常运行。

七、存在问题及改进方向在实验过程中,我们发现实时性较高的外部脉冲信号可能会引起计数不准确的问题。

这是因为我们的程序没有对外部脉冲信号进行滤波处理,导致了计数的不稳定性。

单片机外部中断实验报告

单片机外部中断实验报告

实验三外部中断实验报告班级:学号:姓名:教师:一、实验目的1、掌握单片机外部中断的原理及过程。

2、掌握单片机外部中断程序的设计方法。

3、掌握单片机外部中断时中断方式的选择方法。

二、实验内容如下图所示,P3.2设为输入,P2设为输出位,连有8个发光二极管D1~D8。

每当发生外部中断时,发光二极管以向下流水灯的方式点亮。

分别选择边沿触发外部中断放是和电平触发外部中断方式两种。

三、编程提示1、P3口是8位准双向口,具有双重功能:第一功能和P1口一样,作为输入输出口,也有字节操作和位操作两种方式,每一位可分别定义为输入或输出;第二功能定义如下:P3.0 RXD 串行输入口P3.1 TXD 串行输出口P3.2 INT0 外部中断0请求输入线P3.3 INT1 外部中断1请求输入线P3.4 T0定时器/计数器T0外部计数器脉冲输入线P3.5 T1定时器/计数器T1外部计数器脉冲输入线P3.6 WR外部数据存贮器写脉冲输出线P3.7 RD外部数据存贮器读脉冲输出线2、各中断服务程序入口地址:外部中断0 03H定时器/计数器T1溢出中断0BH外部中断1 13H定时器/计数器1BH串行口中断23H3、外部中断的产生条件中断允许寄存器IE:EA ES ET1 EX1 ET0 EX0(1)外部中断源允许中断(中断0:EX0=1;中断1:EX1=1)。

(2)CPU开中断(EA=1)。

(3)外部中断方式CPU发出中断申请。

4、外部中断方式的选择控制TCON:TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0IT0是选择文字则外部中断0请求(INT0)边沿触发方式或电平触发方式的控制位。

前一方式IT0=1,后一方式IT0=0。

IT1是选择外部中断1请求(INT1)为边沿触发方式或电平触发方式的控制位。

前一方式IT1=1,后一方式IT1=0。

当8031复位后,TCON被清0。

5、外部中断电路负脉冲作为中断请求信号时,为了保证中断的唯一性,必须加上消除开关抖动的电路或者去抖动延时程序,保证每次只产生单脉冲,构成边沿触发方式外部中断电路。

单片机实验之外部中断应用实验

一、实验目的1、掌握中断系统外部中断源的使用方法。

2、掌握延时程序的编程及使用方法。

3、掌握Proteus软件与Keil软件的使用方法。

4、掌握单片机系统的硬件和软件设计方法。

二、设计要求1、用Proteus软件画出电路原理图,在单片机的P1.0口线上接按键K0 ,作为外部中断源0使用,用于开启波形,在单片机的 P1.1口线上接按键K1,作为外部中断源1使用,用于关闭波形。

2、在单片机的P1.2口线上产生周期50mS的连续方波,在P1.2口线上接示波器观察波形。

三、电路原理图六、实验总结通过本实验能够准确安排各种类型的中断服务程序入口,中断源提出中断申请后,却执行到相应的中断服务程序。

弄清楚了中断服务程序与子程序的共同点和不同点。

七、思考题1、在P1.2口线上产生周期为100mS,占空比为2:5的连续矩形波,要求只采用按键K0来控制其开启和关闭。

答:程序见程序清单。

四、实验程序流程框图和程序清单。

1、在单片机的P1.2口线上产生周期50mS的连续方波。

P1.0口线上接按键K0 ,作为外部中断源0使用,用于开启波形, P1.1口线上接按键K1,作为外部中断源1使用,用于关闭波形。

汇编程序:ORG 0000H START: LJMP MAINORG 0003HLJMP EXT0ORG 000BHLJMP TTCOORG 0013HLJMP EXT1ORG 0100HMAIN: MOV TMOD, #01HMOV TCON, #01HMOV IE, #87HMOV TH0, #9EHMOV TL0, #58HSETB PX1HERE: LJMP HEREEXT0: SETB TR0RETIEXT1: CLR TR0RETITTCO: CPL P1.2MOV TH0, #9EHMOV TL0, #58HRETIENDC语言程序:#include<reg51.h>sbit P12=P1^2;main(){TMOD=0X01;EA=1;EX0=1;EX1=1;ET0=1;PX1=1;TCON=0X01;TH0=0X9E;TL0=0X58;while(1);}void EXT0() interrupt 0{ TR0=1;}void EXT1() interrupt 2{ TR0=0;}void TTC0() interrupt 1{ P12=!P12; TH0=0X9E;TL0=0X58;}2、在P1.2口线上产生周期为100mS,占空比为2:5的连续矩形波,要求只采用按键K0来控制其开启和关闭。

外部中断实验报告

外部中断实验报告外部中断实验报告引言:外部中断是计算机系统中的一种重要机制,它可以响应外部事件并中断正在执行的程序。

本实验旨在通过设计和实现一个外部中断的示例,加深对外部中断的理解和应用。

实验目的:1. 理解外部中断的概念和原理;2. 掌握外部中断的编程方法;3. 设计和实现一个基于外部中断的应用。

实验设备和材料:1. 一台支持外部中断的计算机;2. 开发板或模块,用于外部中断的触发。

实验过程:1. 硬件连接:将开发板或模块与计算机连接,并确保连接正确和稳定。

2. 编写中断处理函数:在编程环境中,编写一个中断处理函数,用于处理外部中断触发时的操作。

可以根据实际需求,设计适当的处理逻辑。

3. 配置中断触发条件:根据实验要求,配置外部中断触发的条件。

可以通过设置开关、按键或其他外部信号来触发中断。

4. 编写主程序:编写一个主程序,用于初始化外部中断和执行其他操作。

在主程序中,需要配置外部中断的相关寄存器和中断向量表。

5. 运行实验:将程序下载到计算机中,并运行实验。

通过触发外部中断条件,观察中断处理函数的执行情况。

实验结果与分析:在实验中,我们成功实现了一个基于外部中断的应用。

当外部中断触发条件满足时,中断处理函数被调用,并执行相应的操作。

通过实验观察和分析,我们可以得出以下结论:1. 外部中断可以在计算机系统中实现对外部事件的及时响应,提高系统的实时性和可靠性。

2. 外部中断的触发条件可以灵活配置,可以通过外部设备或信号的变化来触发中断。

3. 中断处理函数的执行时间相对较短,可以在不影响主程序正常运行的情况下完成相应的操作。

4. 外部中断的应用范围广泛,可以用于实现各种实时控制、通信和交互功能。

实验总结:通过本次实验,我们深入了解了外部中断的原理和应用,并成功设计和实现了一个基于外部中断的应用。

外部中断作为计算机系统中的重要机制,具有重要的意义和应用价值。

在今后的学习和实践中,我们应进一步探索和应用外部中断,为计算机系统的性能和功能提供更多的可能性。

外部中断的实验报告

一、实验目的1. 理解外部中断的概念和作用。

2. 掌握外部中断的编程方法。

3. 熟悉中断处理程序的设计和调试。

二、实验原理外部中断是指由外部设备或信号产生的中断,用于处理与CPU无关的事件。

在微机系统中,外部中断通常用于处理输入/输出设备的中断请求。

外部中断分为可屏蔽中断和不可屏蔽中断两种类型。

三、实验环境1. 开发平台:Keil uVision 52. 微控制器:STM32F103C8T63. 外部设备:按钮、LED灯4. 连接方式:通过GPIO引脚连接四、实验步骤1. 设计外部中断电路(1)将按钮连接到STM32F103C8T6的GPIO引脚,例如PA0引脚。

(2)将LED灯连接到STM32F103C8T6的另一个GPIO引脚,例如PB0引脚。

2. 编写外部中断初始化程序(1)在Keil uVision 5中创建一个新项目,并添加STM32F103C8T6的起始代码。

(2)在主函数中编写初始化程序,包括以下步骤:a. 配置PA0引脚为输入模式,设置为浮空输入。

b. 配置PB0引脚为输出模式,用于控制LED灯。

c. 使能中断,设置中断优先级。

d. 配置NVIC(嵌套向量中断控制器)以允许外部中断。

3. 编写外部中断处理程序(1)在项目中添加一个新的C文件,用于编写外部中断处理程序。

(2)编写外部中断处理函数,当按钮按下时,触发中断,控制LED灯闪烁。

a. 初始化外部中断处理函数,设置中断优先级和中断触发方式。

b. 在外部中断处理函数中,编写LED灯控制代码,实现LED灯闪烁。

4. 编译并下载程序(1)编译项目,生成.hex文件。

(2)将.hex文件下载到STM32F103C8T6开发板上。

5. 测试实验结果(1)将按钮按下,观察LED灯是否闪烁。

(2)松开按钮,LED灯停止闪烁。

五、实验结果与分析1. 实验结果实验过程中,当按钮按下时,LED灯闪烁;松开按钮后,LED灯停止闪烁。

实验结果表明,外部中断能够正确地处理外部设备的中断请求,并控制LED灯的亮灭。

(单片机原理与应用实验)实验4外中断实验

设置中断的临时和永久关闭
可通过硬件电路和程序操作实现中断的暂停、延迟和关闭。
单片机中断的限制与局限性
一次中断只能处理单 一任务
每次中断响应只能处理一个事 件,无法同时执行多个中断任 务。
对中断处理的时间和 精度要求较高
中断程序需要快速响应和实现, 并保持高精度和低误差。
中断任务的开销和存 储空间较大
智能门锁
中断用于执行网络任务并接收无 线信号,保证网络的稳定和性能。
中断用于检测密码和指纹等,实 现智能门禁功能和安全保障。
交通信号灯
中断用于控制信号变化和流量监 测,实现交通安全和效率。
中断优先级的控制与调度
提高任务的优先级
终止当前执行的任务,并开始响应更高优先级的中断任务。
屏蔽低优先级的中断
阻止低优先级的中断过程,优先完成高优先级的中断任务并避免误操作。
采用合适的中断驱 动模式
不同的中断驱动模式有着不 同的优点和局限性,需要根 据实际情况及时调整。

对中断控制和优先 级进行优化
中断控制和优先级的设置能 够直接影响到中断系统的性 能和效率,应进行优化和梳 理。
定期检测和维护中 断系统
中断系统的稳定性和可靠性 需要定期检查和维护,及时 修复故障和调整优化。
可能是中断控制端口连接错误或电路设计有误,需要检查原理图和程序,并进行调试和 重组。
2 问题2:中断运行速度太慢。
可能是程序优化不当或中断优先级设置有误,需要进行程序的升级和重新排列优先级。
实验效果的总结与评估
实验优点
本次实验通过对中断控制的学习和探究,深入理解 了单片机系统设计的基本原理和应用方法。
常见中断相关问题与FAQ
1 中断和定时器有什么 2 什么情况下需要进行 3 如何调整中断控制的
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档