单片机实验指导书2012版

合集下载

2012单片机实验指导书

2012单片机实验指导书

作者:朱兆优
实验一
一.实验目的
1.学习数据块的建立。 2.掌握数据块移动的编程方法。 3.掌握查表程序的编程方法。
数据块传送和查表
二.实验任务
1.编写程序将 100H 开始的片外部数据存储器中的 N 个单元的内容(N≤0FFH),传送到片外部 数据存储器 200H 开始的 N 个单元,N 为数据块长度,存放于 0FFH 中。 2.编写程序将 30H 开始的内部数据存储器中的 N 个单元的内容(N≤20H),传送到片内数据存 储器 50H 开始的 N 个单元,N 为数据块长度,存放于 2FH 中。 3.按下图给出的函数关系曲线,要求编写出一个解 Y=F(X)的查表程序。
待 转 换 的 二 进 制 数 - 104 够 减 , 万 位 计 数 加 1, 再 减 104 不够减,恢复减之前的数,即得万位
求得万位计数值后,再将余数减去 103,方法类同,可得千位、百位、十位,最后的余数即为个 位。另外: 104=2710H 102=0064H 103=03E8H 101=000AH
四.资源分配
<学生自行完成>
2
《单片机原理及应用》实验讲义、课程设计指导书
作者:朱兆优
五.实验步骤
1.根据程序流程图和资源分配表编写汇编源程序。 2.开 PC 机后,建立一个个人工作目录(文件夹) ,使用 TKS 或 Keil 调试软件将源程序输入 生成汇编文件(如 file1.ASM)并保存到个人工作目录中。 3. 在单片机调试软件 IDE 下新建一个工程项目文件 (如 name1.mpj) , 并将汇编文件 file1. ASM 添加到工程中(工程项目文件也应存放到个人目录中) 。 4.对源程序进行编译。编译有错误要对出错的程序段或语句进行修改,程序修改后再编译, 如此反复直至程序编译无错误。 5.编译无错后,点击 快捷命令将程序装入单片机中动态调试状态。可选择使用单步、跟踪、

2012单片机课程设计指导书-自动化2010

2012单片机课程设计指导书-自动化2010

2012单⽚机课程设计指导书-⾃动化2010《单⽚机原理及应⽤》课程设计指导书班级:⾃动化2010-2、3班时间:2012.12.24-2013.1.4 指导教师:孙秀娟王传江⼀、设计⽬的1、通过综合运⽤单⽚机原理及接⼝技术的知识,对所学的内容做⽐较系统的设计,提⾼学⽣综合运⽤本课程和先修专业课程的能⼒,以及分析问题和解决问题的能⼒。

2、进⼀步巩固所学的课堂教学理论基础,通过硬件的设计及软件的编程,提⾼学⽣的实验⽔平,加强学⽣的实践技能的培养,提⾼他们的应⽤能⼒。

3、使学⽣在树⽴正确的⼈⽣观、养成严谨、踏实的⼯作作风等思想素质⽅⾯受到教育和培养。

⼆、内容及时间安排本次课程设计的题⽬定为下⾯4个,学⽣可以结合⾃⾝特点⾃由组合,3⼈⼀组选择任意⼀题(也可以是以下题⽬的组合或其它感兴趣的课题)进⾏设计。

课题1:简易时钟/秒表计时器(LED数码管或液晶显⽰)课题2:电⼦⽇历时钟的设计与调试(可选⽤时钟芯⽚DS1302)课题3:多路温度检测系统设计(可选⽤温度传感器DS18B20)课题4:简易交通灯控制系统设计时间为2周学习⽇,⼤体安排如下:(⼀)第⼀阶段:12⽉24⽇(18周周⼀)上午:布置课题,任务介绍,设计分组;12⽉24⽇(18周周⼀)下午:查阅资料,拟定⽅案,绘制硬件原理草图;12⽉25⽇(18周周⼆):⽅案确定,熟悉硬件原理,画出原理图,确定软件流程。

(⼆)第⼆阶段12⽉26⽇(18周周三):实物配备、调试显⽰电路,编写显⽰软件,熟悉LED静态、动态显⽰或LCD液晶显⽰的⼯作原理;12⽉27⽇(18周周四):编写键盘软件,调试键盘电路;12⽉28、29⽇(18周周五、周六):编制其它功能软件,开始系统程序调试;12⽉30(18周周⽇):优化程序、系统软硬件联合调试,记录并观察重要数据。

