文档库 最新最全的文档下载
当前位置:文档库 › 8086汇编语言程序设计 微机实验报告

8086汇编语言程序设计 微机实验报告

8086汇编语言程序设计 微机实验报告
8086汇编语言程序设计 微机实验报告

微机实验报告

第一部分:8086汇编语言程序设计

一、实验目的

通过上机练习,初步掌握8086的指令系统,熟悉8086汇编语言程序的编写格式,学会编写简单的汇编语言应用程序,初步学会使用DEBUG调试工具。

二、实验题目

(一)编程实现从字符串中查找特定的字符,记录特定字符的个数,并将结果在屏幕上显示,同时退出并返回DOS。(要求字符串从键盘上输入)

1、流程图

2、实验程序及注释

DATA SEGMENT

BUFSIZE DB 20 ;数据段

ACTCHAR DB ? ;定义字符串

CHARTEXT DB 20 DUP(?) ;给输入字符分配内存

DB '$'

CNT DB 0 ;给计数器分配内存

STRING1 DB 'PLEASE INPUT THE STRING:','$'

STRING2 DB 0AH,0DH,'INPUT THE WORD YOU WANT TO CHECK:','$' STRING3 DB 0AH,0DH,'THE NUMBER OF THE WORD IS:','$'

DATA ENDS ;数据段结束

COSEG SEGMENT ;代码段

ASSUME CS:COSEG,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,OFFSET STRING1 ;显示提示语:请输入字符串

MOV AH,09H ;输出字符串STRING1

INT 21H

MOV DX,OFFSET BUFSIZE ;从键盘输入字符串存入BUFSIZE

MOV AH,0AH ;并送显

INT 21H

MOV DX,OFFSET STRING2 ;显示提示语:想查询的字符是

MOV AH,09H ;输出字符串STRING2

INT 21H

MOV AH,01H ;从键盘上输入字符到AL中并送显

INT 21H

MOV BX,OFFSET CHARTEXT ;将字符串首地址存入BX

MOV CL,ACTCHAR ;置循环次数CX=字符串长度

XOR CH,CH

LP1: CMP AL, [BX] ;字符串从头开始与键入字符AL比较JZ LP2 ;相等则转入LP2

INC BX ;指针指向字符串下一个字符

DEC CX ;循环次数减一

JNZ LP1 ;若还有未比较的字符,继续循环LP1

JMP FINI ;若全部比较完毕,跳转FINI

LP2: INC CNT ;计数器增一

INC BX ;指针指向字符串下一个字符

DEC CX ;循环次数减一

JNZ LP1 ;若还有未比较的字符,跳至LP1 FINI: MOV DX,OFFSET STRING3 ;显示提示语:所查询的字符个数:MOV AH,09H

INT 21H

MOV AL,CNT ;将计数器的值送AL

AAM ;将此值转换成非压缩BCD码

ADD AH,30H ;将BCD码转换为ASCⅡ码

MOV DL,AH ;高位送显

MOV AH,02H

INT 21H

MOV AL,CNT ;再将计数器的值送AL

AAM

ADD AL,30H ;将BCD码转换为ASCⅡ码

MOV DL,AL ;低位送显

MOV AH,02H

INT 21H

MOV AH,4CH ;结束

INT 21H

COSEG ENDS ;代码段结束

END START ;程序结束

3、运行结果

PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙

INPUT THE WORD YOU WANT TO CHECK(输入待查找字符): A↙

THE NUMBER OF THE WORD IS(数量为):3↙

PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙

INPUT THE WORD YOU WANT TO CHECK(输入待查找字符):9↙

THE NUMBER OF THE WORD IS(数量为):0↙

PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙

INPUT THE WORD YOU WANT TO CHECK(输入待查找字符): S↙

THE NUMBER OF THE WORD IS(数量为):1↙

4、程序改进

○1循环次数的改进

原来的程序:MOV CX,19

改进原因:此程序表明无论输入的字符串多长,即使没有达到限定的最大字符串的长度,也要循环19次。

改进后的程序:MOV CL,ACTCHAR

XOR CH,CH

改进结果:ACTCHAR即所输入的字符串的实际长度,因此,实际为置循环次数CX=字符串长度,这样可以提高运行速度

○2删除多余语句

原来的程序:

LP1: CMP AL,[BX] ;将字符与字符串逐个比较JZ LP2 ;相等则转入LP2

INC BX ;指针指向字符串下一个字符

DEC CX ;循环次数减一

CMP CX,0000H ;若还有未比较的字符

JNZ LP1 ;继续循环LP1

JMP FINI ;若全部比较完毕,跳转FINI

LP2: INC CNT ;计数器增一

INC BX ;指针指向字符串下一个字符

DEC CX ;循环次数减一

CMP CX,0000H ;若还有未比较的字符

JNZ LP1 ;跳转LP1

改进原因:DEC为自减一,若减为0,它会自动影响其标志位ZF,所以不用把CX再与00H比较,判断CX是否为零。

改进后的程序:(删除CMP CX,0000H)

LP1: CMP AL, [BX] ;字符串从头开始与键入字符AL比较JZ LP2 ;相等则转入LP2

INC BX ;指针指向字符串下一个字符

DEC CX ;循环次数减一

JNZ LP1 ;若还有未比较的字符,继续循环LP1

JMP FINI ;若全部比较完毕,跳转FINI

LP2: INC CNT ;计数器增一

INC BX ;指针指向字符串下一个字符

DEC CX ;循环次数减一

JNZ LP1 ;若还有未比较的字符,跳至LP1

(二)编程实现把键盘输入的两位BCD码,在屏幕上用16进制数显示出来。1

2、实验程序及注释

CODE SEGMENT

ASSUME CS:CODE

START: CALL DECIBIN ;调用十进制转二进制子程序

CALL CRLF ;调用添加回、换行符子程序

CALL BINIHER ;调用二进制转十六进制并显示子程序

CALL CRLF ;调用添加回、换行符子程序

MOV AH,4CH

INT 21H

DECIBIN PROC

MOV BX,0 ;BX清零

MOV CL,2 ;限定输入两位BCD码

NEW: MOV AH,1 ;DOS调用,键入字符并回显

INT 21H

SUB AL,30H ;比较键入字符是否在0到9之间

JL NEW1 ;小于零,即不在范围内,就跳到NEW1

CMP AL,9

JG NEW1 ;左>右则转移

CBW ;将一个字节转化为字

XCHG AX,BX ;交换两个寄存器之间的内容

MOV CX,10 ;十进制数10入CX

MUL CX ;表达式的值与AX内容相乘,并将结果存于AX

XCHG AX,BX

ADD BX,AX

POP CX

DEC CL

JNC NEW

RET ;返回到原来调用指令的下一条指令NEW1: PUSH CX ;NEW1为固定光标程序,直到输入0-9 MOV AH,3 数字,光标才会移动

INT 10H

MOV AH,2

DEC DL

INT 10H

POP CX

JMP NEW

DECIBIN ENDP

BINIHER PROC

