实验一 清零程序.docx

上传人:b****5 文档编号:5061972 上传时间:2022-12-12 格式:DOCX 页数:10 大小:38.33KB
下载 相关 举报
实验一 清零程序.docx_第1页
第1页 / 共10页
实验一 清零程序.docx_第2页
第2页 / 共10页
实验一 清零程序.docx_第3页
第3页 / 共10页
实验一 清零程序.docx_第4页
第4页 / 共10页
实验一 清零程序.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

实验一 清零程序.docx

《实验一 清零程序.docx》由会员分享,可在线阅读,更多相关《实验一 清零程序.docx(10页珍藏版)》请在冰豆网上搜索。

实验一 清零程序.docx

实验一清零程序

实验一清零程序

一、实验目的:

掌握汇编语言设计和调试方法,熟悉键盘操作。

二、实验容:

把2000H~20FFH的容清零。

三、实验程序框图

四、实验步骤:

用连续或单步方式运行程序,检查2000~20FF中执行程序

前后的容变化。

五、思考:

假使把1000H~10FFH中的容改成FF,如何修改程序,请分别

用连续和单步方式运行程序来完成校验证

六、程序清单

〔1〕根本程序〔文件名〕

ORG0000H

LJMPSE01

ORG0640H

SE01:

MOVR0,#00H;〔00H〕送R0,R0为计数器

MOVDPTR,#2000H;〔2000H〕送DPTR

LOO1:

CLRA;累加器A清零

MOVXDPTR,A;存储空间容清零

INCDPTR;DPTR加1

INCR0;R0加1

CJNER0,#FFH,LOO1;假如R0不等于00,如此跳转至LOO1继续循环

LOOP:

SJMPLOOP

END

七、思考:

假使把1000H~10FFH中的容改成FF程序如下:

ORG0000H

LJMPSE01

ORG0640H

SE01:

MOVR0,#00H;〔00H〕送R0,R0为计数器

MOVDPTR,#1000H;〔2000H〕送DPTR

LOO1:

MOVA,#FF;累加器A置FF

MOVXDPTR,A;存储空间容置FF

INCDPTR;DPTR加1

INCR0;R0加1

CJNER0,#FFH,LOO1;假如R0不等于00,如此跳转至LOO1继续循环

LOOP:

SJMPLOOP

END

现象:

运行第一条程序可以发现1000H~10FFH中的容变成FF,运行第二条程序1000H~10FFH中的容改成00.而其它单元的容不变。

心得:

该实验的容比拟简单。

 

实验二P3.3口输入,P1口输出

一、实验目的:

掌握P3口、P1口简单使用。

二、实验容:

P3.3口输入一脉冲,P1口按16进制加一方式点亮发光二

极管。

三、实验步骤

P3.3用导线连至K1开关,~P1.7导线连至L1~L8,K1拨动一次,

L1~L8发光二极管按16进制方式加一点亮。

快捷连线说明:

→K1

~→L1~L8〔发光二极管〕

四、思考:

修改程序,使发光二极管左移方式点亮。

五、程序清单

〔1〕根本程序〔文件名HW01·ASM〕

ORG0000H

LJMPJ100

ORG0810H

J100:

MOVA,#00H

J101:

P3.3,J101

MOVR2,#10H

LCALLDELY

P3.3,J101

J102:

JNBP3.3,J102

MOVR2,#10H

LCALLDELY

JNBP3.3,J102

INCA

PUSHACC

CPLA

MOVP1,A

POPACC

AJMPJ101

DELY:

PUSH02H

DEL2:

PUSH02H

DEL3:

PUSH02H

DEL4:

DJNZR2,DEL4

POP02H

DJNZR2,DEL3

POP02H

DJNZR2,DEL2

POP02H

DJNZR2,DELY

RET

END

九,改变延时常数,使发光二极管闪亮时间改变。

修改程序,使发光二极管

闪亮移位方向改变的程序:

ORG0000H

LJMPJ100

ORG0810H

J100:

MOVA,#09H

J101:

P3.3,J101

MOVR2,#10H

LCALLDELY

P3.3,J101

J102:

JNBP3.3,J102

MOVR2,#10H

LCALLDELY

JNBP3.3,J102

DECA

PUSHACC

CPLA

MOVP1,A

POPACC

AJMPJ101

DELY:

PUSH02H

DEL2:

PUSH02H

DEL3:

PUSH02H

DEL4:

DJNZR2,DEL4

POP02H

DJNZR2,DEL3

POP02H

DJNZR2,DEL2

POP02H

DJNZR2,DELY

RET

END

实验现象:

当执行第一个程序时K1开关向下拨动一次时A中的容从0依次加1,P1口的发光二极管也依次发光并向右移。

当执行第二个程序时K1开关向下拨动一次时A中的容从8依次减1,P1口的发光二极管也依次发光并向左移。

心得:

该实验运用了累加器A并不断加程序连口是否为高电平在执行下一条语句和连口是否为低电平在执行下一条语句的原因是为了消除开关的抖动。

 

实验三中断根底实验

一、实验目的:

掌握MCS-51单片机中断原理以与编程使用方法;理解

下降沿中断和低电平中断的区别。

二、实验预备知识

MCS-51单片机有2个由/INT0、/INT1引脚输入的外部中断源。

触发外部中断有两种方式,即下降沿引起中断或低电平引起中断。

当编

程TCON中的ITi〔i=1或0,下同〕为1时,如此引起触发的方式为边沿触发

方式,反之为低电平触发方式。