(三)第三阶段12⽉31⽇(19周周⼀):实物验收、考核;2013年1⽉12⽇(20周周六):考核、上交设计报告。

单片机原理实验指导书(2012.10)

单片机原理实验指导书(2012.10)

《单片机原理》实验指导书计算机科学与技术系2012年8月目录第一部分单片机仿真实验 (1)实验一:流水灯实验 (1)实验二:中断实验 (4)实验三:定时器中断实验 (6)实验四:串行口实验 (9)实验五:矩阵式键盘输入识别 (13)实验六:LCD循环显示设计 (19)第二部分单片机硬件实验............................错误!未定义书签。

第一章试验箱系统概述 ...................................错误!未定义书签。

一、系统地址分配........................................... 错误!未定义书签。

二、系统接口定义........................................... 错误!未定义书签。

三、通用电路简介........................................... 错误!未定义书签。

第二章实验指导...............................................错误!未定义书签。

实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。

实验八简单I/O口扩展(选作).................. 错误!未定义书签。

实验九8255控制交通灯................................ 错误!未定义书签。

实验十128*64LCD液晶显示 .......................... 错误!未定义书签。

第一部分单片机仿真实验实验一:流水灯实验一、实验目的:通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。

二、实验原理图实验参考电路图如下:三、参考实验程序//流水灯实验#include<reg51.h> //包含单片机寄存器的头文件sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机//的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的操作/****************************************函数功能:延时一段时间*****************************************/void delay(void){unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++); //利用循环等待若干机器周期,从而延时一段时间 }/*****************************************函数功能:主函数******************************************/void main(void){while(1){x=0xfe; //第一个灯亮delay(); //调用延时函数x=0xfd; //第二个灯亮delay(); //调用延时函数x=0xfb; //第三个灯亮delay(); //调用延时函数x=0xf7; //第四个灯亮delay(); //调用延时函数x=0xef; //第五个灯亮delay(); //调用延时函数x=0xdf; //第六个灯亮delay(); //调用延时函数x=0xbf; //第七个灯亮delay(); //调用延时函数x=0x7f; //第八个灯亮delay(); //调用延时函数}}四、实验思考题:修改程序使LED灯为18灯亮——27灯亮——36灯亮——45灯亮,再将LED 灯亮的顺序倒过来既:45灯亮——36灯亮——27灯亮——18灯亮,连续运行。

2012级单片机实验指导书

2012级单片机实验指导书

一、基本控制语句应用——简单广告牌霓虹灯设计1. 实验目的:a.理解左移RL、右移RR指令的功能。

b.延时程序DELAY的具体执行过程、延时量控制等。

c.掌握通过设置程序的跳转来实现程序循环的方法。

2.实验设备使用:计算机一台、单片机实验箱一套、Keli C软件一套。

3.实验基本原理:Array (1)源程序及流程图:ORG 0000HAJMP MAINORG 0030HMAIN: MOV P0,#00HMOV A,#01HLOOP: MOV P0,ARL AJMP LOOPEND(2)电路原理图:4.实验内容:a. 编写一程序,可实现数据左移并通过I/O口输出显示。

b. 加入延时程序,观察实验现象是否有所变化。

c. 实现左移及右移的循环输出。

d.实现16盏LED的移位显示。

5.实验步骤:(1) 基本步骤:a. 读懂程序,分析程序中哪一句为控制语句,起到什么控制作用以及最终实现何功能。

b. 运行程序,观察结果是否与程序相符,如不相符请分析出现问题的原因所在。

c. 试着向源程序中加入延时语句,观察现象是否有所改变。

ORG 0000HAJMP MAINORG 0030HMAIN: MOV P0,#00HMOV A,#01HLOOP: MOV P0,ARL AACALL DELAYJMP LOOP;*****延时子程序******;DELAY:MOV R2,#10HLOOP1:MOV R1,#0FFHLOOP2:DJNZ R1,LOOP2DJNZ R2,LOOP1RETENDd. 适当修改延时量,使LED闪烁更为明显,易于肉眼观察。

e. 适当修改程序,使程序最终实现一只LED作流水状移动。

(2)发挥部分:①能自左向右——自右向左——自左向右反复循环来控制一只发光管如反弹状移动。

②能通过两组I/O口组合实现16只LED的流水灯效果。

6.实验报告要求:a.记录实验每一步骤的具体过程及实验现象。

b.叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。

