单片机实验之定时器计数器应用实验二

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

、实验目的

1 、掌握定时器/计数器计数功能的使用方法。

2 、掌握定时器/计数器的中断、查询使用方法。

3 、掌握Proteus 软件与Keil 软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。

、设计要求

1 、用Proteus 软件画出电路原理图,单片机的定时器/计数器以查询方式工

作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满 100个脉冲,

则取反P1.0 口线状态,在P 1.0 口线上接示波器观察波形。

2、用Proteus 软件画出电路原理图,单片机的定时器/计数器以中断方式工 作,设

定计数功能,对外部连续周期性脉冲信号进行计数,每计满 200个脉冲, 则取反P1.0 口

线状态,在P 1.0 口线上接示波器观察波形。

通过本实验弄清楚了定时/计数器计数功能的初始化设定(TMOD 初值的计 算,被计数信号的输入点等等),掌握了查询和中断工作方式的应用。 七、思考题

1、利用定时器0,在P1.0 口线上产生周期为200微秒的连续方波,利用定 时器1,

对P1.0 口线上波形进行计数,满50个,则取反P1.1 口线状态,在P 1.1 口线上接示波器观察波形。

tJI

-JTTALl

RST

IPO 1 Z^Cil PO

iPD 3/jfiD3 IPCLW/MH FD-5/^CB

”血

P2 O/jtS PNUMa P 2 .2/AJO

PI F3JD/RKD

P1 且1门池

F1 2

P1 .3

P3^/|NT1 卩11 .4

P3.4Z1D P1

.5 P3 .5fT1 尸

1

P3.0AA/R

P1I

.7 P3.?/RD

17

三、电路原理图 18

HQ

AT69C52

P 2 .4/A12

P2 5/A13 P2

P2 .7XA1«5

蝕丘

2Q 37

答:程序见程序清单

四、实验程序流程框图和程序清单

1、定时器/计数器以查询方式工作,对外部连续周期性脉冲信号进行计数,

MAIN: MOV IE, #00H

MOV TMOD, #60H MOV TH1, #9CH MOV TL1, #9CH SETB TR1

LOOP: JNB TF1, LOOP CLR

TF1 CPL P1.0 AJMP LOOP END

C 语言程序:

#in elude sbit Y=P1A

0; void mai n() {

EA=0; ET1=0; TMOD=0x60;

TH1=0x9C;

计数数值初始化

中断断 艙化

!l

[启动 =时器1 器

一、r

动 启

N

箱 * 1

溢断

清计数溢出标志

—1 ~ P1.(口线取反

TL 仁 0x9C; while(1) { TR1=1; while(!TF1); TF1=0; Y=!Y; } }

2、定时器/计数器以中断方式工作,对外部连续周期性脉冲信号进行计数, 每计满200

个脉冲,则取反P1.0 口线状态。

汇编程序:

ORG 0000H START: LJMP MAIN

ORG 001BH LJMP TTC1 ORG 0100H MAIN: MOV TMOD, #60H

每计满100个脉冲,则取反P1.0 口线状态 汇

编程序:

ORG 0000H

START: LJMP MAIN

ORG 0100H J 开始)

(开始丿

MOV TH1, #38H

MOV TL1, #38H

SETB EA

SETB ET1

SETB TR1 HERE: LJMP HERE

ORG 0200H

TTC1: CPL P1.0

RETI

END

C语言程序:

#in elude sbit Y=P1A0;

void mai n()

{

EA=1;

ET1=1;

TMOD=0x60;

TH1=0x38;

TL1=0x38;

TR1=1;

while(1);

}

void TTC1() in terrupt 3

{

Y=!Y;

}

3、利用定时器0,在P1.0 口线上产生周期为200微秒的连续方波,利用定时器1,对P1.0 口线上波形进行计数,满50个,则取反P1.1 口线状态。

汇编程序:

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

TMOD初始化

计数初值初始化开始

N"

定时时间到

清计数溢出标志

P1.0 口线取反

相关文档
最新文档