MOV CH,4 ;记录转换后的十六进制位数RORATE: MOV CL,4 ;利用CL当计数器,记录寄存器数位移动次数ROL BX,CL ;循环左移四位,相当于除以16

MOV AL,BL ;把BX低八位BL内数据转移至al

AND AL,0FH ;高四位清零

ADD AL,30H

CMP AL,3AH

JL NEXT ;AL小于等于3AH转移

ADD AL,7H

NEXT: MOV DL,AL ;把ASCII码装入DL

MOV AH,2 ;DOS调用,显示字符

INT 21H

DEC CH ;CH减一,减到零时,零标志置1

JNZ RORATE

RET

BINIHER ENDP

CRLF PROC ;实现换行功能

MOV DL,0DH

MOV AH,2

INT 21H

MOV DL,0AH

MOV AH,2

INT 21H

RET

CRLF ENDP

CODE ENDS

END START

3、运行结果

输入数字 12↙

此时屏幕显示 000C

4、程序改进

问题原因:程序只有输入0-9才能正常运行,若输入其他的,无法继续执行程序,例如字母等等。

改进后的程序:在判断是否是0-9后,加入跳转程序

方法一:SUB AL,30H ;比较键入字符是否在0到9之间JL EXIT ;小于零,即不在范围内,就跳到EXIT

CMP AL,9D

JG EXIT

EXIT:PROC NEAR ;返回DOS

MOV AH,4CH

INT 21H

EXIT1 ENDP

方法二:SUB AL,30H ;比较键入字符是否在0到9之间JL NEW1 ;小于零,即不在范围内,就跳到NEW1

CMP AL,9

JG NEW1 ;左>右则转移

NEW1: PUSH CX ;NEW1为固定光标程序,直到输入0-9 MOV AH,3 数字,光标才会移动

INT 10H

MOV AH,2

DEC DL

INT 10H

POP CX

JMP NEW

第二部分:微机接口实验

一、实验目的

实验内容是配合理论课的教学,掌握、了解一些基本接口芯片的使用和基本工作原理。

二、实验题目

(一)串行接口实验题目

1、实验内容

编程实现讲主机键盘输入的字符加1后在屏幕上显示,按ESC键(键值27)推出唱戏返回DOS。(讲8250设成自收自发方式)

2、实验目的

了解串行通讯的基本原理,掌握串行接口芯片8250的工作原理和编程方法。3、流程图

4实验连线

连线见下图,8250芯片插在40芯的通用插座上。CS接2B8H-2BFH。

5实验程序及注释

NAME 8250

DATA SEGMENT ;定义数据段

DIVID DW 0CH ;对应9600波特率的除数

DATA ENDS ;数据段结束

STACK1 SEGMENT PARA STACK ;定义栈

DB 100 DUP(?) ;定义100字节

STACK1 ENDS

CODE SEGMENT ;代码段

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK1

SUB1 PROC FAR ;标准程序头

START: PUSH DS ;8250初始化

MOV AX,0 ;8位数据位,一个停止位

PUSH AX

MOV AL,80H ;设DLAB=1

MOV DX,2BBH

OUT DX,AL

MOV AX,DIVID ;取除数

MOV DX,2B8H

OUT DX,AL ;写入除数低字节

MOV AL,AH

MOV DX,2B9H

OUT DX,AL ;写入除数高字节

MOV AL,0AH

MOV DX,2BBH ;写入线路控制寄存器

OUT DX,AL

MOV AL,13H

MOV DX,2BCH ;写入MODEM控制寄存器

OUT DX,AL

MOV AL,0

MOV DX,2B9H ;写入中断允许寄存器

OUT DX,AL

WAIT_FOR: MOV DX,2BDH ;读线路允许寄存器IN AL,DX

TEST AL,1EH ;出错否

JNZ ERROR

TEST AL,1 ;接收数据就绪否

JNZ RECEIVE ;转接收

TEST AL,20H ;发送器空否

JZ WAIT_FOR ;返回等待

MOV AH,1

INT 16H ;读键盘

JZ WAIT_FOR ;无按键返回等待

MOV AH,0 ;读按键

INT 16H

MOV DX,2B8H ;发送

OUT DX,AL

JMP WAIT_FOR ;返回等待RECEIVE: MOV DX,2B8H ;读接受数据

IN AL,DX

AND AL,7FH ;保留7位数据

CMP AL,1BH ;是ESC否

JNZ CHAR

MOV AX,4C00H ;返回DOS

INT 21H

CHAR: ADD AL,1 ;加一送显

PUSH AX ;备查

MOV AH,14 ;显示接受字符

INT 10H

POP AX

CMP AL,0DH ;是否回车符

JNZ WAIT_FOR ;不是返回等待

MOV AL,0AH ;是回车则加换行

MOV AH,14

INT 10H

JMP WAIT_FOR

ERROR: MOV DX,2B8H ;出错则清除

IN AL,DX

MOV AL,'?' ;显示’?’

MOV AH,1

INT 10H

JMP WAIT_FOR

SUB1 ENDP

CODE ENDS

END START

6运行结果

输入5 屏幕显示6

输入A 屏幕显示B

按下Esc键返回未来汇编界面

7遇到问题及解决方法

写除数寄存器时,8250接2MHZ,若选波特率为9600,波特率因子为16,由于有:发送波特率=2MHZ÷除数寄存器值÷16,可计算出除数寄存器值为13(M ÷9600÷16=13),即寄存器低字节送13(0DH),高字节送0。

(二)并行接口实验题目

题目一:编程实现从键盘上输入一个数字(0-9),将数字在七段数码管上显示出来。按数字键外的任意键退出并返回DOS。

1、实验目的

了解并行通讯的基本原理,掌握并行接口芯片8255的工作原理和编程方法。2、七段数码管的字形代码表

3、实验连线

将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V,S0、dp接地,CS接288H~28FH。

4、流程图

5、实验程序及注释

DATA SEGMENT ;数据段

ENTER DB 0AH,0DH,'$'

MSG0 DB 0AH,0DH,'PLEASE INPUT A NUMBER (0--9):','$'

DATA ENDS

STACK SEGMENT PARA STACK ;栈区设置

S1 DB 40 DUP(0) ;开辟一块栈区

STACK ENDS

CODE SEGMENT ;代码段

ASSUME DS:DATA,CS:CODE

START: MOV AX,DATA ;标准程序头

MOV DS,AX

MOV DX,028BH

MOV AL,80H

OUT DX,AL

INPUT: MOV DX,OFFSET MSG0 ;显示提示语:请输入一个数字MOV AH,09H ;从键盘输入数字

INT 21H

MOV AH,01H ;将数字送显

INT 21H

CMP AL,30H ;将数字和30H(0)作比较

JC FINISH ;若AL小于0(ASCII值为48)

;则跳转到FINISH

CMP AL,39H ;将数字和39H(9)作比较

JA FINISH ;若AL大于9(ASCII值为57)

则跳转到FINISH

CMP AL,30H ;将AL和0作比较

