北邮微机硬件实验报告

北邮微机硬件实验报告
北邮微机硬件实验报告

微机原理硬件实验报告

姓名:chi

第一次基本的I/O实验

实验一I/O地址译码

一实验目的

掌握I/O地址译码电路的工作原理

二实验原理和内容

1实验电路如图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D 触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O”地址输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,….. 当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必又一根译码线输出负脉冲。利用负脉冲控制L7闪烁发光(亮,灭,亮,灭),时间间隔通过软件延时实现。

2 接线:Y4/IO地址接CLK/D触发器

Y5/IO地址接SD/D触发器

D/D触发器接SD/D触发器接+5V

Q/D触发器接L7

三流程图

四源代码

DATA SEGMENT

DATA ENDS

STACK SEGMENT STACK 'STACK'

STACK ENDS

CODE SEGMENT

ASSUME DS: DATA, CS: CODE, SS: STACK START: MOV DX,2A0H

OUT DX,AL ;Y4输出一个负脉冲

CALL DELAY ;延迟

MOV DX,2A8H

OUT DX,AL ;Y5输出一个负脉冲

CALL DELAY ;延迟

MOV AH,1

INT 16H ;键盘检测

JZ START ;无输入则继续循环

MOV AH,4CH

INT 21H

DELAY PROC NEAR ;延时子程序

MOV BX,100H

WAIT1: MOV CX,0FFFFH

WAIT2: LOOP WAIT2

DEC BX

JNZ WAIT1

RET

DELAY ENDP

CODE ENDS

END START

五实验结果讨论

通过I/0地址译码线的选择来控制小灯的闪烁发光(亮,灭,亮,灭),时间间隔通过软件延时调整。

六问题解决与心得体会

第一次实验,我对汇编编程还有硬件电路都不太了解。我不知道为什么通过I/O地址译码的选择就能控制小灯的闪烁。后来经过慢慢看讲义,慢慢看程序,我理解了。当CPU执行I/O指令,译码器选中某个地址时,就会输出低电平。通过负脉冲触发D触发器,控制小灯的闪烁。

经过这次实验,我对I/O地址译码有了了解。我熟悉了微机原理硬件实验的流程,为下面的实验做好了准备。

实验二简单并行接口

一实验目的

掌握简单并行接口的工作原理及使用方法

二实验原理和内容

1 按下面图示简单并行输出接口电路图连接电路。74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7,

2 编程从键盘输入一个字符或数字,将其ASCII码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。

3 连线:安图接线,图中虚线为实验所需接线。

三流程图

四源代码

DATA SEGMENT

DATA ENDS

STACK SEGMENT STACK 'STACK'

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE ,DS:DATA,SS:STACK

STAR: MOV AH,01H

INT 21H ;输入单个字符

CMP AL,1BH ;是否退出

JZ EXIT ;跳转到EXIT

MOV DX,2A8H

OUT DX,AL ;输出ASCII码到74LS273

JMP STAR

EXIT: MOV AL,00H ;熄灭LED

MOV DX,2A8H

OUT DX,AL

MOV AH,4CH

INT 21H

CODE ENDS

END STAR

五实验结果讨论

在电脑键盘上面按键,然后在7个LED小灯通过亮灭来显示相应的ASCII码

六问题解决与心得体会

这次实验遇到的问题主要是软件编程方面。因为理论课比较迟,我对DOS调用输入字符的指令不太了解。经过查书,我知道了相关的代码,顺利的完成了实验。

总的来说,这个实验还是很简单的。通过这次实验,我进一步的了解了译码电路的工作原理,对硬件的I/O接口有了的认识,为以后的实验打下了基础。

第二次可编程并行接口8255实验

实验四七段数码管

一实验目的

掌握数码管显示数字的原理

二实验原理和内容

1 静态显示:按图所示连线好电路,将8255的A口PA0 ~PA7分别于七段数码管的段码驱动输入端a~dp相连,位码驱动输入端S0,S1,S2,S3接PC0,PC1,PC2,PC3,编程在数码管显示自己的学号后四位

2 接线:PA7~PA0/8255 接dp~a/LED数码管

PC3~PC0/8255 接S3~S0/LED数码管

CS/8255 接Y1/IO地址

DATA SEGMENT

CHANGE DB 01H ;控制位码的选通

NUM DB 06H,6FH,6DH,3FH ;学号后四位"1950",数码管段码

DATA ENDS

STACK SEGMENT STACK 'STACK'

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

START: MOV AX,DATA

MOV DS,AX

MOV DX,28BH ;控制寄存器端口地址

MOV AL,10000000B ;设置工作方式控制字,A口输出段码,

OUT DX,AL ;C口1到4输出位码

BEGIN: MOV CX,4 ;显示4位数

MOV SI,OFFSET NUM ;SI决定显示的数字

MOV CHANGE,01H ;CHANGE决定选中哪个数码管

LOOP0: MOV DX,28AH ;C口地址,控制数码管选通

MOV AL,CHANGE

OUT DX,AL

MOV DX,288H ;A口地址,控制数码管显示的数字

MOV AL,[SI]

OUT DX,AL

CALL DELAY ;延迟

MOV AL,0 ;段码置零

OUT DX,AL

ROL CHANGE,1 ;移位

INC SI ;显示下一个字符

MOV AH,01H

INT 16H

JNZ EXIT ;有输入则跳出

DEC CX

JZ BEGIN ;四位都显示了,重头再显示

JNZ LOOP0 ;显示下一位

EXIT: MOV AH,4CH

INT 21H

DELAY PROC NEAR ;延时子程序

PUSH BX ;保护现场

PUSH CX

MOV BX,0010H

WAIT1: MOV CX,00FFH

WAIT2: LOOP WAIT2

DEC BX

JNZ WAIT1

RET

POP CX

POP BX

DELAY ENDP

CODE ENDS

END START

五实验结果

在这个实验中我完成了4位学号的数码管静态显示。

六问题解决与心得体会

在这个实验中我遇到的主要问题是延时的控制和数码管选通的控制。由于数码管是共阴极的,在同一时间只能显示同一字符。我们利用视觉暂留的原理,通过扫描的方式来实现数码管显示4位学号。扫描延时的时间要控制好,不然数码管显示的效果不理想,因此我多次修改延迟的长短,最后终于得到了令人满意的效果。

这次实验是8255的第一个实验,要求静态显示数码管,总的来说比较简单。通过这个实验,我对可编程并行接口芯片8255的工作原理有了一定的理解,并且掌握了8255的编程方法。数码管的静态显示是后面实验的基础,在小键盘显示控制的实验,8253音乐播放的实验和8251串行口双机通信的实验中都要用到。

实验五键盘显示控制实验

一实验目的

1 掌握8255控制键盘及显示电路的基本功能和编程方法

2 掌握一般键盘和显示电路的工作原理

二实验原理和内容