单片机原理与应用实验指导书(201203) - 副本1

单片机原理与应用实验指导书(201203) - 副本1

单片机原理及其应用实验指导书南通大学电气工程学院自动化系2012 年 3 月前言单片机目前已广泛应用在智能仪表、工业控制、家用电器等各个领域,成为现代电子系统的一个极其重要的组成部分,对于电类专业学生来说,掌握单片机知识,具备基本应用技能,才能符合当前社会对专业人才的要求。

单片机是一门应用性极强的课程,学生在掌握基本理论知识的基础上,更要通过实验训练,提高其调试动手能力,学会解决具体问题的思路和手段,具备初步的系统设计和调试能力。

因此,为了更好地做好单片机课程的软硬件实验,特编写本实验指导书,书中叙述了各实验的目的、要求,对于设计性实验,给出了列出了接线图、程序结构框图和清单。

学生按要求完成本实验指导书中的实验,可基本掌握MCS-51单片机的结构原理、接口技术以及程序设计技巧。

另外:一、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据教学要求,选择相应实验。

二、对同一问题的解决方法往往不是唯一的,欢迎各位指导教师在使用本实验指导书的过程中提出更完善的实验方案,指出书中的错误和不足,并希望大家反馈给我们,以便及时修改。

目录第一章集成开发环境简介 (1)第二章演示程序 (9)第三章实验项目 (15)实验一简单程序设计实验 (15)实验二I/O口实验 (18)实验三定时器实验 (20)实验四A/D、D/A转换实验 (21)实验五并行接口扩展实验 (25)第一章 集成开发环境简介Super ICES-51 80C51单片机实验仪使用当前流行的Keil C51开发软件,采用uVision2集成开发环境。

1.1 Keil C51简介Keil C51软件是德国Keil 公司开发的功能完善的C51开发软件,近年来在国内得到了迅速普及。

Keil 包括以下几个部分:uVision2 IDE 、C51编译器、A51汇编器、LIB 库管理器、BL51连接器/定位器、uVision 硬件调试器、RTX51实时多任务操作系统。

单片机实验验指导书(有程序)-2012

单片机实验验指导书(有程序)-2012

单片机实验指导书(与单片机实验板配套使用)实验一简单程序调试实验一、实验目的1、熟悉 Keil uVision3集成仿真环境2、掌握以下内容:1)建立工程2)建立源程序并添加源程序到工程3)编译源程序及工程4)调试并观察运行结果①观察汇编代码;②观察并修改寄存器值;③观察并修改内部存储单元内容二、实验内容实验程序如下:汇编指令行号ORG 0000HDSP0 EQU 30HDSP1 EQU 31HAT1:MOV R0,#DSP1; 1MOV 32H,A ; 2ANL A,#0FH ; 3MOV @R0, A ; 4DEC R0 ; 5MOV A, 32H ; 6ANL A, #0FH ; 7SWAP A ; 8MOV @R0, A; 9SJMP $ ; 10END二、实验步骤说明:以下[ ] 内加粗内容均为系统菜单名称、列表名称、窗口名称或按钮名称㈠进入Keil uVision3集成仿真环境从程序组或桌面找到Keil uVision3图标,点击图标启动仿真软件,即可进入KeiluVision2 仿真环境。

㈡建立工程文件⒈点击菜单[Project]→[New Project]⒉出现[Creat New Project]对话框,在文件名栏中输入一个工程文件名(用英文缩写),选择一个可以保存的文件夹,点击[保存] 按钮。

⒊出现选择器件类型对话框, 在对话框左列表中选择处理器型号[Atmel]→[AT89C51],点[确定] 按钮。

⒋出现是否添加标准8051启动代码的对话框,点击[否],进入Keil uVision2 工程界面。

㈢建立汇编源文件:⒈点击菜单[File] →[New],出现一个名为[Text 1]的空白文本文件,点击菜单[File] →[Save]保存文本文件,出现[Save]对话框。

⒉在文件名栏中输入一个有意义的文件名,用英文缩写并且不能和工程文件名同名(如TEST1),后缀必须为“.asm”,点击[保存]按钮。

单片机原理实验指导书及其程序

单片机原理实验指导书及其程序

实验一伟福编程软件、编程器、实验箱的使用一、实验目的1.掌握仿真软件、编程器、实验箱的安装、使用方法2.学习P1口的使用方法3.学习延时子程序的编写和使用二、实验说明使用伟福仿真软件Wave6000、编程器、实验箱。

