嵌入式实验四实验报告

 嵌入式实验四实验报告
 嵌入式实验四实验报告

嵌入式实验四实验报告

3.4基于UART的加法器的实现

一、实验目的

学习lm3s9b92的串口通信

学习应用超级终端调试串口

学会应用UART有关的库函数

二、实验设备

计算机、LM3S9B92开发板、USB A型公口转Mini B型5Pin 数据线1 条

三、实验原理

Stellaris系列ARM的UART具有完全可编程、16C550型串行接口的特性。Stellaris系列ARM含有2至3个UART模块。

该指导书在第一部分的1.2节中说明,该开发板使用了FT2232芯片实现usb到串口的转换。并设置在芯片的B通道上使用虚拟COM 接口(VCP)。虚拟串行端口(VCP)与LM3s9b92上的UART0模块连接。在安装FTDI驱动程序后,windows会分配一个串行通信端口号到VCP 通道,并允许windows应用程序(如超级终端)通过USB与LM3s9b92上的UART0进行通信。利用Windows超级终端调试UART的方法对于该开发板,使用的是USB虚拟的COM端口,无须使用DB9连接器。因此下面讲解一下如何利用Windows附带的超级终端来调试UART接口。

Windows附件里的“超级终端”是个非常实用的应用程序,可以

用来调试电脑的COM串行口,也能很好地支持通过USB虚拟的COM 口。以下是超级终端配置COM端口的过程:

四、实验要求

采用超级终端作为外部输入与输出的接口,实现多位数的相加。即通过UART串口分别输入需要相加的多位数A与B,最后把A和B 两个多位数相加的过程和结果,回显给用户。具体实现方法:既可以采用轮询的方式也可以应用中断。

五、实验步骤

1、连接实验设备:使用USB mini B线缆的mini端与开发板ICDI 口相连,另一端接到PC机的USB插口上。

2、根据实验要求编写、调试、运行程序。并要求在代码上附上相关的注释。

#include

#include "inc/hw_ints.h"

#include "inc/hw_memmap.h"

#include "inc/hw_types.h"

#include "driverlib/debug.h"

#include "driverlib/gpio.h"

#include "driverlib/interrupt.h"

#include "driverlib/sysctl.h"

#include "driverlib/uart.h"

#include "grlib/grlib.h"

#include "drivers/kitronix320x240x16_ssd2119_8bit.h"

#include "drivers/set_pinout.h"

#include "systemInit.h"

void uartInit(void)

{

SysCtlPeriEnable(SYSCTL_PERIPH_UART0); // 使能UART模块

SysCtlPeriEnable(SYSCTL_PERIPH_GPIOA); // 使能RX/TX所在的GPIO端口GPIOPinTypeUART(GPIO_PORTA_BASE, // 配置RX/TX所在管脚为

GPIO_PIN_0 | GPIO_PIN_1); // UART收发功能

UARTConfigSet(UART0_BASE, // 配置UART端口

9600, // 波特率:9600

UART_CONFIG_WLEN_8| // 数据位:8

UART_CONFIG_STOP_ONE | // 停止位:1

UART_CONFIG_PAR_NONE); // 校验位:无

UARTEnable(UART0_BASE); // 使能UART端口

}

void uartPuts(const char *s)