1 编程:使得在小键盘上每按一个键,数码管上显示出相应字符,题目的对应关系如下:

2 连线:PA7~PA0/8255 接dp~a/LED数码管

PC7~PC0/8255 接行3~列0/4*4键盘

CS/8255 接Y1/IO地址

PB3~PB0/8255 接S3~S0/LED数码管

(或哪位数码管要显示则位选S接+5V高电平,不想显示的数码管接GND低电平)

三流程图

四源代码

;实验5键盘显示控制 8255

;A口 288H,B口 289H,C口 28AH 控制口 28BH ;A口输出数码管,C口高位输出,底位输入。

;控制字10000001B

DATA SEGMENT

NUM DB ? ;存储小键盘按键要显示的段码

DATA ENDS

STACK SEGMENT STACK 'STACK'

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE ,DS:DATA,SS:STACK

STAR: MOV AX,DATA

MOV DS,AX

MOV DX,28BH ;控制寄存器端口地址

MOV AL,10000001B ;设置工作方式控制字,A口输出段码

OUT DX,AL ;C口高四位输出,第四位输入

TESTC: MOV DX,28AH

MOV AL,11101111B ;C口高四位输出1110到行

OUT DX,AL ;使相应的行为低电平

CALL DELAY

MOV DX,28AH

IN AL,DX ;C口低四位输入相应的列的状态

CMP AL,11101110B ;根据不同的列状态判断按下的按键

JZ NUMF ;按下F

CMP AL,11101101B

JZ NUME ;按下E

CMP AL,11101011B

JZ NUMD ;按下D

CMP AL,11100111B

JZ NUMC ;按下C

JMP C1101 ;如果按键不在这一行,则检测下一行

NUMF: MOV NUM,01110001B ;F的段码赋值给NUM

JMP AOUT ;跳转到A口输出

NUME: MOV NUM,01111001B ;E的段码赋值给NUM

JMP AOUT

NUMD: MOV NUM,01011110B ;D的段码赋值给NUM

JMP AOUT

NUMC: MOV NUM,00111001B ;C的段码赋值给NUM

JMP AOUT

C1101: MOV DX,28AH ;C口高四位输出1101到行

MOV AL,11011111B

OUT DX,AL

CALL DELAY

MOV DX,28AH

IN AL,DX

CMP AL,11011110B

JZ NUMB

CMP AL,11011101B

JZ NUMA

CMP AL,11011011B

JZ NUM9

CMP AL,11010111B

JZ NUM8

JMP C1011

NUMB: MOV NUM,01111100B

JMP AOUT

NUMA: MOV NUM,01110111B

JMP AOUT

NUM9: MOV NUM,6FH

JMP AOUT

NUM8: MOV NUM,7FH

JMP AOUT

C1011: MOV DX,28AH ;C口高四位输出1011到行MOV AL,10111111B

OUT DX,AL

CALL DELAY

MOV DX,28AH

IN AL,DX

CMP AL,10111110B

JZ NUM7

CMP AL,10111101B

JZ NUM6

CMP AL,10111011B

JZ NUM5

CMP AL,10110111B

JZ NUM4

JMP C0111

NUM7: MOV NUM,07H

JMP AOUT

NUM6: MOV NUM,7DH

JMP AOUT

NUM4: MOV NUM,66H

JMP AOUT

NUM5: MOV NUM,6DH

JMP AOUT

C0111: MOV DX,28AH ;C口高四位输出0111到行MOV AL,01111111B

OUT DX,AL

CALL DELAY

MOV DX,28AH

IN AL,DX

CMP AL,01111110B

JZ NUM3

CMP AL,01111101B

JZ NUM2

CMP AL,01111011B

JZ NUM1

CMP AL,01110111B

JZ NUM0

JMP TESTC ;继续检测

NUM0: MOV NUM,3FH

JMP AOUT

NUM1: MOV NUM,06H

JMP AOUT

NUM2: MOV NUM,5BH

JMP AOUT

NUM3: MOV NUM,4FH

JMP AOUT

AOUT: MOV DX,288H ;A口输出数码管段码MOV AL,NUM

OUT DX,AL

JMP TESTC ;继续检测

MOV AH,4CH

INT 21H

DELAY PROC NEAR ;延迟子程序

MOV BX,0020H

WAIT1: MOV CX,0FFFFH

WAIT2: LOOP WAIT2

DEC BX

JNZ WAIT1

RET

DELAY ENDP

CODE ENDS

END STAR

五实验结果讨论

在小键盘按键,然后数码管上面就显示出相应的字符

六实验问题与心得体会

这次实验挺顺利的,我在课下写的程序,第一次下载到实验台上就差不多成功了。不过按键显示的顺序有些颠倒,因为我编写程序的时候是按照讲义上的小键盘行列顺序来写的。不过实验台上的小键盘的行列顺序有些不太一样。经过修改程序,我在小键盘上面按键,数码管就显示出正确的字符了。

我按照如下思路编写小键盘检测的程序。我设置了8255的C口高4位输出,低4位输入,C口高4位输出检测电平到小键盘的行,低4位读入小键盘的列的状态。首先C口高4位输出检测第一行,根据读入的C口低4位状态,判断是否按键,如果按键了,判断按下什么键,如果没按键,则继续检测下一行。检测完4行,再从头检测。

通过这次实验,我完成了小键盘检测的程序编写,熟悉了汇编编程。同时为下面的实验做好了准备,因为在8253按键弹琴的实验中,还有双机通信的实验中要用到键盘检测程序。我进一步熟悉了可编程并行接口芯片8255的工作原理和编程方法。

第三次可编程定时器/计数器8253实验

一实验目的

学习掌握8253用作定时器的编程原理

二实验原理和内容

1.完成一个音乐发生器,通过蜂鸣器放出音乐,并在数码管上显示乐谱。

2 连线CS/825

3 接 YO/IO地址

GATE0/8253 接 +5V

CLK0/8253 接 1M时钟

OUT0/8253 接喇叭或蜂鸣器

3.扩展部分:利用小键盘实现弹琴功能,并显示弹奏的乐谱。

4.1 基础实验代码

;8253计数器 Y0

;控制寄存器 283H 计数器0 280H 计数器1 281H 计数器2 282H

;计数器0 方式3 二进制码计数

;控制字 00110101

;输入频率CLK为1MHZ 计数初值=100000/输出频率

;1——7音符对应的计数初值 3906 3472 3125 2932 2604 2347 2083

;8255并行接口Y1

;A口 288H,B口 289H,C口 28AH 控制口 28BH

;控制字10000001B

;A口输出数码管,

;数码管段码 06H,5BH,4FH,66H,6DH,7DH,07H

DATA SEGMENT