实验时间:3学时。

三、实验内容及步骤1.启动计算机,按照软件安装说明安装伟福仿真软件,进入开发环境。

2.参照开发环境说明,掌握软件的使用。

3.P1.0 P1.1接发光二极管,参照如下结构,使用软件延时方式,编写程序,控制P1.0以4Hz、P1.0以2Hz的频率闪烁。

4.使用编程器、单片机开发实验箱,调试程序,观察发光二极管的闪烁。

5.写实验报告,内容包括电路原理图,汇编程序,延时的计算,心得体会等四、程序示例;P1.0输出以某频率方波,P1.1以其1/2频率输出方波ORG 00HSJMP MAIN ;跳转到主程序ORG 30HMAIN: MOV R0,#02HFP10: CALL DELAYCPL P1.0DJNZ R0, FP10CPL P1.1MOV R0,#02HSJMP FP10DELAY: MOV R1,#100DEL1: MOV R2,#50DJNZ R2,$NOPNOPDJNZ R1,DEL1RETEND;思考:在此例中,P1.0、P1.1输出方波的频率究竟是多少?实验二程序设计实验一、实验目的:⑴熟练掌握80C51汇编语言程序设计方法。

⑵熟练掌握80C51汇编语言程序的调试方法。

二、实验说明实验时间:2学时。

三、实验内容:完成从内部数据存储区20H开始的8个单字节数累加、计算平均程序的设计与调试。

累加结果存放在29H(高字节)、2AH(低字节),平均数存放在2BH。

四、实验设备:PC机五、思考:如何使用软件Wave6000调试所编写的计算程序?六、实验报告要求1. 整理好执行正确的程序和数据;2. 写实验报告,内容包括实验项目、内容,汇编程序及其相应的注释说明,实验完成情况,心得体会。

2012单片机及智能仪器实验指导书

2012单片机及智能仪器实验指导书

2012单片机及智能仪器实验指导书《单片机及智能仪器》实验指导书杨明亮梁应选编适应专业:测控技术与仪器陕西理工学院机械工程学院2012年4月1前言《单片机及智能仪器》是一门实践性很强的课程。

为了使学生更好的理解和掌握这些知识,灵活应用单片机,使学生熟悉单片机实用技术的开发过程,提高汇编语言的编写能力,提高对汇编语言的编辑、汇编、调试运行等技能,设置了软件类、硬件类和综合应用类实验,通过上机及接口实验,熟练地掌握单片机的编程结构、工作模式、指令系统;学会汇编语言程序设计;掌握微机输入/输出接口的基本概念,主要模式和基本工作方法,掌握并行和串行接口的原理,学会并2行输入/输出口的扩展,并能够进行基本的接口设计,提高其实践能力;并培养学生实事求是、严谨的科学作风和良好的实验习惯,为今后课程学习以及开发应用打下基础。

开设“单片机综合实验”的目的,是总结几年来单片机教学中,用购买的实验箱,虽然功能很齐全,但基本上是黑箱结构,对初学者,不是从最简单的最小系统开始,一步步深入,做完实验后,效果很差,大部分学生对单片机的系统没有感性认识,最后在课程设计和毕业设计中,连最简单的单片机最小系统都不清楚。

因此该实验就是想让学3生从最简单的系统开始,自己搭建,编程,调试和固化程序,循序渐进,逐步深入。

本实验指导书是针对测仪专业《单片机与智能仪器》课程实验设置的,两个2学时的验证实验和一个6学时的综合实验。

4实验一:LED显示实验实验学时:2实验类型:验证实验要求:必做一、实验目的:1、了解MCS51系列单片机汇编语言的设计和调试方法;2、掌握8032单片机通过8155扩展I/O接口时,LED显示的连接方法和编程方法。

3、了解LED动态显示原理及汇编语言编程。

二、实验内容:1、观察单片机实验系统(实验箱)结构与原理;52、看懂附录1中的程序,将程序输入并调试;编译、调试、运行该程序,显示结果应为“123456”;3、修改该程序,让LED交替显示“123456”和“654321”,注意交替变化中间要有明显的保持时间;也可以显示任意两个六位数字或字符(用七断数码管可以显示的字符,如“H”、“L”等)。

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

实验一8051简单编程与调试实验目的通过简单小程序的输入和调试,熟悉并掌握Keil 的使用。

学会Proteus与Keil的整合调试。