JZ ZERO ;若相等则跳转到ZERO

CMP AL,31H ;将AL和1作比较

JZ ONE ;若相等则跳转到ONE

CMP AL,32H ;将AL和2作比较

JZ TWO ;若相等则跳转到TWO

CMP AL,33H ;将AL和3作比较

JZ THREE ;若相等则跳转到THREE

CMP AL,34H ;将AL和4作比较

JZ FOUR ;若相等则跳转到FOUR

CMP AL,35H ;将AL和5作比较

JZ FIVE ;若相等则跳转到FIVE

CMP AL,36H ;将AL和6作比较

JZ SIX ;若相等则跳转到SIX

CMP AL,37H ;将AL和7作比较

JZ SEVEN ;若相等则跳转到SEVEN

CMP AL,38H ;将AL和8作比较

JZ EIGHT ;若相等则跳转到EIGHT

JMP NINE ;以上都不是跳转到NINE ZERO: MOV DX,0288H ;存入输出口地址

MOV AL,3FH ;置入0的字型代码

OUT DX,AL ;送出0,七段数码管显示

JMP INPUT ;跳回INPUT

ONE: MOV DX,0288H ;存入输出口地址

MOV AL,06H ;置入1的字型代码

OUT DX,AL ;送出1,七段数码管显示

JMP INPUT ;跳回INPUT

TWO: MOV DX,0288H ;存入输出口地址

MOV AL,5BH ;置入2的字型代码

OUT DX,AL ;送出2,七段数码管显示

JMP INPUT ;跳回INPUT

THREE:MOV DX,0288H ;存入输出口地址

MOV AL,4FH ;置入3的字型代码

OUT DX,AL ;送出3,七段数码管显示

JMP INPUT ;跳回INPUT

FOUR: MOV DX,0288H ;存入输出口地址

MOV AL,66H ;置入4的字型代码

OUT DX,AL ;送出4,七段数码管显示

JMP INPUT ;跳回INPUT

FIVE: MOV DX,0288H ;存入输出口地址

MOV AL,6DH ;置入5的字型代码

OUT DX,AL ;送出5,七段数码管显示

JMP INPUT ;跳回INPUT

SIX: MOV DX,0288H ;存入输出口地址

MOV AL,7DH ;置入6的字型代码

OUT DX,AL ;送出6,七段数码管显示

JMP INPUT ;跳回INPUT

SEVEN:MOV DX,0288H ;存入输出口地址

MOV AL,07H ;置入7的字型代码

OUT DX,AL ;送出7,七段数码管显示

JMP INPUT ;跳回INPUT

EIGHT: MOV DX,0288H ;存入输出口地址

MOV AL,7FH ;置入8的字型代码

OUT DX,AL ;送出8,七段数码管显示

JMP INPUT ;跳回INPUT

NINE: MOV DX,0288H ;存入输出口地址

MOV AL,6FH ;置入9的字型代码

OUT DX,AL ;送出9,七段数码管显示

JMP INPUT ;跳回INPUT

FINISH:MOV AH,4CH ;结束

INT 21H

CODE ENDS ;代码段结束

END START ;程序结束

6、程序改进

原来的程序:CMP AL,39H ;将AL和9作比较

JZ NINE ;若相等则跳转到NINE

改进原因:程序可以再简化

改进后的程序:JMP NINE ;以上都不是跳转到NINE

题目二:交通灯控制实验编程使六个发光二极管按交通灯变化规律亮灭,有任意键按下退出程序,返回DOS。

试验提示:

十字路口交通灯的变化规律要求:

南北路口的绿灯、东西路口的红灯同时量30秒左右;

南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮;

南北路口的红灯、东西路口的绿灯同时量30秒左右;

南北路口的红灯继续亮、同时东西路口的黄灯闪烁若干次;

转1重复,到按下任意键结束。

1、实验目的

掌握8255并行口的使用2、实验连线

3、流程图

参考流程图:

实际编写流程图:

4、实验程序及注释

;初始化程序

STACK SEGMENT STACK ;STACK段,定位类型无

DW 100 DUP(0) ;长度为100字节

STACK ENDS ;STACK段结束

DATA SEGMENT ;定义数据段

DATA ENDS ;数据段结束(此程序可以不需定义数据段)CODE SEGMENT ;定义代码段

ASSUME CS:CODE,DS:DATA

START: MOV AL,10000000B ;控制字,方式0,A口、B口、C口输出MOV DX,28BH ;送控制寄存器的口地址

OUT DX,AL ;送控制字

MOV AL,10000100B ;C口输出,PC7=PC2=1,两红灯亮

MOV DX,28AH

OUT DX,AL

MOV CX,1 ;循环次数=1

CALL DELAY ;调用DELAY过程

AGAIN: MOV AL,00100100B ;C口输出,PC5=PC2=1,南北路口绿灯亮,

东西路口红灯亮

OUT DX,AL

MOV CX,10 ;循环次数=10,长延迟

CALL DELAY ;调用DELAY过程

AND AL,00001111B ;C口输出,PC5=0,PC2=1,南北路口绿灯

灭,东西路口红灯亮

OUT DX,AL

;南北路口黄灯闪3次,东西路口红灯亮

MOV BX,3 ;置黄灯闪的次数=3

LP1: MOV AL,01000100B ;C口输出,PC6=1,PC2=1,南北路口黄

灯亮,东西路口红灯亮

OUT DX,AL

MOV CX,1

CALL DELAY ;调用DELAY过程

AND AL,10111111B ;C口输出,PC6=0,PC2=1,南北路口黄

灯灭,东西路口红灯亮

OUT DX,AL

MOV CX,1

CALL DELAY ;调用DELAY过程,延迟

DEC BX

JNZ LP1

;南北路口红灯亮,东西路口绿灯亮

MOV AL,10000001B ;C口输出,PC7=1,PC0=1,南北路口红

灯亮,东西路口绿灯亮

OUT DX,AL

MOV CX,10 ;调用DELAY过程,长延迟

CALL DELAY

AND AL,11110000B ;C口输出,PC7=1,PC0=0,南北路口红

灯亮,东西路口绿灯灭

OUT DX,AL

;南北路口红灯亮,东西路口黄灯闪3次

MOV BX,3 ;置黄灯闪的次数=3,

LP2: MOV AL,10000010B ;C口输出,PC7=1,PC1=1,南北路口红

灯亮,东西路口黄灯亮

OUT DX,AL

MOV CX,1 ;调用DELAY过程,延迟

CALL DELAY

AND AL,11111101B ;C口输出,PC7=1,PC1=0,南北路口红

灯亮,东西路口黄灯灭

OUT DX,AL

MOV CX,1

CALL DELAY ;调用DELAY过程,延迟

DEC BX

JNZ LP2

;检查键盘状态,有按键结束,无按键循环执行

MOV AH,0BH ;检查键盘状态(不等待)

INT 21H

CMP AL,00H ;比较,无按键循环

JE AGAIN

;返回DOC