NUM DB 06H,5BH,4FH,66H,6DH,7DH,07H ;数码管的段码COUNT DW 0F42H,0D90H,0C35H,0B74H,0A2CH,092BH,0823H ;计数初值YANCHI DW 1000H,1000H,1000H,2000H,2000H,4000H,4000H ;延迟

DATA ENDS

STACK SEGMENT STACK 'STACK'

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE ,DS:DATA,SS:STACK

STAR: MOV AX,DATA

MOV DS,AX

MOV AL,10000001B ;8255控制字,A口输出数码管,

MOV DX,28BH

OUT DX,AL

MOV AL,00110110B ;8253控制字

MOV DX,283H ;计数器0 方式3 二进制码计数

OUT DX,AL

BEGIN: MOV SI,OFFSET NUM ;段码的偏移地址赋值给SI

MOV DI,OFFSET COUNT ;计数初值的偏移地址赋值给DI

MOV BX,OFFSET YANCHI ;延迟时间的偏移地址赋值给BX

MOV CX,0 ;计算播放的音符数目

AOUT: MOV DX,288H ;数码管段码输出到8255的A口

MOV AL,[SI]

OUT DX,AL

INC SI

MOV AX,WORD PTR[DI] ;为8253设置计数初值

MOV DX,280H

OUT DX,AL ;先写入低8位

MOV AL,AH

OUT DX,AL ;再写入低8位

ADD DI,2

MOV AX,[BX] ;延迟时间赋值给AX

CALL DELAY ;调用延迟子程序

ADD BX,2

INC CX

CMP CX,7 ;播放完了,再播放一次

JZ BEGIN

MOV AH,1

INT 16H ;键盘检测

JZ AOUT ;无输入则继续循环

MOV AH,4CH

INT 21H

DELAY PROC NEAR ;循环子程序

PUSH CX ;保护现场

PUSH AX

WAIT1: MOV CX,08FFH

WAIT2: LOOP WAIT2

DEC AX ;延迟的长短由AX控制

JNZ WAIT1

POP AX

POP CX

RET

DELAY ENDP

CODE ENDS

END STAR

4.2 扩展实验代码(小键盘按键弹琴)

DATA SEGMENT

NUM DB ? ;储存数码管的段码

微机原理与汇编语言程序设计汇编实验报告

(此文档为word格式,下载后您可任意编辑修改!) 昆明学院课程设计(大作业)

目录 1题目分析 (5) 2基本理论 (5) 3 总体设计 (6) 3.1 本程序的功能结构图 (6) 3.2字符输入及存储设计 (8) 3.3加、减、乘、除法运算的判断设计 (8) 3.4加、减、乘、除法运算的设计 (9) 4实验器材 (10) 5方法步骤 (11) 6成效分析 (11) 6.1运行界面分析 (11) 6.2调试过程及分析 (13) 7心得体会 (14) 8参考文献 (14) 9附录 (14) 课程设计(大作业)报告 一、题目分析 本次设计的简单计算器,主要是为了解决数学中的加、减、乘、除四则运算 的问题。重点和难点主要包括以下几个方面: (1)利用BIOS调用中INT 16H调用中的子程序完成清屏、设置显示方式、设置窗口等操作。

(2)利用INT 21H DOS系统功能调用中的键盘输入接收十进制操作数和运算符由程序完成字符转换为二进制数,并存储起来。 (3)根据运算符完成运算,由程序在屏幕上显示运算结果。 1、十进制数转换为二进制数过程如下: (1)将BX清0. (2)从键盘接收一个按键的ASCII送AL中,并判断是否为0到9之间的字符,若不是转退出;否则将AL中内容减30H,转换为相应数字的二 进制数,并扩展到AX中,然后将BX中内容乘以10后,再加上AX中 的内容。 (3)转(2)继续执行 因此程序退出后,BX中的内容即为所输入十进制数的二进制值。 例如:首先将BX清0后,先输入数字“5”,则(AL)=35H,属于0 到9之间的数字,减30H后,(AL)=05H,扩展后,(AX)=0005H,BX 乘以10后,加上AX中的内容,(BX)=0005H。 然后输入数字“8”,则(AL)=38H,属于0到9 之间的数字,减30H 后,(AL)=38H,扩展后,(AX)=0008H,(BX)乘以10后,加上AX 中的内容,(BX)=0037H,为十进制数“58”的二进制值。 十进制数显示过程如下(被显示的数据<9999): (1)将被显示的内容送入BX中; (2)BX除以1000,余数送BX,商在AL中,范围为0~9; (3)显示AL中的内容; (4)(BX)除以100,余数送BX,商在AL中,范围为0~9; (5)显示AL中的内容。以此类推,直到分离出个位数字为止。 在这里有一个特殊问题需要讨论:例如“53”这个十进制数,除以1000除以100的商都为0,不应显示。为了能够实现高位的“0”不显示,程序中设置一个标志M,初始值都设置为1。若M=1且商为0,则这个0不现实;若M=1且商不为0,则说明这是第一个非0数字,开始显示,并将M设置为0;若M=0,则商值都显示。如果结果本身就是0,则个位的0显示。 二、基本理论 本次汇编语言课程设计的最终目的是要实现一个简单计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运

DSP实验报告

一、综合实验内容和目的 1、实验目的 (1) 通过实验学习掌握TMS320F28335的浮点处理; (2) 学习并掌握A/D模块的使用方法; (3) 学习并掌握中断方式和查询方式的相关知识及其相互之间的转换; (4) 学习信号时域分析的方法,了解相关电量参数的计算方法; (5) 了解数字滤波的一些基本方法。 2、实验内容 要求1:对给定的波形信号,采用TMS320F28335的浮点功能计算该信号的以下时域参数:信号的周期T,信号的均方根大小V rms、平均值V avg、峰-峰值V pp。 其中,均方根V rms的计算公式如下: V= rms 式中N为采样点数,()u i为采样序列中的第i个采样点。 要求2:所设计软件需要计算采样的波形周期个数,并控制采样点数大于1个波形周期,且小于3个波形周期大小。 要求3:对采集的数据需要加一定的数字滤波。 二、硬件电路 相关硬件:TMS320F28335DSP实验箱,仿真器。

硬件结构图 三、程序流程图 1、主程序流程图 程序的主流程图2、子程序流程图

参数计算的流程图 四、实验结果和分析 1、实验过程分析 (1) 使用的函数原型声明 对ADC模件相关参数进行定义:ADC时钟预定标,使外设时钟HSPCLK 为25MHz,ADC模块时钟为12.5MHz,采样保持周期为16个ADC时钟。 (2) 定义全局变量 根据程序需要,定义相关变量。主要有:ConversionCount、Voltage[1024]、Voltage1[1024]、Voltage2[1024]、filter_buf[N]、filter_i、Max、Min、T、temp、temp1、temp2、temp3、Num、V、Vav、Vpp、Vrm、fre。这些变量的声明请见报告后所附的源程序。 (3) 编写主函数 完成系统寄存器及GPIO初始化;清除所有中断,初始化PIE向量表,将程

