预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、实验目的和要求1、掌握定时器/计数器计数功能的使用方法。2、掌握定时器/计数器的中断、查询使用方法。3、掌握Proteus软件与Keil软件的使用方法。4、掌握单片机系统的硬件和软件设计方法。二、实验内容或原理1、利用单片机的定时器/计数器以查询方式计数外部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。2、利用单片机的定时器/计数器以中断方式计数外部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。三、设计要求1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P1.0口线上接示波器观察波形。2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P1.0口线上接示波器观察波形。四、原理图六、编程汇编ORG0000HSTART:LJMPMAINORG0100HMAIN:CLREACLRET1MOVTMOD,#20HMOVTH1,#9CHMOVTL1,#9CHSETBTR1LOOP:JNBTF1,LOOPCPLP1.0CLRTF1LJMPLOOPENDC语言#include"reg52.h"sbitP10=P1^0;voidmain(){TMOD=0x20;TR1=1;for(;;){TH1=0X9C;TL1=0X9C;do{}while(!TF1);P10=!P10;TF1=0;}}汇编ORG0000HSTART:LJMPMAINORG000BHLJMPTTC0ORG0100HMAIN:MOVTMOD,#06HMOVTH0,#38HMOVTL0,#38HSETBEASETBET0SETBTR0HERE:LJMPHERETTC0:CPLP1.0RETIENDC语言#include<reg52.h>sbitP10=P1^0;voidmain(){EA=1;ET1=1;TMOD=0x60;TH1=0x38;TL1=0x38;TR1=1;while(1);}voidTTC1()interrupt3{P10=!P10;}汇编ORG0000HSTART:LJMPMAINORG001BHLJMPTTC1ORG0100HMAIN:MOVTMOD,#62HMOVTH1,#0CEHMOVTL1,#0CEHMOVTH0,#9CHMOVTL0,#9CHMOVIE,#88HSETBTR0SETBTR1LOOP1:JNBTF0,LOOP1CPLP1.0CLRTF0LJMPLOOP1TTC1:CPLP1.1RETIENDC语言#include<reg52.h>sbitY0=P1^0;sbitY1=P1^1;voidmain(){TMOD=0x62;TH0=0x9C;TL0=0x9C;TH1=0xCE;TL1=0xCE;EA=1;ET1=1;ET0=0;TCON=0x50;while(1){while(!TF0);TF0=0;Y0=!Y0;}}voidTTC1()interrupt3{Y1=!Y1;}七、实验结果