{

while (*s != ")

{

UARTCharPut(UART0_BASE, *(s++));

}

}

main(void)

{

char c,a[12];

int sum=0,num=0,i;

// jtagWait( ); // 防止JTAG 失效,重要!clockInit( ); // 时钟初始化:晶振,6MHz uartInit( ); // UART 初始化

uartPuts("输入格式m+n= ");

for (;;)

{

c = UARTCharGet(UART0_BASE); // 等待接收字符

if(c>='0'c=0;i--){

UARTCharPut(UART0_BASE, a[i]+'0'); } UARTCharPut(UART0_BASE, ' '); }

if (c == ' ') // 如果遇到回车

{

UARTCharPut(UART0_BASE, ' '); // 多回显一个换行} }

}

3、书写实验报告,要求附上程序流程图。

六、实验心得

比较轮询方式与中断方式

软件测试实验报告96812

实验一:软件测试方法 一:实验题目 采用白盒测试技术和黑盒测试技术对给出的案例进行测试 二:试验目的 本次实验的目的是采用软件测试中的白盒测试技术和黑盒测试技术对给出的案例进行测试用例设计。从而巩固所学的软件测试知识,对软件测试有更深层的理解。 三:实验设备 个人PC机(装有数据库和集成开发环境软件) 四:实验内容 1):为以下流程图所示的程序段设计一组测,分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。并在各题下面写出测试用例、覆盖路径及结果等。 2):画出下列代码相应的程序流程图,并采用基本路径测试方法为以下程序段设计测试用例(需列出具体实验步骤)。 void Do (int X,int A,int B) { 1 if ( (A>1)&&(B==0) ) 2 X = X/A; 3 if ( (A==2)||(X>1) ) 4 X = X+1;

5 } 采用基本路经测试方法测试用例,并写出具体步骤 3):在某网站申请免费信箱时,要求用户必须输入用户名、密码及确认密码,对每一项输入条件的要求如下: 用户名:要求为4位以上,16位以下,使用英文字母、数字、“-”、“_”,并且首字符必须为字母或数字; 密码:要求为6~16位之间,只能使用英文字母、数字以及“-”、“_”,并且区分大小写。测试以上用例。 用所学的语言进行编码,然后进行等价类测试,当用户名和密码正确输入时提示注册成功;当错误输入时,显示不同的错误提示 通过分析测试用例以及最后得到的测试用例表分析所测程序的正确性,最后总结自己在这次试验中的收获并写出自己在这次试验中的心得体会。 五:实验步骤 1) (1)用语句覆盖方法进行测试 语句覆盖的基本思想是设计若干测试用例,运行被测程序,使程序中每个可执行语句至少被执行一次。由流程图可知该程序有四条不同的路径: P1:A-B-D P2:A-B-E P3:A-C-F P4:A-C-G 由于p1p2p4包含了所有可执行的语句,按照语句覆盖的测试用力设计原则,设计测试用例 无法检测出逻辑错误 (2)用判定覆盖方法进行测试 判定覆盖的基本思想是设计若干测试用例,运行被测程序,使得程序每个判断的取真和取假分支至少各执行一次,即判断条件真假均被满足。 条件覆盖测试用例 (3)用条件覆盖进行测试 条件覆盖的基本思想是设计若干测试用例,执行被测程序后要使每个判断中每个条件的可能取值至少满足一次。对于第一个判定条件A,可以分割如下: ?条件x>8:取真时为T1,取假时为F1;

嵌入式实验报告

课题:按键控制流水灯 专业:物联网工程 班级:01 学号:14154951 姓名:李政 指导教师:何建军 设计日期:2016.12.21—2016.12.30 成绩: 重庆大学城市科技学院电气学院

嵌入式设计报告 一、设计目的作用 通过编程实现对LED灯项目的改变,加深对stm32芯片的理解,对keil软件的熟悉掌握,工程的搭建以及头文件的使用。掌握外部设备的接入以及外部中断的实现。 二、设计要求 用四个按键控制8个流水灯的流水显示 (1).按键A按下时候流水灯按从左往右的流水显示。 (2).按键B按下时候流水灯按从右往左的流水显示。 (3).按键C按下时候流水灯按中心开花的方式流水显示:从中间向两边流水显示 (4).按键D按下时候流水灯按从两边到中心移动的方式流水显示。(5).(选做)引入时针中断: 默认的流水方式: (1)对时钟中断的次数进行计数 (2)当时钟中断的次数除以4的余数为0时:按从左到右的顺序流水显示(3)当时钟中断的次数除以4的余数为1时:按从右到左的顺序流水显示(4)当时钟中断的次数除以4的余数为2时:按中心开花的方式流水显示(5)当时钟中断的次数除以4的余数为3时:从两边到中心移动的方式流水显示。 系统启动时按默认的流水方式显示,当按下A、B、C、D四个按键时,按指定的方式流水显示,当按下按键E时恢复按默认的流水方式。 三、设计的具体实现 1、设计原理 这次使用的是stm32f103系列芯片,芯片引脚如下图

Stm32内部资源

GPIO原理及应用: 有7个16位并行I/O口:PA、PB、PC、PD、 PE、PF、PG 都是复用的,最少有2种 功能,最多有6种功能

嵌入式实验报告

嵌入式技术 实验报告 系别:计算机与科学技术系 班级:计12-1班 姓名:刘杰 学号:12101020128 总成绩: 评语: 日期:

2.在弹出的对话框中依次选择“cedevice emulator emulator kdstub”。 3.选择“Build OS”菜单的“sysgen”开始构建平台。 1.1.4连接,下载和运行平台 1.选择“Target”菜单下的“Connection option”菜单项。 2.在新的对话框中,配置连接关系 3.选择“Target”菜单下的“attach”菜单项,开始下载。 ?实验结果 操作系统定制成功,能正常运行。 ?结果截图 ?问题总结 由于对实验平台了解不够,致使操作过程中添加和删除组件时不知道该如何下手,影响整个实验进度。 实验1.2: 1.打开Platform Builder,并且打开实验1的工程,在实验1的工程基础上做本实验。