北邮微机原理中断程序报告

北京邮电大学实验报告 题目:微机原理软件实验 学院:信息与通信工程 专业:信息工程______ 中断实验报告 一、实验目的 1、初步掌握中断程序的设计方法; 2、初步掌握修改 DOS 系统中断,以适应实际使用的方法。

二:实验要求 编一程序,在显示器上显示时、分、秒。 1:借用计数器8253的Timer0作为中断源,通过8259A下向CPU发中断,每10ms 产生一次中断。 2:在中断服务程序中管理刷新时、分、秒。 3:输入文件名(如:CLK)后清屏显示 Current time is XX:XX:XX(时分秒键盘输入) 打回车,时、分、秒开始计时,时钟不停的刷新。 4:当键入CTRL+C时,停止计时,返回系统,且系统正常运行不死机。 提示: 1、8253的初始化程序段可借用。 2、口地址为40H、41H、42H、43H,控制字为36H=00110110B 3、时间常数TC=11932:1.1932MHz/11932=100Hz,输出方波频率为100Hz,其周期为1000/100=10ms 三:设计思路 这个实验需要用到中断控制器8259A和计数器8253。我们先初始化8253的工作方式,利用工作方式3来计数时间,让其分频后产生100hz的方波,每100个周期即为1s,将这个方波作为中断源,通过8259A每10ms向CPU发出一次中断。然后我们将子程序Timer0的地址(CS以及IP)设置为中断向量,每次中断即执行这个子程序,在这个之程序中编写相应代码,看时间是否到1S,没到则跳出中断,等待下一次(1ms之后)中断到来,到1S则让时间+1并且重置计数值,再加上相应的时间显示程序,这样即可实现时间的自动增加与显示,可以当做一个计时器来用,这即是这个工程的主体部分。 除此之外,还需要一部分程序来实现键盘输入相应时间,这里要注意时间的每一位都有取值方面的要求,这里就要通过一系列的CMP/JMP指令的组合来达到正确输入的效果,将顺序输入的时间存储起来,配合Timer0子程序即可输出当前设置的时间并且实现时间刷新。当然,如果选择不输入时间直接回车的话,程序可以从0开始计时,可以当成一个秒表。 还有一些细节的设计如在计时过程中输入S可以重新设置时间,Ctrl+C可以退出这些也是利用CMP/JMP组合来实现。最后整个程序可以实现以下功能:可以设置开始时间然后自动计时,也可以当做秒表来使用,可以正常退出。 四:实验流程

微机原理与接口技术硬件实验报告

微原硬件实验报告 班级:07118 班 学号:070547 班内序号:26 姓名:杨帆

实验一熟悉实验环境及IO的使用 一,实验目的 1. 通过实验了解和熟悉实验台的结构,功能及使用方法。 2. 通过实验掌握直接使用Debug 的I、O 命令来读写IO 端口。 3. 学会Debug 的使用及编写汇编程序 二,实验内容 1. 学习使用Debug 命令,并用I、O 命令直接对端口进行读写操作, 2.用汇编语言编写跑马灯程序。(使用EDIT 编辑工具)实现功能 A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度 等)。 B.通过输出端口控制灯的工作状态(低电平灯亮) 三,实验步骤 1.实验板的IO 端口地址为EEE0H 在Debug 下, I 是读命令。(即读输入端口的状态---拨码开关的状态) O 是写命令。(即向端口输出数据---通过发光管来查看) 进入Debug 后, 读端口拨动实验台上八位拨码开关 输入I 端口地址回车 屏幕显示xx 表示从端口读出的内容,即八位开关的状态ON 是0,OFF 是 1 写端口 输入O 端口地址xx (xx 表示要向端口输出的内容)回车 查看实验台上的发光二极管状态,0 是灯亮,1 是灯灭。 2. 在Debug 环境下,用a 命令录入程序,用g 命令运行 C>Debug -a mov dx, 端口地址 mov al,输出内容 out dx, al

mov ah, 0bh int 21h or al, al jz 0100 int 20h -g 运行查看结果,修改输出内容 再运行查看结果 分析 mov ah, 0bh int 21h or al, al jz 0100 int 20h 该段程序的作用 3.利用EDIT 工具编写汇编写跑马灯程序程序 实现功能 A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。 B.通过输出端口控制灯的工作状态(低电平灯亮) C>EDIT 文件名.asm 录入程序 按Alt 键打开菜单进行存盘或退出 编译文件 C>MASM 文件名.asm 连接文件 C>LINK 文件名.obj 运行文件或用Debug 进行调试。 四,程序流程图

微机原理与接口技术 北邮 软件 实验报告

微机原理与接口技术软件实验报告

实验B 分支、循环程序设计 一、实验目的 1.开始独立进行汇编语言程序设计; 2.掌握基本分支,循环程序设计; 3.掌握最简单的DOS功能调用。 二、实验任务及内容 1.安排一个数据区,内存有若干个正数,负数和零。每类数的个数都不超过9。 2.编写一个程序统计数据区中正数,负数和零的个数。 3.将统计结果在屏幕上显示。 4. 选作题: 统计出正奇数,正偶数,负奇数,负偶数以及零的个数.

四、源程序 DISPSTR MACRO STR ;打出字符串(属于DOS功能调用)MOV AH,9 MOV DX,SEG STR MOV DS,DX MOV DX,OFFSET STR INT 21H ENDM DISPNUM MACRO NUM ;打出数字(属于DOS功能调用)MOV AH,2 MOV DL,NUM ADD DL,30H ;加30H变为ASCII码 INT 21H ENDM DATA SEGMENT NUM DB 3,2,7,0,1,0,-5,-4,0 COUNT EQU $-NUM ;统计数据个数 ZEROS DB 0 ;各类数初值均为0 PLUSES DB 0 MINUSES DB 0 EVENMINUSES DB 0 ODDMINUSES DB 0 EVENPLUSES DB 0 ODDPLUSES DB 0 ZEROSTR DB 0DH,0AH,'ZERO:$' ;待输出字符串

PLUSSTR DB 0DH,0AH,'PLUS:$' MINUSSTR DB 0DH,0AH,'MINUS:$' EVENMINUSSTR DB 0DH,0AH,'EVENMINUS:$' ODDMINUSSTR DB 0DH,0AH,'ODDMINUS:$' EVENPLUSSTR DB 0DH,0AH,'EVENPLUS:$' ODDPLUSSTR DB 0DH,0AH,'ODDPLUS:$' DATA ENDS STACK SEGMENT STACK 'STACK' DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START PROC FAR PUSH DS ;初始化 MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV CX,COUNT ;CX控制循环次数 MOV SI,OFFSET NUM ;SI指向数据的偏移地址 LOOP1: CMP BYTE PTR[SI],0 ;将SI指向的内容与0比较大小JZ ZERO ;等于0跳转 JG PLUS ;大于0跳转 INC MINUSES ;负数加一 SHR BYTE PTR[SI],1 ;判断是负奇数还是负偶数 JNC EVENMINUS ;是负偶数跳转 INC SI ;SI指针后移 INC ODDMINUSES ;负奇数加一 RETURN: LOOP LOOP1 ;循环直至CX=0 JMP DISP ;循环结束后跳转至打出结果 ZERO: INC ZEROS INC SI JMP RETURN ;返回循环体 PLUS: INC PLUSES SHR BYTE PTR[SI],1 JNC EVENPLUS

