单片机实验5外部中断
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RETI
K1: CLR TR0
RETI
TTC0: CPLP1.2
MOVTH0, #9EH
MOVTL0,#58H
RETI
END
题一二C语言程序:
#include<reg52.h>
#define unchar unsigned char
#define uintunsigned int
sbit P10=P1^0;
{
TR0=!TR0;
}
程序流程框图:
LOOP:JBCTF0,LOOP1
LJMPLOOP
LOOP1:CPLP1.2
MOVTH0, #15H
MOVTL0, #0A0H
LOOP2:JBCTF0,LOOP3
LJMPLOOP2
LOOP3:CPLP1.2
MOVTH0,#63H
MOVTL0,#0C0H
LJMPLOOP
INTER0:CPLTR0
RETI
一、实验目的和要求
1、掌握中断系统外部中断源的使用方法。
2、掌握延时程序的编程及使用方法。
3、掌握Proteus软件与Keil软件的使用方法。
4、掌握单片机系统的硬件和软件设计方法。
二、设计要求
1、用Proteus软件画出电路原理图,在单片机的P1.0
口线上接按键K0,作为外部中断源0使用,用于
开启波形,在单片机的P1.1口线上接按键K1,
题一二实物波形
思考题C语言程序仿真波形
思考题实物波形
七、思考题。
思考题汇编程序:
ORG0000H
START:LJMPMAIN
ORG0003H
LJMPINTER0
MAIN:MOVTMOD,#01H
MOVTH0,#63H
MOVTL0,#0C0H
SETBEA
SETBEX0
SETBPX0
SETBIT0
SETBTR0
TR0=1;
IT0=1;
while(1)
{
while(!TF0);
P12=!P12;
TH0=0XΒιβλιοθήκη Baidu5;
TL0=0XA0;
TF0=0;
while(!TF0);
P12=!P12;
TH0=0X63;
TL0=0XC0;
TF0=0;
}
}
void INTER0(void) interrupt 0 using 1
作为外部中断源1使用,用于关闭波形。
2、在单片机的P1.2口线上产生周期50mS的连续方
波,在P 1.2口线上接示波器观察波形。
三、电路原理图。
四、实验程序流程框图和程序清单。
题一二汇编程序:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP K0
ORG 0013H
LJMP K1
ORG 000BH
LJMP TTC0
ORG 0050H
MAIN: MOV SP, #6FH
MOV TMOD, #01H
MOVTH0,#9EH
MOVTL0,#58H
SETBEA
SETB ET0
SETB EX0
SETBEX1
SETB PT0
SETB PX0
SETBPX1
SETB IT0
HERE: LJMP HERE
K0: SETB TR0
sbit P11=P1^1;
sbit P12=P1^2;
void K0()interrupt 0 using 0
{
TR0=1;
void K1()interrupt 2 using 2
{
TR0=0;
}
void TTC0()interrupt 1 using 1
{ P12=!P12;
TH0=0x9E;
TL0=0x58;
END
思考题C语言程序:
#include<reg52.h>
#define unchar unsigned char
#define unint unsigned int
sbit P12=P1^2;
void main()
{
TMOD=0X01;
TH0=0X63;
TL0=0XC0;
EA=1;
EX0=1;
PX0=1;
}
void main ()
{ SP=0X6F;
TMOD=0x01;
TH0=0x9E;
TL0=0x58;
EA=1;
ET0=1;
EX0=1;
EX1=1;
IT1=1;
IT0=1 ;
while(1);
}
题一二程序流程图:
五、实验结果(波形图)。
题一二汇编程序仿真波形
题一二C语言程序仿真波形
思考题汇编程序仿真波形
K1: CLR TR0
RETI
TTC0: CPLP1.2
MOVTH0, #9EH
MOVTL0,#58H
RETI
END
题一二C语言程序:
#include<reg52.h>
#define unchar unsigned char
#define uintunsigned int
sbit P10=P1^0;
{
TR0=!TR0;
}
程序流程框图:
LOOP:JBCTF0,LOOP1
LJMPLOOP
LOOP1:CPLP1.2
MOVTH0, #15H
MOVTL0, #0A0H
LOOP2:JBCTF0,LOOP3
LJMPLOOP2
LOOP3:CPLP1.2
MOVTH0,#63H
MOVTL0,#0C0H
LJMPLOOP
INTER0:CPLTR0
RETI
一、实验目的和要求
1、掌握中断系统外部中断源的使用方法。
2、掌握延时程序的编程及使用方法。
3、掌握Proteus软件与Keil软件的使用方法。
4、掌握单片机系统的硬件和软件设计方法。
二、设计要求
1、用Proteus软件画出电路原理图,在单片机的P1.0
口线上接按键K0,作为外部中断源0使用,用于
开启波形,在单片机的P1.1口线上接按键K1,
题一二实物波形
思考题C语言程序仿真波形
思考题实物波形
七、思考题。
思考题汇编程序:
ORG0000H
START:LJMPMAIN
ORG0003H
LJMPINTER0
MAIN:MOVTMOD,#01H
MOVTH0,#63H
MOVTL0,#0C0H
SETBEA
SETBEX0
SETBPX0
SETBIT0
SETBTR0
TR0=1;
IT0=1;
while(1)
{
while(!TF0);
P12=!P12;
TH0=0XΒιβλιοθήκη Baidu5;
TL0=0XA0;
TF0=0;
while(!TF0);
P12=!P12;
TH0=0X63;
TL0=0XC0;
TF0=0;
}
}
void INTER0(void) interrupt 0 using 1
作为外部中断源1使用,用于关闭波形。
2、在单片机的P1.2口线上产生周期50mS的连续方
波,在P 1.2口线上接示波器观察波形。
三、电路原理图。
四、实验程序流程框图和程序清单。
题一二汇编程序:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP K0
ORG 0013H
LJMP K1
ORG 000BH
LJMP TTC0
ORG 0050H
MAIN: MOV SP, #6FH
MOV TMOD, #01H
MOVTH0,#9EH
MOVTL0,#58H
SETBEA
SETB ET0
SETB EX0
SETBEX1
SETB PT0
SETB PX0
SETBPX1
SETB IT0
HERE: LJMP HERE
K0: SETB TR0
sbit P11=P1^1;
sbit P12=P1^2;
void K0()interrupt 0 using 0
{
TR0=1;
void K1()interrupt 2 using 2
{
TR0=0;
}
void TTC0()interrupt 1 using 1
{ P12=!P12;
TH0=0x9E;
TL0=0x58;
END
思考题C语言程序:
#include<reg52.h>
#define unchar unsigned char
#define unint unsigned int
sbit P12=P1^2;
void main()
{
TMOD=0X01;
TH0=0X63;
TL0=0XC0;
EA=1;
EX0=1;
PX0=1;
}
void main ()
{ SP=0X6F;
TMOD=0x01;
TH0=0x9E;
TL0=0x58;
EA=1;
ET0=1;
EX0=1;
EX1=1;
IT1=1;
IT0=1 ;
while(1);
}
题一二程序流程图:
五、实验结果(波形图)。
题一二汇编程序仿真波形
题一二C语言程序仿真波形
思考题汇编程序仿真波形