进程显示 IE信息查看

报文监测 实验1.3使用Platform Builder开发应用程序 简单实验步骤 1.打开Platform Builder。 2.选择“File”菜单下的“Open Workspace…”,然后打开实验1中创建的平台,本实验要基于 上面的实验的基础上做。 3.选择“File”菜单下的“New Project or File…”,打开“New Project or File”对话框。 4.在“Projects”选项页中选择“WCE Application”;在“Project Name”中输入项目的名字,例 如“MyApp”。 5.在“New Project Wizard – step 1 of 1”中选择“A typical Hello World Application”,点击“Finish” 按钮。 6.选择“Build”菜单中的“Build MyApp.exe”来编译应用程序。

嵌入式实验报告二

实习二建立交叉编译环境 实习内容: 本次实验主要包括二部分内容:开发环境配置,主要有配置NFS,Samba和超级终端;编写编译程序。 1、配置NFS(实现宿主机和目标机的信息共享) 打开Linux虚拟机,点击主菜单运行系统设置->服务器设置->NFS 服务器,点击增加,在出现的界面中的目录中填入需要共享的路径,在主机中填入允许进行连接的主机的IP地址(注意:这里主机IP指的是开发板的IP)。并选择允许客户对共享目录的操作为只读或读写(注意:实验中选的是读写,一定不能忽略),如下图: 对客户端存取服务器的一些其他设置,一般不需要设置,取默认值。然后退出,完成了NFS配置。 2、配置Samba(实现Windows和Linux系统的文件共享) ①关闭防火墙,这个地方和上面的NFS的配置是一样的。 ②配置Samba服务器 选择“系统设置”—>“服务器配置”—>“Samba服务”,进行Samba 服务器配置。首先创建Samba共享,选择“基本”选项卡,在“目录”

的文本框中输入要共享的文件,基本权限设为读/写。在“访问”选项卡中选择“允许所有用户访问”选项,通过“首选项”进行服务器配置。在“基本”选项卡中设置工作组和描述,在“安全性”选项卡中设置“验证模式”为共享,“加密口令”为否,“来宾账号”为无来宾账号。 ③设置Samba服务器IP地址(与前面的NFS的设置相同) ④启动Samba服务器 在命令行中输入service smb start,即可启动Samba服务器。 ⑤配置Windows下的IP地址 将Windows下的IP地址和Samba服务器IP地址设置在同一网段中即可(注意:这里设置IP时一定要注意在同一网段) ⑥在Windows下访问共享 在Windows中的“运行”窗口中输入Samba服务器的IP地址,就可以看见在虚拟机中共享的文件。 3、配置超级终端 ①在linux操作系统Xwindow界面下建立终端,在终端的命令行提示符后输入minicom,回车,然后就会看见minicom的启动画面,若没有启动Xwindow则在命令行提示符后直接输入minicom即可。 ② minicom启动后,先按Ctrl+A键,然后按Z键进入主配置界面,按“O”进入配置界面,按上下键选择Serial port setup,进入端口设置界面,然后按照指导书中的指示修改几个重要选项。 ③选好后按ESC键退出端口设计界面,选择Save setup as df1保存

软件测试实验报告材料58877

标准实用 本科实验报告 课程名称:软件测试技术 实验项目:软件测试技术试验实验地点:实验楼211 专业班级:软件工程学号: 学生:戴超 指导教师:兰方鹏 2015年10月7 日

理工大学学生实验报告 学院名称计算机与软件学院专业班级软件工程实验成绩学生戴超学号实验日期2015.10. 课程名称软件测试实验题目实验一白盒测试方法 一、实验目的和要求 (1)熟练掌握白盒测试方法中的逻辑覆盖和路径覆盖方法。 (2)通过实验掌握逻辑覆盖测试的测试用例设计,掌握程序流图的绘制。 (3)运用所学理论,完成实验研究的基本训练过程。 二、实验容和原理 测试以下程序段 void dowork(int x,int y,int z) { (1)int k=0,j=0; (2)if((x>0)&&(z<10)) (3){ (4)k=x*y-1; (5)j=sqrt(k); (6)} (7)if((x==4)||(y>5)) (8)j=x*y+10; (9)j=j%3; (10)} 三、主要仪器设备 四、操作方法与实验步骤 说明:程序段中每行开头的数字(1-10)是对每条语句的编号。