实验基本要求建立三个项目,分别输入存储块清零、二进制BCD码及二进制ASCII码转换的汇编源程序,并进行仿真调试。

画出实验程序的流程框图。

实验步骤采用Keil Cx51 开发8051单片机应用程序一般需要经过下面几个步骤:1、在 Vision2集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。

在菜单栏中选择“Project”→“New Project”,弹出“Create New Project”对话框,选择目标路径,在“文件名”栏中输入项目名后,单击“保存(S)”按钮,弹出“Selecte Device for Target”对话窗口。

在此对话窗口的“Data base”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“A T89C51”,确定CPU类型。

如图所示。

点击“确定”按钮后,弹出如下的对话框如果是进行汇编语言编程选择“否”。

2、利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。

一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。

在μVision2的菜单栏中选择“File”→“New”命令,新建文档,然后在菜单栏中选择“File”→“Save”命令,保存此文档,这时会弹出“Save As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.asm”。

单击“保存(S)”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少输入代码时出现的语法错误。

程序编写完后,再次保存。

在Keil中“Project Workspace”子窗口中,单击“Target 1”前面的“+”号,展开此目录。

在“Source Group 1”文件夹上单击鼠标右键,在右键菜单中选择“Add File to ‘Group Source 1’”,弹出“Add File to Group”对话窗口,在此对话窗口的“文件类型”栏中,选择“Asm Source File”,并找到刚才编写的.asm 文件,双击此文件,将其添加到Source Group中,此时“Project Workspace”子窗口如图所示。

3、通过μVision2的各种选项,配置Cx51编译器、Ax51宏汇编器、BL51/.Lx51连接定位器以及Debug 调试器。

在“Project Workspace”窗口中的“Target 1”文件夹上单击鼠标右键,在弹出的右键菜单中选择“Option for Target”选项,这时会弹出“Options for Target”对话窗口,在此对话窗口中选择“Output”选项卡,选中“Create HEX File”选项,如图所示。

4、利用μVision2的构造(Buid)功能对项目中的源程序文件进行编译连接,生成绝对代码和可选的HEX文件,如果出现编译连接错误则返回到第2步,修改源程序中的错误后重新构造整个项目。

在Keil的菜单栏中选择“Project”→“Build Target”命令,编译汇编源文件。

如果编译成功,则在“Output Window”子窗口中会显示如图所示的信息;如果编译不成功,双击“Output Window”窗口中的错误信息,则会在编辑窗口中指示错误语句。

5、将没有错误的绝对代码装入μVision2调试器进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的EPROM中。

在Keil的菜单栏中,选择“Debug”→“Start/Stop Debug Session”选项,进入程序调试环境,如图所示。

按“F11”键,单步运行程序。

在“Project Workspace”窗口中,可以查看累加器、通用寄存器及特殊功能寄存器的变化。

在“Memory”窗口中,可以看到每执行一条语句后存储空间的变化。

在“Address”栏中,输入“D: 30H”,查看A T89C51的片内直接寻址空间。

程序调试完毕后,再次在菜单栏中选择“Debug”→“Start/Stop Debug Session”选项,退出调试环境。

在Proteus中调试程序打开Proteus ISIS编辑环境,在菜单栏中选择“File”→“Load Design”弹出“Load ISIS Design File”对话窗口,选择要打开的Proteus的.DSN设计文件。

在本实验中,设计文件为本实验子目录下的Basic.DSN单击鼠标右键选中A T89C51并单击鼠标左键,打开“Edit Component”对话窗口,在此窗口中的“ProgramFile”栏中,选择先前用Keil生成的.HEX文件,如图所示。

单击Proteus ISIS界面左下角的按钮,进入程序调试状态,并在“Debug”菜单中打开“8051 CPU Registers”、“8051 CPU Internal (IDATA) Memory”及“8051 CPU SFR Memory”三个观察窗口,按“F11”键,单步运行程序。

在程序运行过程中,可以在这三个窗口中看到各寄存器及存储单元的动态变化。

Proteus 与Keil整合调试及电路仿真在Proteus的“Debug”菜单中选择“Use Remote Debug Monitor”选项,如图所示。

选择Keil的“Project”→“Options for Target ‘Target 1’”,在弹出的对话框中,单击Debug选项卡,单击右上部的下三角按钮选择“Proteus VSM Monitor-51 Driver”如图所示。

单击“Setting”进入对话框填写如图所示的IP地址和端口号。

