南京邮电大学通信学院
实验报告
实验名称:基于ADS开发环境的程序设计
嵌入式Linux交叉开发环境的建立
嵌入式Linux环境下的程序设计
多线程程序设计
课程名称嵌入式系统B
班级学号
姓名
开课学期2016/2017学年第2学期
实验一基于ADS开发环境的程序设计
一、实验目的
1、学习ADS开发环境的使用;
2、学习和掌握ADS环境下的汇编语言及C语言程序设计;
3、学习和掌握汇编语言及C语言的混合编程方法。
二、实验内容
1、编写和调试汇编语言程序;
2、编写和调试C语言程序;
3、编写和调试汇编语言及C语言的混合程序;
三、实验过程与结果
1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。
代码1:使用C内嵌汇编
#include
int find_gcd(int x,int y)
{
int gcdnum;
__asm
{
MOV r0, x
MOV r1, y
LOOP:
CMP r0, r1
SUBLT r1, r1, r0
SUBGT r0, r0, r1
BNE LOOP
MOV r3, r0
MOV gcdnum,r3
//stop
// B stop
// END
}
return gcdnum;
}
int main()
{
int a;
a = find_gcd(18,9);
printf("gcdnum:%d\n",a);
return 0;
}
代码2:使用纯汇编语言
AREA example1,CODE,readonly
ENTRY
MOV r0, #4
MOV r1, #9
start
CMP r0, r1
SUBLT r1, r1, r0
SUBGT r0, r0, r1
BNE start
MOV r3, r0
stop
B stop
END
2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。
代码1:使用纯汇编语言
AREA examp,CODE,READONL Y
ENTRY
MOV R0,#10
MOV R1,#30
MOV R2,#20
Start
CMP R0,R1
BLE lbl_a
CMP R0,R2
MOVGT R3,R0
MOVLE R3,R2
B lbl_b
lbl_a
CMP R1,R2
MOVGT R3,R1
MOVLE R3,R2
lbl_b
B .
END
代码2:使用C内嵌汇编语言
#include
int find_maxnum(int a,int b,int c)
{
int x;
__asm
{
MOV r0,a
MOV r1,b
MOV r2,c
CMP r0,r1
BLE lbl_a //相等跳转
CMP r0,r2
MOVGT x,r0
MOVLE x,r2
//MOV r3,x
B lbl_b
lbl_a:
CMP r1,r2
MOVGT x,r1
MOVLE x,r2
//MOV r3,x
lbl_b:
}
return x;
}
int for_r3(int t)
{
//int t;
__asm
{
MOV r3,t
}
return 0;
}
int main()
{
int a;
a = find_maxnum(130,50,70);
for_r3(a);
printf("max:%d\r\n",a);
return 0;
}
3、编程实现将从地址source开始的30个字节数据复制到地址为dest的地
方。
代码:
NUM EQU 30
AREA Init, CODE, READONL Y
CODE32
ENTRY
START
LDR R0, =SOURCE
LDR R1, =DEST
MOV R2, #NUM
MOV SP, #0X400
BLKCOPY
MOV R3, R2, LSR #3
BEQ COPYWORDS
STMFD SP!, {R4-R11}
OCTCOPY
LDMIA R0!, {R4-R11}
STMIA R1!, {R4-R11}
SUBS R3, R3, #1
BNE OCTCOPY
LDMFD SP!, {R4-R11}
COPYWORDS
ANDS R2,R2, #7
BEQ STOP
WORDCOPY
LDR R3, [R0], #4
STR R3, [R1], #4
SUBS R2, R2, #1
BNE WORDCOPY
STOP
B STOP
LTORG
SOURCE DCD 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6 DEST DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 END
4、用汇编语言设计实现10!。
代码:使用纯汇编语言
AREA Fctrl,CODE,READONL Y
ENTRY
CODE32
START
MOV R8 , #10
MOV R9 , #0
SUB R0,R8,#1
Loop
MOV R1 , R9
UMULL R8 , R9 , R0 , R8
MLA R9 , R1 , R0 , R9
SUBS R0 , R0 , #1
BNE Loop
Stop B Stop
END
5、实现字符串的逆序复制TEXT1=”HELLO”=> TEXT2=”OLLEH”。代码:使用纯汇编语言
AREA invstring, CODE, READONL Y
ENTRY
ATART
ADR R1, TEXT1
ADR R2, TEXT2
MOV R3, #0
LOOP
LDRB R0, [R1], #1
ADD R3, R3,#1
CMP R0, #0
BNE LOOP
SUB R1, R1, #2
LOOP1
LDRB R0, [R1], #-1
STRB R0, [R2], #1
SUB R3, R3, #1
CMP R3, #1
BNE LOOP1
MOV R5, #&55
NOP
TEXT1 = "HELLO",0
ALIGN
TEXT2 = "OELLH"
END
6、用调用子程序的方法实现1!+2!+3!+ (10)
代码:
asmp.s
AREA JC, CODE, READONL Y
EXPORT JCP
ENTRY JCP
ADD R3, R0, #1
MOV R2, #1
MOV R1, #1
LOOP MUL R0, R1, R2 MOV R1, R0
ADD R2, R2, #1
CMP R2, R3
BNE LOOP
NOP
NOP
MOV PC, LR
END
PROGC.c
#include
Extern int JCP(int N)
int main() {
int res=0;
int m=10;
int i;
for (i=1;i<=m;i++)
res=res+JCP(i);
printf(“The result =%d\n”,res); return 0; }
四、实验小结
实验二嵌入式Linux交叉开发环境的建立
一、实验目的
1、掌握嵌入式Linux交叉开发环境的建立方法
2、学习和掌握Linux常用命令
3、学习和掌握vi编辑器的使用
二、实验内容
1、搭建嵌入式Linux交叉开发环境
2、熟悉Linux的常用命令
3、熟悉vi编辑器的常用命令
三、实验原理
Linux系统是UNIX系统的分支,是UNIX的微机版。Linux具有异常丰富的驱动程序资源,支持各种主流的硬件设备与技术。Linux包含了现代的UNIX操作系统的所有功能特性,这些功能包括多任务、虚拟内存、虚拟文件系统、进程间通信、对称所处理器、多用户支持等。
Vi编辑器是所有UNIX和Linux下的标准编辑器。它包含3种工作模式。
嵌入式系统是专用的计算机系统,它对系统的功能、可靠性、成本、体积、功耗等有严格的要求。大部分嵌入式系统没有大容量存储设备,一般不能安装大型开发软件,系统的开发需要采用交叉开发模式。
四、实验过程与结果
实验用的是UP-NetARM2410-S试验箱,里面配有三星的芯片S3c2410X。
打开电脑上VMWare软件,在Windows系统下启动虚拟机里的Linux系统。接着需要
1. 宿主机的环境搭建
下载并运行VMWare,根据向导创建一台新虚拟机并选择Linux作为客户操作系统,再根据向导安装RedHat Linux 9.0。
2. 虚拟机中启动Linux操作系统
使用root登陆,用户名为root,密码为123456。之后对共享文件设置进行调整:打开settings界面,打开shared folders功能,同时将路径设置到有课前下载的软件的目录下。
3. 开发工具软件的安装
(1)安装gcc
打开Linux后,打开终端窗口,在共享的目录下找到install.sh并运行,命令如下:
ls
. / install.sh
安装程序将自动建立/arm2410s目录,并将所有的开发软件包安装到/arm2410s 目录下,同时自动配置编译环境,建立合适的符号链接。安装完成后在目录/opt/host/armv4l/bin/下应该能看到主编译器。
(2)配置PATH路径
vi .bash.profile
将里面PATH变量改为PATH=$PATH:$HOME/bin:/opt/host/armv41/bin/;
存盘后执行
source .bash_profile
以后armv4l-unknown-linux-gcc将被自动搜索到
4. 宿主机上的开发环境配置
(1)配置IP地址
(2)关闭防火墙
(3)配置NFS。
单击“Red”菜单→“系统设置”→“服务器设置”→“服务”,在“服务配置”窗口中勾选nfs,单击“开始”
(4)NFS设置
单击“Red”菜单→“系统设置”→“服务器设置”→“NFS服务器”,打开“NFS服务器配置”窗口,设置NFS共享。
然后在NFS服务器中增加主机IP地址的链接许可和目录。完成配置。
5. 目标机的信息输出
Windows系统下,“开始”→“所有程序”→“附件”→“通讯”→“超级终端”,新建一个通信终端。区号、电话号码随意输入。设置每秒位数为“115200”,数据位为“8”,无奇偶校验,停止位为“1”,无数据流控制。
单击“确定”。
6. 程序的运行
打开超级终端,启动Linux,屏幕显示:
[/mnt/yaffs]
在超级终端上执行挂载命令:
[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs
挂载成功后可执行程序。
五、实验小结
实验三嵌入式Linux环境下的程序设计
一、实验目的
1、掌握嵌入式Linux环境下的程序设计方法
2、学会编写Makefile文件
二、实验内容
1、熟悉嵌入式教学实验箱的使用
2、编写C程序和Makefile文件
3、编译程序产生可执行程序
4、完成主机的挂载和程序的执行
三、实验原理
在嵌入式Linux环境下的程序设计方法有一下几个步骤:
1.编写源程序
2.编写Makefile文件
3.编译程序
4.运行和调试程序
5.将生产的可执行文件加入文件系统。
前三个步骤在宿主机上完成,后面的步骤在目标机上完成。
四、实验过程与关键代码分析
1. 建立工作目录
mkdir hello
cd hello
2.编写源程序
用vi编辑器编辑Hello.c文件
vi Hello.c
在Vi中输入源程序如下:
#include
main()
{
printf(“hello B14011221 \n”); //学号}
3.编写Makefile文件
vi Makefile
在vi中编辑Makefile文件如下:
CC= armv4l-unknown-linux-gcc
EXEC = hello
OBJS = hello.o
CFLAGS +=
LDFLAGS+= -static
all: $(EXEC)
$(EXEC): (OBJS)
$(CC) $(LDFLAGS) –o $@ $(OBJS)
clean:
-rm –f $(EXEC) *.elf *.gdb *.o
4.编译程序
在hello目录下运行“make”来编译程序。
make clean
make
编译成功后,生成可执行文件Hello.o。
5.下载调试
在宿主机上启动nfs服务,并将/arms2410s设置为共享目录。接下来启动超级终端,建立通讯,挂载。
挂载命令:
执行目录下的hello程序,显示如图:
五、实验小结
实验四多线程程序设计
一、实验目的
1、了解多线程程序设计的基本原理
2、学习Linux多任务管理程序的开发
3、学习pthread 常用库函数的使用
二、实验内容
1、编写多线程程序和Makefile文件
2、编译程序产生可执行程序
3、完成主机的挂载和程序的执行
三、实验原理
(1) pthread_create:创建线程函数
头文件:#include < pthread.h >
函数原型:int pthread_create(pthread_t *thread,pthread_attr_t *attr,void *(*start_routine)(void *),void *arg);
获得父进程ID:pthread_self
头文件:#include
函数原型:pthread_t pthread_self(void);
测试两个线程号是否相同:pthread_equal
头文件:#include
函数原型:int pthread_equal(pthread_t thread1,pthread_t thread2);
(2)pthread_join:使一个线程等待另一个线程结束
头文件:#include
函数定义:int pthread_join(pthread_t thread, void **retval);
描述:pthread_join()函数,以阻塞的方式等待thread指定的线程结束。当函数返回时,被等待线程的资源被收回。如果线程已经结束,那么该函数会立即返回。并且thread指定的线程必须是joinable的。
参数:thread: 线程标识符,即线程ID,标识唯一线程。retval: 用户定义的指针,用来存储被等待线程的返回值。
返回值:0代表成功。失败,返回的则是错误号。
(3)线程创建函数:pthread_t:线程句柄
类型定义:
typedef unsigned long int pthread_t;
用途:pthread_t用于声明线程ID。
sizeof(pthread_t) =8
pthread_t,在使用printf打印时,应转换为u类型。
四、实验过程与关键代码分析
实验代码:
#include
#include
#include
#include "pthread.h"
/*-Thread1-------------------------------------*/
void thread1()
{
int i=0;
while(1)
{ printf("thread1 :%d\n",i);
if (i>3)
pthread_exit(0);
i++;
sleep(1);
}
}
/*--Thread2-----------------------------*/
void thread2()
{ int i=0;
while(1)
{ printf("thread2 :%d\n",i);
if (i>5)
pthread_exit(0);
i++;
sleep(1);
}
}
/*--------------------------------------------------------*/
int main(void)
{
pthread_t t1, t2;
pthread_create(&t1, NULL, (void*)thread1, NULL);
pthread_create(&t2, NULL, (void*)thread2, NULL);
pthread_join(t1, NULL);
pthread_join(t2, NULL);
return 0;
}
实验结果:
实验问题:一开始编译的时候出错,提示pthread_create未定义。网上查询原因以后得知:pthread库不是linux系统默认的库,连接时需要使用静态libpthread.a,因此在编译时要加–lpthread参数,问题解决。
五、实验小结
南邮广播电视工程数字视频非线性编辑制作课 程设计实验报告精编 W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】
通信与信息工程学院 2016 / 2017 学年第一学期 课程设计实验报告 模块名称数字视频非线性编辑制作 专业广播电视工程 学生班级 B130114 学生学号 学生姓名陈超 指导教师姚锡林 日期: 2016 年 11 月 21 日 摘要 本次课程设计利用软件premiere进行数字视频非线性编辑制作。本文首先就本次实验主题归纳总结电视节目制作一般流程方法,接着对此次课程设计主要软件工具进行系统介绍,主要涉及实验相关借本操作的详细阐述;接下来两大章节部分先从取材、构思角度详细分析此次课程设计所做的主题内容与规划,并以此为指导再从具体操作上分步骤、多角度实现视频序列的制作;最后对本次课程设计的体味与收获进行思考。 此次作品《再次出发》电影鉴赏是将导演约翰卡尼的一部经典音乐影视作品利用premiere软件,在制作的过程中添加了转场特效,关键帧,字幕,音频等功能,并运用多种素材,重新删减编辑,形成一部情节连贯,内容完整、主题明确的电影鉴赏短片。短片的片长时间为9分40秒,大小为720*576,AVI格式,PAL制式(48Khz)。
关键词:数字视频非线性编辑制作;premiere;视频制作;
目录 第一章电视节目制作的一般流程与方法 (1) 1.1 电视节目制作一般流程 (1) 1.1.1 前期制作流程 (1) 1.1.2 后期制作工作流程 (2) 1.2 电视节目制作的一般方法 (2) 1.2.1 ENG方式 (2) 1.2.2 EFP方式 (2) 1.2.3 ESP方式 (3) 第二章 Premiere的功能介绍及操作方法 (4) 2.1 Premiere概述 (4) 2.1.1 概述 (4) 2.1.2 基本操作界面 (4) 2.2 Premiere的基本操作 (5) 2.2.1 新建项目 (5) 2.2.2 新建序列 (6)
实验报告一 实验名称:SQL语言的应用 指导教师:茅苏 实验类型:验证 实验学时:4*2 实验时间:2012年9月28日 一、实验目的和要求 练习使用SQL SERVER数据库产品,熟练使用查询分析器和企业管理器; 掌握SQL语言中常用的语句:用DDL创建基本表;用DML插入、修改、删除数据;用QL查询数据等。 二、实验环境(实验设备) 硬件:个人计算机; 软件:MS SQL SERVER环境。 三、实验原理及内容 1.用SQL SERVER的企业管理器创建数据库 数据库名称:10001927db 操作步骤:1、单击左侧的SQL Server组 右键 新建SQL Server注册 下一步 在左侧的“可用的服务器”栏选中或输入CC-PC,点击中间 的添加,将CC-PC添加到右侧的“添加的服务器”栏 下一步 选中“登录时使用Windows身份认证”,然后点击下一步 选中“在 现有SQL Server组中添加SQL Server”,然后点击下一步 完 成 关闭。 2、单击左侧的SQL Server组下面可用的已注册子组里面的数据库→ 右键→新建数据库→输入数据库名称10001927db 2.用查询分析器在上一步创建的数据库中完成以下功能 (1)进入查询分析器并选择操作的数据库 操作步骤:1、开始→程序→MS SQL Server→查询分析器 确认SQL Server(s)为CC-PC 选择Windows身份认证 点击确定 2、在工具栏的下拉链表种选择名为10001927db的数据库。 (2)建立基本表:学生、课程和选课,写出DDL语句。 要求:需为每张表建立主键,其他完整性约束可自己添加。
汇编语言程序设计实验 一、实验内容 1.学习并掌握IDE86集成开发环境的使用,包括编辑、编译、链接、 调试与运行等步骤。 2.参考书例4-8,P165 (第3版161页)以单步形式观察程序的 执行过程。 3.修改该程序,求出10个数中的最大值和最小值。以单步形式观 察,如何求出最大值、最小值。 4.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态。 二、实验目的 1.学习并掌握IDE86集成开发环境的使用 2.熟悉汇编语言的基本算法,并实际操作 3.学会利用IDE86进行debug的步骤 三、实验方法 1.求出10个数中的最大值和最小值 (1)设计思路:利用冒泡法,先对数据段的10个数字的前2个比 较,把二者中大的交换放后面。在对第二个和第三个数比较,把 二者中较大的交换放后面,依此类推直到第十个数字。这样第十 位数就是10个数里面最大的。然后选出剩下9个数字里面最大 的,还是从头开始这么做,直到第九个数字。以此类推直到第一 个数字。
(2)流程图 2.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态
(1)设计思路:结果存放在sum里面,加数是i(初始为1),进行 100次循环,sum=sum+I,每次循环对i加1. (2)流程图: 四、 1.求出10个数中的最大值和最小值
DSEG SEGMENT NUM DB -1,-4,0,1,-2,5,-6,10,4,0 ;待比较数字 DSEG ENDS CODE SEGMENT ASSUME DS:DSEG,CS:CODE START:MOV AX,DSEG MOV DS,AX LEA SI,NUM MOV DX,SI MOV CL,9 ;大循环计数寄存器初始化 NEXT1:MOV BL,CL ;大循环开始,小循环计数器初始化MOV SI,DX NEXT2:MOV AL,[SI+1] CMP [SI],AL ;比较 JGGONE ;如果后面大于前面跳到小循环末尾CHANGE:MOV AH,[SI] ;交换 MOV [SI+1],AH MOV [SI],AL JMP GONE GONE:add SI,1 DEC BL JNZ NEXT2
课程设计I报告 题目:课程设计 班级:44 姓名:范海霞 指导教师:黄双颖 职称: 成绩: 通达学院 2015 年 1 月 4 日
一:SPSS的安装和使用 在PC机上安装SPSS软件,打开软件: 基本统计分析功能包括描述统计和行列计算,还包括在基本分析中最受欢迎的常见统计功能,如汇总、计数、交叉分析、分类比较、描述性统计、因子分析、回归分析及聚类分析等等。具体如下: 1.数据访问、数据准备、数据管理与输出管理; 2.描述统计和探索分析:频数、描述、集中趋势和离散趋势分析、分布分析与查看、正态性检验与正态转换、均值的置信区间估计; 3.交叉表:计数;行、列和总计百分比;独立性检验;定类变量和定序变量的相关性测度; 4.二元统计:均值比较、T检验、单因素方差分析; 5.相关分析:双变量相关分析、偏相关分析、距离分析; 6.线性回归分析:自动线性建模、线性回归、Ordinal回归—PLUM、曲线估计; 7.非参数检验:单一样本检验、双重相关样本检验、K重相关样本检验、双重独立样本检验、K重独立样本检验; 8.多重响应分析:交叉表、频数表; 9.预测数值结果和区分群体:K-means聚类分析、分级聚类分析、两步聚类分析、快速聚类分析、因子分析、主成分分析、最近邻元素分析; 10. 判别分析; 11.尺度分析; 12. 报告:各种报告、记录摘要、图表功能(分类图表、条型图、线型图、面积图、高低图、箱线图、散点图、质量控制图、诊断和探测图等); 13.数据管理、数据转换与文件管理; 二.数据文件的处理 SPSS数据文件是一种结构性数据文件,由数据的结构和数据的内容两部分构成,也可以说由变量和观测两部分构成。定义一个变量至少要定义它的两个属性,即变量名和变量类型其他属性可以暂时采用系统默认值,待以后分析过程中如果有需要再对其进行设置。在spss数据编辑窗口中单击“变量视窗”标签,进入变量视窗界面,即可对变量的各个属性进行设置。 1.创建一个数据文件数据 (1)选择菜单【文件】→【新建】→【数据】新建一个数据文件,进入数据编辑窗口。窗口顶部标题为“PASW Statistics数据编辑器”。 (2)单击左下角【变量视窗】标签进入变量视图界面,根据试验的设计定义每个变量类型。
《操作系统教程》南邮正式版 习题解答 第三章进程管理与调度习题 1、什么是多道程序设计?多道程序设计利用了系统与外围设备的并行工作能力,从而提高工作效率,具体表现在哪些方面? 答: 让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种设计技术称“ 多道程序设计”,这种计算机系统称“多道程序设计系统” 或简称“多道系统”。在多道程序设计的系统中,主存储器中同时存放了多个作业的程序。为避免相互干扰,必须提供必要的手段使得在主存储器中的各道程序只能访问自己的区域。 提高工作效率,具体表现在: ?提高了处理器的利用率; ?充分利用外围设备资源:计算机系统配置多种外围设备,采用多道程序设计并行工作时,可以将使用不同设备的程序搭配在一起同时装入主存储器,使得系统中各外围设备经常处于忙碌状态,系统资源被充分利用; ?发挥了处理器与外围设备以及外围设备之间的并行工作能力; 从总体上说,采用多道程序设计技术后,可以有效地提高系统中资源的利用率,增加单位时间内的算题量,从而提高了吞吐率。 2、请描述进程的定义和属性。 答: 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配、调度和保护的独立单位。 进程的属性有:结构性?共享性?动态性?独立性?制约性?并发性 3、请描述进程与程序的区别及关系。 答:
程序是静止的,进程是动态的。进程包括程序和程序处理的对象(数据集),进程能得到程序处理的结果。进程和程序并非一一对应的,一个程序运行在不同的数据集上就构成了不同的进程。通常把进程分为“系统进程”和“用户进程”两大类,把完成操作系统功能的进程称为系统进程,而完成用户功能的进程则称为用户进程。 4、进程有哪三种基本状态?三种进程状态如何变化? 答: 通常,根据进程执行过程中不同时刻的状态,可归纳为三种基本状态: ·等待态:等待某个事件的完成; ·就绪态:等待系统分配处理器以便运行; ·运行态:占有处理器正在运行。 进程在执行中状态会不断地改变,每个进程在任何时刻总是处于上述三种基本状态的某一种基本状态,进程状态之间转换关系: 运行态→等待态往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。等待态→就绪态则是等待的条件已满足,只需分配到处理器后就能运行。 运行态→就绪态不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成就绪态。例如时间片用完,或有更高优先级的进程来抢占处理器等。 就绪态→运行态系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成了运行态。 5、进程控制块是什么,有何作用?通常进程控制块包含哪些信息? 答: 进程控制块(Process Control Block,简称PCB),是操作系统为进程分配的用于标志进程,记录各进程执行情况的。进程控制块是进程存在的标志,它记录了进程从创建到消亡动态变化的状况,进程队列实际也是进程控制块的链接。操作系统利用进程控制块对进程进行控制和管理。 ·标志信息含唯一的进程名 ·说明信息有进程状态、等待原因、进程程序存放位置和进程数据存放位置 ·现场信息包括通用、控制和程序状态字寄存器的内容 ·管理信息存放程序优先数和队列指针 进程控制块的作用有:
_* 南京邮电大学通信学院 实验报告 实验名称:基于ADS开发环境的程序设计 嵌入式Linux交叉开发环境的建立 嵌入式Linux环境下的程序设计 多线程程序设计 课程名称嵌入式系统B 班级学号 姓名 开课学期2016/2017学年第2学期
实验一基于ADS开发环境的程序设计 一、实验目的 1、学习ADS开发环境的使用; 2、学习和掌握ADS环境下的汇编语言及C语言程序设计; 3、学习和掌握汇编语言及C语言的混合编程方法。 二、实验内容 1、编写和调试汇编语言程序; 2、编写和调试C语言程序; 3、编写和调试汇编语言及C语言的混合程序; 三、实验过程与结果 1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。 代码1:使用C内嵌汇编 #include
printf("gcdnum:%d\n",a); return 0; } 代码2:使用纯汇编语言 AREA example1,CODE,readonly ENTRY MOV r0, #4 MOV r1, #9 start CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE start MOV r3, r0 stop B stop END 2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。 代码1:使用纯汇编语言 AREA examp,CODE,READONL Y ENTRY MOV R0,#10 MOV R1,#30 MOV R2,#20 Start CMP R0,R1 BLE lbl_a CMP R0,R2 MOVGT R3,R0 MOVLE R3,R2 B lbl_b lbl_a CMP R1,R2 MOVGT R3,R1 MOVLE R3,R2 lbl_b B . END 代码2:使用C内嵌汇编语言 #include
西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子
程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位
南邮单片机实验报告 篇一:南邮数据库实验报告 数据库实验报告 ( XX / XX 学年第二学期)? ? 学号 姓名 指导教师 成绩 一、数据库原理第一次实验 【一】实验内容: 数据库表的建立与管理【二】、实验目的: 学习数据库及表的建立、删除、更新等操作。 注:本次实验题目,除了特殊要求,以T-SQL为主,并将所有语句标注好题号,留存在查询界面上,方便检查。【三】、实验题目及其解答: 1、创建一名为‘test’的数据库; CREATE DATABASE test 2、在“test”数据库中新建一张部门表“部门”,输入列:name(char,10位),ID(char,7位),manager (char,10位)各列均不能为空值。
Solution: use test CREATE TABLE 部门 (ID CHAR(7) NOT NULL,name CHAR(10) NOT NULL,manager CHAR(10) NOT NULL) 结果: 3、在“test”数据库中新建一张员工表,命名为 “员工”。在表中输入以下各列: name(char,10位),personID(char,7位),Sex(char,7位),birthday(datetime),deptID(char,7位),各列均不能为空值。 CREATE TABLE 员工 (name CHAR(10) NOT NULL, personID CHAR(7) NOT NULL, sex CHAR(7) NOT NULL, birthday datetime NOT NULL, deptID CHAR(7) NOT NULL) 结果: 4、修改表的操作练习: 1)将‘部门’表中的列ID设为主键; 2)将‘员工’表中personID设为主键,并将deptID设置为外键,关联到‘部门’表上的‘ID’列; 3)在‘部门’表中,添加列quantity(char, 5); 4) 删除‘员工’表中的列‘sex’; 5)修改‘员工’表中列name为(varchar,8) ALTER TABLE 部门 ADD CONSTRAINT C1 PRIMARY KEY(ID) ALTER TABLE 员工ADD CONSTRAINT C2 PRIMARY
实验报告 2013 /2014 学年第二学期 实验名称SQL语言的应用专业广播电视工程 学生学号11003829 学生姓名____林钢_____ 指导教师胥备
SQL语言的应用实验报告 实验名称:SQL语言的应用 指导教师:胥备 实验类型:验证 实验学时:4*2 实验时间:2014年3月18日 一、实验目的和要求 练习使用SQL SERVER数据库产品,熟练使用查询分析器和企业管理器; 掌握SQL语言中常用的语句:用DDL创建基本表;用DML插入、修改、删除数据;用QL查询数据等。 二、实验环境(实验设备) 硬件:个人计算机; 软件:MS SQL SERVER环境。 三、实验原理及内容 1.用SQL SERVER的企业管理器创建数据库 数据库名称:M11003829 操作步骤:1、单击左侧的SQL Server组→右键→新建SQL Server注册→下一步→在左侧的“可用的服务器”栏选中或输入CC-PC→点击中间 的添加将CC-PC添加到右侧的“添加的服务器”栏→下一步→选 中“登录时使用Windows身份认证”→点击下一步→选中“在现 有SQL Server组中添加SQL Server”→点击下一步→完成→关 闭。 2、单击左侧的SQL Server组下面可用的已注册子组里面的数据库→ 右键→新建数据库→输入数据库名称M11003829 2.用查询分析器在上一步创建的数据库中完成以下功能 1)进入查询分析器并选择操作的数据库 操作步骤:1、开始→程序→MS SQL Server→查询分析器
设置:确认SQL Server(s)为CC-PC 选择Windows身份认证 确定 2、在工具栏的下拉链表种选择名为M11003829的数据库。 2)建立基本表:学生、课程和选课,写出DDL语句 建立学生表、插入数据。 学生 学号姓名年龄性别 S1 WANG 20 M S2 LIU 19 F S3 CHEN 22 M S4 WU 19 M S5 LI 21 F Create TABLE STUDENT ( SNO VARCHAR(7) NOT NULL, SNAME VARCHAR(10)NOT NULL, AGE INT NOT NULL, SEX VARCHAR(7), Primary Key(SNO), ); use M11003829; Insert Into STUDENT Values ('S1' ,'WANG', '20', 'M'); Insert Into STUDENT Values ('S2', 'LIU','19',' F'); Insert Into STUDENT Values ('S3', 'CHEN' ,'22', 'M'); Insert Into STUDENT Values ('S4', 'WU', '19', 'M'); Insert Into STUDENT Values ('S5', 'LI', '21', 'F'); 建立课程表、插入数据。
《微型计算机原理与接口技术》 上机实验 学院:电子科学与工程 专业:电磁场与无线技术 姓名:陈秀慧 课程号:B0300062S 学号: B14020604 任课老师:欧晓鸥 2016年 3 月 21日
一、实验目的 熟悉第四章汇编语言程序设计中简化段定义格式,汇编语言循环结构的实现,DOS功能的调用等功能,以及算术运算程序设计中字符串处理程序设计中内容的显示,十六进制ASCII码与各数值的转化,比较搜索等命令。 二、实验任务 1.在微型计算机上用汇编语言编程完成实验内容所规定的实验; 2.记录源代码和程序调试过程; 3.完成实验报告。 三、主要仪器设备 硬件:微型计算机 软件:未来汇编 四、实验内容 上机题1.显示5行HELLO 源程序: .486 DATA SEGMENT USE16 MESG DB 'HELLO' DB 0,0,0 DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX MOV ES,AX MOV CX,5 LL1: MOV MESG+5,0DH MOV MESG+6,0AH MOV MESG+7,'$' CALL DISP MOV MESG+5,0 MOV MESG+6,0 MOV MESG+7,0 LOOP LL1 MOV AH,4CH INT 21H DISP PROC MOV AH,9 MOV DX,OFFSET MESG INT 21H RET
DISP ENDP CODE ENDS END BEG 运行结果: 上机题2.询问用户姓名并等待输入,用户输入姓名后按回车键程序再把输入的姓名复制显示在屏幕上 源程序: .586 DATA SEGMENT USE16 MESG DB 'What is your name?$' MESG2 DB '?(Y/N)$' BUF DB 30 DB ? DB 30 DUP(?) DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX AGAIN:MOV AH,9 MOV DX,OFFSET MESG INT 21H MOV AH,0AH MOV DX,OFFSET BUF
目录 第一章技术指标 (2) 1.1 系统功能要求 (2) 1.2 系统结构要求 (2) 1.3 电气指标 (2) 1.4 设计条件 (2) 第二章整体方案设计 (2) 2.1 整体方案 (2) 2.2 整体原理及方框图 (2) 第三章单元电路设计 (4) 3.1 频率控制电路设计 (4) 3.2 计数器设计(256) (5) 3.3 存储器及正弦函数表 (6) 3.4 D/A(II)正弦波产生电路 (7) 3.5幅度控制 (8) 3.6 阻抗控制 (9) 3.7整体电路图 (9) 3.7 整体元件清单(理论值) (9) 第四章测设与调整(数据) (11) 4.1 频率控制电路调测 (11) 4.2 地址计数器电路调测如下: (11) 4.3 存贮器电路调测(R=1千欧) (11) 4.4 数字幅度电路调测 (11) 4.5 波形扩展 (11) 4.6 整体指标测试 (12) 第五章设计小结 (13) 5.1电子电路课程设计的意义 (13) 5.2 设计任务完成情况 (13) 5.3 问题及改进 (13) 5.4 心得体会 (14) 附录 (15) 参考文献 (15) 主要芯片介绍: (15)
第一章技术指标 1.1 系统功能要求 数控正弦函数信号发生器的功能是,用数字电路技术产生正弦波信号。正弦波输出信号的频率和电压幅度均由数字式开关控制。 1.2 系统结构要求 数控正弦波信号发生器的结构要求如图(1)所示,其中正弦波发生器采用数字电路产生正弦信号,频率选择开关用于选择输出信号的频率,幅度选择开关用于选择输出信号电压幅度。频率选择开关和幅度选择开关均应采用数字电路。 1.3 电气指标 输出信号波形:正弦波 输出信号频率范围:1kHz~5kHz 输出信号最大电压:2.8V (峰峰值) 输出阻抗:50Ω 幅度选择档位:5档 波形可选择:方形,正弦波,三角波,斜波 输出频率最小步长:20Hz 1.4 设计条件 电源条件:+5V,-5V ?可供选择器件如下: ?型号名称及功能数量 ?DAC0832 8位D/C转换电路 2 ?MC4046 锁相电路 1 ?28C64B EEPROM存储器 1 ?T4LS393 双16进制计数器 1 ?MC4051 四模拟开关 1 ?TL084 运算放大器 1 ?8路开关双制直插式微型开关 2 ?MC4060 与晶振为频率器 1 ?CD7474 双D型触发器 3 ?CD7404 六反向器 1 ?74139 译码器 2 ?LED 二极管12 ?单开关开关 3 ?晶振32768k 1 ?其他若干电阻,电容 第二章整体方案设计 2.1 整体方案 事先对正弦波进行取样,把各个取样点的取样值存入存储器构成正弦函数表(可以存入一个周期完整信号,也可以存入半个周期或1/4周期)。通过数字频率控制电路对正弦函数表的读取,再把读出的取样值取出还原成原始的正弦信号。 2.2 整体原理及方框图
实验报告 ( 2011 / 2012 学年第二学期) 课程名称ARM嵌入式系统原理与开发 实验名称嵌入式Linux交叉开发环境建立与程序开发实验时间2012 年 6 月21 日指导单位计算机学院 指导教师王诚 学生姓名颜泽鑫班级学号B09011027 学院(系) 通信与信息工程专业电子信息工程
实验一、熟悉Linux开发环境 实验目的: 熟悉Linux开发环境,学会基于S3C2410的Linux开发环境的配置和使用,学习使用Linux操作系统的常用命令。使用Linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。 实验内容与要求: 使用Redhat Linux 9.0操作系统环境,安装ARM-Linux的开发库及编译器。创建一个新目录,并在其中编写hello.c和Makefile文件。学习在Linux下的编程和编译过程,以及ARM开发板的使用和开发环境的设置。下载已经编译好的文件到目标开发板上运行。 学会集成环境的安装与开发。 实验设备及工具(包括软件调试工具): 硬件:UP-NETARM2410-S嵌入式实验平台、PC机Pentium 500以上, 硬盘10GB以上。 软件:PC机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX开发环境。 实验过程: 运行PC机上的Linux系统,进入系统后,建立工作目录,所用语句如下:[root@zxt smile]# mkdir hello [root@zxt smile]# cd hello 编写的hello.c如下: #include
微机原理与接口技术 实验报告 学院:计算机与通信工程学院 专业:计算机科学与技术 班级: 学号: 姓名:
实验一8259中断控制器应用实验 一、实验目的 1.掌握PC机中断处理系统的基本原理。 2. 掌握可编程中断控制器8259的应用编程方法。 二、实验内容 1.PC机内中断实验。使用单次脉冲模拟中断产生。验证中断处理程序,在显示器屏幕上显示一行预设定的字符串。 2.PC机内中断嵌套实验。使用单次脉冲模拟两个中断源的中断产生,填写中断处理程序,体会中断嵌套的过程。 3.扩展多中断源查询方式应用实验。利用实验平台上8259控制器作为中断扩展源,编写程序对8259控制器的中断请求进行处理。 三、实验步骤 1.实验1-1:PC机内中断应用实验 (1)按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,屏幕显示结果截图如下: (2)自设计实验。改变接线方式,将单次脉冲连到USB核心板上的IRQ10插孔上,参考本实验代码,编程实现IRQ10中断。(注意:考虑PC机内中断级联的方式,参看前面的原理说明),代码如下: DA TA SEGMENT MESS DB 'IRQ10 ',0DH,0AH, '$' DA TA ENDS
CODE SEGMENT ASSUME CS:CODE, DS:DA TA START: MOV AX, CS MOV DS, AX MOV DX,OFFSET INT10 MOV AX,2572H ;设置IRQ10对应的中断向量 INT 21H IN AL,21H ;读取中断屏蔽寄存器 AND AL,0F3H ;开放IRQ3中断和从片 OUT 21H,AL IN AL,0A1H ;从片的中断屏蔽寄存器 AND AL,0FBH ;开放IRQ10中断 OUT 0A1H,AL MOV CX,10 STI WAIT: JMP W AIT INT10: MOV AX, DATA ;中断服务程序 MOV DS, AX MOV DX, OFFSET MESS MOV AH, 09 ;在屏幕上显示每次中断的提示信息 INT 21H MOV AL, 20H ; 发出EOI结束中断到PC内主片的地址20H OUT 20H, AL LOOP NEXT IN AL, 21H ;读中断屏蔽寄存器,获取中断屏蔽字 OR AL, 08H ;关闭IRQ3中断 OUT 21H, AL ;将中断屏蔽字送到中断屏蔽寄存器 STI ;置中断标志位 MOV AH, 4CH ;返回DOS INT 21H NEXT: IRET ;中断返回 CODE ENDS END START 调用程序代码,观察实验现象,屏幕显示截图如下:
通信与信息工程学院2015/2016 学年第一学期课程设计实验报告 模专块名称 业 ARM 嵌入式开发 电子信息工程 学生班级学生学号学生姓名
指导教师余雪勇
实验内容 一、基本要求 在基本要求中,需要从11 个测试程序中选做8 个,以下是对8 个程序的实验过程的叙述,包括实验前的硬件连接准备、软件环境配置(串口工具、dnw、ADS、交叉编译环境等)、每个实验的关键代码以及简单分析。 1、硬件连接 用USB 线、串口线把开发板连到电脑相应的端口,再将电源线插好。 2、软件环境配置 设置串口工具SecureCRT 解压在“windows 平台开发工具包\”目录下的“SecureCRT.rar”后,即可使用SeureCRT,双击图标,打开SecureCRT,如下图所示: 点击图中红色方框图标,出现下图的设置窗口:
在 Ptotocol 里面选择 Serial,出现如下图所示的对话框,详细设置 参考下图,超级终端设置部分,不再重复。 注意:Port 选项部分根据您实际使用的端口进行配置,其他选项请一 定配置如下图所示。 配置完毕后,点击上图的“Connect”选项即可连通串口。 DNW 设置 DNW 在这里是我们的.bin 文件下载软件,可实现我们向 flash 或者内存当中烧写程序的功能。 直接双击“Windows 平台工具\DNW”目录下的DNW 软件,出现下图: (1)点击“Configuration”菜单的“Options”,出现“UART\USB
Options”配置 (2)配置如下图: 3、实验前准备 串口工具和开发板连接成功后,将选择开关打到norflash,并按一下重启键,开发板则自动按照选择从norflash 启动。此时,如果 SecureCRT 界面显示如下,则表示串口工具已经工作正常: 一般出厂光盘里面已经有许多bin 文件了,其中包括我们此处所说的 TQ2440_Test 的bin 文件。我们也可以参考以下步骤,使用ADS1.2 生成自己的“*.bin”文件。 (1)、安装ADS1.2(ARM Developer Suite v1.2,一款针对ARM 的开发套件),并使用ADS打开天嵌科技的出厂自带的测试程序。 (2)、点击compile 键进行编译,点击make 键生成我们此处所需要的“*.bin”文件生成自己的 bin 文件之后,就可以使用SecureCRT 配合dnw 来实现对bin 文件的下载了:操作步骤其实和上面烧写出厂程序一样,在此再详细叙述一下:
课内实验报告 课程名:数据库原理与应用任课教师: 专业: 学号: 姓名: 2014/2015学年第2学期 南京邮电大学管理学院
指导教师成绩评定表 题 目学生成绩管理数据库的建立 学生姓名班级学号专业 评分内容评分标准总分评分 平时成绩10%认真对待课程设计,遵守实验室规定,上机不迟到早退,不 做和设计无关的事。 10数据设计是否完整、合理10流程设计是否全面、深入10 设计内容 30% 界面设计是否美观易用10 文档内容是否完整、逻辑清晰10 文档写作 20%文档格式是否符合要求10运行效果20 系统运行 40%现场问题的回答20 总评分 其他问题 成绩指导教师签名翟丹妮日期2015.6.10
……系统设计与开发 一.问题描述 1.场景介绍 学生成绩管理数据库的建立 2.存在的问题 数据录入方式的问题,查询问题,sql语言的编写 3.解决方式 你的系统打算通过什么方式来解决这些问题 使用ACCESS数据库来处理 二.系统分析 1.用户分析 教师、学生 2.流程分析 设计学生数据结构,输入信息,排版建立窗体搜索 3.数据分析 学生(学号,姓名,性别,年龄,籍贯,班级代号)课程(课程号,课程名称,学分数,教师代号) 成绩(学号,课程号,成绩,考试时间) 教师(教师代号,姓名,性别,年龄,职称) (1)构建一个教学管理关系数据库如下: 学生(学号,姓名,性别,年龄,籍贯,班级代号)课程(课程号,课程名称,学分数,教师代号) 成绩(学号,课程号,成绩,考试时间) 教师(教师代号,姓名,性别,年龄,职称) 4.功能分析 针对各类用户,你的系统打算分别提供哪些功能 学生成绩的录入,搜索,排名等
1.1 程序修改 .486 DATA SEGMENT USE16 SUM DB ?,? MESG DB '25+9=' DB 0,0,'$' N1 DB 9,0F0H N2 DB 25 DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX MOV BX,OFFSET SUM MOV AH,N1 MOV AL,N2 ADD AH,AL MOV [BX],AH CALL CHANG MOV AH,9 MOV DX,OFFSET MESG INT 21H MOV AH,4CH INT 21H CHANG PROC LAST: CMP BYTE PTR [BX],10 JC NEXT SUB BYTE PTR[BX],10 INC BYTE PTR [BX+7] MOV AH, BYTE PTR[BX] JMP LAST NEXT: MOV DX,WORD PTR SUM ADD [BX+8],DX ADD BYTE PTR [BX+7],30H ADD BYTE PTR [BX+8],30H RET CHANG ENDP CODE ENDS END BEG
2.3.4从数据段NUM单元开始存有9个有符号数,并编写一个程序实现:找出最小值存放到数据段MIN单元,并将负数的个数以十进制的形式显示在屏幕上。 .486 DATA SEGMENT USE16 NUM DB -8,-44,-88,-37,2,-1,8,-26,-18 MIN DB ? AB DB '0' DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE , DS:DATA BEG: MOV AX,DATA MOV DS,AX MOV BX,OFFSET NUM MOV CH,0 MOV CL,9 AGAIN: CMP BYTE PTR [BX] ,0 JG NEXT1 INC AB CMP BYTE PTR [BX], CH JG NEXT1 MOV CH,BYTE PTR [BX] NEXT1: INC BYTE PTR BX DEC CL
新疆大学 实习(实训)报告 实习(实训)名称:电工技能实践 学院:电气工程学院 专业、班级:电气15-3班 指导教师:娄毅力报告人: 学号: 时间:2017年6月19日
1 电机的启动和点动 1.1目的要求 a.通过操作加深对电机启动原理的理解 b.能正确连线,并安全启动 1. 2线路图 电机启动电路图 主电路: (1)隔离开关QS (2)熔断器FU (3)接触器KM1的常开主触点 (4)电动机M 控制电路 (1)开关SB3、SB1和SB2 (2)接触器KM1线圈的常开辅助触点 (3)SB2的常闭触头 1.3启动原理
在定子绕组上通三相交流电,定子绕组内(结合定子铁心)就会产生旋转磁场,当磁力线切割转子绕组时,转子绕组会在电磁感应作用下产生电流,结果就形成自己的磁场。在定子磁场与转子磁场相互作用时,转子就随定子磁场旋转而转动。(电动机就启动了)电能---------磁能------电磁感应------电能------磁能。磁能与磁能相互作用。电能就转变成机械能。 1.4步骤 1)起动电动机合上三相隔离开关QS,合上开关SB3、SB1、SB2常开触点, 接触器KM1吸引线圈得电,3对常开主触点闭合,将电动机M接入电源,电动 机开始起动。 2)停止电动机断开开关SB1,SB2常开触点,接触器KM1的线圈失电,其主触点和辅助触点均断开,电动机脱离电源,停止运转。 1.5实际接线图
电机启动实物图 2 三相异步电动机的正反转 2.1目的要求 a.通过操作加深对电机启动原理的理解; b.能正确连线,并安全启动; 2.2线路图 由两条启动支路构成,且在对方支路中相互串联上彼此的常闭辅助触头,使一个接触器线圈得电吸合后另一个接触器因所串联的常闭辅助触头断开而受到制约无法得电,保证了KM1,KM2不能同时得电,从而可靠地避免了两相电源短路事故的发生,电路安全、可靠。这种在一个接触器得电动作时通过其常闭辅
微 机 原 理 实 验 报 告 班级: 指导老师:学号: 姓名:
实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 图3-1
四、参考程序清单 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) DATA ENDS STACK SEGMENT STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX
MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL ADDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC AD2: MOV AL,[SI] MOV BL,[DI] ADC AL,BL