单片机 实验1-2

合集下载

MCU实验报告--2-单片机控制流水灯设计、制作(1)

MCU实验报告--2-单片机控制流水灯设计、制作(1)

项目二单片机控制的流水灯设计、仿真及制作专业:17电子信息学号:19 姓名:张静一、实验目的和要求1、理解并行I/O口的输入/输出功能。

2、根据项目要求,设计电路,PROTEUS完成仿真,用面包板完成硬件制作。

3、实现单片机控制的LED闪烁,掌握电路设计、软件设计调试、源程序下载,软硬联调。

二、实验仪器设备1、PC机(PROTEUS,Keil)2、元器件3、面包板4、编程器三、实验步骤1、器件准备2、系统设计1)软件仿真----PROTUES 仿真2)、硬件设计在面包板上搭建电路。

3)、软件设计源程序#include<reg51.h>#include<intrins.h>void delay (unsigned int i){unsigned int k;for (k=0;k<i;k++);}void main(){P1=0x7F;while(1){P1=_cror_(P1,1);delay(5000);}}四、硬件(照片)五、项目扩展A 暗点流动仿真仿真图核心代码#include<reg51.h>#include<intrins.h>void delay (unsigned int i){unsigned int k;for (k=0;k<i;k++);}void main(){P1=0x07;while(1){P1=_cror_(P1,1);delay(5000);}}B 四个按键控制的LED灯----按键1启动,按键2 停止,按键3向上流水,按键4 向下流水1) 仿真仿真图2) 硬件制作(照片)核心代码#include<reg51.h>#define TIME 1200#include<intrins.h> sbit S1=P3^2;sbit S2=P3^3;sbit S3=P3^4;sbit S4=P3^5;void delay (unsigned int i) {unsigned int k;for (k=0;k<i;k++);}void main(){P1=0xff;while(1){if (S1==0){delay(TIME);if (S1==0)P1=0x00;} else if(S2==0){delay(TIME);if(S2==0)P1=0xFF;}else if(S3==0){delay(TIME);if (S3==0)P1=0x7f;while(1){P1=_cror_(P1,1); delay(10000);if (S4==0) break;}}else if (S4==0){delay(TIME);if (S4==0)P1=0x7f;while(1){ P1=_crol_(P1,1);delay(10000);if (S2==0) break;}}}}六、总结。

[整理]单片机6个必做实验

[整理]单片机6个必做实验

第一部分软件实验实验一二进制到BCD码转换一、实验目的1、掌握简单的数值转换算法2、基本了解数值的各种表达方法二、实验说明单片机中的数值有各种表达方式,这是单片机的基础。

掌握各种数制之间的转换是一种基本功。

我们将给定的一个二进制数,转换成二十进制(BCD)码。

将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A赋值#123。

三、实验内容及步骤1、启动计算机,打开伟福仿真软件,进入仿真环境。

首先进行仿真器的设置,选择使用伟福软件模拟器。

2、打开TH2.ASM源程序进行编译,编译无误后,全速运行程序,打开数据窗口(DATA),点击暂停按钮,观察地址30H、31H、32H的数据变化,30H更新为01,31H更新为02,32H更新为03。

用键盘输入改变地址30H、31H、32H的值,点击复位按钮后,可再次运行程序,观察其实验效果。

修改源程序中给累加器A的赋值,重复实验,观察实验效果。

3、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。

四、流程图及源程序1.源程序RESULT EQU 30HORG 0000HLJMP STARTBINTOBCD:MOV B,#100DIV ABMOV RESULT,A ;除以100得百位数MOV A,BMOV B,#10DIV ABMOV RESULT+1,A ;余数除以10得十位数MOV RESULT+2,B ;余数为个位数RETSTART:MOV SP,#40HMOV A,#123CALL BINTOBCDLJMP $END2.流程图实验四程序跳转表一、实验目的1、了解程序的多分支结构2、掌握多分支结构程序的编程方法二、实验说明多分支结构是程序中常见的结构,在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。

