start: mov mov out start1: mov in mov out jmp code ends end start
dx,04a6h ax,90h dx,ax dx,04a0h ax,dx dx,04a2h dx,ax start1
;控制寄存器地址
;设置为A口输入,B口输出
;A口地址 ;输入 ;B口地址 ;输出
实验数据记录和处理(可选)
五 、实验结果与分析
程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于H位置,则对应的LED2应该点亮。
由于此过程只是通过8255A的A口进行输入,然后通过其B口锁存输出,中间没对数据进行更改,所以输入结果和输出的结果相同。
六、讨论心得
通过这次的实验我对8255A的基本的工作原理有了解更清楚。也增强了动手操作能力
实验三 8250串口实验
一、实验目的和要求
1、熟悉串行通信的一般原理和8250的工原理。 2、了解RS--232串行接口标准及连接方法。
3、 掌握8250芯片的编程方法。
二、实验内容和原理
内容:1. 在实验箱与PC机(上位机)之间实现串行通信,主机每下传一个字符,如通讯正确则下位机返回一个同样的字符,如果不正确,则无返回或不相同。
2. 改进实验 使用串口调试助手,实验与终端CPU的通讯,并在改变串口通讯相关参数的基础上,如:改变校验位、停止位的设置,实现正常的串口通讯。
原理:实验原理图见8250串行接口电路。由MAX232完成RS232电平和TTL电平的转换,由8250完成数据的收发。8250内部有10个寄存器,分别对应着不同的IO口地址。对不同的寄存器进行初始化或读出写入操作就可以完成与计算机的通信。由于不能同时收发数据,所以8250又称为通用串行异步收发器,简写为:UART。8250实验电路的所有信号均已连好。
实验中,通讯波特率选用9600bps。上下位机均采用查询方式。8250的端口地址为0480起始的偶地址单元。
实验中,上位机向下位机发送一个字符,下位机将接收到的字符返回。事实上这就实现了串口通信的基本过程。掌握了此实验中的编程方法再编制复杂的串行通信程序也就不难了。 串行通信和并行通信是计算机与外围设备进行信息交换的基本方法,二者有不同的特点。简而言之,前者电路及连线简单,最少用三根线就可以实现串口通信,但通信速率慢,适用于长距离慢速通信;后者电路及连线复杂,成本较高,但通信速率快,适用于短距离高速通信。
程序框图:
开始选择COM1或COM2初始化串行口发送该字符并显示键入发送字符等待接收字符并显示有回车吗?Y结束N开始初始化8250有数据吗?Y接收一个字符发送接收的字符光标移动N
结束 三、仪器设备
CPU挂箱、8086CPU模块。
四、操作方法与实验步骤
1.实验接线:(?表示相互连接)
CS0?CS244;CS1?CS273;平推开关的输出K1~K8 ?IN0~IN7(对应连接);00~07?LED1~LED8。
2. 编辑程序,单步运行,调试程序
3.通过后,全速运行程序,观看实验结果。 4.编写实验报告。
附:程序源代码 assume cs:code
code segment public org 100h
start: mov dx,04a0h ;74LS244地址 04D0H in al,dx ;读输入开关量
mov dx,04b0h ;74LS273地址 04E0H out dx,al ;输出至LED jmp start code ends end start
实验数据记录和处理(可选)
五 、实验结果与分析
在上位机程序中可以看到发送和接受的字符相同 改进:
六、讨论心得
通过这次的实验我初步的了解了串行通信的一般原理和8250的工作原理。我也了解到了一些一些关于8250芯片的编程方法。当PC机即上行机与实验箱相连之后,运行8250.asm之后,退出,启动实验三的上位机驱动程序T6UP.EXE等之后。便可看到你的输入和下面的输出是一致的。通过几次试验后对硬件产生了兴趣。
实验四 8253定时器/计数器接口实验
一、实验目的和要求
掌握8253定时器的编程原理,用示波器观察不同模式下的输出波形。
二、实验内容和原理
内容:1.8253计数器0,1,2工作于方波方式,观察其输出波形。 2. 重新设计LED灯的闪烁周期,计算8253的计数值,修改相应的程序段。通过三个独立通道的串联,实验更长时间周期的LED灯的闪烁
原理:本实验用到两部分电路:脉冲产生电路、8253定时器/计数器电路。8253是计算机系统中经常使用的可编程定时器/计数器,其内部有三个相互独立的计数器,分别称为T0,T1,T2。8253有多种工作方式,其中方式3为方波方式。当计数器设好初值后,计数器递