微机应用系统设计实验一

合集下载

微机软件实验报告

微机软件实验报告

一、实验目的1. 熟悉微机软件的基本概念和原理。

2. 掌握微机软件的开发流程和常用工具。

3. 提高编程能力和软件设计能力。

4. 理解微机软件在各个领域的应用。

二、实验环境1. 操作系统:Windows 102. 编程语言:C++3. 开发工具:Visual Studio 20194. 实验设备:个人电脑一台三、实验内容本次实验主要分为以下几个部分:1. 微机软件概述- 微机软件的概念及分类- 微机软件的发展历程- 微机软件在各个领域的应用2. C++编程基础- 变量和数据类型- 运算符和表达式- 控制结构(条件语句、循环语句) - 函数- 数组- 指针3. Visual Studio 2019开发环境- 创建项目- 编写代码- 编译和调试程序4. 实验项目:计算器程序设计- 界面设计- 功能实现- 测试与优化四、实验步骤1. 微机软件概述- 通过查阅资料,了解微机软件的基本概念、分类、发展历程和应用领域。

- 思考微机软件在日常生活、工作学习中的应用。

2. C++编程基础- 学习C++编程基础,包括变量、数据类型、运算符、控制结构、函数、数组、指针等。

- 通过编写简单的程序,巩固所学知识。

3. Visual Studio 2019开发环境- 安装并熟悉Visual Studio 2019开发环境。

- 创建一个新项目,并编写简单的C++程序。

4. 实验项目:计算器程序设计- 设计计算器界面,包括按钮、文本框等控件。

- 编写程序实现计算器的功能,如加、减、乘、除等运算。

- 对程序进行测试,确保功能正确无误。

- 优化程序,提高运行效率。

五、实验结果与分析1. 微机软件概述- 通过实验,掌握了微机软件的基本概念、分类、发展历程和应用领域。

- 认识到微机软件在各个领域的广泛应用,如操作系统、办公软件、游戏、数据库等。

2. C++编程基础- 通过实验,掌握了C++编程基础,包括变量、数据类型、运算符、控制结构、函数、数组、指针等。

微机原理及接口技术实验

微机原理及接口技术实验

微机原理及接口技术实验一、实验目的本实验旨在通过学习微机原理和接口技术,了解和掌握微机系统的基本原理和接口技术的应用,培养学生对微机系统的认识和实践操作能力。

二、实验内容1. 微型计算机系统设计与搭建2. 微机输入输出接口技术应用实验3. 微机总线技术应用实验4. 微机存储器技术应用实验5. 微型计算机中断和DMA技术应用实验三、实验原理1. 微型计算机系统设计与搭建微型计算机主要由中央处理器、存储器、输入输出设备和总线组成。

本实验通过选择适当的芯片、电路连接和控制程序设计,实现一个基本的微型计算机系统。

2. 微机输入输出接口技术应用实验输入输出是微型计算机的重要组成部分,通过实验学习各种输入输出接口的原理和使用方法,并进行实际应用。

3. 微机总线技术应用实验总线是微型计算机各个部件之间传送数据和控制信息的公共通信路径。

通过实验学习总线的分类、结构和时序要求,掌握总线的实际应用。

4. 微机存储器技术应用实验存储器是微型计算机中存储数据和程序的重要设备。

通过实验学习不同类型存储器的原理和应用,掌握存储器的选择和使用。

5. 微型计算机中断和DMA技术应用实验中断和直接存储器访问(DMA)是微型计算机连接外部设备的重要技术。

通过实验学习中断和DMA的工作原理,掌握中断和DMA的应用方法。

四、实验步骤1. 根据实验要求,设计并搭建微型计算机系统;2. 连接输入输出设备,并编写控制程序;3. 进行输入输出接口技术应用实验,如串行通信、并行通信等;4. 进行总线技术应用实验,如总线传输数据测试等;5. 进行存储器技术应用实验,如读写存储器数据等;6. 进行中断和DMA技术应用实验,如中断服务程序编写等;7. 完成相关实验报告并进行总结。

五、实验设备和材料1. 微型计算机实验箱、电源适配器;2. 8051单片机、存储器芯片、输入输出芯片,如74HC164等;3. LED数码管、LCD液晶显示器、键盘、计算器等输入输出设备;4. 可编程芯片编程器、逻辑分析仪等实验设备。

微机原理和单片机实验报告

微机原理和单片机实验报告

