嵌入式系统实验报告

合集下载

嵌入式系统实验报告

嵌入式系统实验报告

嵌入式系统实验报告在本学期的嵌入式系统课程中,我与我的实验伙伴进行了多次实验。

在这篇报告中,我将分享我们实验的过程和结果。

实验一:GPIO控制LED灯在这个实验中,我们使用了Raspberry Pi 3B+开发板和一根杜邦线。

我们在电路板上将一盏LED灯与GPIO引脚连接起来,并编写了一个程序来控制这个引脚的电平状态。

在这个实验中,我们学习了GPIO的基本概念以及如何使用Python编程语言编写GPIO控制程序。

我们成功地让LED灯在不同的时间间隔内闪烁,并且了解了如何使用GPIO.setup()和GPIO.output()函数来控制GPIO引脚的输入和输出。

实验二:串口通信在第二个实验中,我们使用了两个Raspberry Pi 3B+开发板和两根串口线。

我们连接了两个板子的GPIO引脚,使得它们可以通过串口进行通信。

我们使用Python编写了两个程序来进行通信。

一个程序将发送一条消息,另一个程序将接收这个消息并将其打印出来。

通过使用串口通信,我们学会了如何使用Python编写程序来完成数据交换,并掌握了串口通信的基本概念。

实验三:Pi camera模块在第三个实验中,我们使用了Pi camera模块和一个Raspberry Pi 3B+开发板。

我们将摄像头连接到开发板上,并编写了一个程序来捕捉摄像头图像。

我们学习了如何使用Python编程语言来控制Pi camera模块,包括如何设置摄像头参数并如何捕捉静态图像。

我们还尝试了使用OpenCV库来处理图像。

实验四:蓝牙控制在最后一个实验中,我们使用了一个蓝牙透传模块、Raspberry Pi 3B+开发板和一些电路元件。

我们将蓝牙透传模块连接到GPIO引脚,并编写了一个程序来通过蓝牙信号控制电机。

在这个实验中,我们学习了如何使用蓝牙模块进行无线控制。

我们通过使用Python编写控制程序,成功地将蓝牙信号转换成GPIO引脚的电平信号来控制电机。

总结在这个嵌入式系统的实验中,我们学习了许多关于嵌入式系统的知识和技能。

精选嵌入式系统实习报告3篇

精选嵌入式系统实习报告3篇

精选嵌入式系统实习报告3篇嵌入式系统实习报告篇1ARM嵌入式系统综合设计一.实习时间和地点安排1.实习时间:20xx年XX月03 日—— 20xx年XX月14日,共两周的时间。

2.每天的实习时间安排:上午:8:30——11:30下午:13:30——15:303.实习地点:校内。

二.实习目的1.掌握电子元器件的焊接原理和方法。

2.掌握ARM7 LPC2132控制程序的编写方法。

3.掌握调试软件和硬件的方法。

三.实习内容与要求1.根据设计要求焊接好电路板并测试焊接无误。

2.绘制流程图并编写程序。

3.编译通过后,将程序下载到LPC2132进行调试。

4.调试成功后编写实习报告。

四.LPC2132芯片介绍LPC2132最小系统图及其介绍概述LPC2132是基于一个支持实时仿真和嵌入式跟踪的32/16 位 ARM7TDMI-STM CPU 的微控制器,并带有 32kB、64kB、512 kB 的嵌入的高速Flash 存储器。

128 位宽度的存储器接口和独特的加速结构使 32 位代码能在最大时钟速率下运行。

对代码规模有严格控制的应用可使用 16 位 Thumb?模式将代码规模降低超过 30%,而性能的损失却很小。

较小的封装和极低的功耗使 LPC2131/2132/2138 可理想地用于小型系统中,如访问控制和 POS 机。

宽范围的串行通信接口和片内 8/16/32kB 的 SRAM 使LPC2131/2132/2138 非常适用于通信网关、协议转换器、软 modem 、声音辨别和低端成像,为它们提供巨大的缓冲区空间和强大的处理功能。