QUIT: MOV AL,00000000B ;C口输出,南北路口、东西路口所有灯全灭MOV DX,28AH

OUT DX,AL

MOV AH,4CH ;退出

INT 21H

DELAY PROC ;DELAY过程,类型NEAR

PUSH AX ;现场保护,AX、DX压栈

PUSH DX

MOV DX,CX ;置循环次数

LOP: MOV CX,15000

WAIT: IN AL,61H ;读口地址为61H

AND AL,10H ;屏蔽低4位

CMP AL,AH ;比较AL,AH

JE WAIT ;等于零循环

MOV AH,AL

LOOP WAIT

DEC DX ;DX自减

JNZ LOP

POP DX ;恢复现场,AX、DX出栈

POP AX

RET

DELAY ENDP ;DELAY过程结束

CODE ENDS ;代码段结束

END START ;源程序结束

5、运行结果

小灯按照十字路口交通灯规律闪亮即:

十字路口交通灯的变化规律要求:

南北路口的绿灯、东西路口的红灯同时量30秒左右;

南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮;

南北路口的红灯、东西路口的绿灯同时量30秒左右;

南北路口的红灯继续亮、同时东西路口的黄灯闪烁若干次;

若按下任意键则程序结束,返回。

6、程序改进

原来的程序:MOV AH,0BH ;检查键盘状态

INT 21H

JE AGAIN

改进原因:不能正常返回DOS。

原来的程序运行时,全过程只能进行一次就结束,六个灯全熄灭,按

任意键不能返回DOS,并且结束时系统报错。

出错原因:由于在条件转移指令JZ之前虽然检查了键盘的状态,但没有给出跳转到START的条件。

改进后程序:MOV AH , 0BH

INT 21H

CMP AL ,00H

JE AGAIN

改进后的结果:用CMP AL ,0BH 语句作为跳转的条件语句。当无键盘输入时AL=0,ZF=1,跳转到AGAIN;有任意键输入时,不跳转,继续

执行下一句QUIT。

第三部分:实验心得体会

这是我们第一次独立写汇编程序,在编写过程中,我们遇到了很多问题,有很多地方都不知道如何处理,于是不得不去图书馆查阅一些类似的相关程序,应用于自己的程序中。

程序好不容易写完了,等到上机的时候,我们才发现更困难的在后边,我们把程序输入到电脑编译后,出现了很多错误,有时候甚至几十个,这些足以让我们心灰意冷,尤其是看到周围同学陆续运行成功,而自己却还没有做好的时候。但这也是没办法的事,只能自己慢慢一步一步的调试,这还要感谢老师,否则有些程序只凭我们自己是没办法调好的。

通过调试,我们最终得到了预想结果,我们在这个过程中,我们学会了:

1、8086汇编语言程序的编写格式,更加熟悉了各个指令的用途,了解了中断的意义和应用。初步掌握了8086的指令系统通过这次实验,了解了8250接口芯片的基本工作原理、编程方法和芯片的接线方法。

2、在编程过程中掌握了波特率与除数的关系和除数寄存器值的计算,自检方式,数据发送和接收的原理,读线路控制寄存器的状态以及根据需要写线路控制寄存器、MODEM控制寄存器和中段允许寄存器。

3、进一步了解8255A接口芯片的基本工作原理、编程方法及芯片的连线方法。熟悉了输入输出指令和条件转移指令的应用,掌握了换表指令的使用,数码管显示数字的原理。编程过程中,我们还运用了循环嵌套和子程序调用实现延时功能,同时了解了用其他指令实现延时的程序。

4、掌握了检查键盘状态的中断语句为:

MOV AH,0BH

INT 21H

当然,实验过程也暴露出我们的不足和问题。首先是对基础知识掌握得不扎实,调试过程经常要借助书本,对于很多编程中出现的问题还不能很好的解释,

编写的程序较为复杂,不够巧妙,程序的执行耗费了很多时间和资源,这需要我们在以后的学习中继续巩固学过的知识并熟练的应用。

另外,在调试过程中显示的错误中,许多是由于我们在输入程序的时候不够认真,出现的拼写错误造成的,给程序开始的调试过程带来很大难度。

总之,通过实验过程,我们觉得实践对于微机原理的学习是很关键的,不能只注重理论的学习。我们会在今后的学习中继续发扬自己的优点,以严谨的作风对待每一次实验,更好的运用我们所学的知识与掌握的方法和心得去应对接下来的学习和工作。

最后,我们衷心的感谢实验室的辅导老师在实验中给予我们的帮助。

微机原理课程设计电压报警器实验报告

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: xxx

目录 1.设计目的 (2) 2.设计内容 (2) 3.设计要求 (2) 4.设计原理 (3) 5.硬件电路图 (3) 6.程序代码 (5) 7.程序及硬件系统调试情况 (19) 8.设计总结与体会 (19)

一、设计目的 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 二、设计内容 设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

最新8086简易计算器的设计微机原理计硬报告整理

计算机硬件技术实践报告 题目简易计算器的设计 姓名 专业自动化(电站方向) 班级 学号 上海电力学院自动化工程学院

实践报告内容(目录) 一. 设计题目 二. 开发目的 三. 小组成员分工及成果 四. 设计方案以及论证 五. 硬件原理图(包括芯片的选型介绍) 六. 程序流程图(包括各个子系统和子过程的程序流程) 七. 程序清单,要有适当的注释 八. 程序运行结果分析与预测 九. 结果评述或总结(对实验结果进行分析,对实验过程进行总 结,系统改进升级建议或者提出新的方案等。)

一. 设计题目: 用8086设计一个能实现0~9整数加法运算的计算器,并用2位LED数码显示. 键盘包括0-9,+ ,-,*,/,=,ON/C;共16个按键.能实现简单的清零操作,减法运算,乘法运算. 二.开发目的: 通过课程设计,熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机 开发应用方面的初步训练。培养集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,做到理论联系实际,提高动手能力和分析问题、解决问题的能力, 实现由学习知识到应用知识的初步过渡。通过本次课程设计熟练运用程序对8255控制键盘和LED显示的控制,完成计算器加减法的应用,并熟练应用8086汇编语言编写应用程序 和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 三.小组成员分工及成果: 本组的三个成员一起讨论研究简易计算器设计的主要方案。 粗略设计程序流程图以确定简易计算器设计的大概框架。 明确目的后各自查询资料了解设计原理、逐步清晰设计思路。 以下为大体分工:主要负责:1、设计主要程序,编写; 2、查找资料验证修改; 主要负责:1、选择需要用的各个芯片; 2、设计硬件原理图; 主要负责:1、各个芯片功能的资料查找; 2、设计程序流程图 四.设计方案以及论证: 利用程序不断扫描所设的按钮键盘是不是有输入,如果没有就一直扫描,如果有就调 用子程序进行判断,是数值则进行存储并同时进行显示,是运算符号等就调用相应的子程 序进行操作,操作后则继续利用程序不断扫描键盘是不是有输入,从而实现部分十进制数 的加、减、乘、除的运算。运算完成后根据程序将运算的结果储存到锁存器中并显示到LED 显示器上。主要器件选择是采用8086CPU做主控制器,8255作为并行接口电路实现按键扫 描以及数码管的显示。通过8255A的C口和A口实现键盘的接入,通过键盘的不断扫描, 如果有键按下,通过查表法分别将输入的数据读到AL中并保存在第一个和第二个数里, 将8255A的B端口接上共阴极LED灯,将输入的数据通过查表法,将四段码送共阴极LED 灯显示,当按下‘=’时,通过判断字符,8086来实现不同的操作,并将结果在LED灯上显示,当按下“C”时,将数据先清零,同时LED灯上显示为“00”。

