1、一、实验目的和要求 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。二、实验内容或原理 1、利用单片机的定时器/计数器以查询方式计数外 部连续周期性矩形波并在单片机口线上产生某一 频率的连续周期性矩形波 。 2、利用单片机的定时器/计数器以中断方式计数外 部连续周期性矩形波并在单片机口线上产生某一 频率的连续周期性矩形波 。三、设计要求 1、用Proteus软件画出电路原理图,单片机的定时 器/计数器以查询方式工作,设定计数功能,对 外部连续周期性脉冲信号进行
2、计数,每计满100 个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时 器/计数器以中断方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满200 个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 四、原理图六、编程汇编ORG 0000H START:LJMPMAINORG0100HMAIN:CLR EACLR ET1MOVTMOD,#20HMOVTH1,#9CHMOVTL1,#9CHSETBTR1LOOP:JNBTF1,LOOPCPLP1.0CLRTF1LJMPLOOPENDC语言#
3、include reg52.h sbit P10=P10; void main() TMOD=0x20; TR1=1; for(;) TH1=0X9C;TL1=0X9C; do while(!TF1); P10=!P10; TF1=0; 汇编ORG 0000H START: LJMP MAIN ORG 000BH LJMP TTC0 ORG 0100HMAIN: MOV TMOD, #06H MOV TH0, #38H MOV TL0, #38H SETB EA SETB ET0 SETB TR0HERE: LJMP HERE TTC0: CPL P1.0 RETIENDC语言#include
4、 sbit P10=P10; void main() EA=1; ET1=1; TMOD=0x60; TH1=0x38; TL1=0x38; TR1=1; while(1); void TTC1() interrupt 3 P10=!P10; 汇编ORG 0000H START: LJMP MAIN ORG 001BH LJMP TTC1 ORG 0100H MAIN: MOV TMOD, #62H MOV TH1, #0CEH MOV TL1, #0CEH MOV TH0, #9CH MOV TL0, #9CH MOV IE, #88H SETB TR0 SETB TR1 LOOP1: JNB TF0, LOOP1 CPL P1.0 CLR TF0 LJMP LOOP1 TTC1: CPL P1.1 RETI ENDC语言#include sbit Y0=P10; sbit Y1=P11; void main() 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; void TTC1()interrupt 3 Y1=!Y1; 七、实验结果