河北工业大学单片机实验报告
河北工业大学 单片机实验 第四次试验 实验八 查表程序设计
实验八查表程序设计一、实验目的1.进一步熟悉MCS-51指令系统和汇编语言程序设计。
2.学会用MOVC指令编写查表程序。
二、实验内容1.设计并调试一个查平方表的程序,其功能为应用查表指令MOVC A,@A+PC,求累加器A中数的平方值,结果平方值送A。
要求待查的(A)≤15。
2.设计并调试一个根据电压值查与其对应的温度值的查表程序,其功能为应用查表指令MOVC A,@A+DPTR,求(A)中电压值对应的温度值,将温度值送R2R3(温度值为二字节的压缩BCD码),电压值的范围为(A)≤0FFH。
实验程序参考框图如3-8所示。
三、实验步骤1.键入程序和预定表后;2.通过修改自变量参数启动并调试程序,直至正确为止。
3.边调试边体会用PC或DPTR作指针查表的区别。
四、实验报告要求根据实验内容和程序参考流程,编出所需查表程序,列出实验程序清单。
五、思考题1.当表的长度〉255个字节时应选哪一条指令查表?答:当表的长度〉255个字节时应选“MOVC A,@A+DPTR”指令查表,并且需要对DPH、DPL进行运算处理,求出表目地址,再用“MOVC A,@A+DPTR”指令查表。
2.用PC指针查表编程时应注意什么?答:应先用传送指令把所查数据的项数送入累加器A,并用“ADD A,#data”对A进行修正data值等于查表指令和数据表格之间的字节数,然后用“MOVC A,@A+PC”查表,同时用PC指针查表的表的范围不能大于255个字节。
六、参考程序清单1.求平方值查表程序:ORG 0000HADD A,#02HMOVC A,@A+PCSJMP $DB 0,1,4,9,16,25 36,49DB 64,81,100,121,144,169,196,225END本程序实现通过查表得A累加器中数的平方值并将结果送A,根据A中数值采用基址加变址方法找到所查数的地址得所对应的平方数。
例:当(A)=5时,执行过程如下:D:0XE0(A)PC指针 ORG 0000H 05HC:0X0000 ADD A,#02H 07HC:0X0002 MOVC A,@A+PC 19H ;A+PC=A(10),查表的19H(25) C:0X0003 SJMP $C:0X0005 DB 0,1,4,9,16,25 36,49DB 64,81,100,121,144,169,196,225END2.测量温度查表程序:双字节查表程序刘程序如图3-8所示:双字节查表参考程序清单:ORG 0000HMOV DPTR,#TABMOV R0,AADD A,R0MOV F0,CADD A,DPLMOV DPL,ACLR AADDC A,DPHMOV C,F0ADDC A,#0MOV DPH,ACLR AMOVC A,@A+DPTR ;查第一个字节MOV R2,ACLR AINC DPTRMOVC A,@A+DPTR ;查第二个字节MOV R3,ASJMP $TAB:DW 0100H,0110H,0120H,0130H,0140H,0150H,0160H ;温度表END本程序实现根据A中电压查表中与之对应的温度值,表中温度均为2字节故(A)*2+DPTR(表首地址)即可查的对应温度值。
单片机实训实验报告总结
一、实验背景与目的随着科技的不断发展,单片机作为一种微小的计算机系统,在工业控制、智能家居、汽车电子等领域得到了广泛的应用。
为了提高学生的实践能力和创新意识,本实训课程旨在通过实际操作,让学生掌握单片机的原理、编程和调试方法,培养学生的动手能力和团队协作精神。
本次实训以51单片机为核心,结合数码管、LED灯、按键等外围电路,设计了多个实验项目,包括LED流水灯、交通灯控制系统、简易计算器、温湿度监控系统等。
通过这些实验,使学生深入了解单片机的硬件结构和软件编程,提高学生的实际操作能力和问题解决能力。
二、实验内容与过程1. 实验一:LED流水灯(1)实验目的:掌握51单片机的I/O口编程,实现LED灯的流水效果。
(2)实验步骤:① 硬件连接:将LED灯连接到P1口;② 编写程序:使用循环语句和延时函数控制LED灯的流水效果;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察LED灯的流水效果。
2. 实验二:交通灯控制系统(1)实验目的:学习单片机在交通灯控制系统中的应用,实现红黄绿灯的变换及倒计时功能。
(2)实验步骤:① 硬件连接:将LED灯连接到P1口,按键连接到外部中断INT0;② 编写程序:设置定时器中断,实现倒计时功能;编写外部中断程序,实现红黄绿灯的变换;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察交通灯的工作状态和倒计时效果。
3. 实验三:简易计算器(1)实验目的:掌握矩阵键盘扫描原理、LCD1602显示屏控制,实现基本的四则运算。
(2)实验步骤:① 硬件连接:将矩阵键盘和LCD1602显示屏连接到单片机;② 编写程序:实现矩阵键盘扫描、LCD1602显示控制和运算逻辑处理;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察计算器的工作状态和运算结果。
4. 实验四:温湿度监控系统(1)实验目的:学习单片机在温湿度监控系统中的应用,实现温度和湿度的实时显示。
(2)实验步骤:① 硬件连接:将温度传感器和湿度传感器连接到单片机,将LED灯连接到P1口;② 编写程序:实现温度和湿度的实时采集,并根据采集到的数据控制LED灯的亮灭;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察LED灯的亮灭状态和数码管上的温度、湿度值。
单片机实验报告
单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。
这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。
2、数码管显示利用单片机驱动数码管,实现数字的显示。
需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。
3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。
例如,通过按键切换不同的显示模式或控制其他外部设备。
4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。
例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。
5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。
四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。
2、编程语言本次实验采用 C 语言进行编程。
C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。
3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。
通过对这些引脚的合理配置和控制,可以实现各种功能。
4、数码管驱动原理数码管分为共阴极和共阳极两种类型。
通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。
5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。
单片机实验报告(相当不错,有具体实验结果分析哦)
学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:实验一 I/O 口输入、输出实验地点:基础实验大楼A311一、实验目的掌握单片机P1口、P3口的使用方法。
二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。
以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。
三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区)。
2学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:五、实验步骤1)系统各跳线器处在初始设置状态。
用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。
2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。
编译无误后,下载程序运行。
3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。
六、实验参考程序本实验参考程序:;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);;用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。
单片机实验报告
单片机实验报告1. 实验背景单片机(Microcontroller Unit,简称MCU)是一种集成了微处理器核心、内存、计时器、I/O接口等功能的集成电路芯片。
它具有体积小巧、功耗低、性能高等优点,在嵌入式系统中应用广泛。
本实验旨在通过对单片机的实际操作,加深对单片机原理及应用的理解。
2. 实验目的本次实验的主要目的是:- 掌握单片机的基础知识,包括单片机的结构、工作原理等;- 学习单片机的编程方法,初步掌握单片机的编程技巧;- 进行简单的单片机应用实验,提高对实际应用的理解。
3. 实验设备与材料实验所需的设备和材料包括:- 单片机开发板;- 计算机;- 连接线等。
4. 实验过程与结果在本实验中,我们使用XXX型单片机开发板作为实验平台,通过连接计算机进行编程。
具体的实验过程如下:4.1 硬件连接将单片机开发板与计算机通过连接线连接,并确保连接正常。
接下来,将我们设计好的电路按照要求连接到开发板的相应引脚上。
4.2 编程使用XXX软件对单片机进行编程。
根据实验要求,编写相应的程序代码,并将代码下载到单片机开发板中。
验证代码是否编译通过,并将运行结果显示在数码管、液晶显示屏等外设上。
4.3 实验结果实验结果根据不同的实验要求而定,可以是对某个外设的控制、信号的采集、数据的处理等。
在实验过程中需记录实验结果,并进行分析。
5. 实验总结通过本次实验,我对单片机的基本原理及应用有了更深入的了解。
掌握了单片机的硬件连接方法和编程技巧,并成功完成了实验要求。
实验结果表明,单片机在各个领域都有广泛的应用前景,对于嵌入式系统的开发起着重要作用。
当然,本次实验只是单片机应用的初步探索,还有很多更深入的研究和应用值得去探索。
在今后的学习与实践中,我将进一步深化对单片机的理解,并将其灵活应用于各种项目中。
6. 参考文献[参考文献1][参考文献2][参考文献3](文章内容仅供参考,具体实验过程和结果以实际情况为准。
)。
单片机实验报告
一、实验目的1. 熟悉单片机的硬件组成和基本工作原理。
2. 掌握单片机最小系统的搭建方法。
3. 学习使用单片机编程软件进行程序编写和调试。
4. 通过实际操作,加深对单片机应用的理解。
二、实验环境1. 实验设备:MCS-51单片机实验板、电源模块、面包板、连接线、LED灯、蜂鸣器、按键等。
2. 软件环境:Keil uVision5、Proteus仿真软件。
三、实验内容1. 点亮LED灯(1)实验目的:掌握单片机I/O口的使用,实现LED灯的点亮。
(2)实验步骤:① 将LED灯的阳极连接到单片机的P1.0口,阴极连接到GND。
② 在Keil uVision5中新建工程,编写程序如下:```cvoid main() {while (1) {P1 = 0xFF; // 点亮LED灯delay(500000); // 延时P1 = 0x00; // 熄灭LED灯delay(500000); // 延时}}③ 将程序编译并下载到单片机中,观察LED灯的点亮效果。
2. 蜂鸣器控制(1)实验目的:掌握单片机I/O口的使用,实现蜂鸣器的控制。
(2)实验步骤:① 将蜂鸣器的正极连接到单片机的P1.1口,负极连接到GND。
② 在Keil uVision5中编写程序如下:```cvoid main() {while (1) {P1 = 0x02; // 使能蜂鸣器delay(100000); // 延时P1 = 0x00; // 禁止蜂鸣器delay(100000); // 延时}}```③ 将程序编译并下载到单片机中,观察蜂鸣器的鸣叫效果。
3. 按键扫描(1)实验目的:掌握单片机I/O口的使用,实现按键的扫描和识别。
(2)实验步骤:① 将两个按键分别连接到单片机的P1.2和P1.3口。
② 在Keil uVision5中编写程序如下:void main() {while (1) {if (P1 & 0x04) { // 检测按键1是否按下// 执行按键1按下后的操作}if (P1 & 0x08) { // 检测按键2是否按下// 执行按键2按下后的操作}}}```③ 将程序编译并下载到单片机中,观察按键的扫描和识别效果。
利用单片机取得随机数
河北工业大学计算机硬件技术基础(MCS-51单片机原理及应用)课程设计报告学院土木班级交通工程C021班设计人田立全学号 026885一、设计题目:利用单片机取得随机数二、问题的提出:利用单片机的中断和定时器/计数器相结合产生一个6位的二进制随机数(即产生一个0-63之间的一个随机数)。
每当按下按钮之后,在LED显示器上显示这个二进制的随机数。
三、总体设计:1.所设计题目的功能:可以利用定时器/计数器进行自动重装载的计数,当触发中断的时候读出定时器/计数器的计数值作为产生的随机数。
整个程序分为两个部分,主程序部分负责定时器/计数器的初始化、中断系统初始化和LED显示三部分功能。
外部中断处理部分的程序负责取定时器/计数器中的随机数,然后取该数的低六位,然后将这个数转化为六个字节的二进制数(例如:将25h转变为:01h,00h,01h,00h,00h,01h)。
然后利用LED显示器显示这6个字节的数据。
2.总体方案设计:(1)断源的选择因为定时器/计数器只是在外部中断被触发的时候负责提供数据,所以虽然我们用到了定时器/计数器,但是它并不是一个中断源,即本系统的中断源只有一个外部中断。
(2)二进制转换的实现进制转换可以利用除二取余法。
四、 硬件系统设计 硬件电路:五、软件系统设计 1. 程序清单ORG 0000HAJMP MAIN;INT0 ENTERENCEORG 0003H AJMP INTER0ORG 0200HMAIN: MOV SP, #6FH;SET TIMMERMOV TMOD, #20HMOV TH1, #00HMOV TL1, #00HSETB TR1;ENABLE INTERRUPTSETB EX0SETB PX0SETB IT0SETB EAAJMP DSPLY;DISPLAY AND W AIT FOR INTERRUPTORG 0300HDSPL Y: MOV A, #03HMOV DPTR, #0FF20HMOVX @DPTR, ADSPL Y1: MOV R3, #01HMOV R0, #30H ;RESULT ENTRANCEMOV A, R3LD0: MOV DPTR, #0FF21HMOVX @DPTR, AMOV A, @R0MOV DPTR, #DTABMOVC A, @A+DPTRMOV DPTR, #0FF22HMOVX @DPTR, AACALL DELAYINC R0MOV A, R3JB ACC.5, LD1RL AMOV R3, AAJMP LD0LD1: SJMP DSPLY;DELAY FOR 1MSDELAY: MOV R7,#02HDL1: MOV R6,#0FFHDL2: DJNZ R6, DL2DJNZ R7, DL1RETORG 0400HINTER0: MOV A, TL1 ;READ COUNTERANL A, #00111111B;REQUIRE LAST 6 BITS AND 00111111BMOV R1, #30H;RESULT MEM ADDRESS STARTMOV R0, #06H ;LOOP FOR 6 TIMES ;CLEAR MEMMOV 0030H,#00HMOV 0031H,#00HMOV 0032H,#00HMOV 0033H,#00HMOV 0034H,#00HMOV 0035H,#00H;DIV LOOPLOOPED1: MOV B, #02HDIV ABMOV @R1, BINC R1DJNZ R0, LOOPED1RETIDTAB: DB 0C0H, 0F9HEND2.流程图。
单片机课程设计实验报告
单片机课程设计实验报告单片机课程设计实验报告引言单片机是嵌入式系统中常见的一种计算机芯片,具有体积小、功耗低、成本低等优势。
本次实验旨在通过单片机的应用设计,加深对单片机原理和应用的理解,并提升解决问题的能力。
实验目的本次实验的目的是设计一个简单的温度监测系统,通过单片机采集温度传感器的数据,并将数据显示在液晶显示屏上。
通过这个实验,我们可以掌握单片机的基本编程和电路连接方法,同时加深对温度传感器的原理和应用的理解。
实验原理1. 单片机基本原理单片机是一种集成电路,内部包含了CPU、内存、输入输出端口等功能模块。
通过编程,可以控制这些功能模块的工作,实现各种应用。
2. 温度传感器原理温度传感器是一种能够感知环境温度变化的器件,常见的有热敏电阻、热电偶等。
本次实验使用的是热敏电阻,其电阻值随温度的变化而变化。
实验材料1. 单片机开发板2. 温度传感器3. 液晶显示屏4. 连接线等实验步骤1. 连接电路将单片机开发板与温度传感器、液晶显示屏连接起来,确保电路连接正确无误。
2. 编写程序使用C语言编写单片机的程序,实现温度传感器数据的采集和液晶显示屏的显示。
程序的基本思路是通过单片机的模拟输入端口读取温度传感器的电阻值,然后将电阻值转换为温度值,并将温度值显示在液晶显示屏上。
3. 烧录程序将编写好的程序烧录到单片机开发板上,确保程序能够正常运行。
4. 实验测试将温度传感器放置在不同的环境中,观察液晶显示屏上的温度数值是否能够准确显示,并记录实验结果。
实验结果与分析经过实验测试,我们发现温度传感器能够准确地采集环境温度,并将温度数值显示在液晶显示屏上。
通过对比实际温度和显示温度的差异,我们可以评估温度传感器的准确性和精度。
实验总结通过本次实验,我们深入了解了单片机的基本原理和应用,掌握了单片机的编程方法和电路连接方法。
同时,我们也加深了对温度传感器的原理和应用的理解。
这些知识和技能对于今后的学习和工作都具有重要意义。
单片机电子实习实验报告
一、实验目的1. 掌握单片机的基本工作原理和编程方法。
2. 熟悉常用单片机的硬件结构和接口。
3. 学习使用单片机进行简单的电子系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验仪器与设备1. 单片机实验板(含8051单片机、电源、按键、LED灯等)2. 示波器3. 万用表4. 电阻、电容、二极管等电子元件5. 编译器及调试软件三、实验内容1. 单片机最小系统搭建- 目的:学习单片机最小系统的构成和作用。
- 实验步骤:1. 将单片机插入实验板。
2. 连接电源、按键、LED灯等元件。
3. 使用示波器检测单片机的时钟信号。
- 实验结果:成功搭建单片机最小系统,时钟信号正常。
2. 按键控制LED灯- 目的:学习按键的读取和LED灯的控制。
- 实验步骤:1. 编写程序实现按键的读取。
2. 根据按键读取结果控制LED灯的亮灭。
- 实验结果:按键按下时LED灯亮,松开时LED灯灭。
3. 定时器中断控制LED闪烁- 目的:学习定时器中断的应用。
- 实验步骤:1. 编写程序设置定时器中断。
2. 在中断服务程序中控制LED灯闪烁。
- 实验结果:LED灯按照设定的频率闪烁。
4. 串口通信实验- 目的:学习串口通信的原理和应用。
- 实验步骤:1. 编写程序实现串口发送和接收。
2. 使用串口调试助手进行数据传输。
- 实验结果:成功实现串口通信,发送和接收数据。
5. 温度检测实验- 目的:学习使用温度传感器进行温度检测。
- 实验步骤:1. 连接温度传感器。
2. 编写程序读取温度传感器数据。
3. 将温度数据显示在LCD显示屏上。
- 实验结果:成功读取温度数据,并在LCD显示屏上显示。
四、实验总结通过本次单片机电子实习实验,我掌握了以下知识和技能:1. 单片机的基本工作原理和编程方法。
2. 常用单片机的硬件结构和接口。
3. 使用单片机进行简单的电子系统设计。
4. 串口通信、定时器中断、温度检测等应用。
在实验过程中,我遇到了一些问题,如程序调试、硬件连接等,通过查阅资料和请教老师,最终成功解决了这些问题。
2023最新-最新单片机实习报告范文【通用4篇】
最新单片机实习报告范文【通用4篇】单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
它山之石可以攻玉,下面壶知道为您精心整理了4篇《最新单片机实习报告范文》,亲的肯定与分享是对我们最大的鼓励。
单片机实训报告篇一实训报告班级:学号:姓名:一、实训目的成本会计是一门实践性很强的学科,不通过实际训练、操作,很难提高实际分析与解决问题的能力。
因此,我们不仅需要掌握成本会计核算的理论与方法,更需要在实践中学会针对特定的企业环境进行准确的成本核算与客观理性的成本分析,为企业管理者提供更加有效的成本信息。
为了让我们能够更好的了解会计在实际工作中的工作内容,以便于实际与理论相结合,也更能够适应社会的要求,了解成本核算在实际工作的重要性,学校开展了为期两周的成本会计实训课程。
学校希望通过这次成本会计实训课程的训练,我们都能够对会计有一个更新更深层次的认识,以便于我们能懂得会计作账的基本流程,从而在今后的工作中具有较强的实际动手操作能力。
这次成本会计实训采用了两个实际案例模拟企业的经营环境,分别涉及了分批和分类两种法,我们需要将分批法、分类法所用的各种费用分配表和明细账结合起来,这不仅能够使我们掌握成本核算基本方法的特点,还进一步理解了产品成本计算的基本原理。
同时还能使我们熟练掌握分批法和分类法核算的会计处理,提高并加快了我们的动手能力,做到理论联系实际,增强感性认识,全面地理解制造企业中成本核算的整个流程。
在实训的过程中还培养了我们认真细致、严谨客观的工作作风和理论联系实践的学习态度。
二、实训过程1、熟悉资料,设置各种帐簿,登记起初余额。
由于我们这次实训课程不用编制总账和财务报表,因此任务量在一定程度上有所减轻。
2、根据经济业务,填制记帐凭证。
并附上原始凭证。
要想登记记账凭证,首先需要做的就是编制会计分录,而在编制会计分录的过程中不得不重视以下几点:(1)各种成本费用的归集与分配。
河北工业大学 单片机 第三次实验内容
3.3汇编语言程序设计实验实验六 分支程序设计一、 实验目的1. 进一步熟悉MCS-51指令系统,了解汇编语言程序设计的基本结构。
2. 掌握分支结构程序设计的方法。
3. 学会用条件转移指令、CJNE 、JMP 及其配合使用来编写二分支、三分支和多分支程序。
二、 实验内容1. 二分支的条件转移程序设变量X 存放于R0,函数值Y 存放在R1,其中X 、Y 均为二进制数。
试按照下式的要求给Y 赋值:程序框图如图3-5所示:Y= 1 X>0 0 X=0 -1 X<0:三、实验步骤1.根据实验内容和参考程序流程图,编出相应的分支结构程序。
2.输入程序,汇编成功;3.用F4(执行到光标处)、F7(跟踪执行)、F8(单步执行)或断点运行等方式调试程序;4.观察程序的流程,记录运行结果。
四、思考题1.CJNE指令对CY 有影响吗?用CJNE 和JC/JNC指令配合应注意什么?在用JMP 指令前,若变址 255怎么办?答:1)CJNE指令对CY 有影响。
CJNE (目的字节),(源字节),rel 功能:目的字节与源字节比较,相等则继续执行,不相等则转移,同时,若目的字节>=源字节,(C)=0若目的字节<源字节,(C)=12)选取好正确的direct值以便确定Cy的值3)提前设好变址,使变址<2552.用什么指令可以实现多分支之间的隔离?答:控制、条件转移指令,包括JMP、CJNE、DJNZ、JC、JB等,可以转移到$或其他。
五、实验报告要求写出题目运行结果。
六、参考程序清单1、二分支的条件转移程序1)用二分支结构程序实现:ORG 0000HMOV A, R0JZ LOAD ;等于零转LOADJNB ACC.7,GO ;大于零转GOMOV A, #0FFHSJMP LOADGO: MOV A, #01HLOAD: MOV R1, ASJMP $END运行结果:(R1)=0X002)赋值(R0)=15H运行结果: (R1)=0X013)赋值(R0)=0F2H2)用三分支结构程序实现:ORG 0000HMOV A, R0JNZ COMP ;不等于零转COMPMOV R1,#00H ;等于零,则0 →(R1)SJMP MP3COMP: CJNE R0,#80H,MP1 ;(R0)中数与80H比较,不相等则转移到MP1 MOV R1,#0FFH ;若比较相等,则-1 →(R1)LJMP MP3MP1: JC MP2 ;两数不相等,(R0)> 0转MP2MOV R1,#0FFH ;(R0) < 0,-1 →(R1)LJMP MP3MP2: MOV R1,#01H ;(R0)>0,1 →(R1)MP3: SJMP $END运行结果:(R1)=0X00 2)赋值(R0)=15H3)赋值(R0)=0F2H实验七循环程序设计一、实验目的1.进一步熟悉MCS-51指令系统,了解汇编语言程序设计的基本结构。
单片机实训报告结果分析
一、引言单片机作为一种重要的嵌入式系统核心,广泛应用于工业控制、智能家居、通信设备等领域。
为了提高学生的实践能力和工程素养,我们开展了单片机实训课程。
通过本次实训,学生们不仅学习了单片机的基本原理,还掌握了单片机的编程和硬件调试方法。
以下是本次实训的结果分析。
二、实训目的与内容1. 实训目的(1)使学生掌握单片机的基本原理和组成结构。
(2)使学生熟悉单片机的编程方法和调试技巧。
(3)培养学生动手能力和团队协作精神。
(4)提高学生解决实际问题的能力。
2. 实训内容(1)单片机基本原理和组成结构。
(2)单片机的编程语言(如C语言、汇编语言)。
(3)单片机的硬件调试方法。
(4)单片机应用系统的设计与实现。
三、实训过程1. 实训准备(1)教师讲解单片机基本原理、编程方法和调试技巧。
(2)学生预习相关教材和资料。
(3)学生熟悉实验设备和工具。
2. 实训实施(1)学生分组进行实验,每组选择一个实训项目。
(2)学生按照实训指导书的要求,完成实验任务。
(3)教师巡回指导,解答学生提出的问题。
(4)学生进行实验报告的撰写。
四、实训结果分析1. 学生掌握单片机基本原理和组成结构通过实训,学生了解了单片机的起源、发展、分类和应用领域。
同时,学生掌握了单片机的组成结构,如中央处理器(CPU)、存储器、输入/输出接口等。
2. 学生熟悉单片机的编程方法和调试技巧在实训过程中,学生学习了单片机的编程语言(如C语言、汇编语言),掌握了程序设计的基本方法。
此外,学生还学习了单片机的调试技巧,能够熟练使用调试工具进行程序调试。
3. 培养学生的动手能力和团队协作精神在实训过程中,学生需要自己动手搭建电路、编写程序、调试设备,这有助于提高学生的动手能力。
同时,学生在分组进行实验时,需要相互协作、共同解决问题,培养了团队协作精神。
4. 提高学生解决实际问题的能力在实训过程中,学生需要根据项目需求,设计电路、编写程序、调试设备,解决实际问题。
单片机实训教程实验报告
一、实验目的1. 熟悉单片机的基本结构和工作原理。
2. 掌握单片机的编程方法,包括C语言和汇编语言。
3. 学习单片机的接口技术和应用系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验环境1. 单片机开发系统:STC89C52单片机开发板2. 编译器:Keil uVision3. 调试器:Proteus4. 实验指导书:《单片机实训教程》三、实验内容1. 单片机基本原理实验(1)实验目的:了解单片机的结构、工作原理和引脚功能。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与Proteus仿真软件;2)编写程序,设置单片机的工作模式;3)通过Proteus仿真软件观察单片机的运行状态。
(3)实验结果:通过仿真软件,观察到单片机能够按照程序的要求进行运行,实现了实验目的。
2. 单片机C语言编程实验(1)实验目的:掌握单片机的C语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写C语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
3. 单片机汇编语言编程实验(1)实验目的:掌握单片机的汇编语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写汇编语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
4. 单片机接口技术实验(1)实验目的:了解单片机的接口技术,掌握常用接口的编程方法。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与外部设备;2)编写程序,实现单片机与外部设备的通信;3)通过Proteus仿真软件观察通信过程。
(3)实验结果:通过仿真软件,观察到单片机与外部设备能够成功通信,实现了实验目的。
单片机实验报告
一、实验目的1、熟练单片机的结构组成及原理;2、软硬兼施,采用硬件电路的焊接搭建和软件的设计调试、下载,亲自动手,对硬件系统加深了解的同时,软件编程也能得心应手;3、了解如何从硬件和软件上分析问题,排除故障。
二、实验内容MCS-51/MCS-52单片机的跑马灯硬软件设计、键盘控制及键号显示电路的软硬件设计、直流电机转速电路的软硬件设计、转速计数控制电路的软硬件设计、步进电机转速的硬软件设计三、实验器材与工具实验器材:多功能电路板、AT89S52单片机、电解电容、瓷片电容、电阻、二极管、集成芯片、插槽、八段共阴数码管、发光二极管、三极管、12MHz晶振、小按钮开关、光电开关、直流电机、步进电机主要工具PC机、下载器、电烙铁、焊锡丝、导线、尖嘴钳、斜口钳、剥线钳、数字万用表、透明胶带等。
四、实验原理1-1 MCS-51/MCS-52单片机的跑马灯的硬软件设计1 MCS-51/MCS-52单片机跑马灯的硬件电路的设计。
如图1-1是一个利用51单片机设计的跑马灯电路,51单片机的第9引脚为复位电路,单片机上电之初,使用C-R充电过程使得第9脚保持10ms以上的高电位,使机器复位。
复位开关K可使之做到随机复位。
51单片机的第18,19引脚为外接晶振,接一个12M的晶振,同51单片机内部电路配合,上电后产生12兆的晶振频率和1兆的机器周期频率。
因为89S52机片内含8K程序存储器,机器运行程序将下载其中,故89S51的引脚EA接电源VCC。
51单片机第32—39引脚为P0口,分别对应P0.7—P0.0,P0口外接10KΩ的上拉排阻。
P0口的P0.0—P0.7与74HC573的D0—D7一一对应相连,74HC573的Q0—Q7为输出,分别经220Ω电阻后接于发光二极管(跑马灯)的D0—D7上。
74HC573为8位锁存器,其1脚为输出使能端OE,低电平有效。
本电路将其接地,所以74HC573的8位Q端为直通输出。
单片机 实验报告
单片机实验报告单片机实验报告引言单片机是一种集成电路芯片,具有微处理器、存储器、输入输出接口等功能,广泛应用于各个领域。
本实验报告将介绍我在单片机实验中的学习和实践经验,包括实验目的、实验步骤、实验结果以及实验心得。
实验目的本次实验的目的是通过使用单片机,学习和掌握单片机的基本原理、编程方法和应用技巧。
具体目标包括了解单片机的基本构成、学习单片机的编程语言、掌握单片机的输入输出操作等。
实验步骤1. 实验准备:在实验开始前,我们首先准备了所需的硬件和软件工具。
硬件方面,我们使用了一块开发板和一片单片机芯片。
软件方面,我们使用了一款单片机开发软件。
2. 硬件连接:将单片机芯片插入开发板的插槽中,并通过连接线将开发板与计算机相连。
3. 编写程序:使用单片机开发软件,编写程序代码。
在本次实验中,我们选择了一个简单的LED灯闪烁的程序作为示例。
4. 烧录程序:将编写好的程序通过编程器烧录到单片机芯片中。
5. 运行程序:将烧录好的芯片插入开发板后,通过电源供电,运行程序。
LED灯将按照程序中设定的频率进行闪烁。
实验结果经过以上实验步骤,我们成功地实现了LED灯的闪烁。
通过调整程序中的参数,我们还可以改变闪烁的频率和模式。
这次实验不仅让我们掌握了单片机的基本编程方法,还让我们对单片机的应用有了更深入的了解。
实验心得通过本次实验,我深刻认识到了单片机在现代电子技术中的重要性和广泛应用。
单片机不仅可以用于控制各种电子设备,还可以应用于嵌入式系统、自动化控制等领域。
掌握单片机的编程和应用技巧,对于我们今后的学习和工作都具有重要意义。
在实验过程中,我遇到了一些困难和问题,但通过查阅资料、与同学讨论等方式,我都得到了解决。
这让我意识到在学习和实践中,积极主动地寻求帮助和解决问题的能力是非常重要的。
此外,我还发现了单片机编程的乐趣。
通过编写程序,我可以控制各种设备的运行,实现自己的创意和想法。
这种创造性的过程给我带来了很大的满足感和成就感。
单片机电子实习实验报告
单片机电子实习实验报告一、实习目的和任务本次电子实习的主要目的是通过实际操作,深入理解单片机的工作原理和应用,提高动手能力,并培养团队协作和解决问题的能力。
实习任务是设计和制作一个基于单片机的简易温度监测系统。
二、实习内容和过程1. 理论学习和准备在实习开始前,我们首先学习了单片机的基本原理和编程方法,了解了不同类型的单片机及其应用场景。
同时,我们还学习了温度传感器的工作原理和常见类型。
2. 设计和选型根据实习任务要求,我们设计了简易温度监测系统。
系统主要由单片机、温度传感器、显示模块和控制模块组成。
在选型阶段,我们充分考虑了各种模块的性能、价格和易用性,最终选定了AT89S51单片机、DS18B20温度传感器和LCD1602显示模块。
3. 电路设计和制作在电路设计阶段,我们根据所选模块的引脚和功能,设计了电路图,并进行了仿真测试。
在确认电路设计无误后,我们开始制作电路板。
在制作过程中,我们严格遵守安全操作规程,确保电路板的质量。
4. 编程和调试根据电路设计和功能需求,我们编写了单片机程序。
程序主要包括温度检测、数据处理、显示等功能。
编写完成后,我们进行了程序调试,通过不断优化和修正,确保程序稳定运行。
5. 系统集成和测试将电路板、温度传感器、显示模块等组装成系统后,我们进行了功能测试。
测试过程中,我们发现了部分功能不符合预期,经过分析和修正,最终实现了预期的功能。
三、实习成果和总结通过本次实习,我们成功设计和制作了一个基于单片机的简易温度监测系统。
系统能够实时检测环境温度,并将温度值显示在LCD1602液晶屏上。
此外,我们还通过实习,提高了动手能力、团队协作能力和问题解决能力。
回顾实习过程,我们认识到单片机应用系统的设计和制作并非易事,需要充分考虑各个环节。
在今后的学习和工作中,我们将不断积累经验,努力提高自己在电子工程领域的综合素质。
四、实习体会本次实习让我们深刻体会到理论与实践相结合的重要性。
单片机课程设计实验报告
单片机课程设计实验报告一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握其内部结构及工作流程。
2. 使学生掌握单片机编程的基本语法和编程技巧,能独立完成简单的程序编写。
3. 帮助学生了解单片机在现实生活中的应用,提高对新技术、新领域的认识。
技能目标:1. 培养学生运用单片机进行实验设计和实践操作的能力。
2. 培养学生分析问题、解决问题的能力,提高创新思维和动手实践能力。
3. 提高学生的团队协作和沟通能力,学会在实验过程中相互交流、共同进步。
情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养主动学习的习惯。
2. 培养学生严谨、细致的实验态度,养成良好的实验操作习惯。
3. 增强学生的自信心和责任感,使他们认识到学习单片机对国家科技发展的意义。
课程性质分析:本课程为单片机课程设计实验,侧重于实践操作和实际应用。
课程要求学生具备一定的电子技术基础和编程能力,通过实验深入了解单片机的工作原理和应用领域。
学生特点分析:本课程面向高年级学生,他们在之前的学习中已掌握了基本的电子技术和编程知识,具备一定的自学能力和动手实践能力。
但学生在单片机应用方面的实践经验不足,需要通过本课程加强实践锻炼。
教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力。
2. 注重启发式教学,引导学生主动思考、探索,培养学生的创新精神和实践能力。
3. 关注学生的个体差异,给予个别辅导,确保每位学生都能达到课程目标。
二、教学内容1. 单片机基础知识:- 单片机原理与结构- 单片机内部资源及功能- 单片机编程语言(汇编语言、C语言)2. 单片机编程与实验:- 基本输入输出编程- 定时器、中断编程- 模数转换、串行通信编程3. 单片机应用案例:- 实例分析:温度控制器、智能小车等- 创新设计:学生自主选题,设计单片机应用项目4. 实验操作与调试:- 实验步骤与方法- 常用工具与仪器的使用- 故障分析与调试技巧教学大纲安排:第一周:单片机基础知识学习,包括原理、结构、编程语言等第二周:基本输入输出编程,实验一:LED灯控制第三周:定时器、中断编程,实验二:简易电子时钟第四周:模数转换、串行通信编程,实验三:温度传感器数据采集第五周:单片机应用案例分析,学生自主选题,设计单片机应用项目第六周:实验操作与调试,完成设计项目,撰写实验报告教材章节关联:教学内容与教材《单片机原理与应用》相关章节紧密关联,具体包括:- 第一章:单片机概述- 第二章:单片机的结构与原理- 第三章:单片机编程语言- 第四章:单片机内部资源及应用- 第五章:单片机实验与调试教学内容确保科学性和系统性,以培养学生的实际操作能力为目标,注重理论与实践相结合,提高学生的创新能力和实践技能。
单片机综合设计实验报告
单片机综合设计实验报告《单片机综合设计实验报告》一、实验目的本实验旨在综合应用单片机的知识与技巧,设计并完成一个功能完备的电路系统,提升学生对单片机的综合应用能力。
二、实验原理与设计思路本次实验我们设计了一个温湿度测量系统。
系统分为两部分,温度测量子系统和湿度测量子系统。
温度测量子系统监测环境温度并通过串口将数据发送给上位机;湿度测量子系统监测环境湿度并通过数码管显示当前湿度值。
温度测量子系统的设计思路如下:1.通过传感器获取环境温度数据。
2.使用模拟转换模块将传感器数据转换为数字信号。
3.使用单片机读取模拟转换模块输出的数字信号,并进行相应的处理。
4.使用串口将处理后的温度数据发送给上位机。
湿度测量子系统的设计思路如下:1.通过传感器获取环境湿度数据。
2.使用模拟转换模块将传感器数据转换为数字信号。
3.使用单片机读取模拟转换模块输出的数字信号,并进行相应的处理。
4.使用数码管显示处理后的湿度数据。
三、实验过程与步骤1.按照原理图将电路连接好,并将相关模块与单片机连接。
2.编写单片机程序,包括温度测量子系统和湿度测量子系统的代码。
3.运行程序,监测温度和湿度数据是否准确。
4.将温度数据通过串口发送给上位机并通过终端查看数据是否正确。
5.将湿度数据通过数码管显示,查看数据是否正确。
四、实验结果与分析经过实验,我们成功地设计并实现了一个功能完备的温湿度测量系统。
在温度测量子系统中,通过串口我们能够准确地获取到环境温度数据,并通过上位机进行查看。
在湿度测量子系统中,数码管能够正确地显示当前的湿度数值。
五、实验心得体会通过本实验,我对单片机的应用有了更深入的理解。
在实验过程中,我学习到了如何将传感器的模拟信号转换为数字信号,并通过单片机进行处理和显示。
同时,我也进一步提高了自己的电路设计和编程能力。
通过实际操作与调试,我对于单片机的各个模块有了更深入的了解,也锻炼了自己的动手能力和问题解决能力。
通过本次实验,我不仅加深了对单片机应用的理解,也明白了综合设计实验的重要性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011、12、02单片机实验报告书(软件部分)姓名:学号:班级:指导老师:目录1 熟悉键盘操作及数传指令编程设计 (1)2 数传指令程序设计 (6)3算数运算指令编程设计 (10)4逻辑运算及位操作指令编程设计 (17)5代码转换 (23)6移位操作 (30)7分支 (31)8循环程序设计 (32)9查表程序设计 (49)10散转程序设计 (52)11子程序设计 (60)实验一熟悉键盘操作及数传指令编程设计一、实验内容印证数据传送指令的功能、寻址方式以及PC指针、SP指针、DPTR指针、Ri指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。
1.内部RAM数据传1)2) 直接寻址,需查看30H、31H、32H、40H、ACC、PSW等单元的内容。
步数30H 31H 32H 40H ACC PSW PC原值变值原值变值原值变值原值变值原值变值原值变值原值变值ORG 0100H 0000X00X0MOV 30H,#45H 0000X00X00 ·MOV 31H,#46H 045000X00X00000103MOV 02H,31H 4546000X00X00 `0106MOV 0E0H,30H 4546000X00X001060109MOV 32H,ACC 4546000X00X450X00X010109010CMOV ACC,PSW 454645000X450X01010C010FMOV 40H,ACC 454645 00X450X450X01010F0112SJMP $ 4546450X450X450X0101120115END3)寄存器间接寻址,需查看@R0、RO等的内容@RO RO PC原值变值原值变值原值变值ORG 0200H 00 0X00MOV 30H,#66H 00 66 0X00MOV R0,#30H 66 0X00 0200 0203 MOV @R0,#30H 66 30 0X00 0X30 0203 0205SJMP $30 0X30 0205 0207END 30 0X302.外部数据传送需要查看的数据有外部数据存储器单元2000H,外部程序存储器单元2001H。
步数外部数据存储器单元2000H外部程序存储器单元2001HPC原值变值原值变值原值变值ORG 0000H 44 00MOV A,#89H 44 00MOV DPTR,#2000H44 00 0002MOVX @DPTR,A44 00 0005INC DPTR 44 00 89 0006 CLR A 44 89 0007 MOVCA,@A+DPTR 44 89 0008 SJMP $44 89 0009ORG 2000HDB 44HDB 78HDB 67HEND3.堆栈操作需要查看的数据有50H、51H、A及SP指针和堆栈区中数据随PUSH和POP指令执行后的变化情况和数据的存放次序等。
1)可用于保护现场和恢复现场的程序50H 51H A SP PC原值变值原值变值原值变值原值变值原值变值ORG 0000H 00 00 0X00 0X07MOV SP,#5FH00 00 0X00 0X07 0X5fMOV 50H,#3BH00 3B 00 0X00 0X5f 0003 MOV 51H,#2FH3B 00 2F 0X00 0X5f 0006 MOV A,#12H 3B 2F 0X00 0X12 0X5f 0009 PUSH 50H3B 2F 0X12 0X5f 0X60 000B PUSH 51H3B 2F 0X12 0X60 0X61 000D PUSH ACC3B 2F 0X12 0X61 0X62 000F POP 0E0H 3B 2F 0X12 0X62 0X61 0011 POP 51H 3B 2F 0X12 0X61 0X60 0013 POP 50H 3B 2F 5 0X60 0X5f 0015 SJMP $ 0017 END第三步:81H 00变为5F第四步:50H 00变为3B第五步:51H 00变为2F第六步:E0H 00变为12第七步:81H 00变为60第八步:61H 00变为2F 81H 00变为61 第九步:62H 00变为12 81H 61变为62 第十步:81H 62变为61第11步: 81H 61变为60第12步: 81H 60变为5f2)可用于数据交换的程序原值变值原值变值原值变值原值变值原值变值ORG 0100H 00 00 0X00 0X07MOV SP,#6FH00 00 0X00 0X07MOV 50H,#3BH00 00 0X00 0X07 0X6f 0100 0103 MOV 51H,#2FH00 3B 00 0X00 0X6f 0103 0106PUSH 50H3B 00 2F 0X00 0X6f 0106 0109 PUSH 51H3B 2F 0X00 0X6f 0109 010B POP 50H3B 2F 0X00 0X6f 0X70 010B 010D POP 51H3B 2F 2F 0X00 0X70 0X71 010D 010F SJMP $2F 2F 3B 0X00 0X71 0X70 010F 0111 END 2F 3B 0X00 0X70 0X6f第三步: 81H 00变为6F第四步: 50H 00变为3B第五步: 51H 00变为2F第六步: 70H FF变为3B 81H变为70第七步: 71H 00变为2F 81H变为71第八步: 50H 3B变为2F 81H变为70第九步: 81H 70变为6F4.数据交换记录每条指令运行后的结果,从而加深对各种不同的交换指令的理解。
1)SWAP指令A 40H PC步数原值变值原值变值原值变值ORG 0000HMOV A,#58H0x00 0x58SWAP A0x58 0x85 0000 0002MOV 40H,A00 85 0002 0003SJMP $ 0003 005END2)XCHD 指令A R0 30H PC 41H步数原值变值原值变值原值变值原值变值原值变值ORG 0030HMOV A,#30H0x00 0x30MOV R0,#30H0x00 0x30 0000 0032MOV @R0,#09H 0X00 0X09 0032 0034 0 9 XCHD A,@R00x30 0x39 0X09 0X00 0034 0036MOV 41H,A 0036 0037 0X00 0X39 SJMP $ 0037 0039ENDXCH 指令50H A R7 R0 PC原值变值原值变值原值变值原值变值原值变值ORG 0100HMOV 50H,#1 00 01MOV A,#89H 00 89 0100 0103 XCH A,50H 01 89 89 01 0103 0105MOV R7,#3 00 03 0105 0107 XCH A,R7 01 03 0107 0109 XCH A,@R0 03 00 00 03 0109 010A SJMP $ 010A 0103END五、思考题1、寄存器寻址与寄存器间接寻址有什么区别?寄存器寻址是将指令指定的寄存器作为操作数地址,寄存器间接寻址是将指令指定的寄存器内容作为操作数地址。
2、PC指针与SP指针有什么区别?答:PC指针是16位的存储器,指向即将执行命令的栈顶。
SP指针是8位的存储器。
指栈顶。
3、DPTR指针与Ri(R0,R1)指针有什么区别?Ri(R0,R1)指针可寻址片内RAM低128B,用DPTR可寻址片外数据存储器的64KB4、立即寻址与直接寻址有什么区别?直接寻址指令中直接给出操作数所在的单元地址或位地址,立即寻址中操作数直接由指令给出。
5、同一个特殊功能寄存器不同表达形式。
如累加器A 可表示为 A ACC 或者OEOH6、三种不同的交换指令的区别是什么?XCH是字节间的整字节交换,XCHD是字节间的低字节交换指令,SWAP是累加器高低半字节交换。
实验二数传指令程序设计实验内容1、把内部RAM 40H~4FH置初值0A0H~0AFH;2、而后把40H~4FH内容传送到外部RAM 9800H~980FH中;3、再把 9800H~980FH内容传送到 50H~5FH中。
RO R2 A 4iH DPTR 980iH pc步数原值变化值原值变化值原值变化值原值变化值原值变化值原值变化值原值变化值ORG 0000HMAIN: MOV R0,#40H 04MOV R2,#10H 0100000002MOV A,#0A0H 0a00020004A1: MOV @R0, A 00(40)A00040006INC R0 44100060007INC A aa100070008DJNZ R2, A1 00080009 0a9A1: MOV @R0, A 00(46)A700090006INC R04400007 8 06 07INC A a7a800070008DJNZ R2, A1 00080009 021A1: MOV @R0, A 00(4E)AF00090006INC R0 4f500060007INC A afb00070008DJNZ R2, A1 0100080009MOV R0, #40H 540009000BMOV DPTR, #9800H 00OO98000B000DMOV R2, #10H 01000D0010A2: MOV A, @R0 ba00100012MOVX @DPTR, A 00(9800H)A00120013INC R0 44100130014INC DPTR 980098100140015DJNZ R2, A2 00150016 0a9A2: MOV A, @R0 a6a700160012MOVX @DPTR, A 00(9807H)A700120013INC R0 474800130014INC DPTR 980198800140015DJNZ R2, A2 00150016 021A2: MOV A, @R0 aeaf00160012MOVX @DPTR, A 00(980fH)AF00120013INC R0 4f500130014INC DPTR 980f98100140015DJNZ R2, A2 0100150016MOV R0, #50H 00160018MOV DPTR, #9800H MOVR2,#10H98198000018001A 01A3: MOVX A,@DPTR afa001D001FMOV @R0, A 001F0020INC DPTR 980098100200021INC R0 55100210022DJNZ R2, A3 0000 0baA3: MOVX A,@DPTR a5a60023001FMOV @R0, A 001F0020INC DPTR 980198700200021INC R0 565700210022DJNZ R2, A3 00220023 032A3: MOVX A,@DPTR ad0023001FMOV @R0, A ae001F0020INC DPTR 00200021INC R0 980e98f00210022DJNZ R2, A3 00220023 (5)e5fA3: MOVX A,@DPTR 0210023001FMOV @R0, A aeaf001F0020INC DPTR 980e98100200021INC R0 5f600210022DJNZ R2, A3 00220023SJMP $ 0000END五、思考题1)若两个数据块都在外部数据存储器中,如何实现数据块的传送?答:选择PC或DPTR指针,用MOVX通过A储存器进行交换。