DSP实验报告

东南大学自动化学院 实验报告 课程名称: DSP技术及课程设计 实验名称:直流无刷电机控制综合实验 院(系):自动化专业:自动化 姓名:ssb 学号:08011 实验室:304 实验组别: 同组人员:ssb1 ssb2 实验时间:2014年 6 月 5 日评定成绩:审阅教师:

目录 1.实验目的和要求 (3) 1.1 实验目的 (3) 1.2 实验要求 (3) 1.2.1 基本功能 (3) 1.2.2 提高功能 (3) 2.实验设备与器材配置 (3) 3.实验原理 (3) 3.1 直流无刷电动机 (3) 3.2 电机驱动与控制 (5) 3.3 中断模块 (7) 3.3.1 通用定时器介绍及其控制方法 (7) 3.3.2 中断响应过程 (7) 3.4 AD模块 (8) 3.4.1 TMS320F28335A 芯片自带模数转换模块特性 (8) 3.4.2 模数模块介绍 (8) 3.4.3 模数转换的程序控制 (8) 4.实验方案与实验步骤 (8) 4.1 准备实验1:霍尔传感器捕获 (8) 4.1.1 实验目的 (8) 4.1.2 实验内容 (9) 4.1.2.1 准备 (9) 4.1.2.2 霍尔传感器捕获 (9) 4.2 准备实验2:直流无刷电机(BLDC)控制 (10) 4.2.1 程序框架原理 (10) 4.2.1.1 理解程序框架 (10) 4.2.1.2 基于drvlib281x库的PWM波形产生 (11) 4.2.2 根据捕获状态驱动电机运转 (12) 4.2.2.1 目的 (12) 4.2.2.2 分析 (12) 4.3 考核实验:直流无刷电机调速控制系统 (13) 4.3.1 初始化工作 (13) 4.3.2 初始化定时器0.... . (13) 4.3.3初始化IO口 (13) 4.3.4中断模块.... (13) 4.3.5 AD模块 (14) 4.3.6在液晶屏显示 (15) 4.3.7电机控制 (17) 4.3.7.1 控制速度方式选择 (17) 4.3.7.2 控制速度和转向 (18) 4.3.8延时子函数 (19) 4.3.9闭环PID调速 (19)

北邮微机原理软件实验报告

微机原理软件实验报告

实验二分支,循环程序设计 一、预习题: 1.十进制数0 -- 9 所对应的ASCII 码是什么? 如何将十进制数0 -- 9 在屏幕上显示出来? 答:要屏显0-9的数码,可以调用02h中断,然后将要显示的数码的ASCII码存进DL 里,然后执行INT 21H就可以打印字符。当然,若不只一个数,调用09h中断(显示字符串)更好,但要将DS:DXZ指向要显示的数字在内存中的首地址,并要求以$结束。 2.如何检验一个数为正,为负或为零? 你能举出多少种不同的方法? 答:CMP X,0 检验标志位CF CF=1,X为负数 CF=0接着检验ZF:ZF=1,X为零,ZF=0,X为正数 二、实验目的: 1.开始独立进行汇编语言程序设计; 2.掌握基本分支,循环程序设计; 3.掌握最简单的DOS 功能调用. 三、实验内容: 1.安排一个数据区,内存有若干个正数,负数和零.每类数的个数都不超过9. 2.编写一个程序统计数据区中正数,负数和零的个数. 四、实验源代码 assume cs:code,ds:data data segment buff db 1,2,3,4,5,-1,-2,-3,0,0 ;安排的数据区 string db '>0:' plus db 0 ;用变量plus来存储正数的个数 db 0ah,0dh string1 db '=0:' zero db 0 ;用变量zero来存储零的个数 db 0ah,0dh string2 db '<0:' minus db 0 ;用变量minus来存储负数的个数 db '$' data ends code segment start:movax,data movds,ax mov cx,10 ;初始化,并将CX赋为10,因为共有10个数 mov dx,0 ;将计数器dx,ah初始化为0 mov ah,0 lea bx,buff compare:cmp byte ptr [bx],0 ;取出一个数与0进行比较 jgeplu ;大于等于0,跳至plu执行 inc ah ;小于0,用ah暂存小于0的个数,ah+1 jmp next ;比完后进行下一个数的比较

北京邮电大学微机原理硬件实验报告

北京邮电大学微机原理硬件实验报告

实验报告一:I/0地址译码和简单并行接口 ——实验一&实验二 一、实验目的 掌握I/O地址译码电路的工作原理;掌握简单并行接口的工作原理及使用方法。 二、实验原理及内容 a) I/0地址译码 1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数 字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~ 287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔经过软件延时实现。 2、接线: Y4/IO地址接 CLK/D触发器

Y5/IO地址接 CD/D触发器 D/D触发器接 SD/D触发器接 +5V Q/D触发器接L7(LED灯)或逻辑笔 b) 简单并行接口 1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通 用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器, 8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电 路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码经过这 个输出接口输出,根据8个发光二极管发光情况验证正确 性。 3、按下面图4-2-2简单并行输入接口电路图连接电路 (74LS244插通用插座,74LS32用实验台上的“或门”)。 74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关 输出K0~K7,8个数据输出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这 个ASCⅡ码,并将其对应字母在屏幕上显示出来。 5、接线:1)输出 按图4-2-1接线(图中虚线为实验所需接线,74LS32为实验 台逻辑或门) 2)输入 按图4-2-2接线(图中虚线为实验所需接线,74LS32为实 验台逻辑或门) 三、硬件连线图 1、I/O地址译码

DSP实验报告

