资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
实验一: 寻址方式、 伪指令的使用。学习使用DEBUG调试工具。
( 一) 实验目的
1、 要求掌握汇编语言寻址方式和基本伪指令的使用;
2、 学习运用DEBUG工具上机调试汇编语言程序。
( 二) 实验内容
完成教材P67——P69习题5、 6、 7, 运用DEBUG工具上机调试, 按题目要求写出运行结果。
( 三) DEBUG的使用说明见附录。
实验二 顺序程序设计
( 一) 实验目的
1、 掌握顺序程序设计的编程技巧和上机调试方法。
2、 进一步熟悉数据传送、 数据运算、 逻辑运算等相关指令的使用。
3、 熟悉汇编语言编辑、 汇编、 链接和调试的全部过程。
( 二) 实验内容
1、 改写教材P81例4-1, 将BUFF存储单元双字的内容按十六进制显示到屏幕上。( 专科班做) 。
2、 有如下数据段定义, 编程实现,A , B, C三数按从大到小排列, 并在屏幕上输出。( 本科班做) 。
data segment
A DB 253
B DB 127
C DB 255
BUFA DB 8 DUP(0)
data ends
实验三 分支程序设计
( 一) 实验目的
1、 掌握分支程序的编程技巧和上机调试方法。
2、 熟悉条件转移指令的使用
3、 进一步熟悉汇编语言编辑、 汇编、 链接和调试的全部过程。
( 二) 实验内容
1、 改写教材P81例4-13, 将十六进制数转换为十进制数, 并将转换后的结果在屏幕上显示出来。
实验四 循环程序和子程序设计
( 一) 实验目的
1. 掌握循环程序设计的方法。
2. 掌握正确分配与使用寄存器。
3. 掌握控制循环的方法。
4.掌握子程序的设计方法。
( 二) 实验内容
1、 改写教材P81例4-12, 从键盘输入任意字符串, 将其中的小写字母改为大写字母, 大写字母改为小写字母后输出到屏幕上( 专科班做) 。
2、 用递归和子程序的方法编程, 求1至100的和, 并将结果显示到屏幕上( 本科班做) 。
实验五 双色灯实验和开关状态显示实验
( 一) 实验目的
1.学习PC机系统中扩展简单I/O接口的方法。
2.进一步学习编制数据输出程序的设计方法。
3、 学习模拟交通灯控制的方法。
4、 学习双色灯的使用。
5、 复习原码、 反码、 补码、 移码的概念。
6、 进一步掌握8255A并口芯片的编程以及经过8255A读取开关量的方法, 掌握8255A各个端口的不同工作方式。
( 二) 实验( 上机) 主要内容
选题1: 编写程序, 以8255为输出口, 控制四个双色灯( 可发红、 绿、 黄光) , 模拟十字路交通灯管理。
实验电路连线
8255的CS片选接至适配板上138译码处的200H~207H插孔。
8255A的各寄存器对应口地址为: PA口: 200H 、 PB口: 201H
PC口: H、 8255A控制寄存器: 203H。
实验说明
1、 因为本实验是模拟交通灯控制实验, 因此要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯, 南北红灯。然后转状态1南北绿灯通车, 东西红灯。过一段时间转状态2, 南北绿灯闪几次转亮黄灯, 延时几秒, 东
西依然红灯。再转状态3, 东西绿灯通车, 南北灯红。过一段时间转状态4, 东西绿灯闪几次转亮黄灯, 延时几秒, 南北依然红灯。最后循环至状态1。
2、 双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起, 公用负端。
当红色正端加高电平, 绿色正端加低电平时, 红灯亮; 红色正端加低电平, 绿色正端加高电平时, 绿灯亮; 两端都加高电平时, 黄灯亮。
选题2: 编写程序, 设定8255的PA口为开关量输入, PB口或PC口为开关量输出, 要求能随时将PA口的开关状态经过PB口的发光二极管显示出来。
用8255A的A端口接8只开关, 输入有符号的二进制数原码数据, 在B端口或C端口各接8只发光二极管, 显示该有符号二进制数的反码、 补码、 移码以及绝对值。写出完整的驱动程序。
实验电路连线
将K1~K8用连接至8255的PB0~PB7, 将DL1~DL8用连线连至8255的PA0~PA7, 8255A CS连至译码处的200~207插孔。
8255A的各寄存器对应口地址为: PA口: 200H 、 PB口: 201H
PC口: 202H、 8255A控制寄存器: 203H。
实验说明
本实验要求8255工作方式0, PA口设置为输入, PB口或PC口设置为输出, 输入量为开关量, 经过8255可实时显示在LED灯上。按下HALT或RST键则返回监控。
( 三) 实验报告要求
1、 画出实验程序流程图。
2、 编写完整的程序。
3、 写出实验运行步骤和运行结果。
4、 调试分析过程描述: 包括测试数据、 测试输出结果, 以及对程序调试过程中存在问题思考( 列出主要问题的出错现象、 出错原因、 解决方法及效果等) ;
1、 总结: 包括实验过程中的学习体会与收获、 对汇编语言程序设计和本次8255A接口芯片应用实验的认识以及自己的建议等内容。
实验六 8253定时器/计数器和8255A芯片综合应用
( 一) 实验目的
1.掌握8253定时器的硬件连接方法及时序关系。
2、 掌握8253的各种模式编程及原理。
3、 进一步掌握8255A并行接口芯片的编程和工作方式。
( 二) 实验( 上机) 主要内容
1、 编程将8253定时器0设定为方式3, 时间常数分别设置为最大和任意值时, 定时器0的输出接在一个LED上, 运行后可观察到该LED在不停闪烁。
2、 编程将8253定时器0设定为方式3, 定时器1设定在方式2, 定时器2设定在方
式2; 定时器0输出作为定时器1的输入, 定时器1输出作为定时器2的输入,
定时器2的输出接在一个LED上, 运行后可观察到该LED在不停闪烁。
时间常数N0=100H, N1=0018H, N2=000AH
3、 将8253的三个计数器级联, 假设时钟输入为2MHZ, 画出几级联框图, 并作:
( 1) 各计数器均取最大的计数初值, 计算各计数器输出的定时脉宽。
( 2) 若要求得到毫秒、 秒、 时3种定标脉冲, 计数初值各为多少?
4、 用定时器/计数器Intel 8253设计一测量频率的接口电路, 其中2个计数器级联形
成1秒闸门测量时间, 余下的一个计数器用作被测量频率计数。若设计数器0和
计数器1都工作于方式3, 并将它们级联起来, N0=N1= ; 则计数器1的输出
方波频率为多少? 这一方波连接到通道2的GATE2恰好获得1S的门控时间。
计数器2工作方式2, N2=9999。CLK0=2MHZ。请同学画出接口原理图。
5、 设定8255的PA口为开关量输入, 要求用Intel 8253定时2秒后, 能在PB口或PC口将开关状态反向交替输出, 并用发光二极管显示出来。
实验电路连线
GATE0~GATE1连至电源+5V, CLK0接OUT1, OUT1用线连至一个发光管( L0) , CLK1接1MHZ, CS53片选孔用线连至译码处208~~20F这个孔。
实验说明
8253的工作频率为0~2MHZ, 因此输入的CLK频率必须在2MHZ以下。实验板上从波特率开关边上F插孔引至计数器0输入。
( 三) 实验要求
1、 画出接口原理图。
2、 编写完整的程序。
3、 写出实验运行步骤和运行结果。
4、 调试分析过程描述: 包括测试数据、 测试输出结果, 以及对程序调试过程中存在问题思考( 列出主要问题的出错现象、 出错原因、 解决方法及效果等) ;
5. 总结: 包括实验过程中的学习体会与收获、 对汇编语言程序设计和本次8253接口芯片应用实验的认识以及自己的建议等内容。
实验七 8259A中断控制器与8255A综合实验
( 一) 实验目的
1.掌握8259A中断控制器的工作原理。
2.掌握PC机中断的原理和过程。
3.学会中断处理程序的编写。
( 二) 实验( 上机) 主要内容
编写中断服务子程序, 设8255A工作在方式0输出, 依次使LED轮流发光。
利用8259实现对外部中断的响应和处理, 本实验中使用3号中断源IR3, INT3接至+PLUSE, 中断方式为边沿触发方式, 每波拨动开关产生一次中断, 转去执行中断服务子程序 要求编写主程序对8259A和8255A进行初始化。
( 三) 实验电路连线
INT3接至+PLUSE, 8259片选CS59接至210H—211H,
8255H片选CS55接至200H—207H
( 四) 实验说明
1.本实验只在串行监控方式和单板机方式下进行, 在ISA总线方式下无法实现。就其原因是, 在PC机总线槽中没有直接引出中断的控制器8259的请求与应答信号, 以及级连信号。
2.本实验指导书只提供硬件中断类型号8开始。使用者能够根据自己的需要设定为其它中断方式, 且中断号能够从任一中断号开始。
( 五) 实验要求
1、 画出接口原理图。
2、 画出实验程序框图并编写完整的程序。
3、 写出实验运行步骤和运行结果。
4、 调试分析过程描述: 包括测试数据、 测试输出结果, 以及对程序调试过程中存在问题思考( 列出主要问题的出错现象、 出错原因、 解决方法及效果等) ;
5, 总结: 包括实验过程中的学习体会与收获、 对汇编语言程序设计和本次8259接口芯片应用实验的认识以及自己的建议等内容。
实验八 A/D转换和D/A转换实验、 直流电机和步进电机驱动实验
( 一) 实验目的
1.掌握A/D芯片AD0809的转换性能及编程方法。
2.学习A/D芯片与其它芯片( 如8279) 接口的方法, 初步建立系统的概念。
3.了解D/A转换的基本原理, 掌握DAC0832芯片的性能、 使用方法及对应硬件电路。
4.了解直流电机控制的基本方法。
5. 了解控制步进电机的基本原理。
6.掌握控制步进电机转动的编程的方法
( 二) 实验( 上机) 主要内容
选题1:
1、 编程用查询方式采样电位器输入电压, 并将采样到的结果实时地经过8279显示在数码管上。( 只须显示一位即可。用0~F表示0~+5V电压) 。
2、 写出模拟量和数字量对应关系的典型值:
0Và +2.5Và +5Và
3、 设计一个数据采集接口, 启动转换后延迟100us读入数据, 试编写一个通道循环采样的程序, 转换结果存入数据区BUF中。( 延迟程序用循环程序实现)
4、 编写程序, 使D/A转换模块循环输出周期性的三角波、 锯齿波、 方波、 正弦波。
5、 编写程序, 使D/A转换模块输出15个台阶的正向阶梯波的控制程序( 数字
0—255分别为15个台阶, 每个台阶为16) 。
实验电路连线
CS79接译码处210~217这个插孔。A/D的CS插译码处208~20F这个插孔,0809的IN0接至电位器W1的中心抽头插孔。
注意: 电位器W1两边的两个插孔已经分别接好电源+5V和地, 请不要再接, 以防接错, 出现短路。
DAC0832的片选CS孔接译码处208-20F插孔( 注: 0832旁的短路帽应下插, 做51实验时应上插) 。
实验说明
本实验中所用A/D转换芯片为逐次逼近型, 精度为8位每转换一次约100微钞, 因此程序若为查询式, 则在启动后要加适应延时。另外, 0809芯片提供转换完成信号( EOC) 。
D/A转换是量转化成模拟量的过程, 本实验输出为模拟电压信号, 本次实验生成的波形较为简单, 有兴趣者可试编程序生成各种波形, 如方波, 正弦波等, 也可与键盘显示模块结合起来, 构成一个简单的波形发生器, 经过键盘输入各种参数, 如频率, 振幅( 小于+5V) , 方波的占空比等。
选题2:
1、 利用0832D/A转换输出直流量, 控制直流电机的转速。
2、 经过0832D/A转换输出一个从0V开始逐渐升至5V, 再从5V降至0V的可变电压输出, 要求系统显示0832—XX, ”XX”从00àFF, FFà00不断加大或减小的数字量循环显示。
3、 利用8255A的PC口PC-PC3轮流输出脉冲序列, 小键盘控制步进电机的转速和转动方向。
实验电路连线
1、 用硬导线将0832片选信号CS接至138译码200-207, 将8279的片选信号CS接至208-20F,将DAC0832的AOUT端接至直流电机的MOT端。
在运行过程中, 可按动小键盘的”0?”数码键, 控制电机转速, 按”REG”键退出程序。
2、 用硬导线将8255选信号CS接至200-207, PC0-PC3接至SMA-SMD。将8279的片选信号CS接至208-20F。在运行过程中, 可按动小键盘的”0-9”数码键, 控制步进电机的转速, 按”+或-”键控制步进电机的方向, 按”REG”键退出。
实验说明
能够利用实验机上的J8插入座的37芯与机电实验平台连接, 实现温度、 压力、 步进电机、 直流电机等实验。
( 三) 实验要求
1、 画出接口原理图。
2、 画出实验程序框图并编写完整的程序。
3、 写出实验运行步骤和运行结果。
4、 调试分析过程描述: 包括测试数据、 测试输出结果, 以及对程序调试过程中存在问题思考( 列出主要问题的出错现象、 出错原因、 解决方法及效果等) ;
5. 总结: 包括实验过程中的学习体会与收获、 对汇编语言程序设计和本次ADC0809接口芯片应用实验和DAC0832接口芯片应用实验的认识以及自己的建议等内容。
展开阅读全文