实验一 8051单片机仿真系统的配置及使用一、实验目的与要求1.了解80c51单片机仿真开发系统的组成原理。

2.掌握仿真系统的连接与配置。

3.掌握仿真系统的MedWin集成开发环境的使用。

4.掌握程序的调试方法。

二、实验设备1. PC机一台2. Insight SE-52 Plus 8XC51 单片机仿真器主机一台3. TB-40DP1 80C51 仿真头一个4. CAB-40FT 仿真电缆一条5. CAB-25DB 通讯电缆一条6. MS-100电源一台7. 数字万用表一台三、实验内容1. Insight SE52 Plus单片机仿真开发系统的组成及性能2. Insight SE52 Plus单片机仿真开发系统的硬件连接及配置3.学习MedWin集成开发环境的使用四、思考题1 MedWin集成开发环境的使用中,不使用项目管理方式开发应用程序和使用项目管理方式开发应用程序的操作方法和区别?答:区别是:使用项目管理方式开发应用程序,更加方便,效率更高。

2 MedWin集成开发环境的使用中,CODE,DATA,IDATA,XDATA,PDATA各存储空间的意义?答:CODE是片内程序存储器。

DATA为片内数据存储区,地址低128 字节与IData 的数据相同,高128 字节为特殊功能寄存器SFR 空间。

IDATA为片内数据存储区,低地址128字节。

XDATA为片外出具存储区。

PDATA为片外页面方式访问的数据区PData 窗口,使用MOVX @ri 指令访问。

3 MedWin模拟仿真调试巡回彩灯程序,观察实验结果。

改变程序,观察实验结果。

参考程序如下:运行程序2,P1.2和P1.3所接的LED会一直亮。

实验二心电图机液晶显示系统实验(图形部分)一、实验目的了解液晶显示的原理掌握液晶面板上进行波形显示的原理和方法掌握单片机编程技巧二、实验要求了解80C51单片机及OCMJ4X8C液晶模组的硬件配置及连接方法掌握80C51单片机的编程语言掌握波形输出程序的算法和结构编写程序并调试程序三、实验设备单片机仿真器金鹏OCMJ4X8C液晶模组稳压电源四、实验内容液晶显示在心电图机中的应用是将数字技术、计算机技术结合起来,利用单片机和液晶显示模块进行波形显示。

上海大学微机实践报告1-3

上海大学微机实践报告1-3

上海大学微机实践报告1-3上海大学微机实践报告实验一:开关状态显示【实验目的】熟悉实验箱和软件开发平台的使用。

了解基本 I/O 端口的操作方法和技巧,掌握编程和调试基本技能。

【实验内容】利用 74LS244 作为输入口,读取开关状态,根据给定表格中开关状态对应的输出关系,通过 74LS273 驱动发光二极管显示出来。

【实验区域电路连接图】参考上图连线:Y0~Y1 接 K1~K2(对应 J1、J2);Q0~Q7 接 L1~L8(对应 J3 至J10);CS1 接 8000H孔(对应 J12);CS2 接 9000H 孔(对应 J11);IOWR →IOWR;IORD→IORD;然后用数据排线连接 JX7→JX17(BUS2)。

【程序框图】【编程】CODE SEGMENTASSUME CS:CODEORG 1200HSTART:MOV DX,8000HIN AL,DXTEST AL,01HJNZ Y1 /测试AL是否等于01H,若不等于,则跳入循环Y1/ TEST AL,02HJNZ Y2 /测试AL是否等于02H,若不等于,则跳入循环Y2/ MOV DX,9000HMOV AL,0FFH /点亮所有的灯/OUT DX,ALJMP STARTY1:TEST AL,02HJNZ Y3 /测试AL是否等于02H,若不等于,则跳入循环Y3/MOV DX,9000HMOV AL,0AAH /点亮奇数号灯/OUT DX,ALJMP STARTY2:MOV DX,9000HMOV AL,55H /点亮偶数号灯/OUT DX,ALJMP STARTY3:MOV DX,9000HMOV AL,00H /所有灯全灭/OUT DX,ALJMP STARTCODE ENDSEND START【问答题】1、I/O 端口的寻址方式有哪 2 种?在 x86 系统中,采用哪一种?解:I/O 端口的寻址方式有:一种是I/O地址与存储器地址统一编址,一种是I/O地址与存储器地址分别独立编址。

微机原理及应用中南大学实验报告

微机原理及应用中南大学实验报告