实验0 实验设备安装才CCS调试环境 实验目的: 按照实验讲义操作步骤,打开CCS软件,熟悉软件工作环境,了解整个工作环境内容,有助于提高以后实验的操作性和正确性。 实验步骤: 以演示实验一为例: 1.使用配送的并口电缆线连接好计算机并口与实验箱并口,打开实验箱电源; 2.启动CCS,点击主菜单“Project->Open”在目录“C5000QuickStart\sinewave\”下打开工程文件sinewave.pjt,然后点击主菜单“Project->Build”编译,然后点击主菜单“File->Load Program”装载debug目录下的程序sinewave.out; 3.打开源文件exer3.asm,在注释行“set breakpoint in CCS !!!”语句的NOP处单击右键弹出菜单,选择“Toggle breakpoint”加入红色的断点,如下图所示; 4.点击主菜单“View->Graph->Time/Frequency…”,屏幕会出现图形窗口设置对话框 5.双击Start Address,将其改为y0;双击Acquisition Buffer Size,将其改为1; DSP Data Type设置成16-bit signed integer,如下图所示; 6.点击主菜单“Windows->Tile Horizontally”,排列好窗口,便于观察 7.点击主菜单“Debug->Animate”或按F12键动画运行程序,即可观察到实验结果: 心得体会: 通过对演示实验的练习,让自己更进一步对CCS软件的运行环境、编译过程、装载过程、属性设置、动画演示、实验结果的观察有一个醒目的了解和熟悉的操作方法。熟悉了DSP实验箱基本模块。让我对DSP课程产生了浓厚的学习兴趣,课程学习和实验操作结合为一体的学习体系,使我更好的领悟到DSP课程的实用性和趣味性。

北邮《微机原理与接口技术》阶段作业汇总

《微机原理与接口技术》作业汇总 1.若欲使RESET有效,只要A即可。 A.接通电源或按RESET键 2.8086微处理器中的ES是D寄存器 D.附加数据段 3.8086 微处理器中BP 寄存器是A A.基址指针寄存器 4.8086/8088 微处理器中的BX是A A.基址寄存器 5.8086/8088微处理器顺序执行程序时,当遇到C指令时, 指令队列会自动复位,BIU会接着往指令队列中装入新的程序段指令。C.JCXZ 6.8086微处理器读总线周期中地址信号AD15~AD0在A期间处于高阻。 A.T2 7.8086/8088 微处理器引脚中B信号线能够反映标志寄 存器中断允许标志IF的当前值。 B.S5 8.访问I/O端口可用地址线有B条。B.16 9.8086/8088 微处理器可访问内存储器地址为A A.00000~FFFFFH 10.字符串操作时目标串逻辑地址只能由B提供 B.ES、DI 11.8086/8088微处理器中堆栈段SS作为段基址,则偏移 量为B。 B.SP 12.若有两个带有符号数ABH和FFH相加,其结果使F 中CF和OF位为C。 C.1;0 13.8086微处理器内部通用寄存器中的指针类寄存器是B。 B.BP 14.8086/8088微处理器内部能够计算出访问内存储器的20位物理地址的附加机构是。B.BIU中的地址加法器15.当标志寄存器TF=1时,微处理器内部每执行完一条 指令便自动进行一次B。B.内部中断 16.8086/8088微处理器内部寄存器中的累加器是A寄存 器。 A.16位数据寄存器 17.8086微处理器中的BIU和EU是处于B的工作状态 B.并行 18.8086中指令队列和堆栈特点分别是C C.先进先出;后进先出 19.微型计算机各部件之间是用A连接起来的。 A.系统总线 20.若把组成计算机中的运算器和控制器集成在一块芯片 上称为C。 C.微处理器 21.相联存储器是指按C进行寻址的存储器。 C.内容指定方式 22.单地址指令中为了完成两个数的算术运算,除地址码 指明的一个操作数外,另一个数常需采用D。 D.隐含寻址方式 23.某存储器芯片的存储容量为8K×12位,则它的地址 线为C。 C.13 24.下列8086指令中,格式错误的是C。 C.MOV CS,2000H 25.寄存器间接寻址方式中,操作数处在C。C.主存单元 26.某计算机字长16位,其存储容量为2MB,若按半字 编址,它的寻址范围是C。 C.2M 27.某一RAM 芯片,其容量为1024×8位,其数据线和 地址线分别为C。 C.8,10 28.CPU在执行OUT DX,AL指令时,A寄存器的内容 送到数据总线上。 A.AL 29.计算机的存储器系统是指D。 D.cache,主存储器和外存储器 30.指令MOV AX, [3070H]中源操作数的寻址方式为C C.直接寻址 31.EPROM是指D D.光擦可编程的只读存储器 32.指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻 址方式,可以实现D.程序的条件转移成无条件转移33.8086 CPU对存贮器操作的总线周期的T1状态, AD0~AD15引脚上出现的信号是A。A.地址信号 34.堆栈是按D组织的存储区域。D.先进后出原则 35.8086/8088中源变址寄存器是A。A.SI 36.8086/8088中SP是D寄存器。D.堆栈指针寄存器 37.8086/8088中FR是A寄存器。A.标志寄存器 38.8086/8088中IP是C寄存器。C.指令指针寄存器 39.假设AL寄存器的内容是ASCII码表示的一个英文字 母,若为大写字母,将其转换为小写字母,否则不变。 试问,下面哪一条指令可以实现此功能A。 A.ADD AL, 20H 40.逻辑右移指令执行的操作是A。 A.符号位填0,并 顺次右移1位,最低位移至进位标志位 41.假设数据段定义如下: DSEG SEGMENT DAT DW 1,2,3,4,5,6,7,8,9,10 CNT EQU ($-DAT)/2 DSEG ENDS 执行指令MOV CX,CNT后,寄存器CX的内容是D D.4 42.在下列段寄存器中,代码寄存器是B。B.CS 43.在执行POP[BX]指令,寻找目的操作数时,段地 址和偏移地址分别是B。B.在DS和BX中 44.设DS=5788H,偏移地址为94H,该字节的物理地址 是B。B.57914H 45.设AX=1000H NEG AX

北邮微原硬件实验

信息与通信工程学院 微原硬件实验报告 姓名: 班级: 学号: 班内序号: 【一.基本的I/O实验】 实验一 I/O地址译码 一、实验目的 掌握I/O地址译码电路的工作原理。 二、实验原理和内容 1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台 上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:

280H~287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 图1-1 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。 2、接线: Y4/IO地址接 CLK/D触发器 Y5/IO地址接 CD/D触发器 D/D触发器接 SD/D角发器接 +5V Q/D触发器接 L7(LED灯)或逻辑笔 三、硬件接线图及软件程序流程图 1.硬件接线图 2.软件程序流程图

四、源程序 DATA SEGMENT DATA ENDS STACK SEGMENT STACK 'STACK' DB 100H DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK ;基本框架;延时子程序 DELAY1 PROC NEAR MOV BX,500H PUSH CX LOOP2: MOV CX,0FFFH WAIT1: LOOP WAIT1 DEC BX JNZ LOOP2 POP CX RET DELAY1 ENDP START: MOV CX,0FFFFH ;L7闪烁控制 LOOP1: MOV DX,2A0H ;灯亮 OUT DX,AL CALL DELAY1 MOV DX,2A8H ;灯灭 OUT DX,AL CALL DELAY1 LOOP LOOP1 ;循环闪烁 CODE ENDS END START 五、实验结果 灯L7闪烁 实验二简单并行接口 一、实验目的 掌握简单并行接口的工作原理及使用方法。(选择273进行实验)二、实验原理和内容