经济生活-第六课-投资理财的选择-练习试题-解析版

经济生活第六课投资理财的选择检测题解析版 1、“最终,我们的经济命运将取决于我们所拥有的公司的经济命运,无论我们的所有权是部分的还是全部的。”巴菲特这话指出了股票价格() A.受供求关系的影响 B.受所获股票数量的影响 C.受公司经营状况的影响 D.受股票所有权的影响 【答案】C 【解析】 试题分析:股票投资的收入包括两部分。一部分是股息或红利收入,它于企业利润,公司有盈利才能分配股息或红,如果公司破产倒闭,股东不但不能获得收入,反而要赔本;投资股票的另一部分收入于股票价格上升带的差价,股票价格受公司经营状况、供求关系、银行利率、大众心理等多种因素的影响,其波动有很大的不确定性。本题材料中“我们的经济命运将取决于我们所拥有的公司的经济命运”,说明了股票价格受公司经营状况的影响,故C项符合题意,可以入选;A项在材料中并未体现出,故不能入选;所获股票数量以及股票所有权与股票价格并无直接关系,故不能入选。因此,答案是C项。 考点:本题考查影响股票价格的因素。 2、目前,我国保险业资产总额已达6.8万亿元左右,保险是金融体系的重要组成部分,保险在经济生活中的基本功能是() A.获得投资回报 B.分散风险,补偿损失 C.为经济建设积累资金 D.提供防灾防损的预防性服务 【答案】B 【解析】 试题分析:在现实生活中,我们可能面临各种各样的风险。如果发生某些意外,会使我们遭受重大损失。而购买保险,正是规避风险的有效措施。通过购买保险,投保人把风险转移给保险人,使自己所承担的风险损失下降。这不仅体现出保险的保障功能,而且显示出保险“我为人人、人人为我”的互助特征。由此可见,B项符合题意,可以入选;投资保险的目的是规避风险,而不是为了获得投资回报,故A项不能入选;C项是储蓄存款的功能,不符合题意,故不能入选;D项属于政府的社会公共服务职能,不符合题意,故不能入选。因此,答案是B项。 考点:本题考查居民投资理财的相关知识。 3、近年,我国商业银行金融机构以绿色信贷为抓手,创新信贷产品,调整信贷结构,积极支持节能减排和环境保护,取得了初步成效。这体现我国商业银行的作用是() A.优化产业结构,提高国民经济效益 B.掌握和反映社会经济活动的信息 C.为政府正确决策提供必要依据 D.为我国经济建设筹集资金 【答案】A 【解析】 试题分析:题中材料“近年,我国商业银行金融机构以绿色信贷为抓手,创新信贷产品,调整信贷结构,积极支持节能减排和环境保护”,体现了我国商业银行可以通过对国民经济各部门和企业的生产经营活动进行监督和管理,以优化产业结构,提高国民经济效益。由此可见,A项符合题意,可以入选;B、C、D三项均是关于我国商业银行作用的正确表述,但不符合材料主旨,故不能入选。因此,答案是A项。 考点:本题考查我国商业银行作用的相关知识。 4、受国际金价下跌影响,国内掀起了黄金投资热潮。下列不属于投资黄金的理由的是() A.黄金可以执行货币的贮藏手段职能 B.投资黄金可以起到保值、增值的作用 C.黄金作为货币具有易于分割的特点 D.投资黄金可以抵御通胀带的纸币贬值 【答案】C 【解析】

8086.8088微机原理课程设计

8086/8088微机原理课程设计 1、课程设计说明 “微机原理与接口技术课程设计”主要是测试学生的8086/8088系统输入输出技术应用能力、数字电路应用能力和程序设计能力。 设计题目中综合了《数字逻辑》、《微机原理与接口技术》和《程序设计基础》等课程中的相关知识点。特别是电气工程系各专业学习了《模拟电子》、《传感器技术》、《单片机技术》等课程,给题目的扩展和实际应用提供了基础。本课程的课程设计实际上是一个综合性应用的设计和制作。 这里只给出了部分课程设计的题目,主要和接口电路有关,每个题目的实现方式和扩展空间都很大,指导教师可根据学生的具体情况决定设计题目的内容和设计量。纯汇编语言软件的设计未在这里列出。 欢迎学生自拟题目,经指导教师审核其难易程度和确定所用器材,优先选用。 2、课程设计计分办法 课程设计的计分由课设题目(60)、课设报告(20)、考勤(20)三部分组成。 一、题目的选择 设计题目分为星级制(★),根据选择题目的难易程度确定成绩,以百分制计算,按比例计入总成绩。要根据个人情况合理选择题目,不可多组选择同一题目。 1、无星为最简题目,做完多个题目仅记分为及格(69分及以下)。 2、1星(★)为简单题目,做完1个题目记分为良(70~89分)。 3、2星(★★)为较难题目,做完1个题目记分优(90~100分)。 4、星级题目多做可提高分值。 5、课设一般为分组实施,主要设计者记原星级分值,辅助者减1星。 6.、未完成设计者视设计程度减星计分。 7、无星题目可单人完成,但不选题目者记0分。 二、报告要求 课设报告应按规定格式书写,并按时上交。报告原则上要求手工书写,如要打印必须是独立版本,遇雷同课设报告均不计入总成绩。 三、考勤 考勤。点名一次未到扣5分,5次以上记0分。

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 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 + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

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

微原硬件实验报告 班级: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 进行调试。 四,程序流程图

微机课设实验报告

微机课程设计 数字温度计实验报告

一、题目: 上位机:完成界面设计与通讯程序 1、能够显示两个温度值,温度精度0.5度,当超出报警温度阈值时,温度 值后又提示字幕。 2、能够设定报警温度阈值 3、每隔一秒将温度值保存至文件存档。当超出报警温度阈值时,温度值后 面有提示。 4、可以对串口进行设置。 下位机:完成电路设计与控制程序 1、用两个DS18B20测温。 2、通过串口与上位机通信,并传输温度值,接受阈值设置。 3、当超出报警温度阈值时,有相应指示灯提示。 4、将当前温度显示LCD1602液晶屏上,当超出报警温度阈值时,温度值后 有提示。 二、原理 DS18B20是DALLS公司推出的“1—wire”接口的数字温度传感器,可以直接将温度转换为9~12串行信号供单片机处理。由于这种传感器只有一个IO口,是单总线串行接口,单片机可以利用串行通信将数据读出并按照LCD 的协议显示在1602液晶屏上。同时,通过PC机与单片机之间的串行通信,可以用PC机控制温度的警戒值以及记录不同时间测量的温度。 三、原理图 图3.1 LCD、18B20以及串口与单片机最小系统连接图