若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。

单片机实验报告范文

单片机实验报告范文

单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。

二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。

2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。

通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。

三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)编写程序,点亮LED灯。

2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)将按键和LED灯与单片机相连。

(3)编写程序,实现按下按键控制LED灯亮灭。

3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)将数码管与单片机相连。

(3)编写程序,将数字输出到数码管上显示。

4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)编写程序,实现定时器功能。

四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。

2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。

按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。

3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。

通过程序设计,可以实现数码管显示不同的数字。

4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。

通过调节定时器的参数,可以实现不同的定时功能。

五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。

通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。

这些技能对于日常生活和工程设计都具有很大的实用性。

在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。

单片机原理及应用实验二报告

单片机原理及应用实验二报告

单片机原理及应用实验二报告实验二:单片机IO口的输入输出实验一、实验目的:1.理解并掌握单片机IO口的输入输出原理;2.掌握基础的输入输出编程技巧;3.熟悉单片机实验的基本流程和实验报告格式。

二、实验器材:1.STM32F103C8T6开发板2.LED灯3.电阻(220Ω)4.面包板、杜邦线等。

三、实验原理:单片机的IO口是实现与外部器件进行通信的重要接口,通过编程,我们可以控制IO口的状态(低电平或高电平)来实现对外部器件的控制或检测。

IO口的输入输出原理主要有两种:1.三态输出方式:通过设置IO口的DDR寄存器来将IO口设置为输出模式(推挽输出),并通过设置IO口的ODR寄存器来控制IO口的输出状态为低电平或高电平;2.上拉输入方式:通过设置IO口的DDR寄存器来将IO口设置为输入模式,同时设置IO口的CR寄存器的PUPD位为上拉使能,通过读取IO口的IDR寄存器可以获取IO口的输入状态。

四、实验步骤:1.连接电路:将STM32F103C8T6开发板的VDD和VSS(即5V和GND)分别连接到面包板的3V3和GND,将LED的阳极(长脚)连接到STM32F103C8T6开发板的PA0引脚,将LED的阴极(短脚)通过一个220Ω的电阻连接到GND。

2. 打开Keil uVision5软件,创建一个新的工程,并选择适合的芯片型号(STM32F103C8T6)。

3.编写代码实现将PA0引脚设置为输出模式,并控制LED的亮灭。

五、实验代码:```c#include "stm32f10x.h"void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);int main(void)GPIO_Configuration(;while (1)GPIO_SetBits(GPIOA, GPIO_Pin_0); // 点亮LEDGPIO_ResetBits(GPIOA, GPIO_Pin_0); // 关闭LED}```六、实验结果与分析:七、实验心得:本次实验主要学习了单片机IO口的输入输出原理,了解了三态输出方式和上拉输入方式,并通过实际编写代码的方式,在STM32F103C8T6开发板上实现了控制LED的亮灭。

51单片机实验-实验二 P1口输入、输出实验

51单片机实验-实验二 P1口输入、输出实验

实验二 P1口输入、输出实验一、实验目的学习Pl口的使用方法。

学习延时子程序的编写和使用。

进一步熟悉星研Star16L仿真器系统的操作,和EL-Ⅱ型通用接口板实验电路结构,学习使用PROTEUS仿真软件实现单片机的虚拟仿真。

掌握虚拟仿真与实际系统仿真的有机衔接。

二、实验仪器和设备PC机、星研Star16L仿真器系统+仿真头PODPH51(DIP)、EL-Ⅱ型通用接口板实验电路,PROTEUS仿真软件。

三、实验内容1)P1口做输出口,经过74LS04反相器接八只发光二极管,编写程序,使发光二极管循环点亮。

2)(选作)P1口既做输入又做输出,在P1.0~P1.3口接四个平推开关,通过开关的不同位置向P1.0~P1.3输入不同的状态,然后利用输入指令读取所设开关状态,为验证输入结果的正确与否,将它们输出到P1.4~P1.7,经过74LS04反相器驱动发光二极管。