微机原理及应用实验报告实验一单片机仿真开发机操作和MCS-51指令系统应用一、实验目的1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整;2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编;3、掌握程序的调试和运行的各种方法。

二、实验说明1.输入给定程序,配置选项,调试并运行程序,观察程序控制下寄存器的变化。

2.选中此项keil为纯软件仿真。

3.编写程序上机调试通过,实验报告要求提交程序流程图及源程序。

三、实验内容及步骤(完成分值:60分)本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真(不需要连接仿真器就可以仿真)。

1.新建工程项目2.设置工程文件参数3.编写新程序事例4.调试程序直至能够运行出结果。

四、参考实验程序AJMP MAINORG 0030HMAIN: MOV R0,#20HMOV R2,#0FHMOV A,#00HA1: MOV @R0,AINC R0INC ADJNZ R2,A1MOV R0,#20H ;暂停,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA2: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R2,A2MOV R0,#030H ;断点,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA3: MOVX A,@DPTRMOVX @R0,AINC R0INC DPTRDJNZ R2,A3DO: LJMP DOEND ;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。

五、附加题(完成分值:10分/单个附加题,附加题要求当场给指导老师检查结果,否则无效。

其中1、2、3附加题要求写在实验报告上)1.将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光标处”功能,程序快速执行到光标所在行。

观察运行情况,并记录下表。

R0 R2 A 20H 21H 22H 23H 24H 25H2FH 00H 0FH 00H 01H 02H 03H 04H 05H26H 27H 28H 29H 2AH 2BH 2CH 2DH 2EH06H 07H 08H 09H0AH 0BH 0CH 0DH 0EH2.在MOV R0,#0A0H行设置断点,全速执行,暂停后观察并记录以下单元内容R0 DPL 7000H 7001H 7002H 7003H 7004H 7005H 7006H2FH 01H 0FH 01H 02H 03H 04H 05H 06H7007H 7008H 7009H 700AH 700BH 700CH 700DH 700EH07H 08H 09H 0AH 0BH 0CH 0DH 0EH3.画出程序流程图4.修改程序,实现新功能(例如搬运数据时实现倒序,变成对应的BCD码,请自行考虑与别人不同的功能,同组同学已经实现过的功能不算新功能)答:由程序可知,子程序Al产生数据,子程序A2将产生的数据搬运至7000H开头的地址,子程序A3将7000H开头的地址搬运至30H开头的地址。

微机实验指导书

微机实验指导书

实验一汇编语言上机环境的熟悉和DEBUG命令使用一.实验目的:1.熟悉程序的汇编过程以及Masm for Windows 6.0的使用。

2.学习使用DEBUG中的各种命令。

3.掌握用DEBUG调试自编程序的方法,为以后实验打下基础。

二.实验内容1.熟悉汇编语言的编译环境。

1)DOS下的编译环境。

2)Windows下的编译环境(Masm for Windows 6.0)。

2.用A命令汇编下列程序段,完成将DS:2000开始的5个字节内存内容相加,并把相加的结果存放在DS:2005内存单元中,将程序写到硬盘上,然后用DEBUG调试﹑运行该程序,查看运行结果,观察程序段能否完成指定功能,若不能,说明原因。

MOV CX,5MOV AL,0MOV BX,2000NEXT: ADD AL,[BX]INC BXDEC CXLOOP NEXTMOV [BX],ALINT 3三.预习要求1.仔细阅读实验一后的【实验提示】及【DEBUG的启动及其基本命令的使用】中的内容2.―汇编语言上机操作过程及程序调试技术‖内容。

3.根据实验要求,对各项结果进行预测。

四.实验报告1.写出实验内容中2的程序错误所在,分析其运行过程。

2.举例写出利用dubug调试中你所用的命令的功能。

3.写出做完本实验的心得体会。

五.实验提示1.DEBUG的进入(1)如果是首次进入DEBUG编程,则只要在DOS提示符下键入DEBUG ↙,即可进入DEBUG环境,显示提示符―-‖。

(2)如果要对某个程序使用DEBUG进行调试,只要在DOS提示符下键入DEBUG 文件名↙,即可进入DEBUG环境,显示提示符―-‖。

2.程序的汇编与反汇编⑴源程序可以在DEBUG下,用汇编命令A输入到内存中,只需在DEBUG提示符―-‖下,键入汇编命令A ↙,并在显示―段寄存器地址:偏移地址‖后面键入你自己编写的程序,每键入一条,按一次回车键。