图3.2电源模块 四、流程图 1、上位机流程图 图4.1.1发送数据流程图图4.1.2 接受数据流程图

2、下位机流程图 图4.2.2读出温度子程序流程图 图4.2.1总流程图 图4.2.4计算温度子程序流程图

图4.2.3 温度转换流程图 图4.2.6温度值显示在LCD1602上 图4.2.5 显示数据刷新子程序 五、源程序 1、上位机程序:见附录1; 2、下位机程序:见附录2; 3、实验结果显示(上位机):见附录3。

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

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

浅议我国居民个人应如何进行投资理财规划论文8

浅议我国居民个人应如何进行投资理财规划论文 摘要:家庭投资理财的选择、组合、调整行为可以定义为家庭对某一种或某几种资产所产生的需求偏好和投资倾向,本文对家庭的投资理财的这一行为进行了分析,并对家庭投资理财如何获取收益和家庭投资理财风险及其规避进行了分析,希望对家庭投资理财的实践有所帮助 关键词:家庭投资理财,行为分析,投资收益,投资风险 随着我国经济的发展,人民生活水平的提高,家庭金融资产的不断增加,投资理财已成为日益重要的问题,家庭投资理财是针对风险进行个人资财的有效投资,以使财富保值、增值,能够抵御社会生活中的经济风险,不管是储蓄投资、股票投资,外汇、保险投资,由于投资品种日益增多,所需的专业知识也不尽相同,投资方法也很难完全掌握,家庭的资产选择、组合、调整行为均定义为家庭对某一种或某几种资产所产生的需求偏好和投资倾向,本文对家庭的投资理财的这一行为进行了分析,并对家庭投资理财制胜之道和家庭投资理财风险及其规避进行了分析,希望对家庭投资理财的实践有所帮助。 一、家庭投资理财的选择 (一)、进行家庭投资理财选择的必要性 家庭在投资时,首先面临的就是投资方式和领域的选择,一般应以资产的收益与风险以及相互制约关系为考虑基本点,选择某种或某几种资产,并决定其投人数量与比例。改革开放以前,在大多数中国老百姓眼里,“投资理财=银行= 储蓄所”,个人金融投资给老百姓带来的仅仅是“存钱生利息”。今天的老百姓不但有能力“穿金戴银”,个人可支配的收人也达到了数万元。新的投资品种逐渐成为个人投资理财的重笋组成部分。诸如金融期货、金融期权等新兴的个人投资理财工具层出不穷,对现代个人理财投资组合影响很大。在众多的资产选择方式中,及时引导家庭利用资金市场的不景气,以较低的成本筹措社会游资,选择自己适合的方式进行理性投资,就是一种不景气市场条件下的资产选择策略。 如2006年前的中国股市十分低迷,有不少头脑清醒,有远见的投资者,敢以两分的利率向自己的亲朋好友借钱和筹集未到期的银行定期存单,他们将存单用于银行的抵押贷款,并将贷款和借来的资金存入银行用于购买股票,由于投资机会把握准确,投资方式选择合适,结果不到一年,2006年下半年股市兴旺,他们购买股票的收益率达到100%,获得了令人咋舌的高回报。理论与实证分析表明:家庭对资产的选择标准大都是以带来近期新的收人或收人相对量的增加。根据财力和能力使投资多元化,但要避免盲目从众投资、借钱投资。金融投资工具大体分为保守型的如银行存款,成长型的如债券、基金等;高风险高收益型的如期货、外汇、房地产等;精专业知识的如邮品、珠宝、古玩、字画等。尽可能地使投资多元化,但切记不要盲目从众投资,要发挥个人特长,尽可能多元投资,获得最大收益。 (二)、家庭投资理财的品种 当前,新的投资品种逐渐成为个人投资理财的重笋组成部分。诸如金融期货、金融期权等新兴的个人投资理财工具层出不穷,对现代个人理财投资组合影响很大。现在家庭投资理品种主要有:

微机原理课程设计报告

微型计算机技术课程设计 指导教师: 班级: 姓名: 学号: 班内序号: 课设日期: _________________________

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (3) 五、设计思路..................... 错误!未定义书签。 六、设计步骤(含流程图和代码) ..... 错误!未定义书签。 七、课程设计小结 (36)

一、课程设计题目:点阵显示系统电路及程序设计 利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。 二、设计目的 1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 三、设计内容 1.点阵显示系统启动后的初始状态 在计算机显示器上出现菜单: dot matrix display system 1.←left shift display 2.↑up shift display 3.s stop 4.Esc Exit 2.点阵显示系统运行状态 按计算机光标←键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标↑键,点阵逐行向上移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标s键,点阵停止移动并显示当前字符。 3.结束程序运行状态 按计算机Esc键,结束点阵显示系统运行状态并显示“停”。 四.设计所需器材与工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS138各一片,16×16点阵显示器件一片。

汇编语言程序设计实验篇emu

1.汇编语言程序设计实验篇 1.1.汇编系统软件简介 Emu8086-Microprocessor Emulator是集源代码编辑器、汇编/反汇编工具以及debug 的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。 1.1.1创建程序 https://www.wendangku.net/doc/db2805444.html, TEMPLATE程序 本章与指令相关的实验都是用COM TEMPLATE类型的程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。 在“choose code template”对话框中,选择“COM template-simple and tiny executable file format, pure machine code.”后,单击按钮。

在如所示的编辑界面中,在“;add your code here”部分输入相应的指令,第一条指令默认的偏移地址为100h。 输入全部指令后,单击按钮,保存相应的程序段。 2.EXE TEMPLATE程序 本章与DOS功能调用和汇编源程序相关的实验都是用EXE TEMPLATE程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。

在“choose code template”对话框中,选择“EXE template-advanced executable file.header: relocation, checksum.”后,单击按钮。 在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。

微机控制技术实验报告

《微机控制技术》课程设计报告 课题:最少拍控制算法研究专业班级:自动化1401 姓名: 学号: 指导老师:朱琳琳 2017年5月21日

目录 1. 实验目的 (3) 2. 控制任务及要求 (3) 3. 控制算法理论分析 (3) 4. 硬件设计 (5) 5. 软件设计 (5) 无纹波 (5) 有纹波 (7) 6. 结果分析 (9) 7. 课程设计体会 (10)

