实验五 循环结构程序设计
一、实验目的和要求
1. 学习、掌握循环结构程序的设计和调试方法;
2. 熟悉8086汇编指令中的程序控制指令和LOOP指令的应用。
二、实验任务
学习使用星研集成环境软件,验证及编写、调试实验内容。
三、实验设备和软件
星研集成环境软件(参考附录四)
四、预习内容和要求
1. 熟悉星研集成环境软件的使用。
2. 复习循环结构程序的设计方法,预习实验内容。
三、实验内容
1. 编写程序完成求1+2+3+??N的累加和,直到累加和超过1000为止。统计被累加的自然数的个数送CN单元,累加和送SUM。流程图如下图所示。
实验框图:
开 始 初始化 0送AX,0送BX BX加1送BX AX加BX送AX Y AX≤1000? N BX送N,AX送SUM 结束
; 初始化 ;0送AX
;BX加1
程序清单: DATA SUM CN DATA CODE
START: LP:
SEGMENT DW DW ENDS SEGMENT ASSUME MOV MOV MOV MOV INC ? ?
CS:CODE, DS:DATA AX,DATA DS, AX AX, 0 BX, 0 BX
11
ADD AX, BX ; 求累加和 CMP AX, 1000 ; 比较 JBE LP ; ≤1000转 MOV SUM, AX MOV CN, BX ; 送结果 MOV AH, 4CH INT 21H CODE ENDS END START ; 汇编结束 2. 采用LOOP指令来实现上例。
3. 已知有几个元素存放在以BUF为首址的字节存贮区中,试统计其中正元素的个数。 显然,每个元素为一个8位有符号二进制数,统计其中正元素的个数可用循环程序实现。
六、实验报告
实验报告要求参考附录一。
12
实验六 子程序设计
一、实验目的和要求
学习子程序的结构、特点,以及子程序的设计和调试方法。
二、实验任务
学习使用星研集成环境软件,验证及编写、调试实验内容。
三、实验设备和软件
星研集成环境软件(参考附录四)
四、预习内容和要求
1. 熟悉星研集成环境软件的使用。
2. 复习子程序的设计方法,预习实验内容。
五、实验内容
1. 设计一个子程序,功能是将一个字节的BCD码转换成二进制数。
说明:名称:BCD2BIN
功能:将一个字节的BCD码转换成二进制数 所用寄存器:CX
入口参数:AL存放两位BCD码 出口参数:AL存放二进制数
主程序及子程序清单: CODE SEGMENT ASSUME CS:CODE START: MOV AL,12H CALL BCD2BIN HALT BCD2BIN PROC NEAR ;子程序 PUSH CX MOV CH, AL AND CH, 0FH ;存低4位 MOV CL, 4 SHR AL, CL ;高4位右移4位后乘10 MOV CL, 10 MUL CL ADD AL, CH ;高4位加低4位 POP CX RET BCD2BIN ENDP CODE ENDS END START 2. 试编写一个将BCD码转换成ASCII码并显示的子程序。 3. 试编写一个求字变量绝对值的子程序。
六、实验报告
实验报告要求参考附录一。
13
第二章 基础硬件实验
基础硬件实验
基础硬件实验结合实验仪的所有单元电路(包括标准配置和可选各种模块)向读者逐一介绍各个实验,由浅入深,从最基础的实验开始,直到读者学会使用当今流行的各种外围电路,开发有一定深度的项目。硬件实验分为基础实验和综合实验两部分,基础实验主要介绍常用外围电路。
实验七 8255并行输入输出接口实验
一、实验目的与要求
1. 了解8255芯片的工作原理,熟悉8255芯片的工作方式以及控制字格式,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能。 2. 熟悉STAR系列实验仪8255及应用线路的接线。
二、实验任务
使用星研集成环境软件编写8255应用程序,按实验内容要求完成8255的硬件实验。
三、实验设备
STAR系列实验仪一套、PC机一台
四、预习内容和要求
1. 熟悉STAR系列实验仪的硬件结构(附录二、附录三)。 2. 复习8255芯片的有关知识及根据实验内容预先编程。
五、实验内容
1. 实验题目 编程使8255端口A工作在方式0并作为输出口,端口C工作在方式0并作为输入口。用一组开关信号接入端口C,端口A输出线接至一组发光二极管上,然后通过对8255芯片编程来实现输入/输出功能。开关信号对应控制发光二极管的亮灭。 2. 实验原理图
参见附录三的B4区(8255)电路。 3. 连线说明
B4区:CS、A0、A1 —— A3区:CS1、A0、A1 G6区:JP65 G6区:JP80 B4区:JP56(PA口) —— B4区:JP52(PC口) —— 4. 程序编写 由学生根据实验编写程序并调试运行,当程序在全速运行时,拨动开关信号能控制发光二极管的亮与灭的状态切换。
六、实验扩展及思考
如何对8255的PC口进行位操作?
14
实验八 8253定时计数器实验
一、实验目的与要求
1. 了解8253的内部结构、工作原理,熟悉8253的控制寄存器、工作模式和初始化编程方法。
2. 了解8253与8088的接口逻辑。
二、实验任务
使用星研集成环境软件编写8253应用程序,按实验内容要求完成8253的硬件实验。
三、实验设备
STAR系列实验仪一套、PC机一台
四、预习内容和要求
1. 熟悉STAR系列实验仪的硬件结构(附录二、附录三)。 2. 复习8253芯片的有关知识及根据实验内容预先编程。
五、实验内容
(一)实验编程 1. 编程题目 8253方式0应用
将8253的CLK0接到脉冲发生开关S4端,OUT0接到某个发光二极管。将8253的通道0初始化为方式0,装入计数初值6,按动脉冲发生开关并计数,观察LED的变化与按动开关次数的关系。 2. 实验原理图
参见附录三的C5区(8253)电路。 3. 连线说明 C5区:CS、A0、A1 C5区:CLK0 C5区:OUT0 —— —— —— A3区:CS5、A0、A1 B2区:S4 G6区:JP65 4. 程序编写 由学生根据实验编写程序并调试运行。
(二)演示实验 1. 编程题目
使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。 2. 实验原理图
15