每个中断源的中断请求能否得到响应要受两

级“开关〞的控制,即一个总“开关〞EA和EXi的控制,只有当EA为1,

且对应的分“开关〞EXi也为1时,相应中断源的中断请求才能被响应。

外部中断0、外部中断1对应有2个固定的中断服务程序入口地址0003H、

0013H。

响应中断后中断申请标志IEi由硬件自动清零

三、实验容

编写主程序,读取K1状态,当其与地端闭合时〔P1.3为低电平〕初始

化为低电平触发,反之,初始化为下降沿触发,且发光二极管灭;编写中断

服务程序,使图中的发光管闪烁5次,间隔250ms,即中断服务程序的执行

时间为2.5秒,退出中断程序时,使发光管灭。

六、实验步骤

把“总线插孔〞框中的、、P3.2分别连L1、K1、“单脉冲

与时钟〞的“〞孔。

快捷连线说明:

→L1,

→K1,

七、思考:

1.要LED亮5次,程序应如何改动?

2.假如改为外部中断1来实现以上实验,如何修改实验的硬件和软件?

3.电平触发在输入信号后,灯闪的次数受谁的控制?

八、程序清单

〔1〕根本程序〔文件名int011ok·ASM〕

ORG0000H

lJMPMAIN

ORG0003H;外中断0入口地址

LJMPINTER0

ORG0660H

MAIN:

P1.3,MAIN1;判断是电平触发还是沿触发

clrit0;P1.3=0低电平触发

lJMPMAIN2

MAIN1:

SETBit0;中断初始化,P1.3=1下降沿边缘触发

MAIN2:

ORLIE,#81H

ORLIP,#02H

lJMPMAIN

INTER0:

CLREA;中断处理程序

LCALLDELY

LCALLDELY

LCALLDELY

LCALLDELY

LCALLDELY

LCALLDELY

SETBEA

RETI

DELY:

MOVR6,#200H;延时

DELY1:

MOVR7,#125H

DELY2:

DJNZR7,DELY2

DJNZR6,DELY1

RET

END

实验现象:

外部T0如果有中断的话,LED灯闪烁三次,中间间隔250ms否如此程序一直在等待中断源。

假如改为外部中断1来实现以上实验,如何修改实验的硬件和软件?

如果改为外部中断1来实现以上实验,硬件方面单脉冲时钟接P3.3,即外部中断1入口,而在软件方面,把IE和IP设置为ORLIE,#84H

ORLIP,#04H即可。

电平触发在输入信号后,灯闪的次数受谁的控制?

灯闪烁的次数受子程序中P1.2高电平的次数的控制。

心得:

了解中断和定时计数器的使用。

还有教师给我们的那个程序有错误。

应把DELY:

MOVR6,#00H;延时

DELY1:

MOVR7,#00H改为

DELY:

MOVR6,#200H;延时

DELY1:

MOVR7,#125H

 

实验四定时/计数器根底实验

一、实验目的:

掌握MCS-51单片机部定时/计数器的程序设计与调试方

法。

二、实验预备知识

MCS-51单片机有两个16位的定时计数器T0和T1,它们都有定时和对

外部事件进展计数的功能,可用于定时控制、对外部事件检测和计数等场合。

计数和定时实质上都是对脉冲信号进展计数,只不过脉冲源不同而已。

当工作在定时方式时,计数脉冲来自单片机的部,即振荡器信号12

分频后作计数脉冲,每个机器周期的时间使计数器加1,由于计数脉冲的频

率是固定的〔即每个脉冲为1个机器周期的时间〕,故可通过设定计数值来

实现定时功能;

当工作在计数方式时,计数脉冲来自单片机的引脚,每当引脚上出现一

个脉冲时,计数器加1,从而实现计数功能。

可以通过编程来指定定时/计

数器的功能,以与它的工作方式。

中断申请标志TF,在中断响应后有硬件中断清零,查询方式时必须由

软件清零。

三、实验容

利用定时器1,通过对外部脉冲的计数,利用查询方式,实现在

引脚上产生输出信号。

四、实验步骤

把、P1.0分别连K1、L1。

快捷连线说明:

→K1

→L1

五、思考:

1.开关来回拨4次才取反,程序应如何修改?

2.采用中断方式,该如何设计程序?

八、程序清单

根本程序〔文件名〕

ORG0000H

LJMPDSJU

ORG0660H

DSJU:

MOVTMOD,#60H;T1计数,工作方式2

MOVTH1,#0FEH;赋初值

MOVTL1,#0FEH

SETBTR1;启动

DEL:

CTF1,REP;查询计数溢出

AJMPDEL

REP:

CPLP1.0;取反

AJMPDEL

END

实验现象:

每按一次开关,L1灯变化一次。

思考修改:

1.开关来回拨4次才取反,程序应如何修改?

答:

把初值设置为FB即可,即为把

MOVTH1,#0FEH

MOVTL1,#0FEH

修改为:

MOVTH1,#0FBH

MOVTL1,#0FBH

2.采用中断方式,该如何设计程序?

答:

程序如下:

ORG0000H

LJMPMAIN

ORG001BH

LJMPT1

ORG0660H

T1:

CPLP1.0;取反

RET

MAIN:

MOVTMOD,#60h;T1计数,工作方式2

MOVTH1,#0FEH;赋初值

MOVTL1,#0FEH

SETBTR1;启动

END

心得:

我们要熟练掌握中断的编程方法和它的原理图。

这样才能随心所欲的修改程序。

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

当前位置:首页 > 高等教育 > 军事

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

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