单片机实验中断定时器Word下载.docx

上传人:b****7 文档编号:22642986 上传时间:2023-02-05 格式:DOCX 页数:9 大小:35.26KB
下载 相关 举报
单片机实验中断定时器Word下载.docx_第1页
第1页 / 共9页
单片机实验中断定时器Word下载.docx_第2页
第2页 / 共9页
单片机实验中断定时器Word下载.docx_第3页
第3页 / 共9页
单片机实验中断定时器Word下载.docx_第4页
第4页 / 共9页
单片机实验中断定时器Word下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

单片机实验中断定时器Word下载.docx

《单片机实验中断定时器Word下载.docx》由会员分享,可在线阅读,更多相关《单片机实验中断定时器Word下载.docx(9页珍藏版)》请在冰豆网上搜索。

单片机实验中断定时器Word下载.docx

主程序的功能:

LDE灯“全亮”、“全灭”交替进行(状态2);

Int0中断服务程序功能:

2个相邻的LED灯被点亮且循环左移(状态0);

Int1中断服务程序功能:

1个LED灯被点亮且循环右移---(状态1);

【注意】:

实验仪上的LED灯物理位置最左侧为d0;

最右侧为d7。

1在主程序中利用CPLP3.3的指令驱动其电平不断地转换(由逻辑笔电路做程序状态监视)。

2在中断服务程序中将P3.3置位(P3.3=1),实现对计数器“加1”并(通过P1口)显示的功能。

3中断结束后回到主程序,程序继续对P3.3的电平不断取反。

三、实验电路图

+5V

限流电阻

×

8

1K

MCS-51

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

P3.2

LED8

LED7

LED6

LED5

LED4

LED3

LED2

P3.3

图1:

实验电路连接示意图

 

四、实验流程图

INT0入口

P3.2置1

调用延时子程序

计数器加一并显示

P3.2=0?

RETI

五、程序清单

ORG0000H

LJMPSTART

ORG0003H

LJMPINT_0

ORG0013H

LJMPINT_1

ORG0100H;

主程序

START:

MOVSP,#60H

MOVIE,#85H

MOV

IP,#04H

TCON,#05H

A,#00H

LP1:

MOV

P0,A

LCALL

DELAY

CPL

A

SJMP

LP1

INT_0:

PUSHPSW;

中断T0入口

PUSH

ACC

A,#3FH

LP2:

RR

SETB

JNB

P3.2,LP2

POP

PSW

INT_1:

中断T1入口

A,#0FEH

LP3:

RL

P3.3,LP3

LCALLDELAY

POPACC

DELAY:

PUSH02H

03H

R2,#00H

DL1:

MOVR3,#00H

DJNZ

R3,$

R2,DL1

02H

RET

END

六、实验结果与分析

LED灯按程序设计的规则亮灭,可调至3个状态,两个中断分高低优先级,实验成功。

七、实验体会和建议

此次实验学会了中断的编程方式和软件去抖的原理。

八、主要仪器设备

名称

型号

备注

实验四定时/计数器的编程实验(蜂鸣器的驱动)

1通过对T1的编程,学习、掌握定时器的初值计算、方式及模式设定等初始化方法。

2学习采用查询和中断两种方式的编程技术。

3掌握秒脉冲的设计方法,为后续实验打好基础。

要求:

分别利用T0、T1实现1秒钟发声(1500KHZ)操作,其中:

1一个定时器控制蜂鸣器的发生频率(1500KHZ),使用查询法编程;

2另一个定时器做1秒钟定时(50mS×

20),使用中断法编程。

二、实验算法

1.首先选择一个定时器编程、调试1500KHZ的定时周期并通过端口驱动蜂鸣器发声;

2.编制一个1秒钟定时程序;

3.将两者综合起来,实现持续一秒钟的发声持续,1秒钟后停止发声。

【提示】:

可以利用控制发声(1500HZ)定时器TRx的置位或清零控制定时器的工作状态,因而决定蜂鸣器是否发声。

开始发声时,TRx置一,驱动蜂鸣器发声;

1秒钟到后清零TRx是蜂鸣器停止发声。

图2:

实验电路

T1中断入口

重置时间初值

20.0H=0?

P1.1取反

主程序入口

设T0T1工作方式

设中断允许位

设T0T1定时初值

计数器R1赋值20

T0中断入口重置时间初值R1-1—R1R1=0?

计数器R1赋值20CPLAMOVP1,A

启动定时器T0T1RET1

CLRA开中断

等待中断

ORG

0000H

LJMP

START

000BH

INT_T0

001BH

INT_T1

0100H;

TMOD,#11H;

方式1

TL1,#0CDH

TH1,#0FEH

TL0,#0FCH

TH0,#4BH

R1,#20

TR1

TR0

IE,#8AH

$

INT_T0:

T0中断入口

R1,EXIT

CLR

20H.0

EXIT:

POPPSW

INT_T1:

T1中断入口

MOVTL1,#0CDH

MOVTH1,#0FEH

20H.0,NEXT

NEXT:

启动程序后,蜂鸣器按所设定的1秒发声。

此次实验学会了如何通过编程的方式定时使蜂鸣器发声,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1