1. 51单片机用8255实现72位流水灯
要用8255控制72位流水灯,应该先画出仿真图或原理图,才能确定出8255各端口地址,才能写程序。而一片8255有3个并行口,可接24位LED灯,那么72位流水灯需要三片8255。要扩展8255,还需要一片地址锁存器74LS373,一片74LS138译码器。以一片8255为例,简单的原理图如下,三片8255电路相类似。
2. C语言编程.8255流水灯设计这是8灯循环的编程。怎么修改才能有不同的闪烁呢请各位大侠帮帮忙。谢谢了。
出高电平要接上拉电阻。
单片机不要直接连8255,P0通过一个地址锁存器(74LS373)连8255.要用p0口先发控制字,连在8255的A0A1和CS上。
A1A0若为01、10、11,分别选中8255的B口C口和控制口。若通过锁存器连在)P0.1和P0.0,地址用16为表示,没用到的端口设为1,则FF7CH、FF7DH、FF7EH、FF7FH分别是8255的ABC及控制口的地址。具体看你的硬件电路了。所以没有固定的。
先给控制口发工作方式,如90H代表工作方式0。然后再与需要用到的口传输数据。不知道有没有说清楚。
你找一本单片机书好好看看,汇编并不难,看明白汇编,单片机就理解差不多了。
3. 8255流水灯如何使led闪亮的顺序反向
把pc口接在开关上当高电平是灯左移,同时两个口相反。
编写程序,使用8255的A口和B口均为输出,实现16位流水灯显。功能扩展将流水灯设计成可以正着流水也可以倒着流水,通过开关对流水灯闪烁的速度进行控制,高电平时为快,低电平时为慢速。
总体方案设计分析要求用8255的A口和B口做为输出,接16个发光二极管,从而实现16位流水灯的显示效果。基本的界限A所示,在C口的地两位接两个开关,实现两个扩展功能的控制。做实验时要多模拟显示情况。
4. 51单片机与8255拓展流水灯!
7F7C化为二进制:0111 1111 0111 1100
#define a8255_PA XBYTE[0x7F7C//定义8255PA地址
在主函数中
a8255_PA=。。。。//这样就直接写入8255数据啦
5. 单片机 流水灯 C程序
不难。
你先把数据编好数组,如第一步三个口同时显示:
0000 0000 0000 0000 0000 0111
第二步:
0000 0000 0000 0000 0000 1110
第三步:
0000 0000 0000 0000 0001 1100
……
然后编写循环程序,每次输出三个字节到三个接口,再延时一会,无限循环即可。
6. 如何用汇编语言编写8255的24个引脚的流水灯
总线方式)。当然这里的方式不是说可以对1602编程选择个什么方式。1602时序就那样的嘛,主要是直接控制方式就是把1602的数据线挂在单片机上,然后控制(EN、RS、RW)也用三根单片机口线控制,然后根据1602的时序进行读写,网上大多都是这种方式。但是更好的方式是缓冲方式,就是把1602的数据线与单片机P0口用245隔离连接,然后控制(EN、RS、RW)线接到由单片机产生的片选和地址线(如可以用P2的三根线控制,但是这里的P2是当做地址线用,可以复用的。所以缓冲方式其实就是利用把P0当数据口,P2当地址口来使用啦,这样就不独占口线,显然节约了单片机的口线。根据你提到的P1.0和P1.6用了,明显你是考虑LCD挂P1口独占的方式,这样很划不来啦。
下面的图片是我的电路图截图给你的,有点电子基础都能看懂吧,A0、A1嘛,当然是P0经过锁存器373出来的地址了或者你换成P2.0、P2.1(A8、A9)也可以,那个CS11随便咯,你用138或者什么的产生呗,你系统如果复制肯定用到了吧,简单的系统就用P2.7呗。程序就很简单了,地址读写嘛,如果不清楚问我吧。