-A ↙127B:0100 MOV CX,5 ↙127B:0103 MOV AL,0 ↙127B:0105 MOV BX,2000 ↙┇⑵如果进入DEBUG时是使用―DEBUG 文件名↙‖进入的,那么在进入DEBUG状态后,可用反汇编命令U,将调入的程序显示出来:-U ↙127B:0100 B90500 MOV CX,5127B:0103 B000 MOV AL,0127B:0105 BB0020 MOV BX,2000┇3.在DEBUG状态下,对所编写文件存盘的步骤①给程序命名-N 文件名.COM ↙②将文件长度放入BX、CX中(高位放入BX,低位放入CX中)-R BX ↙(注意!!!由于文件长度一般较小,所以切记BX中赋0值)-R CX ↙(文件最末偏移地址减去文件开始的偏移地址即文件长度)③用写盘命令W把正在调试的内存中程序写入磁盘中-W 〈地址〉↙(文件开始地址)退出DEBUG状态用Q命令:-Q ↙4.在DEBUG状态下,建议使用DOS分配给用户的内存可用区在DEBUG状态下,用户可对所有寄存器、RAM内存随意查看和修改,但由于对DOS 操作系统在内存中存放情况不了解,可能会将存放有操作系统程序的内存内容破坏,从而可能引起系统的异常,出现死机现象,故建议使用DOS分配给用户的内存可用区,其低端地址是刚进入DEBUG时,用命令R查看到的DS:IP。

微机原理实验

微机原理实验

微机原理实验实验⼀ MASM For Windows 的使⽤及顺序程序设计⼀、实验⽬的1、熟悉在PC机上建⽴、汇编、连接、调试和运⾏8086汇编语⾔程序的过程。

2、熟悉masm for windows调试环境及DEBUG常⽤命令的使⽤⼆、实验内容1.DEBUG常⽤命令(U、R、D、E、F、T、G、Q)的操作使⽤2.编程实现两个16位⽆符号数的加、减、乘、除运算。

有两个两字节⽆符号数分别放在存储单元A、B起始的缓冲器中,求其和,结果放在A起始的缓冲区并在屏幕上显⽰。

相加若有进位不存⼊存储单元。

三、实验设备PC机⼀台四、实验准备1) 分析题⽬,将程序中的原始数据和最终结果的存取⽅法确定好。

2) 画出流程图。

3) 写出源程序。

4) 对程序中的结果进⾏分析,并准备好上机调试与⽤汇编程序及汇编调试的过程。

五、实验步骤1) 输⼊源程序。

2) 汇编、连接程序,⽣成 .EXE⽂件,执⾏⽂件,检查结果。

六、学⽣实验报告的要求1) 列出源程序,说明程序的基本结构,包括程序中各部分的功能。

2) 说明程序中各部分所⽤的算法。

3) 说明主要符号和所⽤到寄存器的功能。

4) 上机调试过程中遇到的问题是如何解决的。

5) 对调试源程序的结果进⾏分析。

4) 说明标志位CF、SF和OF的意义。

DEBUG的常⽤命令1、R 显⽰或修改寄存器的内容命令格式:-R2、 D 显⽰存储单元的内容命令格式:-D[地址1, 地址2]3、E修改存储单元的内容命令格式:-E[地址1, 地址2]命令格式:-U[地址1, 地址2]5、T单步执⾏命令格式:-T6、G连续执⾏命令格式:-G[=起始地址, 结束地址]A⼩汇编命令格式:-A7、Q退出DEBUG,返回DOS实验⼀源程序 EXAM1-2 .ASMDATA SEGMENTA DB 34H,18H,2 DUP(0),’$’B DB 56H,83HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AXMOV AL,AMOV BL,BADD AL,BLMOV AH,A+1MOV BH, B+1ADC AH, BHMOV A, ALMOV A+1, AHMOV CX, 0004HMOV DI, OFFSET AMOV DX, [ DI]ADD DI,03NEXT: MOV AX, DXAND AX,000FHCMP AL,0AHJB QQQADD AL, 07HMOV [DI], ALDEC DIPUSH CXMOV CL, 04SHR DX, CLPOP CXLOOP NEXTMOV DX, OFFSET AMOV AH, 09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START执⾏程序EXAM1-2·EXE,屏幕上显⽰结果:9B8A实验⼆分⽀、循环程序设计⼀、实验⽬的1) 掌握分⽀、循环程序的结构。

微机原理及应用实验指导书

微机原理及应用实验指导书