多个 32 位定时器、1 个或 2 个 10 位 8 路 ADC 、10 位 DAC 、PWM 通道和 47 个 GPIO 以及多达9 个边沿或电平触发的外部中断使它们特别适用于工业控制和医疗系统。

特性1.小型 LQFP64 封装的 16/32 位 ARM7TDMI-S 微控制器。

嵌入式实验四实验报告

嵌入式实验四实验报告

嵌入式实验四实验报告实验四:嵌入式编程设计
实验设计目的:
1. 学习使用嵌入式开发工具进行编程设计;
2. 学习使用C语言编写嵌入式程序;
3. 学习使用GPIO模块进行输入输出;
4. 学习使用中断处理函数。

实验器材:
1. 嵌入式开发板;
2. USB数据线;
3. 电脑;
4. LED灯;
5. 电阻;
6. 蜂鸣器;
7. 其他必要的电路元件。

实验步骤:
1. 连接开发板和计算机,安装开发板驱动程序;
2. 打开嵌入式开发工具,创建一个新的工程;
3. 在工程中添加一个C文件,编写程序;
4. 编写程序实现以下功能:
- 使用GPIO模块控制LED灯的亮、灭;
- 使用GPIO模块读取按键状态;
- 使用GPIO模块控制蜂鸣器的开、关;
- 使用Timer模块计时;
- 使用中断处理函数处理外部中断;
- 其他必要的功能;
5. 编译程序,下载到开发板;
6. 运行程序,测试功能是否正常。

实验结果与分析:
实验结果应当是LED灯、蜂鸣器、按键正常工作,可以通过按键控制LED灯的亮、灭、蜂鸣器的开、关。

实验总结:
通过本次实验,我学会了使用嵌入式开发工具进行编程设计,掌握了使用C语言编写
嵌入式程序的方法。

通过实验,我深入理解了嵌入式系统的原理和实现方法,对嵌入
式系统的应用有了更加深入的了解。

在今后的学习和工作中,我将能够更好地运用嵌
入式技术解决实际问题。

嵌入式系统试验报告

嵌入式系统试验报告

嵌入式系统实验报告学院:计算机科学与工程姓名:___________学号:_______________专业:_______________指导老师:______________完成日期:______________实验一:流水灯案例、8位数码管动态扫描案例一、实验目的1.1 进一步熟悉Keil C51集成开发环境调试功能的使用;1.2 学会自己编写程序,进行编译和仿真测试;1.3 利用开发板下载hex 文件后验证功能。

二、实验原理2.1 :实验原理图030B 〜I ।卜RSI I ™Hi 」 口 UICDR Hr hJJK RR 18q U I. 海水灯电浒周LhE U_EEM^Li > > 第 X > k >n - » =白 L a £0EBS2.2:工作原理2.2.1:流水灯电路中有LO,1,L2,L3,4,L5,L6,L7共八个发光二极管,当引脚LED_ SEL输入为1,对于A、B、C、D、E、F、G、H引脚,只要输入为1,则点亮相连接的发光二极管。

A〜H引脚连接STM32F108VB芯片的PE8〜PE15,程序初始化时,对其进行初始设置。

引脚LED_SEL为1时,发光二极管才工作,否则右边的数码管工作。

注意,LED SEL 连接于PB3,该引脚具有复用功能,在默认状态下,该引脚的I0不可用,需对AFIO_ MAPR寄存器进行设置,设置其为10可用。

2.2.2: 8位数码管数码管中的A~G、DP段分别连接到电路图中的A~G、H线上,当某段上有一-定的电压差值时,便会点亮该段。

当£3输入为1,也就是LED_ 5£1输入为0时,根据SELO〜SEL2的值确定选中的数码管,即位选,再根据A~H引脚的高低电平,点亮对应段,即段选。

三、实验结果3.1:流水灯对于给出的流水灯案例,下载HEX文件后,在开发板上可观察到L0-L7从左至右依次点亮,间隔300ms。

嵌入式系统 实验报告

嵌入式系统 实验报告

