实验一-清零程序_第1页
实验一-清零程序_第2页
实验一-清零程序_第3页
实验一-清零程序_第4页
实验一-清零程序_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一清零程序一、实验目的:掌握汇编语言设计和调试方法,熟悉键盘操作。二、实验内容:把2000H~20FFH的内容清零。三、实验程序框图四、实验步骤:用连续或单步方式运行程序,检查2000~20FF中执行程序前后的内容变化。五、思考:假使把1000H~10FFH中的内容改成FF,如何修改程序,请分别用连续和单步方式运行程序来完成校验证六、程序清单(1)基本程序(文件名SW01.ASM)ORG0000HLJMPSE01ORG0640HSE01:MOVR0,#00H;(00H)送R0,R0为计数器MOVDPTR,#2000H;(2000H)送DPTRLOO1:CLRA;累加器A清零MOVX@DPTR,A;存储空间内容清零INCDPTR;DPTR加1INCR0;R0加1CJNER0,#FFH,LOO1;若R0不等于00,则跳转至LOO1继续循环LOOP:SJMPLOOPEND七、思考:假使把1000H~10FFH中的内容改成FF程序如下:ORG0000HLJMPSE01ORG0640HSE01:MOVR0,#00H;(00H)送R0,R0为计数器MOVDPTR,#1000H;(2000H)送DPTRLOO1:MOVA,#FF;累加器A置FFMOVX@DPTR,A;存储空间内容置FFINCDPTR;DPTR加1INCR0;R0加1CJNER0,#FFH,LOO1;若R0不等于00,则跳转至LOO1继续循环LOOP:SJMPLOOPEND现象:运行第一条程序可以发现1000H~10FFH中的内容变成FF,运行第二条程序1000H~10FFH中的内容改成00.而其它单元的内容不变。心得:该实验的内容比较简单。SETBP1.2LCALLDELYCLRP1.2LCALLDELYSETBP1.2LCALLDELYCLRP1.2LCALLDELYSETBP1.2LCALLDELYCLRP1.2LCALLDELYSETBEARETIDELY:MOVR6,#200H;延时DELY1:MOVR7,#125HDELY2:DJNZR7,DELY2DJNZR6,DELY1RETEND实验现象:外部T0如果有中断的话,LED灯闪烁三次,中间间隔250ms否则程序一直在等待中断源。若改为外部中断1来实现以上实验,如何修改实验的硬件和软件?如果改为外部中断1来实现以上实验,硬件方面单脉冲时钟接P3.3,即外部中断1入口,而在软件方面,把IE和IP设置为ORLIE,#84HORLIP,#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引脚上产生输出信号。四、实验步骤把P3.5、P1.0分别连K1、L1。快捷连线说明:P3.5→K1P1.0→L1五、思考:1.开关来回拨4次才取反,程序应如何修改?2.采用中断方式,该如何设计程序?八、程序清单基本程序(文件名TIME01ok.ASM)ORG0000HLJMPDSJUORG0660HDSJU:MOVTMOD,#60H;T1计数,工作方式2MOVTH1,#0FEH;赋初值MOVTL1,#0FEHSETBTR1;启动DEL:JBCTF1,REP;查询计数溢出AJMPDELREP:CPLP1.0;取反AJMPDELEND实验现象:每按一次开关,L1灯变化一次。思考修改:1.开关来回拨4次才取反,程序应如何修改?答:把初值设置为FB即可,即为把MOVTH1,#0FEHMOVTL1,#0FEH修改为:MOVTH1,#0FBHMOVTL1,#0FBH采用中断方式,该如何设计程序?答:程序如下:ORG0000HLJMPMAINORG001BHLJMPT1ORG0660HT1:CPLP1.0;取反RET

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论