A 画出程序的控制流图(用题中给出的语句编号表示)。 B 分别用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。 C 编写完整的C 程序(含输入和输出),使用你所设计的测试用例运行上述程序段。完整填写相应的测试用例表(语句覆盖测试用例表、判定覆盖测试用例表、条件覆盖测试用例表、判定/条件覆盖测试用例表、条件组合覆盖测试用例表、路径覆盖测试用例表、基本路径测试用例表) 流程图为: 开始 开始 k=0,j=0 (x>0)&&(z<1) k=x*y-1 j=sqrt(k) (x==4)||(y>5) j=x*y+10 j=j%3 结束 1 2 5 7 8 9

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

嵌入式实验报告

嵌入式实验报告 学院:信息工程学院 专业:计算机科学与技术班级:计算机班 姓名: 学号: 指导老师:

实验目录 实验一嵌入式系统开发环境实验 (2) 实验二系统节拍定时器实验 (12) 实验三 GPIO控制实验 (16) 实验四外部中断实验 (19) 实验五串口通讯实验 (23)

实验一嵌入式系统开发环境实验 【实验目的】 1.熟悉RealView MDK集成开发环境以及使用方法。 2.熟悉嵌入式系统软件设计方法和流程。 【实验内容】 1. 通过例程熟悉、掌握嵌入式系统的编辑、编译、调试、下载及运行过程。 2. 建立自己的工程文件,在开发板板上调试程序。 【实验步骤】 (一)程序安装 1. 建议在安装之前关闭所有的应用程序,双击安装文件,弹出如图对话框,Next 2.默认选择C盘文件下安装。

3.这样就在c盘底下出现keil文件夹。 4.单击选择菜单“File”-->"License Management" 将弹出下面一张图的界面:复制其中CID号,以便在粘贴到下一步中的破解软件。 5.复制CID

6.运行破解软件,将出现下面一张图的界面,把上步复制的CID号粘贴到相应位置,其他选项如图,然后点击“Generate”按钮,然后复制产生的序列号,粘贴到上一步的下面一张图的LIC输入框中,然后点击右侧的Add LIC,即可完成破解。 7.安装文件夹中的jlink驱动。 (二)工程创建、编译 使用Realview MDK创建、完成一个新的工程只需要以下几个环节: →创建工程并选择处理器→选择工具集→创建源文件→配置硬件选项→配置对应启动代码→编译链接→下载→调试。 1.创建工程并选择处理器 选择Project→New Project…,输入创建的新工程的文件名,即可创建一个新的工程。 2.创建一个新工程时,需要为工程选择一款对应处理器,在NXP 列表下选择LPC1768 芯片。然后点击OK。接下来出现的对话框选择“是或者也可以通过单击Project→Select Device for Target…在本次课程中,我们选择

软件测试实验报告

《软件测试技术》 ——实验报告 题目 _____实验一_ __ 指导教师薛曼玲 _ 实验日期 _11.4 专业 学生姓名 _ __ ____ 班级/学号 ____ 成绩 ________ ___ ____ _

一、实验目的 1.能熟练应用黑盒测试技术进行测试用例设计; 2.能对测试用例进行优化设计; 二、实验内容 题目一:电话号码问题 1.某城市电话号码由三部分组成。它们的名称和内容分别是: (1)地区码:空白或3位数字; (2)前缀:非'0'或'1'的3位数字; (3)后缀:4 位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 1.根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。 “一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个

程序要打印出信息, 说明这个三角形是三边不等的、是等腰的、还是等边的。” 题目三:日期问题 1.用决策表测试法测试以下程序:该程序有三个输入变量month、day、year (month 、day和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2004 年11月29日,则该程序的输出为2004年12月1日。 (1) 分析各种输入情况,列出为输入变量month 、day 、year 划分的有效等价类。 (2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。 (3) 根据(1) 和(2) ,画出简化后的决策表。 2.划分有效等价类 1)month变量有效等价类 M1:{month=4,6,9,11}M2:{month=1,3,5,7,8,10} M3:{month=12}M4:{month=2} 2)day变量的有效等价类 D1:{1<= day <= 26}D2:{day=27} D3:{day=28} D4:{day=29} D5:{day=30} D6:{day=31} 3)year变量有效等价类 Y1:{year是闰年} Y2:{year不是闰年} 3.列出所有动作桩

嵌入式实验报告心得

嵌入式实验报告心得 篇一:嵌入式系统原理实验总结报告 嵌入式系统原理实验总结报告 车辆座椅控制系统实验 XX/5/23 嵌入式系统原理实验总结报告 一、技术性总结报告 (一)题目:车辆座椅控制系统实验(二)项目概述: 1.为了实现车辆座椅控制的自动化与智能化。 2.方便用户通过智能手机与车载传感器之间的联动。 3.使车辆作为当今物联网中重要的一个节点发挥作用。 4.通过车辆座椅控制系统实验实现对嵌入式系统原理课程的熟练掌握与对嵌入式系统原理知识的深化记忆。 5. 加强本组学生对嵌入式系统原理的更深层次的理解与运用。 (三)技术方案及原理 本次试验分为软件、硬件两个部分。 1.软件部分。 A.智能手机部分,包括通过智能手机对座椅的控制部分、手机所携带的身份信息部分。 本部分软件使用Java编写,其程序部分为:主程序:package ;