在Keil中,在菜单栏中选择“Debug”→“Start/Stop Debug Session”选项,Keil系统进入调试状态。

同时Proteus也进入调试状态。

这时可以调整这两个软件窗口的大小,使它们同时出现在桌面上,这样就可以同时观察这两个软件运行的情况了。

在Proteus的调试状态下,在“Debug”菜单中打开“8051 CPU Registers”、“8051 CPU Internal(IDATA) Memory”、“8051 CPU SFR Memory”三个观察窗口,在单步运行程序的过程中,可以在这三个窗口中看到各寄存器以及存储单元的动态变化。

实验内容1Porteus模型为BASIC.DSN如下图所示。

一、存储块置全“1”源代码:汇编语言源程序:ORG 00HSTART EQU 30HMOV R1,#START ;起始地址MOV R7,#32 ;Rn中设置32字节计数值MOV A,#0FFHLOOP: MOV @R1,AINC R1 ;指向下一个地址DJNZ R7,LOOP ;计数值减1,不为零继续SJMP $END在下划线处填入适当指令。

输入源程序,编译无误后,用单步执行的方法,观察各个相应存储单元和寄存器中内容的变化。

解释START EQU 30H。

【答】将30H定义为START二、二进制BCD码转换源代码:汇编语言源程序:RESULT EQU 30HORG 00HLJMP STARTSTART: MOV SP,#40H ;堆栈指针指向40HMOV A,#123LCALL BINTOBACSJMP $BINTOBAC: MOV B,#100DIV AB ;除以100得百位数MOV RESULT,AMOV A,BMOV B,#10DIV AB ;余数除以10得十位数MOV RESULT+1,AMOV RESULT+2,B ;余数为个位数RETEND在下划线处填入适当指令。

用单步执行的方法,观察子程序调用过程中堆栈指针的变化。

三、二进制ASCII码转换源代码:汇编语言源程序:RESULT EQU 30HORG 00HSTART:MOV A,#1AHLCALL BINTOHEX ;调用BINTOHEX子程序LJMP $BINTOHEX:MOV DPTR,#ASCIITAB ;表的首址ASCIITAB送DPTRMOV B,A ;暂存ASWAP AANL A,#0FH ;取A的高四位MOVC A,@A+DPTR ;查ASCII表MOV RESULT, AMOV A,B ;恢复AANL A,#0FH ;取低四位MOVC A,@A+DPTR ;查ASCII表MOV RESULT+1,ARETASCIITAB:DB '0123456789ABCDEF' ;定义数字对应的ASCII表END在下划线处填入适当指令。

单步运行程序观察查表指令的执行过程。

把LJMP $这条指令注释掉,然后全速运行该程序,然后让其停止观察程序执行到哪里?【答】一直重复调用不停止实验内容2输入、汇编、调试下列四个程序,通过信息窗口观察并回答问题。

1、程序a.asmORG 0000HMOV 30H,#87HMOV A,#69HADD A,30HNOPEND问:CY= 0,(A)= F0H,OV= 0,P= 0将程序中的指令NOP改为指令DA A后问:CY= 1 ,(A)=56H ,OV= 0 ,P= 02、程序b.asmORG 0000HMOV SP,#60HMOV DPTR,#0A679HPUSH DPHPUSH DPLMOV A,#80HPUSH ACCPOP BPOP 30HPOP 31HNOPEND问:(SP)= 60H,(A)= 80H,(30H)= 79H,(31H)=A6H,(B)=80H,(DPH)=A6H,(DPL)=79H3、程序c.asmORG 0000HMOV DPTR,#TABMOV A,#05HMOVC A,@A+DPTRNOPORG 1000HTAB: DB 6FH,30H,96H,75H,0A8H,0FEHDB 49H,8AH,5FH,0B6H,7FH,0C4HEND问:执行完MOVC A,@A+DPTR以后,(A)=FEH4、程序d.asmORG 0000HMOV A,#02HMOV B,ARL AADD A,BMOV DPTR,#TABJMP @A+DPTRNOPORG 0800HTAB: LJMP 1000HLJMP 2000HLJMP 3000HLJMP 4000HEND问:执行完JMP @A+DPTR以后,PC=0806H实验二汇编语言程序设计(一)实验目的通过上机实验掌握单片机汇编语言程序的编写和调试。

实验基本要求按实验内容上机输入并调试实验程序。

相关文档
最新文档