流水灯显示实验的设计一、设计目的1、了解流水灯的工作原理
2、掌握流水灯编程方法和芯片 8255 的逻辑功能及使用方法
3、掌握一定的汇编语言知识,培养自己的动手操作能力
4、学习程序设计的基本思路和方法二、设计要求1、设计题目编写程序,使用 8255 的 A 口和 B 口均为输出,实现 16 位流水灯显示效果
2、功能扩展(1)、将流水灯设计成可以正着流水也可以选择倒着流水(2)、通过开关可以对流水灯闪烁的速度进行控制,高电平时为快,低电平时为慢速
三、设计思路1、 总体方案设计分析在本实验中要求我们用 8255 的 A 口和 B 口做为输出,接 16 个发光二极管,从而实现 16 位流水灯的显示效果,故基本的接线可以如下面图 A 所示
在 C 口的低两位接 2 个开关,实现 2 个扩展功能的控制
①基本流水灯显示电路A 和 B 两个端口不能同时赋值,从而在实验中我们可以用 BX 进行需要赋值的数据的存储,因为 BX 可以分从 BH
BL 两部分进行独立的操作,在本次实验中我们用 BH 对 A 口进行赋值,用 BL 对 B 口进行赋值,通过延时一段时间再对BH,BL 进行移位和输出,实现了流水灯的效果
②正反方向选择把 PC
0 口接在开关上,编写程序对 C 端口的数据进行读取,并进行判断,使得当 PC
0 为高电平的时候则灯进行左移,低电平的时候则进行右移
同时 B口与 A 口相反
③快慢速度控制把 PC
1 口接在开关上,编写程序对 C 端口的数据进行读取,并进行判断,使得当 PC
1 为高电平的时候则延时的时间缩短,使得流水灯的流水速度加快
低电平的时候则进行延时的时间变长,使得流水灯的流水速度加快
四、电路及连线设计1、该模块的 WR、RD 分别连到 PC 总线接口模块的 IOWR、IORD
2、该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到 PC