四、实验结果1)循环点亮八只发光二极管。

取P1.0口接出第一个二极管,以此类推,第八个接P1.7口。

Proteus 仿真图①循环左移,即从第一个二极管开始点亮到第八个二极管实验程序:ORG 0000HSTART:MOV R2,#8MOV A,#01H ;先让第一个发光二极管点亮LOOP: MOV P1,A ;从P1口输出到发光二极管LCALL DELAYRL A ;循环左移(从第一个发光二极管开始一直往下一个二极管)DJNZ R2,LOOP ;判断移动是否超过8位,未超过则继续循环LJMP START ;循环发光DELAY:MOV R5,#5 ;延时0.5秒子程序DEL1: MOV R6,#200DEL2: MOV R7,#126DEL3: DJNZ R7,DEL3DJNZ R6,DEL2DJNZ R5,DEL1RETEND仿真结果:发光二极管从D1开始发光,依次往下到D8,然后循环这一过程。

实验结果:发光二极管从第一个开始发光,依次往左到第八个,然后循环这一过程。

单片机实验实验指导书

单片机实验实验指导书

目录实验一P1口输入、输出实验 (1)实验二P3口输出控制继电器实验 (4)实验三简单I/O实验(交通灯控制) (6)实验四外部中断实验(急救车与交通灯实验) (8)实验五定时器实验 (11)实验六8155输入输出实验 (13)实验七矩阵键盘实验 (15)实验八8279显示实验 (17)实验九串并转换实验 (20)实验十A/D转换实验 (22)实验十一步进电机控制实验 (24)实验十二D/A转换实验 (27)实验十三传送带控制系统综合实验 (29)实验十四机械手控制实验 (32)实验一 P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

延时时间500ms。

2.P1口做输入口,接八个开关,以74LS273作输出口,编写程序读取开关状态,将状态写入P0口,在发光二极管上显示出来。

二.实验目的1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

三.实验电路及连接实验1-1电路图如下:图1.1实验1-2中:P1.0-P1.7接八个按钮K1-K8,P0.0-P0.7接八个发光二极管L1-L8。

四.实验说明1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止,因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响,若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

2.延时子程序的延时计算问题对延时子程序DELAY: MOV R0,#00HDELAY1: MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ指令均需要两个机器周期,而一个机器周期时间长度为12/12MHZ(假设晶振频率是12MHZ),所以该段程序执行时间为:((0B3+1)*256+1)*2*12/12000000=100ms五.实验程序流程图实验要求1的程序框图:实验要求2的程序框图:图1.2 图1.3六、调试方法第一步:打开位于d:\单片机实验\实验一\1_1.uv2,进行实验1_1打开位于d:\单片机实验\实验一\1_2.uv2,进行实验1_2第二步:在资源管理器中如打开.src文件,在程序窗口中输入已编好的程序,保存。

单片机原理及应用实验报告2

单片机原理及应用实验报告2

单片机原理及应用实验报告2单片机原理及应用实验报告2实验报告:单片机原理及应用实验一、实验目的1、了解单片机的基本工作原理;2、掌握单片机的编程方法和编写汇编语言程序的能力;3、学习单片机的应用实验。

二、实验原理单片机是一种集成电路,内部包含了中央处理器、存储器和各种输入输出端口。

单片机的工作原理是通过对输入信号的处理和对输出信号的控制来实现各种功能。

单片机的编程方法一般采用汇编语言编写程序。

汇编语言是一种低级语言,可以直接对单片机进行操作。

通过编写汇编语言程序,可以实现各种功能,如控制LED灯的亮灭、控制电机的转动等。

本次实验主要通过控制LED灯的亮灭来演示单片机的应用。

在实验中,我们将使用汇编语言编写程序,通过编程来控制LED灯的亮灭。