使能 IRQ 中断。
4 装载并使能外中断;
5 选用 DebugInExram 生成目标,然后编译连接工程。
6 选择【Project】->【Debug】,启动 AXD 进行 JTAG 仿真调试。
7 全速运行程序,LED 闪烁;
8 每一次按键 Key,蜂鸣器就会转换静音或鸣响状态。
四.测试数据及运行结果
1
五.总结
1.实验过程中遇到的问题及解决办法;
由于本次实验较简单,且我们之前学习的微机原理课程也进行了流水灯的设
计实验,所以对于本次实验,我完成地很顺利,在实验中没有遇到问题。
2.对设计及调试过程的心得体会。
本次实验是本学期该课程我们进行的第一次实验,总的来说,实验不是很难,
设计过程也相对简单,其主要目的是让我们熟悉一下实验环境,并且能在实验环
6
五.总结 1.实验过程中遇到的问题及解决办法;
实验第一次运行时,蜂鸣器一直处于鸣响状态,及时按了按键,蜂鸣器还是 一直鸣叫,不产生外中断。后来仔细检查了程序,发现原来是忘记使能 EINT0 中 断了,加上 VICIntEnable = 1<<0x0e 代码,程序就能正常运行了。 2. 对设计及调试过程的心得体会。
境下进行简单的实验操作,为之后的实验打下坚实的基础。
六.附录:源代码(电子版)
#include "config.h"
const uint32 LEDS8 = 0xFF << 18;//P1[25:18]控制 LED1~LED8,低电平点亮
const uint32 KEY = 1 << 16;
//P0.16 连接 KEY1
三.方案设计
① 启动 ADS1.2IDE 集成开发环境,选择 ARM Executable Image for lpc2131

《嵌入式系统》实验报告指导书(含答案).

《嵌入式系统》实验报告指导书(含答案).

实验一熟悉嵌入式LINUX开发环境1、实验目的熟悉UP-TECHPXA270-S的开发环境。

学会WINDOWS环境与嵌入式Linu环境共享资源的基本方法。

2、实验内容学习UP-TECHPXA270-S系统的使用、XP和虚拟机之间传送文件方法以及UP-TECHPXA270-S和虚拟机之间共享目录的建立方法。

3、预备知识了解UP-TECHPXA270-S的基本结构和配置,Linux基本知识。

4、实验设备硬件:UP-TECHPXA270-S开发板、PC机(内存500M以上)。

软件:PC机操作系统RADHAND LINUX 9+MIMICOM+RAM LINUX操作系统5、实验步骤(1)、在虚拟机下练习Linux常用命令。