微机原理及应用实验指导书目录第一章概述........................................................2第二章实验系统组成和结构 (3)实验一存储器块清零实验............................................................................ .. (9)实验二多分支程序设计实验............................................................................ .................10实验三8255输入、输出实验............................................................................ ................11实验四步进电机控制............................................................................ .............................13实验五8251串行口通讯实验............................................................................ ................16实验六i/o端口实验............................................................................ .. (18)1第一章概述《微机原理及应用领域》实验使用伟福lab2000p仿真实验系统,本仿真实验系统由板上仿真器、实验仪、伟福仿真软件、开关电源形成。

本实验板提供以下实验电路:(1)数模变换电路(2)模数变换电路(3)逻辑电平输入开关(4)逻辑电平显示电路(5)单脉冲电路(6)逻辑笔电路(7)1mhz及500khz脉冲信号源(8)pwm切换电压电路(9)模拟量电压(电位器)电路(10)串口通信实验电路(11)扬声器驱动电路(12)继电器控制电路(13)逻辑门电路(14)六位8段码led数字显示器(15)4x6键盘(16)存贮器(17)通用集成电路插座(dip40/28/24/20/18/16/14)(18)地址,数据及控制电路总线接出插座通过可以选附件还可以拓展顺利完成以下实验:(19)STM电机实验(20)打印机驱动实验(21)传感器实验(22)直流电机实验2第二章实验系统共同组成和结构伟福实验系统可根据教学实践的需要实现mcs51/mcs196单片机原理与接口,8088/8086微机原理与接口的一系列实验,并在硬件上预留了自主开发实验的空间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOVX @DPTR,A
SJMP $
END
实验二思考题:
(1)如果将数据存储单元2000H-20FFH单元内容改写为FFH,该如何实现?
解:
ORG 0000H
LJMPMAIN
ORG 0100H
MAIN:
MOV R0,#00H
MOV A,#FFH ;将立即数FFH存入寄存器A中
MOV DPTR,#2000H ;将立即数2000H装入数据指针DPTR
MOVX A,@DPTR ;片外数据存储传送到寄存器A中
MOV B,A ;将原数保存到寄存器B中
ANL A,#0F0H ;将原数的低四位清零
SWAP A ;循环左移4位,将高四位与低四位互换
INC DPTR
MOVX @DPTR,A ;将原数的高四位存入2001H单元中
MOV A,B
ANL A,#0FH ;将原数的高四位清零
如果2000H中存入12H
运行后2001H单元中为01H,2002H单元中为02H。
清零程序源代码:
调试时,用X:2000H查看外部数据存储器的数据。可以在想查询的行程序设置断点。
每个位置来改变外部数据存储器的值,然后用单步或连续方式运行程序,可以看到2000H---20FFH的数据都被清零。
数据块传送结果:
Loop:
MOV DPTR,#2000H
MOVX A,@DPTR ;片外数据存储传送到寄存器A中
MOV B,A ;将原数保存到寄存器B中
ANL A,#0F0H ;将数的低四位清零
SWAP A ;循环左移4位,将高四位与第四位互换
INC DPTR
MOVX @DPTR,A ;将原数的高四位存入2001H单元中
MOV DPL,R0
MOV DPH,R1
MOVX @DPTR,A
INC R0 ;将目的地址的低位字节自增
INC R7
CJNE R7,#00H,Loop1 ;设置循环,当(R7)=#00H,顺序执行
SJMP $
END







