微机原理实验
实验五可编程并行接口实验
一、实验目的
1. 理解可编程并行接口8255A芯片的结构和功能;
2. 掌握8255A芯片初始化程序的设计方法;
3. 掌握8255A芯片与CPU信号的连接方法以及并行接口设计和编程方法;
4. 掌握七段数码管的静态和动态显示原理;
5. 掌握利用七段数码管显示计算数机内部信息。
二、实验内容
1. ※●利用8255A芯片设计接口电路并编程实现:A口输出数据,驱动四个LED,使其顺序显示‘0’~‘F’的二进制状态,每个状态保持1秒钟。
(1)电路框图
(2)源程序
(3)运行结果
2. ※●设计接口电路并编程实现:两个七段数码管分别显示“HP”,字符保持3秒钟后两个数码管同时熄灭。
(1)电路框图
(2)源程序
(3)运行结果
HP字符显示3秒后同时熄灭
3. 通过对8255A芯片的实验,对比实验五、实验六,谈谈你对8255A的认识和体会以及输入输出接口调试的过程;
8255A是可编程并行I/O接口芯片,通过对它进行编程,可实现无条件、有条件和中断方式的接口电路。
它适合于外部设备和微机之间进行近距离、大量和快速的信息交换,比如微机与并行接口打印机或者磁盘驱动器等。
输入输出接口调试过程:先搞清四个端口地址,然后根据所要实现的功能对控制端口写控制字,然后对其他端口进行数据交换,验证硬件电路的正确性。
4.简单叙述数码管接口电路设计的原则和调试方法;
送入数码管的数据分为段码和位码,段码决定数码管显示什么样的字符,位码决定哪一位的数码管显示该字符。
调试时,先对连接段码的端口送入数据,然后对连接位码的端口送入数据,观察数码管的显示状态,改变位码端口数据,继续观察数码管的显示状态。
不能先送位码,再送段码,即不能先点亮再显示,因为这样可能会在段码未稳定之前显示错误的字符。
5. 叙述七段数码管动态显示延时时间长短对视觉有何影响?
延时程序的作用是保持当前显示数码管足够时间,同时稳定显示效果,以形
成视觉暂留。
人眼的视觉暂留时间大概在二十四分之一秒左右,所以一般电视电影至少是24帧以上,才会看起来是连续的动作,延时的时间设置小于40ms即可,延时太短会加重cpu的负担,延时太长,则看起来是不断闪烁的,不能连续显示。
三、实验分析
本次实验电路连线简单,但是理解起来有一点困难,要明白8255A控制字的作用,第二个题为了显示完美的三秒HP,也需要不断地计算和尝试。
实验过程中,也遇到了一些问题,比如:
1. 一开始连好电路编译成功,但是运行后出现了严重仿真错误SPICE failed to connect pin v+,后来发现是8255A的隐藏管脚没有设置好,将VCC为VDD,GND 为VSS后错误消失。
2.写代码粗心RET 打成了REG,编译错误。
3.设置控制字时在10100000后忘加二进制B,出现错误struction or register not accepted in current CPU mode.
4.第二题在送段码位码之前忘记关显示,结果一上电先显示88.
5.第二题一开始只在P显示后调用了延时,H显示后未延时,导致运行结果只显示P.。