(注意以下操作只能在[root@BC root]#,也就是root文件夹下运行,不然会导致系统不能启动)a. 学习命令通过“man ***”和“*** --help”得到的命令使用方法。

b.学习并掌握如下命令:ls,cd ,pwd,cat,more,less,mkdir, rmdir ,rm,mv,cp,tar,ifconfig(2)、XP与虚拟机之间传送文件(Samba服务器建立、网络设置、文件传送);(3)、了解系统资源和连线;(4)、开发板与虚拟机之间共享目录建立(设置NFS、开发板IP设置、目录挂载),挂载文件;(5)vi(vim)的使用(6)输入qt,启动桌面,按CTRL+C退出6、实验报告要求(1)、XP和虚拟机之间传送文件步骤;虚拟机共享XP文件:选择虚拟机设置,设置要共享的文件启动Linux进入/mnt/hgfs即可看到共享文件夹服务器设置——samba服务器(设置需要共享的目录)XP共享虚拟机文件:服务器设置——samba服务器(设置需要共享的目录)确保网络的PING通(即在同一局域网):1.虚拟机的192.168.1.234(RH9)2.XP的为192.168.1.1253.在XP 下点击开始-》运行(\\192.168.1.234)4.用户名bc密码123456以上实现了Linux虚拟机(RH9)和XP的文件的共享(2)、开发板与虚拟机之间建立共享目录以及文件挂载步骤;1.服务器设置——nfs服务器(设置需要共享的目录)2.设置开发板的ip地址:ifconfig eth0 192.168.1.53.在实验箱终端里输入mount -t nfs -o nolock 192.168.1.234:/up-techpxa270/exp /mnt/nfs4./mnt/nfs即为共享目录(3)、请画出虚拟机、PC机和ARM实验箱之间的硬件连接图;(4)、在Linux中怎样配置网络;系统设置->网络,在新的选项卡中(5)、实验中遇到的问题与解决过程。

嵌入式实训报告范文2篇2

嵌入式实训报告范文2篇2

嵌入式实训报告范文 (2)嵌入式实训报告范文 (2)精选2篇(一)嵌入式实训报告一、实训背景嵌入式系统是一种以具体任务为中心,集成了硬件与软件的计算机系统。

由于其体积小、功耗低、功能强大等特点,嵌入式系统被广泛应用于各个领域,如家电、汽车、医疗等。

通过参与嵌入式实训,我希望能够掌握嵌入式开发的基本原理和方法,提高自己的实践能力。

二、实训目标1.掌握嵌入式系统的基本知识和开发工具的使用;2.了解嵌入式系统的硬件架构和软件设计流程;3.能够根据需求设计并实现简单的嵌入式系统。

三、实训内容1.学习嵌入式系统基础知识:通过课堂教学和自主学习,了解了嵌入式系统的概念、特点及应用领域。

深入学习了ARM架构和C语言的基本知识,并进行了相应的实践操作。

2.学习嵌入式开发工具的使用:学习了Keil MDK和IAR Embedded Workbench等常用的嵌入式开发工具的安装和配置方法。

通过实操操作,掌握了调试、编译、下载等基本功能的使用。

3.学习嵌入式系统设计流程:了解了嵌入式软件开发的常用流程,包括需求分析、系统设计、编码实现、调试测试、系统验证等。

通过案例分析和实践操作,对嵌入式系统设计流程有了更深入的了解。

4.设计并实现简单的嵌入式系统:根据实训要求,我选择了一个简单的嵌入式系统项目,通过分析需求、设计系统架构、编写软件代码、调试测试等环节,最终成功完成了项目。

四、实训总结及收获通过参与嵌入式实训,我不仅掌握了嵌入式系统的基本知识和开发工具的使用,还锻炼了自己的实践能力。

我深刻认识到嵌入式系统开发需要全面的知识储备和较高的技术水平,同时也需要良好的分析、设计和沟通能力。

通过实训,我对嵌入式系统开发流程有了更深入的理解,对嵌入式系统的设计和开发也有了更高的认识和要求。

在未来的学习和工作中,我会继续深入学习嵌入式系统开发相关知识,并不断提高自己的实践能力。

嵌入式系统是未来的发展方向,通过不断探索和实践,我相信我能够在这个领域取得更好的成果。

嵌入式实训报告范文2篇

嵌入式实训报告范文2篇

嵌入式实训报告范文嵌入式实训报告范文精选2篇(一)嵌入式实训报告一、实训目的和背景嵌入式实训的目的是通过设计和实现一个嵌入式系统,培养学生的嵌入式系统开发才能和团队协作才能。

本次实训的背景是为了满足社会对嵌入式系统开发人才的需求,进步学生的实际动手才能。

二、实训内容1. 硬件平台的选择和搭建:选择了一款ARM开发板作为硬件平台,并搭建了相应的开发环境。

2. 系统设计和分析:根据实训要求,我们团队设计了一个智能门锁系统,包括用户认证、门锁控制和远程监控功能。

3. 软件开发:使用C语言和嵌入式开发工具进展软件开发,实现了用户认证、门锁控制和远程监控等功能。

4. 硬件连接和调试:将开发板和相关传感器、执行器等硬件设备进展连接和调试,确保系统可以正常运行。

5. 功能测试和调优:对系统进展全面测试,发现并修复了一些问题,并对系统进展了性能优化。

三、实训心得和体会通过本次实训,我深入认识到嵌入式系统开发的复杂性和挑战性。

在实训过程中,我们团队遇到了许多问题,比方硬件和软件的兼容性、性能优化等方面。

但是通过团队的努力和合作,我们成功解决了这些问题,并完成了一个功能完善的嵌入式系统。

此外,我还学到了许多软件开发和硬件调试的技巧,进步了自己的实际动手才能。

在团队协作方面,我们团队成员之间互相配合,共同解决问题,形成了良好的协作机制。

总结起来,本次嵌入式实训让我受益匪浅,学会了许多实际应用的技能和知识,并进步了自身的综合才能。

四、实训成果展示在实训完毕后,我们团队成功完成了一个智能门锁系统,具备用户认证、门锁控制和远程监控等功能。

系统的稳定性和可靠性得到了验证,并且在实际使用中得到了积极的反应。

附图:〔展示系统界面、硬件设备连接示意图等〕五、实训改良意见尽管本次实训获得了良好的成果,但仍有一些方面需要改良。

首先,实训的时间安排可以更合理一些,以便更充分地利用时间进展理论操作。

其次,可以增加一些真实场景的案例分析和解决方案的设计,以提升学生的实际应用才能。

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

实验一系统认识实验一、实验目的学习Dais软件的操作,熟悉程序编写的操作步骤及调试方法。

二、实验设备PC计算机一台,Dais-52PRO+或Dais-PRO163C实验系统一套。

三、实验内容编写程序,将80h~8Fh共16 个数写入单片机内部RAM 的30h~3Fh空间。

四、实验步骤1.运行Dais软件,进入集成开发环境,软件弹出设置通信端口对话框(如图2-1-1),请确保实验装置与PC正确连接,并已打开实验装置电源,使其进入在待命状态。

这里选择与实验装置实际相连的通信端口,并单击“确定”。

如通信正确则进入Dais软件主界面,否则弹出“通信出错”的信息框(如图2-1-2),请检查后重试。

图2-1-1设置通信端口对话框图2-1-2通信错误信息框2.通信成功后,单击菜单栏“设置”→“仿真模式”项打开对话框,选择需要设置型号、程序/数据空间。

这里我们将型号设置为“MCS-51实验系统”,外部数据区设置为“系统RAM”,用户程序区设置为“片外(EA=0)”,如图2-1-3所示,最后单击“确定”按钮保存设置。

图2-1-3设置工作方式对话框3.工作方式设置完毕后,单击菜单栏“文件”→“新建”项或按Ctrl+N组合键(建议单击工具栏“”按钮)来新建一个文件,软件会出现一个空白的文件编辑窗口。

4.在新窗口中输入程序代码(A51\2_1.ASM):ORG 0000HLJMP MAINORG 0100HMAIN: MOV R1,#30H ;片内RAM首地址MOV A,#80H ;写入数据初值MOV R7,#16 ;循环变量LOOP1: MOV @R1,A ;写数据到片内RAMINC R1 ;地址增量INC A ;数据+1DJNZ R7,LOOP1 ;循环变量-1,不为0继续SJMP $ ;结束END5.单击菜单栏“文件”→“保存”项(建议单击工具栏“”按钮)保存文件。

若是新建的文件尚未命名,系统会弹出文件保存对话框(如图2-1-4),提示用户选择文件保存的路径和文件名,再单击“保存”按钮。

图2-1-4 文件保存对话框6. 单击菜单栏“编译”→“文件编译、链接、装载”项或按Ctrl+F9组合键(建议单击工具栏“”按钮),对当前文件进行编译和链接,若程序无语法错误,则开始自动装载,装载完毕提示如图2-1-5所示的信息框。

图2-1-5 编译信息框7. 当编译无误且下载成功后,即进入调试状态,当前PC 行高亮突出显示,源程序窗口左侧显示小圆点以标识可执行语句行,如图2-1-6所示。

图2-1-6 进入调试状态的主界面8. 单击菜单栏“视图”→“存储空间”→“CPU 内部存储区”项打开内存窗口,如图2-1-7。

文件存放的路径注意:由于编译器对路径和文件名的要求,请确保路径和文件名均不含中文和空格,不要将文件存放在“桌面”、“我的文档”等路径,并遵循“8.3”命令规则,即前缀长度不超过8字符、后缀长度不超过3字符。

输入新文件名图2-1-7初始时的CPU内部存储区数据显示9.单击菜单栏“调试”→“单步运行”项或按F7快捷键(建议单击工具栏“”按钮),单步运行程序,观察寄存器和内存单元的数据变化;10.也可单击菜单栏“调试”→“连续运行”项或按F9快捷键(建议单击工具栏“”按钮),开始全速运行。

11.在全速运行后,须暂停运行以便在待命状态查看运行结果,暂停可单击菜单栏“调试”→“暂停”项或按Esc快捷键(建议单击工具栏“”按钮)。

12.再观察CPU内部存储区单元,验证程序运行结果(如图2-1-8所示)。

图2-1-8程序运行后的CPU内部存储区数据显示13.除了用程序修改内存单元,可以在Dais软件直接修改。

用鼠标单击某个内存单元后,按键盘的0~9或A~F,直接写入数据以覆盖该内存单元原有数据。

如图2-1-9所示。

图2-1-9修改后的内存单元数据显示14.除了单步或全速运行,还可以使用断点手段来调试程序。

单击菜单栏“调试”→“复位”项或按Ctrl+F2组合键(建议单击工具栏“”按钮)进行复位,以便重新运行程序。

15.单击源程序编辑窗口左侧的行号即可快速设置断点,断点行为红色高亮显示(如图2-1-10),若要删除该断点只需再次单击断点行的行号即可清除断点。

图2-1-10设置断点后的源程序窗口16.设置断点后,单击菜单栏“调试”→“连续运行”项或按F9快捷键(建议单击工具栏“”按钮),使用全速运行方式,待程序运行到断点行时自动停下(如图2-1-11)。

图2-1-11全速运行后遇断点暂停的源程序窗口五、操作练习修改程序,将CPU内部存储区30h~3Fh单元的16个数据复制到40h~4F单元,通过单步、断点等调试手段验证程序功能,查看40h~4Fh单元的数据是否传送正确。

ORG 0000HLJMP MAINORG 0100HMAIN:MOV R1,#30HMOV R0,#40H;片内RAM首地址MOV A,#80H ;写入数据初值MOV R7,#16 ;循环变量LOOP1:MOV A,@R1MOV @R0,AINC R1INC R0 ;地址增量DJNZ R7,LOOP1;循环变量-1,不为0继续SJMP $;结束END六、实验心得通过第一次的上机实验,我初步接触到了Dais软件,并对其有了一定的熟悉,能顺利完成程序的单步运行,连续运行,设置断点,查看存储器等操作,并掌握了该软件程序编写的操作步骤及调试方法,这对我接下来的实验很有帮助。

实验二数码转换实验一、实验目的掌握不同进制数及编码相互转换的程序设计方法,加深对数制转换的理解。

二、实验设备PC计算机一台,Dais-52PRO+或Dais-PRO163C实验系统一套。

三、实验内容及步骤1.BCD整数转换为二进制整数将BCD 码整数0~255存入片内RAM的20h、21h、22h中,然后转换为二进制整数00h~FFh,保存到寄存器R4中。

参考程序(A51\2_2_1.ASM):ORG 0000HLJMP MAINORG 0100HMAIN: MOV R0,#20H ;BCD存放高位地址MOV R7,#3 ;BCD码0~255,最多3位CLR AMOV R4,ALP1: MOV A,R4MOV B,#10MUL AB ;乘10ADD A,@R0 ;加下一位的值INC R0 ;指向下一单元MOV R4,A ;结果存入R4DJNZ R7,LP1 ;转换未结束则继续SJMP MAIN ;设置断点,观察实验结果R4中的内容END实验步骤:1)编写程序,经编译、链接无误后装载到实验系统;2)修改CPU内部存储器20h、21h、22h单元的内容,如:00h,05h,08h;3)在SJMPMAIN语句行设置断点,然后运行程序;4)程序遇到断点后暂停,此时查看寄存器R4的内容,应为3Ah;5)重新修改20h、21h、22h单元的内容,再次运行程序,验证程序的正确性。

2.二进制整数转换为十进制整数将16位二进制整数存入R3、R4寄存器中,转换为十进制整数,以组合BCD形式存储在CPU内部RAM的20h、21h、22h单元中。

参考程序(A51\2_2_2.ASM ):ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV R0,#22H ;转换结果低位地址MOV A,R0PUSH ACC ;A 累加器压栈 MOV R7,#3 CLR ALP1: MOV @R0,A ;结果存储地址清零 DEC R0 DJNZ R7,LP1 POP ACC MOV R0,A MOV R7,#16 LP2: PUSH ACC CLR CMOV A,R4 ;R4中为二进制数的低位 RLC A MOV R4,AMOV A,R3 ;R3中为二进制数的高位 RLC A MOV R3,A MOV B,#3LP3: MOV A,@R0ADDC A,@R0 ;执行乘2操作 DA A ;十进制调整 MOV @R0,A ;结果保存 DEC R0 DJNZ B,LP3 POP ACC;A 累加器出栈MOV R0,A DJNZ R7,LP2 SJMP MAIN ;设置断点观察结果, 可进行下一次转换 END实验步骤:1) 编写程序,程序流程图如图2-2-1所示,经编译、链接无误后装载到实验系统; 2) 修改R3、R4寄存器,例如分别为A2h 、FCh ; 3) 在SJMPMAIN 语句行设置断点,然后运行程序;4) 程序遇到断点后暂停,此时查看CPU 内部存储器20h 的内容,应为:04h 、17h 、24h ;5) 反复修改R3、R4寄存器的值,验证程序的正确性。

图2-2-1 程序流程图四、实验心得在这次实验中,我通过运行既定程序后对程序经行了分析,掌握了将BCD整数转换为二进制整数和二进制整数转换为十进制整数的程序设计方法,对数制的转换有了一个更深刻的认识,并自己编程实现了二进制数和BCD整数的转换,受益匪浅。

实验三 运算程序设计实验一、实验目的了解运算类指令以及运算类程序的设计方法。

二、实验设备PC 计算机一台,Dais -52PRO+或Dais -PRO163C 实验系统一套。

三、实验内容及步骤1. 多字节加法程序多字节十进制加法程序,被加数存放于20h 起始的RAM 空间,加数存放于28h 起始的RAM 空间,将两数相加,结果存放于20h 起始的RAM 空间。

参考程序(A51\2_3_1.ASM ):ORG 0000H LJMP MAINORG 0100H ;执行程序前先修改R7的值 MAIN: MOV R0,#20H ;被加数起始地址 MOV R1,#28H ;加数起始地址 CLR CLP1: MOV A,@R0ADDC A,@R1 ;带进位加法运算 DA A ;十进制调整 MOV @R0,A ;保存运算结果 INC R0 ;指向下一单元 INC R1 DJNZ R7,LP1 CLR A MOV ACC.0,C MOV @R0,A ;最高位有进位时此地址中为1 NOP;设置断点查看运算结果SJMP MAIN;若需继续运算, 改变加数, 被加数及R7END实验步骤:1) 编写程序,程序流程图如图2-3-1所示,经编译、链接无误后装载到实验系统;2) 为被加数及加数赋值:修改内存单元20h 为1234h 、28h 为1111h ,寄存器R7为02h ;3) 在SJMPMAIN 语句行设置断点,然后运行程序;4) 程序遇到断点后暂停,此时查看内存单元20h 起始的内容,应为:2345h ; 5) 反复修改被加数、加数及字节数R7的值,验证程序的正确性。

图2-3-1 程序流程图2. 双字节无符号数乘法利用单字节乘法指令来扩展成多字节乘法运算,扩展时以字节为单位进行乘法运算。

相关文档
最新文档