拆字程序结果:
调试时,在ADDRESS窗口输入X:2000H查看外部数据存储器的数据。可以设置断点,双击每个位置来改变外部数据存储器的值,然后用单步或连续方式运行程序,可以看到:
调试时,在ADDRESS窗口中输入X:1000H~10FFH里的内容进行修改,可以看到程序执行后依次被赋予2000H开始的数据单元中。将X:1000H内容输入12H,1001H为34H,1002H为56H,10FFH为78H,程序运行后查询X:2000H单元内容为12H,2001H为34H,2002H为56H,
微机应用系统设计学生实验报告
课程名称
微机应用系统设计
实验名称
微机应用系统设计实验
实验教室
实验日期
班级学生姓名实验成绩Fra bibliotek任课教师
(签名)
实验目的
学习仿真软件使用方法;通过编写清零程序、拆字和数据块传送等程序,掌握简单汇编语言设计和调试方法。
实验内容
熟悉dais-MCS51仿真开发系统,通过编写简单的汇编语言程序学习仿真软件的使用。观察编译工具、调试工具、调试窗口、寄存器窗口、存储器窗口的内容及使用方法。
CJNE R0,#00H,LOOP ;设置循环条件,当(R0)=#00H,顺序执行
SJMP $
END
(3)在数据传送过程中,地址总线和数据总线上的数据分别是什么?
答:在数据传输过程中,地址总线上的数据是当前所指向的地址,而数据总线上的数据就是00H。
实验三思考题:
(1)如何用断点方式调试上述程序?
答:编译成功后,点击 进入调试环境,双击关注的语句或者点击 即设为断点。点击 开始单步或连续执行程序,当程序运行到断点处时,程序暂停。
INC DPTR
MOVX @DPTR,A;将原数的低四位存入片外2002H单元中
SJMP $
END
清零程序源代码:
ORG 0000H
LJMPMAIN
ORG 0100H
MAIN:MOV R0,#00H
MOV A,#00H ;将立即数00H存入累加器A中
MOV DPTR,#2000H ;将立即数2000H装入数据指针DPTR
MOV R2,#00H
MOV R3,#10H ;将源地址1000H保存到R3,R2
MOV R0,#00H
MOV R1,#20H ;将目的地址2000H保存到R1,R0
Loop2:
MOV R7,#00H
MOV DPL,R2
MOV DPH,R3 ;将源地址送给数据指针DPTR
MOVX A,@DPTR
INC R2 ;将源地址的低位字节自增
LJMPMAIN
ORG 0100H
MAIN:MOV R0,#00H
MOV A,#00H ;将立即数00H存入累加器A中
MOV DPTR,#2000H ;将立即数2000H装入数据指针DPTR
LOOP:MOVX @DPTR,A ;将累加器A中的内容00H送给((DPTR))
INC DPTR
INC R0
LOOP:MOVX @DPTR,A ;将寄存器A中的内容FFH送给((DPTR))
INC DPTR
INC R0
CJNE R0,#00H,LOOP ;设置循环条件,若(R0)=#00H,顺序执行
SJMP $
END
(2)如果将数据存储单元3000H-30FFH单元内容改写为00H,该如何实现?
解:
ORG 0000H
20FF为78H,完成数据块传送。




实验一思考题:
(1)如果将2001H存储单元的低位和2002H单元的低位合并放在2003H单元,其中2001H存储单元的低位放在2003H单元低位,2002H单元的低位放在2003H单元高位,该如何编写程序?
ORG 0000H
LJMPLoop
ORG 0010H
MOV A,B
ANL A,#0FH ;将原数的高四位清零
INC DPTR
MOVX @DPTR,A;将原数的低四位存入2002H单元中
MOV DPTR,#2000H ;再让数据指针DPTR指向2000H单元
MOVX A,@DPTR
SWAP A
MOV DPTR,#2003H ;将原数高低四位互换后存入2003H单元中
实验仪器设备
1. PC机一台;
2.单片机教学实验系统一套。包括Dais-52PH+实验箱一个和Dais—MCS51仿真软件一套。









拆字程序流程图:
清零程序流程图:
数据块传送程序流程图:





拆字程序源代码:
ORG 0000H
LJMPLoop
ORG 0010H
Loop: MOV DPTR,#2000H
(2)如何察看某个数据单元内容?
答:在ADDRESS窗口中,输入要查询的数据单元地址即可。
感想收获:
通过本次实验,学习到如何能熟练掌握逻辑指令ANL的用法,从而完成清零的功能,同时也熟悉了其他移位指令的用法和使用指令CJNE和利用DPTR的高8位指针DPH和低8位指针DPL完成数据块的传输。如在实验二中,实验目的为2000H-200FFH单元一共256个单元,而在第一次循环时R0=1H,即R0值应从1H-257HH,所以在第256位时R0会溢出返回成00H,否则不能完成2000H-20FFH的清零任务。对外部存储器传送的MOVX指令的使用也有了进一步的了解。通过思考题学到了如何通过更改程序来完成不同的实验目的,主要还是要对程序极为熟练。
LOOP:
MOVX @DPTR,A ;将累加器A中的内容00H送给片外((DPTR))
INC DPTR
INC R0
CJNE R0,#00H,LOOP ;设置循环,若(R0)=#00H,顺序执行
SJMP $
END
数据块传送源代码:
ORG 0000H
LJMP Loop1
ORG 0100H
Loop1:
MOV A,#00H
相关文档
最新文档