广东省中山市七年级上学期语文期末考试试卷

广东省中山市七年级上学期语文期末考试试卷 姓名:________ 班级:________ 成绩:________ 一、选择题 (共3题;共8分) 1. (4分)为下列划线字选择正确的注音。 (1)别墅() A . shù B . yě (2)褴褛() A . lán lǚ B . lán lóu 2. (2分)(2013·邵阳) 下列句子中划线的成语运用不恰当的一项是() A . 每当看到《我是歌手》节目的感人之处,她总悬泪眼婆娑,不能自已。 B . 中国政府对日本在钓鱼岛问题上的肆意妄为,提出了严正抗议。 C . 2012年诺贝尔文学奖获得者莫言在颁奖盛典上夸夸其谈地说自己只是个讲故事的人。 D . 旅游局的干部说,建成后的蔡锷广场将会令游客留连忘返。 3. (2分) (2017七下·大石桥期末) 语法分析正确的一项() 阅读也是一种循环往复的过程。这种循环往复,就是人们常说的精读。有定评的经典性作品,经过时间的筛选,一定有着深邃的思想,丰富的内容,高尚的品格,是人类迄今为止所能达到的峰巅。一个人能否获得多大的能量,取得多高的成就,很大程度取决于这种循环往复的阅读。阅读是锲而不舍的长期追求,更是一种生命的“马拉松”。 A . “品格”是名词,“获得”是动词,“很”是副词。 B . “经过时间的筛选,一定有着深邃的思想”一句中“邃”的读音是“shuì”。 C . “一个人能否获得多大的能量,取得多高的成就,很大程度取决于这种循环往复的阅读。”一句有语病,修改方法是将“获得多大的能量”与“取得多高的成就”调换位置。 D . “阅读是锲而不舍的长期追求,更是一种生命的“马拉松”。”一句运用了夸张的修辞方法。 二、字词书写 (共1题;共6分) 4. (6分)下列诃语字形有误,请改正。 ①粗旷________ ②燥动________ ③凝集________ ④壁画________ ⑤蹿跤________ ⑥躁热________ 三、情景默写 (共1题;共10分) 5. (10分) (2017九下·万盛开学考) 古诗文默写。 (1)

北邮dsp软件实验报告

Matlab仿真实验 实验报告 学院:电子工程学院 专业:电子信息科学与技术 班级: 学号: 姓名:

时间:2015年12月23日 实验一:数字信号的FFT分析 1.实验目的 通过本次试验,应该掌握: (a)用傅里叶变换进行信号分析时基本参数的选择 (b)经过离散时间傅里叶变换和有限长度离散傅里叶变换后信号频谱上的区别,前者DTFT时间域是离散信号,频率域还是连续的,而DFT在两个域中都是离散的。(c)离散傅里叶变化的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。 (d)获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。(e)建立DFT从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用时数字音频压缩中的分析滤波器,例如DVD AC3和MPEG Audio。 2.实验容、要求及结果。 (1)离散信号的频谱分析: 设信号x(n)=0.001*cos(0.45n)+sin(0.3n)-cos(0.302n-) 此信号的0.3谱线相距很近,谱线0.45的幅度很小,请选择合适的序列长度N和窗函数,用DFT分析其频谱,要求得到清楚的三根谱线。 【实验代码】:

k=2000; n=[1:1:k]; x=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4); subplot(2,1,1); stem(n,x,'.'); title(‘时域序列'); xlabel('n'); ylabel('x(n)'); xk=fft(x,k); w=2*pi/k*[0:1:k-1]; subplot(2,1,2); stem(w/pi,abs(xk)); axis([0 0.5 0 2]); title('1000点DFT'); xlabel('数字频率'); ylabel('|xk(k)|'); 【实验结果图】:

北邮微原软件实验报告

2013年微机原理软件实验报告 学院:信息与通信工程学院 班级:2011211104 姓名:

实验二分支,循环程序设计 一.实验目的: 1.开始独立进行汇编语言程序设计; 2.掌握基本分支,循环程序设计; 3.掌握最简单的DOS 功能调用 二.实验内容: 1.安排一个数据区,内存有若干个正数,负数和零.每类数的个数都不超过9. 2.编写一个程序统计数据区中正数,负数和零的个数. 3.将统计结果在屏幕上显示. 三.预习题 1.十进制数0 -- 9 所对应的ASCII 码是什么? 如何将十进制数0 -- 9 在屏幕上显示出来? 0-9的ACSII码为,30h,31h,32h,34h,35h,36h,37h,38h,39h, 将要显示的数加上30h,得到该数的ACSII码,再利用DOS功能调用显示单个字符 2.如何检验一个数为正,为负或为零? 你能举出多少种不同的方法? 利用cmp指令,利用TEST指令,将该数与0相与,将该数与0相减,观察标志位。

四.程序流程图

五.源程序 DATA SEGMENT ;数据段 NUM DB 1,2,-2,3,-3,5,2,4,-6,-11,100,0,0,34,-55,-33,0 ;待处理数据COUNT EQU $-NUM ;数据个数 MINUS DB 0 ;小于零的个数 ZERO DB 0 ;等于零的个数 PLUS DB 0 ;大于零的个数 RESULT DB 'NEGNUM=',?,0AH,0DH,'ZERONUM=',?,0AH,0DH,'POSNUM=',?,0AH,0DH,'$' ;结果显示字符串 DATA ENDS STACK SEGMENT STACK 'STACK' ;堆栈段 DW 50 DUP(?) STACK ENDS CODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV CX,COUNT MOV SI,OFFSET NUM AGAIN: MOV AL,[SI] ;循环比较 CMP AL,0 JGE NEXT1 INC MINUS JMP DONE NEXT1: JZ NEXT2 INC PLUS JMP DONE NEXT2: INC ZERO DONE: INC SI LOOP AGAIN ;返回结果 MOV DI,OFFSET RESULT MOV AL,MINUS ADD AL,30H MOV BYTE PTR[DI+7],AL MOV AL,ZERO ADD AL,30H MOV BYTE PTR[DI+18],AL MOV AL,PLUS ADD AL,30H MOV BYTE PTR[DI+28],AL

8086软硬件实验报告(微机原理与接口技术上机实验)

实验一实验环境熟悉与简单程序设计 实验目的 (1)掌握DEBUG调试程序的使用方法。 (2)掌握简单程序的设计方法。 实验内容 编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。如: BH=10110010B 则运行程序后 DH=00001011B DL=00000010B 实验准备 (1)熟练掌握所学过的指令。 (2)根据实验内容,要求预先编好程序。 实验步骤 (1)利用DEBUG程序输入、调试程序。 (2)按下表要求不断地修改BH的内容,然后记录下DX的内容。 实验报告 (1)给出程序清单。 (2)详细说明程序调试过程。

程序: CODE SEGMENT START : MOV BH,00111111B MOV AL,BH MOV CL,4 SHR AL,CL MOV DH,AL MOV AL,BH AND AL,00001111B MOV DL,AL MOV CL,0 CODE ENDS END START

实验二简单程序设计 实验目的 (3)掌握DEBUG调试程序的使用方法。 (4)掌握简单程序的设计方法。 实验内容 试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello world My name is Li Jianguo 参考程序如下:(有错) data segment out1 db 'Hello world' ax db 'My name is Li Jianguo' data ens code segment assume cs:code;ds:data lea dx,out1 mov ah,2 int 21h mov dl,0ah mov ah,2

北邮DSP实验报告

北京邮电大学 数字信号处理硬件实验 实验名称:dsp硬件操作实验姓名:刘梦颉班级: 2011211203 学号:2011210960 班内序号:11 日期:2012年12月20日 实验一常用指令实验 一、实验目的 了解dsp开发系统的组成和结构,熟悉dsp开发系统的连接,熟悉dsp的开发界面,熟 悉c54x系列的寻址系统,熟悉常用c54x系列指令的用法。 二、实验设备 计算机,ccs 2.0版软件,dsp仿真器,实验箱。 三、实验操作方法 1、系统连接 进行dsp实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示: 1)上电复位 在硬件安装完成后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应 点亮,否则dsp开发系统与计算机连接有问题。 2)运行ccs程序 先实验箱上电,然后启动ccs,此时仿真器上的“绿色小灯”应点亮,并且ccs正常启 动,表明系统连接正常;否则仿真器的连接、jtag接口或ccs相关设置存在问题,掉电,检 查仿真器的连接、jtag接口连接,或检查ccs相关设置是否正确。 四、实验步骤与内容 1、实验使用资源 实验通过实验箱上的xf指示灯观察程序运行结果 2、实验过程 启动ccs 2.0,并加载“exp01.out”;加载完毕后,单击“run”运行程序; 五、实验结果 可见xf灯以一定频率闪烁;单击“halt”暂停程序运行,则xf灯停止闪烁,如再单击 “run”,则“xf”灯又开始闪烁; 关闭所有窗口,本实验完毕。 六、源程序代码及注释流程图: 实验二资料存储实验 一、实验目的 掌握tms320c54的程序空间的分配;掌握tms320c54的数据空间的分配;熟悉操作 tms320c54数据空间的指令。 二、实验设备 计算机,ccs3.3版软件,dsp仿真器,实验箱。 三、实验系统相关资源介绍 本实验指导书是以tms32ovc5410为例,介绍相关的内部和外部内存资源。对于其它类型 的cpu请参考查阅相关的资料手册。下面给出tms32ovc5410的内存分配表: 对于存储空间而言,映像表相对固定。值得注意的是内部寄存器与存储空间的映像关系。 因此在编程应用时这些特定的空间不能作其它用途。对于篇二:31北邮dsp软件实验报告北京邮电大学 dsp软件

