外部中断应用实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
外部中断应用实验
一、实验目的和要求
1、掌握中断系统外部中断源的使用方法。
2、掌握延时程序的编程及使用方法。
3、掌握Proteus软件与Keil软件的使用方法。
4、掌握单片机系统的硬件和软件设计方法。
二、设计要求
1、用Proteus软件画出电路原理图,在单片机的P1.0口线上接按键K0,作为外部中断源0使用,用于开启波形,在单片机的P1.1口线上接按键K1,作为外部中断源1使用,用于关闭波形。
MOVTL0,#58H;
K0:SETBTR0
RETI
K1:CLRTR0
RETI
END
思考题:
ORG0000H
LJMPMAIN
ORG0003H
LJMPK
ORG000BH
LJMPIPTO
MAIN:MOVSP,#60H
MOVTMOD,#01H
MOVIE,#83H
MOVTH0,#0B1H
MOVTL0,#0E0H
EX1=1;
PX0=1;
TMOD=0X01;
TH0=0X9E;
TL0=0X58;
while(1)
{
while(!TF0);
P12=!P12;
TF0=0;
TH0=0X9E;
TL0=0X58;
}
}
void INTT0() interrupt 0
{
TR0=1;
}
void INTT1() interrupt 2
TL0=0XC0;
while(1)
{
while(!TF0);
P12=!P12;
TF0=0;
TH0=0X15;
TL0=0XA0;
while(!TF0);
P12=!P12;
TF0=0;
TH0=0X63;
TL0=0XC0;
}
}
void INTT0() interrupt 0
{TR0=!TR0
}
五、实验结果:
{
TR0=0;
}
程序框图:
思考题程序清单:
#defineucharunsignedchar
#defineuintunsignedint
#include<reg52.h>
sbit P12=P1^2;
a=0;
voidmain()
{
EA=1;
IT0=1;
EX0=1;
PX0=1;
TMOD=0X01;
TH0=0X63;
LJMPK0
ORG0013H
LJMPK1
MAIN:SETBEA
SETBIT0
SETBIT1
SETBEX0
SETBEX1
MOVSP,#2FH;
MOVTMOD,#01H;
MOVTH0,#9EH;
MOVTL0,#58H;
LOOP1:JNBTF0,LOOP1
CPLP1.2;
CLRTF0
MOVTHBiblioteka Baidu,#9EH;
2、在单片机的P1.2口线上产生周期50mS的连续方波,在P 1.2口线上接示波器观察波形。
三、电路原理图
实验一电路原理图:
实验二电路原理图:
四、实验程序流程框图和程序清单
汇编程序清单:程序框图:
实验一:
ORG0000H
START:LJMPMAIN
ORG0100H
LJMPLOOP1;
ORG0003H
#include<reg52.h>
sbit P12=P1^2;
void delay(void)
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
voidmain()
{
EA=1;
IT0=1;
IT1=1;
EX0=1;
程序框图:
MOVR1,#02H
HERE:LJMPHERE
DELAY:SETBTR1
HEREY:JNBTF1,HEREY
CLRTR1
CLRTF1
MOVTH1,#0D8H
MOVTL1,#0F0H
RET
K:JBCTF0,LL
SETBTF0
SETBTR0
LJMPHH
LL:CLRTF0
CLRTR0
HH: RETI
IPTO: DJNZR1,LOOP3
CPLP1.2
CPLACC.0
JNBACC.0,LOOP2
MOVR1,#03H
LJMPLOOP3
LOOP2:MOVR1,#02H
LOOP3: MOVTH0,#0B1H
MOVTL0,#0E0H
RETI
END
C语言程序清单:
#defineucharunsignedchar
#defineuintunsignedint
相关文档
最新文档