三、实验步骤2、编写汇编语言程序:打开编程软件,进入编程界面,编写程序代码;3、编译程序:将编写好的程序进行编译,生成机器码;4、烧录程序:用编程工具将编译好的机器码烧录到单片机中;5、连接电路:使用面包板将单片机与LED灯连接起来;6、测试程序:将单片机的电源接通,观察LED灯的亮灭情况。

四、实验结果与分析经过以上步骤,我们成功地编写了汇编语言程序,并将程序烧录到了单片机中。

在实验中,我们观察到LED灯根据程序的控制产生了相应的亮灭效果。

实验结果表明,通过编程可以实现对单片机的控制,从而实现各种功能。

单片机在嵌入式系统、自动控制系统、家电等方面有着广泛的应用。

五、应用实例1、家居智能化控制:通过编程控制单片机,可以实现对家电的智能化控制。

例如,可以根据日出日落时间控制窗帘的开闭,根据室内温度控制空调的开关等。

2、工业自动化:在工业生产中,单片机可以用来控制各种设备和机械,实现生产线的自动化控制。

例如,可以根据产品的规格和数量,自动调整机械的工作速度和工作时间。

3、智能交通系统:在交通领域,单片机可以用来控制信号灯、道闸等设备,实现交通流量的控制。

例如,可以根据道路的拥堵程度和车辆的行驶速度,调整信号灯的红绿灯时间,从而达到交通畅通的目的。

《单片机与嵌入式控制技术》实验书

《单片机与嵌入式控制技术》实验书

《单片机与嵌入式控制技术》实验书机电工程学院目录安全注意事项 (1)实验一keil软件平台实验 (2)实验二按键控制实验 (10)实验三查表实验 (12)实验四中断实验 (14)附录......................................................................................................... 错误!未定义书签。

安全注意事项1、不要在实验室吃东西。

2、不要穿拖鞋进入实验室,下雨天雨伞不要带入实验室。

3、使用实验箱时轻拿轻放,插拔排线时,对准,不要把排针插歪或者弄折,同时注意别被排针扎手。

4、接线时,必须把实验箱电源关闭。

5、下课后整理实验箱,设备,导线,椅子归原位,电脑正常关机,产生的垃圾带走。

实验一keil软件平台实验一、实验目的认识单片机MCS-51最小系统的构成和相关的开发软件。

任何一个用户系统的开发都需要一个界面良好的调试平台,以方便地、快捷地完成系统的设计与调试。

单片机的开发也是如此。

Keil是目前最流行,使用最广泛的开发平台,也是我们学习单片机的良好工具。

因此,我们必须首先熟悉这个工具,掌握这个工具。

二、实验内容及原理(一)实验内容要求实现某一个I/O口控制八个LED发光二极管左移或者右移流水。

(二)实验原理实验是通过对一些简单程序的调试,帮助我们直观地了解与掌握Keil调试软件的基本功能,掌握如何利用Keil来调试应用系统的硬件与软件的基本方法。

1、硬件(1)实验箱开发板主控芯片采用单片机型号为STC89C52RC,总共四组八位并行I/O口,均可实现数据输入输出,一个全双工串口,可支持的振荡频率范围为2~48Mhz,具有三个16位可编程定时器/计数器,八个中断源,四级优先级,其引脚分布如图1-1所示。

此外实验箱开发板还配备了共阴极数码管显示模块、共阳极八字形流水灯模块、点阵模块、独立按键模块、矩阵按键模块、LCD1602液晶显示模块、蜂鸣器、实时时钟模块、直流电机模块、A/D转换模块等外围模块、超声波模块、温度传感器模块等,可供相关实验与单片机配合使用。

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

实验一数据存储器实验
一、实验目的
1.掌握片内数据存储器的地址分配。

2.掌握对片内数据存储器进行数据读写的方法。

3. 掌握用Proteus调试汇编源程序的方法。

二、实验预备知识
8051的片内数据存储器共有256个单元,按其功能划分为两个部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。

低128单元按其用途划分为工作寄存器区(单元地址00H~1FH)、位寻址区(单元地址20H~2FH)、用户RAM区(单元地址30H~7FH)三个区域。