2017小升初择校参考:广东中山初中排名一览

2017小升初择校参考:广东中山初中排名一览 2017年小升初大幕已拉开,21世纪教育网为小升初家长考生们准备了2017小升初择校排名,以下是广东中山初中排名一览,仅供参考。 1中山纪念中学 2中山市第一中学 3中山市华侨中学 4华南师范大学中山附属中学 5中山三角镇初级中学 6中山坦洲镇实验中学 7中山石岐区石岐中学 8中山石岐区启发中学 9中山市小榄中学 10中山小榄镇第一中学 11中山小榄镇第二中学 12板芙镇板芙中学 13中山西区中学 14中山大南中学 15中山西区外来工子弟学校 16中山市小榄实验高级中学 17中山芙蓉学校 18五桂山桂南学校 19中山黄圃中学 20中山市黄圃镇中学

22中山东阳学校 23中山侨中英才学校24黄圃镇初级中学 25中山东区团益学校26中山大学附属中学27南头初级中学 28神湾镇神湾中学 29中山翔鸿学校 30东升初级中学 31中山翠亨中学 32中山溪角中学 33三乡镇博爱初级中学34中山溪角初级中学35中山云衢中学 36中山东区中学初中部37中山石岐区北区中学38三乡镇初级中学 39中山龙泉学校 40中山建斌中学 41中山博爱中学 42东凤镇第二中学 43中山沙栏中学

45中山古镇初级中学 46中山市沙溪中学 47中山葵园初级中学 48中山锦标学校 49中山建勋中学 50中山东区高级中学 51中山开发区第一中学52中山群胜中学 53中山旭日中学 54中山鹏诚学校 55中山西区聚星学校 56中山同方学校 57板芙镇第一中学 58东凤镇东凤中学 59中山南峰学校 60中山市西区初级中学61中山南区恒美学校 62中山马新中学 63中山市小榄镇华侨中学64中山旗风学校 65中山神舟学校 66阜沙镇初级中学

微机原理与汇编语言_实验3_循环程序设计实验汇总

微机原理与汇编语言 实验报告 姓名x x x学号xxxxxx 专业班级计科x班 课程名称微机原理与汇编语言实验日期2014.10.22 实验名称循环程序设计实验成绩 一、实验目的 1、掌握循环程序的设计方法。 2、掌握比较指令、转移指令和循环指令的使用方法。 3、进一步掌握调试工具的使用方法。 二、实验内容 1、实验原理 (1)键盘输入的十进制数如368在计算机中是以33H,36H,38H形式存放的,如何将它们转换为一个二进制数101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题 (2)累加结果为一个16位的二进制数,为了显示结果,必需把它们转换为十进制数 2、实验步骤 (1)流程图 (2)实验源码 .model small .stack ;定义堆栈段 .data ;定义数据段 inf1 db "Please input a number(1-627):$" inf2 db 0ah, 0dh, "1+2+......+$" ibuf db 7, 0, 6 dup(0) obuf db 6 dup(0) .code start: mov ax, @data mov ds, ax mov dx, offset inf1 ;将屏幕输入的十进制数(存放于ibuf)转化为二进制数存储于ax 中 mov ah, 09h int 21h mov dx, offset ibuf mov ah, 0Ah int 21h mov cl, ibuf+1 mov ch, 0 mov si, offset ibuf+2 mov ax, 0 loop1: mov dx, 10 mul dx and byte ptr [si], 0Fh add al, [si] 从键盘输入一个十进制数,并将其转换为二进制数,存放在AX中 开始 结束 素、、 (CX)-1=0 累加循环次数送CX(MOV CX,AX)AX清0(AX中存放累加和) BX送1(BX存放每次循环累加的数,每循环一次,BX值加1) ADD AX,BX INC BX 累加和(在AX中)转换为十进制数并 显示 Y N

相关文档
最新文档