200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 单片机c语言中断程序实验报告 单片机实验之外部中断应用实验

单片机c语言中断程序实验报告 单片机实验之外部中断应用实验

时间:2021-05-21 19:54:09

相关推荐

单片机c语言中断程序实验报告 单片机实验之外部中断应用实验

一、实验目的

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 MAIN ORG 0003H LJMP EXT0 ORG 000BH LJMP TTCO ORG 0013H LJMP EXT1 ORG 0100H MAIN: MOV TMOD, #01H MOV TCON, #01H MOV IE, #87H MOV TH0, #9EH

MOV TL0, #58H

SETB PX1 HERE: LJMP HERE EXT0: SETB TR0

RETI

EXT1: CLR TR0 RETI TTCO: CPL P1.2 MOV TH0, #9EH MOV TL0, #58H RETI END C语言程序: #include 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来控制其开启和关闭。 汇编程序:

ORG 0000H START: LJMP MAIN ORG 0003H LJMP EXT0 ORG 0100H

MAIN: MOV TMOD, #11H MOV TCON, #01H SETB EA SETB EX0 CLR C

LOOP1: JNB TF0, LOOP1

MOV TH0, #63H MOV TL0, #0C0H CLR TF0 CLR TR0 CPL P1.2 SETB TR1

LOOP2: JNB TF1, LOOP2 MOV TH1, #15H MOV TL1, #0A0H CLR TF1 CLR TR1 CPL P1.2 SETB TR0

LJMP LOOP1 ORG 0200H EXT0: JC STOP SETB C

MOV TH0, #63H

MOV TL0, #0C0H

MOV TH1, #15H MOV TL1, #0A0H SETB TR0 RETI STOP: CLR TR0 CLR TR1 CLR C END C语言程序: #include"REG52.H" sbit P12 = P1^2; void main() {

EA=1; EX0=1; TMOD=0X11; TCON=0X01; CY=0; while(1)

{while(TF0) {

P12=!P12; TF0=0; TR0=0; TH1=0X15;

TL1=0XA0; TR1=1; }

while(TF1) { P12=!P12; TF1=0; TR1=0; TH0=0X63; TL0=0XC0; TR0=1; } } }

void EXT0() interrupt 0 {if(!CY) {CY=1;

TH0=0X63; TL0=0XC0; TR0=1; } else { CY=0; TR0=0; TR1=0; } }

五、实验结果(波形图)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。