欢迎来到天天文库
浏览记录
ID:59079203
大小:554.82 KB
页数:4页
时间:2020-09-15
《单片机实验之外部中断应用实验.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.一、实验目的1、掌握中断系统外部中断源的使用方法。2、掌握延时程序的编程及使用方法。3、掌握Proteus软件与Keil软件的使用方法。4、掌握单片机系统的硬件和软件设计方法。二、设计要求1、用Proteus软件画出电路原理图,在单片机的P1.0口线上接按键K0,作为外部中断源0使用,用于开启波形,在单片机的P1.1口线上接按键K1,作为外部中断源1使用,用于关闭波形。2、在单片机的P1.2口线上产生周期50mS的连续方波,在P1.2口线上接示波器观察波形。三、电路原理图六、实验总结通过本实验能够准确安排各种类型的中断服务程序入口,中断源提出中断申请后,却执行到相应的中
2、断服务程序。弄清楚了中断服务程序与子程序的共同点和不同点。七、思考题1、在P1.2口线上产生周期为100mS,占空比为2:5的连续矩形波,要求只采用按键K0来控制其开启和关闭。答:程序见程序清单。..四、实验程序流程框图和程序清单。1、在单片机的P1.2口线上产生周期50mS的连续方波。P1.0口线上接按键K0,作为外部中断源0使用,用于开启波形,P1.1口线上接按键K1,作为外部中断源1使用,用于关闭波形。汇编程序:ORG0000H开始START:LJMPMAINORG0003HLJMPEXT0ORG000BHTMOD初始化LJMPTTCOORG0013HLJMPEXT
3、1ORG0100H中断初始化MAIN:MOVTMOD,#01HMOVTCON,#01HMOVIE,#87HMOVTH0,#9EH定时器初始化MOVTL0,#58HSETBPX1HERE:LJMPHEREEXT0:SETBTR0RETI等待中断EXT1:CLRTR0RETITTCO:CPLP1.2MOVTH0,#9EH开始开始MOVTL0,#58HRETIENDC语言程序:启动定时器关闭定时器#includesbitP12=P1^2;main(){中断返回中断返回TMOD=0X01;EA=1;EX0=1;EX1=1;开始ET0=1;PX1=1;TCON=0
4、X01;TH0=0X9E;TL0=0X58;输出取反while(1);}voidEXT0()interrupt0{TR0=1;中断返回}voidEXT1()interrupt2{TR0=0;}voidTTC0()interrupt1{P12=!P12;TH0=0X9E;TL0=0X58;}..2、在P1.2口线上产生周期为100mS,占空比为2:5的连续矩形波,要求只采用按键K0来控制其开启和关闭。汇编程序:ORG0000H开始START:LJMPMAINORG0003HLJMPEXT0ORG0100HMAIN:MOVTMOD,#11HTMOD初始化MOVTCON,#01
5、HSETBEASETBEX0CLRCLOOP1:JNBTF0,LOOP1中断初始化MOVTH0,#63HMOVTL0,#0C0HCLRTF0CLRTR0定时初值初始CPLP1.2化SETBTR1LOOP2:JNBTF1,LOOP2MOVTH1,#15HMOVTL1,#0A0H等待中断CLRTF1CLRTR1CPLP1.2SETBTR0LJMPLOOP1开始开始ORG0200HEXT0:JCSTOPSETBCMOVTH0,#63HMOVTL0,#0C0H启动定时器关闭定时器MOVTH1,#15HMOVTL1,#0A0HSETBTR0RETI输出取反STOP:CLRTR0CL
6、RTR1CLRCENDC语言程序:中断返回#include"REG52.H"sbitP12=P1^2;voidmain(){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;}}}voidEXT0()interrupt0{if(!CY){CY=1;TH0=0X63;TL0=0XC0;TR0=1;}else{
7、CY=0;TR0=0;TR1=0;}}五、实验结果(波形图).
此文档下载收益归作者所有