如图2-1所示。

高128单元是分配给特殊功能寄存器使用的,其中部分单元(单元地址能被8整除的)可以进行位寻址。

三、实验内容
通过执行程序中的相关指令,将有关数据写入工作寄存器区、位寻址区、数据缓冲区和特殊功能寄存器区各存储单元,观察当前在用工作寄存器组的选择与数据传送目标的对应关系、字节地址与位地址的区别、特殊功能寄存器的字节地址、程序计数器PC在执行指令中的作用。

四、实验步骤
1. 新建设计文件。

单击“文件”→“新建设计”,在弹出的“Create New Deign”对话框中选择“DEFAULT”模板后单击“OK”。

2. 设置图纸尺寸。

单击“系统”→“设置图纸尺寸”,在弹出的“Sheet Size Configuration”对话框中选择“A4”图纸尺寸或自定义尺寸后单击“OK”。

3. 设置网格。

单击“查看”→“网格”,网格显示(再次单击,网格不显示)。

单击“查看”→“Snap xxth”(或Snap x.xin),可改变网格单位,默认为“Snap 0.1in”。

4. 保存设计文件。

单击“文件”→“保存设计”,在弹出的“Save ISIS Design File”对话框中指定文件夹(如D盘电信061××文件夹)、输入文件名“reg”并选择保存类型为“Design Files”后单击“保存”。

5. 选取元器件。

从Proteus元器件库中选取元器件AT89C51(单片机)。

单击模式选择工具栏“元件”按钮,单击器件选择按钮“P”,在弹出的“Pick Devices”(选取元器件)对话框的“Keywords”(关键字)栏中输入元器件名称“AT89C51”(也可以是分类、小类、属性值),与关键字匹配的元器件“AT89C51”显示在元器件列表(Results)中。

双击选中的元器件“AT89C51”,便将所选元器件“AT89C51”加入到对象选择器窗口。

单击“OK”完成元器件选取。

参见图1-2选取元器件对话框。

6. 放置元器件。

单击对象选择器窗口的元器件“AT89C51”,元器件名“AT89C51”变为蓝底白字,预览窗口显示“AT89C51”元器件;单击方向工具栏按钮可实现元器件的左旋、右旋、水平和垂直翻转,以调整元器件的摆放方向;将鼠标指针移到编辑区某一位置,单击一次就可放置元器件“AT89C51”。

按图2-3所示放置元器件。

7. 编辑元器件。

单击模式选择工具栏“编辑”按钮,进入编辑状态。

右击(或单击)元器件,该元器件变为红色表明被选中,鼠标指针放到被选中的元器件上,按住左键拖动,将鼠标移到编辑区某一位置松开,即完成元器件的移动。

鼠标指针放到被选中的元器件
上右击,单击弹出的快捷菜单中的方向工具栏按钮可实现元器件的旋转和翻转。

右击被选中的元器件,可删除该元器件。

被选中的元器件外单击,可撤销选中。

8. 放置终端。

单击模式选择工具栏“终端”按钮,单击对象选择器窗口的电源终端“POWER”,该终端名背景变为蓝色,预览窗口显示该终端;单击方向工具栏“左旋转”按钮,电源终端逆时针旋转90°;将鼠标指针移到编辑区某一位置,单击一次就可放置一个终端。

9. 连线。

单击命令工具栏“实时Snap(捕捉)”按钮,实时捕捉有效(再次单击,实时捕捉无效),当鼠标指针接近引脚末端时,该处会自动出现一个小方框“□”,表明可以自动连接到该点。

按图2-3所示单击要连线的元器件起点和终点,完成连线。

10. 添加源程序。