1.实验目的 本次课程设计的目的是让同学们掌握微型计算机控制系统设计的一般步骤,掌握系统总体控制方案的设计方法、控制算法的设计、硬件设计的方法。学习并熟悉最少拍控制器的设计和算法;研究最少拍控制系统输出采样点间纹波的形成;熟悉最少拍无纹波控制系统控制器的设计和实现方法。复习单片机及其他控制器在实际生活中的应用,进一步加深对专业知识的认识和理解,使自己的设计水平、对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。 2.控制任务及要求 1.设计并实现具有一个积分环节的二阶系统的最少拍有纹波控制和无纹波控制。 对象特性G (s )= 采用零阶保持器H 0(s ),采样周期T =,试设计单位阶跃,单位速度输入时的有限拍调节器。 2.用Protel 、Altium Designer 等软件绘制原理图。 3.分别编写有纹波控制的算法程序和无纹波控制的算法程序。 4.绘制最少拍有纹波、无纹波控制时系统输出响应曲线,并分析。 3.控制算法理论分析 在离散控制系统中,通常把一个采样周期称作一拍。最少拍系统,也称为最小调整时间系统或最快响应系统。它是指系统对应于典型的输入具有最快的响应速度,被控量能经过最少采样周期达到设定值,且稳态误差为定值。显然,这样对系统的闭环脉冲传递函数)(z φ提出了较为苛刻的要求,即其极点应位于Z 平面的坐标原点处。 1最少拍控制算法 计算机控制系统的方框图为: 图7-1 最少拍计算机控制原理方框图 根据上述方框图可知,有限拍系统的闭环脉冲传递函数为: ) ()(1)()()()()(z HG z D z HG z D z R z C z +==φ (1) )(1)()(11)()()(1z z HG z D z R z E z e φφ-=+== (2) 由(1) 、(2)解得:

投资理财的选择测试题(含答案)

实用精品文献资料分享 投资理财的选择测试题(含答案)第二单元第6课《投资理财的选择》课时训练(人教实验版必修1) 时间:45分钟分值:100分一、选择题(每小题4分,共72分) 1.活期储蓄是百姓非常熟悉的一种投资方式。它与定期储蓄相比( ) A.流通性更强 B.流动性更强 C.风险性更高 D.收益性更大解析:流通性是指资金能否在市场上转让交易,如果越容易转让交易,那么流通性越强;流动性是指资金能否迅速转化为现金的能力,如果越快转化为现金,那么流动性越强。活期储蓄灵活方便,流动性强,而定期储蓄流动性较差,但是收益高于活期储蓄。答案:B 2.假设现在将1万元存入银行,定期3年,目前银行1年期的定期储蓄存款的年利息率是2.25%,3年定期储蓄存款的年利息率是3.33%。在不考虑其他因素的条件下,到期后存款人得到的利息是( ) A.999元B.333元 C.675元 D.799.2元解析:根据利息率的计算公式,利息=本金×利息率×存款期限,可知3年后得到的利息是:1万元×3.33%×3年=999元。答案:A 3.商业银行是以利润为主要经营目标的金融机构。其营利主要来源于( ) A.贷款业务 B.存款业务 C.结算业务 D.代理保险业务 解析:商业银行营利的主要来源是贷款业务,故选A。答案:A 4.作为投资手段,无论是活期储蓄还是定期储蓄都存在风险。这种风险是指( ) A.若发生通货膨胀,存款会发生贬值 B.商业银行比较容

易破产 C.定期存款提前支取会损失利息 D.存折丢失,容易被人盗取解析:在市场经济条件下,商业银行存在破产的可能,但这并不等于说商业银行比较容易破产,B错误;题干强调的是活期储蓄和定期储蓄存在的共同风险,C不符合题意;材料说的是投资风险,D与题意无关。答案:A 5.2010年8月28日至29日,第五届中国金融市场分析年会在北京召开。国泰君安总经济师、首席经济学家李迅雷表示,过去10年买股票不如买债券,投资股票是一个最惨的选择。这告诉我们( ) A.股票是一种高风险、低收益的投资方式 B.投资者应远离股市而寻找其他投资渠道 C.债券在各种投资方式中风险最小、收益最高 D.选择投资方式要注意投资的风险性和回报四(年凭证式2010决定发行日发布公告,6月9财政部.6D 答案:率.实用精品文献资料分享 期)国债。发行总额为400亿元,其中1年期200亿元,票面年利率2.60%;3年期200亿元,票面年利率3.73%。发行国债是( ) ①宽松货币政策的主要措施②国家财政支出的重要方面③国家财政收 入的重要来源④政府筹集资金的重要方式 A.①② B.③④ C.①④ D.②③答案:B 7.中央政府债券、金融债券、企业债券的共同点是( ) A.都是筹资者给投资者的债务凭证 B.发行的目的都是为了弥补国家财政赤字 C.风险都小于储蓄存款 D.风险都大于股票解析:金融债券、企业债券的风险都大于储蓄存款,不一定大于股票;

微机系统课程设计实验报告---交通信号灯自动控制模拟指示系统[13页].docx

微机系统课程设计实验报告

课题:交通信号灯自动控制模拟指示系统 一、课程设计目的 1.掌握CPU与各芯片管脚连接方法,提高借口扩展硬件电路 的连接能力。 2.加深对定时器、计数器和并行借口芯片的工作方式和编程 方法的理解。 3.掌握交通信号灯自动控制系统的设计思路和实现方法。 二、课程设计内容 设计并实现十字路口通信号自动控制模拟指示系统。设该路口由A、B两条通行相交而成,四个路口各设一组红、黄、绿三色信号灯,用两位数码管作倒计时显示。 三、应用系统设计方案 交通信号灯的亮灭时间及数码管显示时间可以通过8253来控制,8253的时钟源采用时钟信号发生器与分频电路提供,通过计算获得计数初值为1000。按照需要设定工作在方式3. 交通信号灯及数码管可以采用系统提供的相应模块,控制可以通过8255可编程并行借口,PA口控制红黄绿交通灯的亮灭,PB口和PC口控制时间显示数码管的段和位。PC0作为OUT1的输入。

四、系统测试结果 1.基本功能实现 (1)以秒为计时单位,两位数码管以十进制递减计数显示通行剩余时间,在递减计数为零瞬间转换。即南 北的绿灯、东西的红灯同时亮30秒,同时南北路口 数码管递减显示绿灯剩余时间;为0时,南北的黄 灯闪烁5秒钟,同时东西的红灯继续亮;南北的红 灯、东西的绿灯同时亮30秒,同时东西路口数码管 递减显示绿灯剩余时间;为0时,南北红灯继续亮, 同时东西的黄灯闪烁5秒;若不结束,则开始循环。 (2)通过键盘可以对红、黄、绿三色信号灯所亮时间再0~99内任意设定。 (3)十字路口的通行气势状态可自行设定,系统启动后自动运行,按“Q”退出。 2、发挥部分实现 (1)增加人工干预模式,在特殊情况下可通过人工干预,手动控制A、B交通灯的切换时间,并可以随时切 换为自动运行模式。 (2)增加夜间控制功能,交通灯在进入夜间模式后,A、B干道上红、绿灯均不亮,黄灯信号灯闪烁。 (3)增加红灯倒计时显示。

8086 汇编语言中断程序设计

汇编语言程序设计实验报告 学院:计算机科学与技术专业:计算机科学与技术班级:计科131

LEA DX,FNAME MOV CX,0 ;语句1 INT 21H JC EXIT MOV FNUM,AX MOV BX,AX ;语句2 MOV CX,100 MOV AH,40H LEA DX ,BUF INT 21H MOV BX,FNUM MOV AH,3EH INT 21H EXIT: MOV AH,4CH INT 21H CODE ENDS END START 使用相应的文本编辑器建立文件LAB7.asm,内容如上所示。 2.汇编并运行此程序后,在当前目录建立的文件名是什么?其内容是什么? 1>汇编: C:\masm> masm lab7; 2>连接: C:\masm> link lab7; 3>运行: C:\masm> lab7 3.若将语句1 改为mov cx,1,则运行情况与前面会有什么区别? 4.若将语句1 改为mov cx,2,则运行结果同上会有什么不同?并简要说明此语句的作用. 5.若将语句2 改为mov bx,1,则运行结果会有什么不同?简要说明则语句的作用. 实验二:编写0 号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“divide error!”,然后返回到DOS。源程序下: assume cs:code code segment start: mov ax,cs mov ds,ax

mov si,offset do mov ax,0 mov es,ax mov di,200h mov cx,offset doend-offset do ;安装中断例程cld rep movsb mov word ptr es:[0],200h mov word ptr es:[2],0 ;设置中断向量表 mov dx,0ffffh mov bx,1 ;测试一下 div bx mov ax,4c00h int 21h do:jmp short dostart db 'divide error!' dostart: mov ax,0 mov ds,ax mov si,202h mov ax,0b800h mov es,ax mov di,160*12+60 mov cx,13 s: mov al,ds:[si] mov ah,15 mov es:[di],ax inc si inc di inc di loop s mov ax,4c00h int 21h doend:nop code ends end start

第6课投资理财的选择练习题及答案解析

第二单元第6课《投资理财的选择》课时训练(人教实验版必修1) 时间:45分钟分值:100分 一、选择题(每小题4分,共72分) 1.活期储蓄是百姓非常熟悉的一种投资方式。它与定期储蓄相比( ) A.流通性更强B.流动性更强 C.风险性更高D.收益性更大 解析:流通性是指资金能否在市场上转让交易,如果越容易转让交易,那么流通性越强;流动性是指资金能否迅速转化为现金的能力,如果越快转化为现金,那么流动性越强。活期储蓄灵活方便,流动性强,而定期储蓄流动性较差,但是收益高于活期储蓄。 答案:B 2.假设现在将1万元存入银行,定期3年,目前银行1年期的定期储蓄存款的年利息率是%,3年定期储蓄存款的年利息率是%。在不考虑其他因素的条件下,到期后存款人得到的利息是( ) A.999元B.333元C.675元D.元 解析:根据利息率的计算公式,利息=本金×利息率×存款期限,可知3年后得到的利息是:1万元×%×3年=999元。 答案:A 3.商业银行是以利润为主要经营目标的金融机构。其营利主要来源于( ) A.贷款业务B.存款业务 C.结算业务D.代理保险业务 解析:商业银行营利的主要来源是贷款业务,故选A。 答案:A 4.作为投资手段,无论是活期储蓄还是定期储蓄都存在风险。这种风险是指( ) A.若发生通货膨胀,存款会发生贬值 B.商业银行比较容易破产新*课*标*第*一*网] C.定期存款提前支取会损失利息 D.存折丢失,容易被人盗取 解析:在市场经济条件下,商业银行存在破产的可能,但这并不等于说商业银行比较容易破产,B错误;题干强调的是活期储蓄和定期储蓄存在的共同风险,C不符合题意;材料说的是投资风险,D与题意无关。 答案:A 5.2010年8月28日至29日,第五届中国金融市场分析年会在北京召开。国泰君安总