import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ;import ; import ; import ; public class MainActivity extends ActionBarActivity { private Button Up = null; private Button Left = null; private Button Dowm = null; private Button Right = null; private Socket socket = null; private static final String HOST = "";private static final int PORT = 10007; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(; initControl();} private void initControl() {

嵌入式实验报告

目录 实验一跑马灯实验 (1) 实验二按键输入实验 (3) 实验三串口实验 (5) 实验四外部中断实验 (8) 实验五独立看门狗实验 (11) 实验七定时器中断实验 (13) 实验十三ADC实验 (15) 实验十五DMA实验 (17) 实验十六I2C实验 (21) 实验十七SPI实验 (24) 实验二十一红外遥控实验 (27) 实验二十二DS18B20实验 (30)

实验一跑马灯实验 一.实验简介 我的第一个实验,跑马灯实验。 二.实验目的 掌握STM32开发环境,掌握从无到有的构建工程。 三.实验内容 熟悉MDK KEIL开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。通过ISP 下载代码到实验板,查看运行结果。使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。 四.实验设备 硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。 软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。 五.实验步骤 1.熟悉MDK KEIL开发环境 2.熟悉串口编程软件ISP 3.查看固件库结构和文件 4.建立工程目录,复制库文件 5.建立和配置工程

6.编写代码 7.编译代码 8.使用ISP下载到实验板 9.测试运行结果 10.使用JLINK下载到实验板 11.单步调试 12.记录实验过程,撰写实验报告 六.实验结果及测试 源代码: 两个灯LED0与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。七.实验总结 通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDK KEILC 软件,对软件操作不太了解,通过这次实验了解并熟练地使用MDK KEIL软件,用这个软件来编程和完成一些功能的实现。作为STM32 的入门第一个例子,详细介绍了STM32 的IO口操作,同时巩固了前面的学习,并进一步介绍了MDK的软件仿真功能。

嵌入式系统看门狗实验报告

竭诚为您提供优质文档/双击可除嵌入式系统看门狗实验报告 篇一:《嵌入式系统原理与应用》实验报告04-看门狗实验 《嵌入式系统原理与接口技术》实验报告 实验序号:4实验项目名称:看门狗实验 1 2 3 4 篇二:嵌入式实验报告 目录 实验一跑马灯实验................................................. (1) 实验二按键输入实验................................................. .. (3)

实验三串口实验................................................. . (5) 实验四外部中断实验................................................. .. (8) 实验五独立看门狗实验................................................. (11) 实验七定时器中断实验................................................. (13) 实验十三ADc实验................................................. .. (15) 实验十五DmA实验................................................. .. (17) 实验十六I2c实验................................................. .. (21) 实验十七spI实

嵌入式实验报告二work2.

实验报告 课程名称嵌入式系统编程实践 实验仪器清华同方辰源嵌入式系统实验箱 实验名称实验二:利用中断实现OLED动态显示实验 系别__计算机学院_ 专业___ __ 班级/学号_ 学生姓名___ __ ___ _ _ 实验日期_ 2013年9月22日 成绩___________________ 指导教师_ _ 朱敏玲 ___

实验二:利用中断实现OLED动态显示实验 一、实验问题回答 (1)ISR是什么?简述一下中断的作用和使用方法 答:ISR是中断服务程序。作用是通过处理器执行事先编好的某个特定的程序。使用方法就是在main中写一个中断程序,然后在startup.s中进行注册。 (2)嵌入式系统中有哪些应用有定时性循环处理的要求?举几个例子答:在各种网络的应用中,设计的一些部件,如计数器,时钟等。 (3)定时时间间隔如何修改? 答:通过改变SysTickPeriodSet(SysCtlClockGet()/100)后面的100这个参数。(4)选作内容5-8的编程思路是什么?若做的话应该怎样实现? 答:编程思路:先画直线和竖线,组成一个正方形,将各个参数填写到函数RIT128x96x4ImageDraw(buf,,,,);第6个选作:判断画的原点x,原点y,和画原点x+的长,画原点y+画宽的值要在0-128和0-96。第7个选作:把RIT128x96x4StringDraw("hello",,,);就是把画的灰度定义为一个变量x。最后就会出现由不同的亮度而形成的波浪。第8个就是利用随机函数产生画的原点,随机的在屏幕上进行显示。 (5)拖影现象如何解决?计数值显示为什么没有拖影? 答:在程序结束后执行清屏语句:计数显示是每次重新赋值,所以不会出现拖影。 二、实验目的和效果(效果即是否达到实验目的,达到的程度如何) (1)深入学习、理解、掌握OLED字符显示方法 (2)深入学习、理解、掌握OLED图形显示方法 (3)学习、理解、掌握中断使用方法 实验效果图: 三、实验内容和步骤(重点阐述自己的思路及遇到的问题)

软件测试技术实验报告

《软件测试技术》 实验报告 河北工业大学计算机科学与软件学院 2017年9月

软件说明 电话号码问题 某城市电话号码由三部分组成。它们的名称和内容分别是:地区码:空白或三位数字; 前缀:非'0'或'1'的三位数字; 后缀:4位数字。 流程图 源代码 import java.awt.*; import java.awt.event.*; public class PhoneNumber extends Frame implements ActionListener{ /** * */ private static final long serialVersionUID = 1L;

private final String[] st = {"Name","Local","Prefix","Suffix"}; static int c_person=0; TextField t_name,t_local,t_prefix,t_suffix; RecordDialog d_record; MessageDialog d_message; person a[]=new person[100]; public PhoneNumber() { super("电话号码"); this.setSize(250,250); this.setLocation(300,240); Panel panel1 = new Panel(new GridLayout(4, 1)); for (int i = 0; i < st.length; i++) panel1.add(new Label(st[i],0)); Panel panel2 = new Panel(new GridLayout(4, 1)); t_name =new TextField("",20); t_local =new TextField(""); t_prefix=new TextField(""); t_suffix=new TextField(""); panel2.add(t_name); panel2.add(t_local); panel2.add(t_prefix); panel2.add(t_suffix); Panel panel3 = new Panel(new FlowLayout()); Button b_save = new Button("Save"); Button b_record= new Button("Record"); panel3.add(b_save); panel3.add(b_record); this.setLayout(new BorderLayout()); this.add("West", panel1); this.add("East", panel2); this.add("South", panel3); addWindowListener(new WindowCloser()); b_save.addActionListener(this); b_record.addActionListener(this); d_record=new RecordDialog(this); d_message=new MessageDialog(this); this.setVisible(true);

嵌入式综合实验报告

《嵌入式系统综合实验》报告 学号: 姓名: Shanghai University of Engineering Science School of Electronic and Electrical Engineering

基于STM32的GPS信息显示系统 ——嵌入式系统综合实验报告 班级:0211112 姓名:褚建勤学号:021111228 班级:0211112 姓名:于心忆学号:021111216 班级:0211112 姓名:乐浩奎学号:021111232 一、产品设计要求(产品规格描述) 1 、嵌入式产品名称 GPS信息显示系统 2 、嵌入式产品目的 在学校的生活中,你经常可能需要联系不是同一间宿舍的同学,但是你不能确定他现在在什么地方,这时候全球定位系统(GPS)就可以发挥作用了,但是传统的GPS系统只能提供经纬度信息,不能直观的显示你想要找到人在何处,我们的系统就在传统的GPS的基础上添加了对应位置显示的功能,方便你更方便更快捷的找到你想找的同学 3 、嵌入式产品功能 使用GPS输入用户位置信息 GPS将相关经纬度信息反馈给主处理器 主处理器处理相关位置信息并将信息转换为对应位置在LCD上显示出来 在LCD上输出用户状态信息 4 、嵌入式产品的输入和输出 输入设备:GPS系统 输出设备:LCD 二、产品方案设计(产品设计方案) 1 2 1 )处理器选择 本系统选用基于ARMCortex-M3内核的STM32F103RB嵌入式微控制器作为处理器。 ①选用原因 A 技术因素 工作频率: 最高72MHz。 内部和外部存储器: 128K字节的闪存程序存储器,用于存放程序及数据;多达20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。

西安邮电大学嵌入式实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验名称:嵌入式系统原理与应用 专业名称:软件工程 班级:1101班 学生姓名: 学号(8位): 指导教师:李宥谋 实验日期:2013年12月25日

实验一流水灯实验 一.实验目的及实验环境 1.实验目的 ●熟悉LPC2000系列ARM7微控制器的GPIO输出控制。 2.实验环境 ●硬件:PC机一台 LPC2131教学实验开发平台一套 ●软件:Windows 98/XP/2000系统,ADS1.2集成开发环境。 二.实验内容 使用GPIO口控制8个LED流水灯显示。 三.方案设计 ①启动ADS1.2IDE集成开发环境,选择ARM Executable Image for lpc2131 工程模板建立一个工程LedDisp_C。 ②在user组里编写主程序代码main.c。 ③选用DebugInRam生成目标,然后编译链接工程。 ④将EasyARM教学实验开发平台上的P1.[18:25]管脚对应与LED[1:8]跳线 短接。 ⑤选择Project->Debug,启动AXD进行JTAG仿真调试。 ⑥全速运行程序,程序将会在main.c的主函数中停止。

⑦单击Context Variable图标按钮(或者选择Processor Views->Variables)打开变量观察窗口,通过此窗口可以观察局部变量 和全局变量。选择System Views->Debugger Internals 即可打开 LPC2000系列ARM7微控制器的片内外寄存器窗口。 ⑧可以单步运行程序,可以设置/取消断点;或者全速运行程序,停止程 序运行,观察变量的值,判断LED1~LED8控制是否正确。 四.测试数据及运行结果

黑盒测试软件测试实验报告2

软件测试与质量课程实验报告实验2:黑盒测试法实验

缺席:扣10分实验报告雷同:扣10分实验结果填写不完整:扣1 – 10分其他情况:扣分<=5分总扣分不能大于10分 参考代码如下: (1)程序参考答案: #include double main() { int hours; double payment,wage; wage=20; cout<<"please input hours:"; cin>>hours; if(hours>=0&&hours<=168){ if (hours<40) payment=hours*wage ; else if ((hours>=40) && (hours<=50)) payment=40*wage+(hours-40)*1.5*wage; else if (hours>50) payment=40*wage+10*1.5*wage+(hours-50)*3*wage; cout<<"The final payment are:"< void main() { int year; int month,maxmonth=12; int day,maxday; printf("请输入年份:(1000~3000)"); scanf("%d",&year); if(year<1000 || year>3000) { printf("输入错误!请从新输入!\n");

(完整版)2014完整ARM嵌入式系统实验报告

郑州航空工业管理学院 嵌入式系统实验报告 (修订版) 20 – 20第学期 赵成,张克新编著

院系: 姓名: 专业: 学号: 电子通信工程系 2014年3月制

实验一ARM体系结构与编程方法 一、实验目的 了解ARM9 S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2 IDE中进行ARM汇编语言程序设计。 二、实验内容 1.ADS1.2 IDE的安装、环境配置及工程项目的建立; 2.ARM汇编语言程序设计(参考附录A): (1)两个寄存器值相加; (2)LDR、STR指令操作; (3)使用多寄存器传送指令进行数据复制; (4)使用查表法实现程序跳转; (5)使用BX指令切换处理器状态; (6)微处理器工作模式切换; 三、预备知识 了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。 四、实验设备 1. 硬件环境配置 计算机:Intel(R) Pentium(R) 及以上; 内存:1GB及以上; 实验设备:UP-NETARM2410-S嵌入式开发平台,J-Link V8仿真器; 2. 软件环境配置

操作系统:Microsoft Windows XP Professional Service Pack 2; 集成开发环境:ARM Developer Suite (ADS) 1.2。 五、实验分析 1.安装的ADS1.2 IDE中包括和两个软件组件。在ADS1.2中建立类型的工程,工程目标配置为;接着,还需要对工程进行、及链接器设置;最后,配置仿真环境为仿真方式。 2.写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。 ; 文件名:

嵌入式系统实验实验报告

嵌入式系统实验实验报告 一、实验目的 1.基本实验

. Word 资料搭建PXA270嵌入式LINUX开发软硬件环境;安装LINUX操 作系统;安装与配置建立宿主机端交叉编译调试开发环境;配置宿主机 PC 机端的minicom(或超级终端)、TFTP服务、NFS服务,使宿主PC机与PXA270开发板可以通过串口通讯,并开通TFTP 和NFS服务。 2.人机接口 键盘驱动;LCD控制;触摸屏数据采集与控制实验; 3.应用实验 完成VGA显示;Web服务器实验;网络文件传输实验;多线程应用实验。 4.扩展应用实验 完成USB摄像头驱动与视频采集;GPS实验;GSM/GPRS通讯;视频播放移植;USB蓝牙设备无线通讯;NFS文件服务器;蓝牙视频文件服务器。 5.QT实验 完成基本嵌入式图形开发环境搭建;“Hello world!”QT初探;创建一个窗口并添加按钮;对象通信:Signal和Slot;菜单和快捷键;工具条和状态栏;鼠标和键盘事件;对话框;QT的绘图;俄罗斯方块;基于QT的GSM手机在嵌入式LINUX下的设计与实现。 二、实验内容 1.人机接口实验 实验十九键盘驱动实验 ?实验目的:矩阵键盘驱动的编写

?实验内容:矩阵键盘驱动的编写 ?作业要求:完成键盘加减乘除运算 ?实验作业源码及注释: #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #DEFINE DEVICE_NAME “/DEV/KEYBOARD” INT MAIN(VOID){ INT FD; INT RET; UNSIGNED CHAR BUF[1]; INT I,F,J; DOUBLE X; INT A[2]={0}; CHAR PRE_SCANCODE=0XFF; FD=OPEN(DEVICE_NAME,O_RDWR); IF(FD==-1)PRINTF(“OPEN DEVICE %S ERROR\N”,DEVICE_NAME); ELSE{ BUF[0]=0XFF; I=0;F=0; WHILE(1){ READ(FD,BUF,1);

嵌入式基础实验报告

嵌入式基础实验报告 ——Linux下编译环境的设置 姓名:张耀丹 学号:131012692 班级:13级网络工程二班

一、实验目的 1、熟悉嵌入式Linux 开发环境,学会基于UP-CUP IOT-4412-II 型网关部分平台的Linux 开 发环境的配置和使用 2、利用arm-none-linux-gnueabi-gcc 交叉编译器编译程序,使用基于NFS 的挂载方式进行 实验,了解嵌入式开发的基本过程 二、实验环境 1、硬件:UP-CUP IOT-4412-II 型网关部分嵌入式实验平台,PC 机Pentium 500 以上, 硬盘 40G 以上,内存大于256M 2、软件:Vmware Workstation + Fedora Core 14 + 超级终端/Xshell + ARM-LINUX 交叉编译开 发环境 三、实验内容 1、本次实验使用Fedora14 操作系统环境,安装ARM-Linux 的开发库及编译器。创建一个新 目录,并在其中编写hello.c 和Makefile 文件。 2、学习在Linux 下的编程和编译过程,以及ARM 开发板的使用和开发环境的设置。将已 经编译好的文件通过NFS 方式挂载到目标开发板上运行 四、实验步骤 实验目录:/UP-CUP4412/SRC/exp/basic/Cortex/ 1、编译源程序 (1)在宿主机端任意目录下建立工作目录CortexA9,实际光盘目录中已经给出本次实验所需全面文件及代码,存放在Cortex目录下。 [root@localhost ~]# mkdir CortexA9 [root@localhost ~]# cd CortexA9 (2)编写程序源代码 在Linux 下的文本编辑器有许多,常用的是vim 和Xwindow 界面下的gedit 等,我们在开发过程中推荐使用vim,用户需要学习vim 的操作方法,请参考相关书籍中的关于vim 的操作指南。Kdevelope、anjuta 软件的界面与vc6.0 类似,使用它们对于熟悉windows 环境下开发的用户更容易上手。 实际的CortexA9.c 源代码较简单,如下: #include main() { printf(“**********\n” ); printf(“CortexA9 \n”); printf(“**********\n” ); return 0; }

最新软件测试白盒测试实验报告

7.使用白盒测试用例设计方法为下面的程序设计测试用例: ·程序要求:10个铅球中有一个假球(比其他铅球的重量要轻),用天平三次称出假球。 ·程序设计思路:第一次使用天平分别称5个球,判断轻的一边有假球;拿出轻的5个球,拿出其中4个称,两边分别放2个球;如果两边同重,则剩下的球为假球;若两边不同重,拿出轻的两个球称第三次,轻的为假球。 【源程序】 using System; using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; namespace Test3_7 { [TestFixture] public class TestGetMinValue { [Test] public void AddTwoNumbers() { Random r = new Random(); int n; int[] a=new int[10]; n = r.Next(0, 9); for (int i = 0; i < a.Length; i++) { if (i == n) a[i] = 5; else a[i] = 10; } GetMin gm = new GetMin(); Assert.AreEqual(n,gm.getMinvalue(a)); }

} public class GetMin { public int getMinvalue(int[] m) { double m1 = 0, m2 = 0, m3 = 0, m4 = 0; for (int i = 0; i < 5; i++) { m1 = m1 + m[i]; } for (int i = 5; i < 10; i++) { m2 = m2 + m[i]; } if (m1 < m2) { m3 = m[1] + m[0]; m4 = m[3] + m[4]; if (m3 > m4) { if (m[3] > m[4]) return 4; else return 3; } else if (m3 < m4) { if (m[0] > m[1]) return 1; else return 0; } else return 2; } else { m3 = m[5] + m[6]; m4 = m[8] + m[9]; if (m3 < m4) { if (m[5] > m[6]) return 6;

相关文档
最新文档