单击“源文件”→“增加/移除源文件”,在弹出的“Add/Remove Source Code Files”对话框中单击“Code Generation Tool”栏下拉列表框按钮,选择“ASEM51”(51汇编器);单击新建源文件按钮“NEW”,在弹出的“New Source File”对话框中指定文件存放的文件夹,输入文件名“reg.asm”,单击“打开”,在单击打开的对话框中的按钮“是”;确认“Source Code Filename”栏下拉列表框中显示文件名为“reg.asm”,单击“OK”。

第一次使用该软件时,要按1.2.2节介绍的方法设置代码产生工具。

11. 编辑源程序。

单击“源文件”→“reg.asm”,在“Source Editor”源文件编辑器中输入并编辑源程序,确认无误后,单击保存按钮。

12. 编译源程序。

单击“源文件”→“构建所有”,弹出源程序编译窗口如图2-2所示。

若编译不出错,则自动生成目标代码文件(格式为HEX);若编译出错,根据提示修改源程序并保存,直至编译成功。

参见1.2.2节介绍的编译出错的解决办法。

图2-2 源程序编译窗口
13. 加载目标代码文件。

先右击后单击单片机“AT89C51”,在弹出的“Edit Component”对话框中单击“Program File”栏的打开按钮,在弹出的“Select File Name”对话框找到刚才编译生成的HEX文件,单击“打开“按钮,完成HEX文件加载;同时将“Clock Frequency”栏中的频率设为12MHz,单击“OK”,完成加载目标代码文件。

14. 仿真。

单击仿真工具栏“单步运行”按钮,进入单步运行状态。

单击“调试”→“8051 CPU Registers”,单击“调试”→“8051 CPU SFR Memory”,单击“调试”→“8051 CPU Internal (IDATA) Memory”,单击“调试”→“8051 CPU Source Code”,分别打开工作寄存器窗口、特殊功能寄存器窗口、片内数据存储器窗口和源代码调试窗口。

单击源代码调试窗口“单步执行”按钮一次,可执行一条指令;通过各调试窗口观察每条指令执行后数据处理的结果,以加深对硬件结构和指令的理解。

程序调试窗口如图2-3所示。

图2-3 程序调试窗口
五、实验结果分析与总结
提示:8051内部数据寄存器的值和CPU中各寄存器的值以及PC值的变化。

参考程序:工作寄存器区的数据传送
实验二数据传送指令实验
一、实验目的
1.掌握内部RAM和外部RAM数据传送指令的用法。

2.掌握数据交换和堆栈指令的特点。

3. 掌握用Proteus调试汇编源程序的方法。

二、实验内容
将数据传送类指令分成四类,分别编写四个小程序,以完成数据在不同区域内的传送、交换。

1.参考程序1----内部RAM数据传送
(1)将立即数#12H、#34H、#56H分别传送至内部RAM区40H、R2、A中。

(2)将内部RAM区40H、R2、A中的内容分别传送至R0、内部RAM区50H和12H中。

2. 参考程序2----外部RAM数据传送
(1)将立即数#2000H、#30H、#55H分别传送至DPTR、R1、A中。

(2)将A中的内容分别传送至外部RAM区2000H、30H中。

3. 参考程序3----数据交换
(1)将立即数#65H、#60H、#24H分别传送至内部RAM区60H、R0、A中。

(2)将A中高低半字节交换。

(3)将A中的内容与内部RAM区60H中的内容交换。

(4)将A中的内容与R0中的内容交换。

4. 参考程序4----堆栈操作
(1)将栈底指针调至30H,并将立即数#20H、#40H分别传送至内部RAM区70H、A中。

(2)将内部RAM区70H、A中的内容分别压入堆栈区中。

(3)将堆栈区中的内容分别弹出至A、内部RAM区50H中。

三、实验参考程序
参考程序1:内部RAM数据传送
参考程序2:外部RAM数据传送
参考程序3:数据交换
参考程序4:堆栈操作
四、实验步骤
五、实验分析与总结
六、实验思考
1. MOV、MOVX和MOVC三类指令有什么区别?
2.编写一个将内部RAM区40H中的内容传送至外部RAM区3000H中的程序。

相关文档
最新文档