微机原理课程设计实验报告DOC

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 课程名称: 学年学期: 指导教师: 年月

课程设计成绩评定表 学生姓名学号成绩 专业班级起止时间2011.12.24—2012.11.28 设计题目字符串动画显示 指 导 教 师 评 语 指导教师: 年月日

目录 一、课程设计的目的 (1) 二、设计题目 (1) 三、设计内容要求 (2) 四、设计成员及分工 (2) 五、课程设计的主要步骤 (2) 六、课程设计原理及方案 (3) 七、实现方法 (3) 八、实施结果 (8) 九、总结 (8) 十、体会感受 (8)

一、课程设计的目的 课程设计是以自己动手动脑,亲手设计与调试的。它将基本技能训练、基本工艺知识和创新启蒙有机结合,培养我们的实践和创新能力。课程设计的意义,不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力。作为信息时代的大学生,基本的动手能力是一切工作和创造的基础和必要条件。 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 《微机原理及应用》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。 通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书等表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 通过设计过程,要求学生熟悉和掌握微机系统的软件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件调试、查阅资料、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练的熟练掌握微机系统的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。 二、设计题目

(完整版)微机原理课后单元习题-单元2-8086cpu

习题二 8086微处理器 答案 主要内容:主要介绍8086/8088CPU内部结构。了解80X86CPU的特点。 2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么? 【答】8086的内部结构分成两部分。总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行行。 2.2 8086的总线接口部件有那几部分组成? 其功能是什么? 【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。 2.3 8086的执行单元(部件)由那几部分组成?有什么功能? 【答】8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。 (1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。 (2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。 (3)标志寄存器,使用9位,标志分两类。其中状态标志6位,存放算数逻辑单元ALU 运算结果特征;控制标志3位,控制8086的3种特定操作。 (4)通用寄存器组,用于暂存数据或指针的寄存器阵列。 2.4 8086内部有哪些通用寄存器? 【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP, 二个变址寄存器SI、DI。这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器,可参考后面指令系统章节。 2.5 8086内部有哪些段寄存器?各有什么用途? 【答】四个16位段寄存器:CS、DS、SS、ES,分别保存代码段、数据段、堆栈段与扩展段的段地址。 2.6 8086CPU状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086的状态 标志和控制标志分别有哪些? 【答】(1)标志分两类:状态标志(6位),反映刚刚完成的操作结果情况。控制标志(3位),在8086特定指令操作中起控制作用。 (2)利用状态标志可以掌握当前程序操作的结果,例如了解是否产生进位,是否溢出等。例如利用控制标志可以控制程序的单步调试。 (3)状态标志包括:包括零标志ZF、符号标志SF、奇偶标志PF、进位标志CF、辅助进位标志AF、溢出标志OF。控制标志包括:单步运行标志TF、方向标志DF与中断允许标志IF。 2.7 8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么 优点? 8086CPU执行转移指令时,指令队列寄存器内容如何变化? 【答】(1)传统的计算机一般按照取指令、指令译码与执行指令的串行步骤工作。 (2)在8086CPU中,指令的提取与执行分别由总线接口部件BIU与执行部件EU完成,两个单元重叠并行工作,这种机制称为流水线,这种工作方式有力的提高了CPU的工作效率。

相关文档
相关文档 最新文档