第一个595的数据输入端14脚接单片机,9脚接下一个595的14脚 举例:如果你有1个595芯片按上述电路接在一起。时序如下:发送数据的最高位出现在595的14脚上,11脚来个上升沿脉冲,同上送8次脉冲,把要发送的数据发送出去
16脚的VCC是芯片供电的,10脚名字是/SRCLK,是异步复位芯片上数据用的,连在VCC上是给他逻辑电平1,表示永不复位,用在多个芯片级连上,14脚数据进去经过8个时钟周期后第一个数据会出现在QH’上。SRCLK是输入数据移位时钟
74hc574是8位三态D触发器. 1脚是输出控制端,1脚=L,使能输出.1脚=H,高阻.2脚=1D,3=2D,4=3D,5=4D,6=5D,7=6D,8=7D,9=8D.对应的是19脚=1Q,18=2Q,17=3Q,16=4Q,15=5Q,14=6Q,13=7Q,12=8Q.11
74HC595 的工作原理 74HC595 的工作原理-编程-显示 SCH 74HC595 是具有 8 位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存 储器是分别的时钟。 数据在 11 SHcp(SCLK P0.4)的上升沿输入,在 12 STcp(nCS
记住一个595就8位数据例10110100 这就是8个位,如果是两片595,就送两个8位的数据,反正一次只能送一个位,一个循环送8次,送两个循环,就行了,3个芯片就是送3个8位数据,依次类推就行了.
74hc595芯片是怎么工作的?昨天研究了一天都没懂。写程序主要是控制11,12,14脚。给14脚
具体的程序和仿真还是自己做吧,说说个人见解。采用列扫描的方式,两片74HC164可以级联起来,I/O够的话也可以单独使用,输出分别接点阵的各列。两片74HC595可以级联使用,也可以单独使用,分别单独控制两个点阵更灵活一点,输出
我的 请问谁有用单片机AT89c5274HC595做列扫描、4HC164做行扫描,做成的16X16点阵LED显示屏的程序?急用,谢谢 芯片AT89S52的引脚21、22、23、25、26分别接74HC595的14、11、12,74HC164的1、8。 芯片AT89S52的引脚21、22、23、25
} void yfs()//Y轴发数 { ysck=0;yrck=0;k++;if (k==16){ k=0;ysi=0;} else ysi=1;ysck=1;P2=P2|0X14;//相当于 xrck=1; yrck=1;} void xfs(uchar a) //X轴发数 { uchar b,a1,a2;
;16*16点阵左移汇编程序 DS_595 EQU P1.5 ;串行数据输入(595-14)CH_595 EQU P1.7 ;移位时钟脉冲(595-11)CT_595 EQU P1.6 ;输出锁存器控制脉冲(595-12)G_595 EQU P1.4 ORG 0000H LJMP M
这是16X16的,自己一改就好了 //74HC595练习程序 //串入并出实现16流水灯效果 //2009.12.28 includereg52.h sbit shcp=P2^0; //数据在上升沿进入移位寄存器 sbit date1=P2^1; //串行数据输入端 sbit clock=P2^
用2个138级联控制列,2个595,每个595控制2个8x8的点阵 我感觉这个程序就是最简单的滚动显示的程序 了 include
; * ATA89C52 12MHz晶振 ; * 2004.2.11 LRM ;;显示字用查表法,不占用内存,字符用16x16共阳LED点阵,;效果:向上滚动显示5个字,再重复循环。;R1:查表偏址寄存器,B:查表首址,R2:扫
本人用74HC595驱动(行列)LED点阵16*16,由于编程能力有限,求高手指点,发我调试程序即可 带汉字显示哦
这个电路的电路图如下:12V电源-240Ω电阻-LED-GND在这个电路中,电流是通过电阻限制的,以确保LED不受过大的电流损伤,同时保证它正常工作。总的来说,LED灯电路的原理是通过限制电流来保护LED,并确保它能够正常工作。
这是一个POV电路吧,那两个三极管和那电容电阻构成一个自激振荡电路,原理说起来就多了。L1和L2是离得比较近的,实际上就是一个没有硅钢的变压器,你尽量让它们离得近一点,这样就容易感应到磁场,但效率是不高的 你电源
回顾一下电磁感应原理:①电流流经导体,它周围会有一磁场;②另一导体靠近它、切割磁力线、产生感应电动势,这是耦合;③由于远近和姿态不同,称为紧耦合、松耦合、无耦合;④要充电,紧耦合吧,感应电动势流经电容就充电
这个图里面的两个三极管构成震荡电路,L1是固定线圈,应该还有一个线圈在旋转的电路板上,两个构成高频变压器换能电路,给旋转部分供电,代替电刷。
从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个L
左边两个三极管加几个元件是一个振荡电路,会在L1产生一个高频的电压信号L2就会感应到这个信号,从而的\产生电压,再经过二极管整流,这是一个LRC振荡电路。在51单片机最简系统的其中的一个端口P0接上8个LED,就是一个典型的
旋转led的电路图原理
两片74HC595可以级联使用,也可以单独使用,分别单独控制两个点阵更灵活一点,输出分别接点阵的各行,然后控制就类似数码管的动态显示一样,先给一个行信号,再给一个列信号,不断扫描就可以显示了。还有就是行信号直接接595
QA--QH(有的也叫Q0-Q7): 八位并行输出端,可以直接控制数码管的8个段,也可以直接控制8个LED。QH': 级联输出端。通常我们将它接下一个595的SI端,实现多个芯片之间的级联。SI: 串行数据输入端。74hc595的控制端说明
74hc595要用四片 行列扫描 把两组(一组两片)的锁存脉冲接在一起。然后把第一片的Q7‘接入第二片的SDA。另外把每组SCK接在一起。十六位的移动是只 你往595里送个数据。那么595就会把最先送入的数据丢掉。然后整体向
如果是这样的话,这两种设计方法都能实现8位数码管的显示控制,不过你的电路图我看着觉得有点奇怪,不知是有意如此设计,还是不太明白595的使用方法。这两个图的区别在于:第一个图电路结构简单,I/O使用少,不过都是串行
74HC595串联 麻烦问下两片595可以同时控制那么LED吗
除了单片机和点阵模块外,简单点的 正极16行用16个i/o口加npn三极管如:s8550或s9012驱动 负极用2个74hc595级联扩展16个i/o口
这个图片会压小。看大图到这看 http://0e.images22.51img1.com/6000/kgd235143/e4be871c454f0c1d6f7f46b964dacee7.jpg 要仿真的话我发给你,当然实际电路要三极管驱动 include
本系统采用两块74hc595级联作为点阵屏的行控制信号,控制点阵屏的16行。74hc595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在schcp的上升沿输入,在stcp的上升沿进入的存储寄存器中
sbit SRCLK=P3^3; //时钟 sbit SDI= P3^5;//16×16汉?unsigned char code hanzi1[][32]={ /*-- 文字: 要 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0xFF,0xFF,0x
用一个74HC138控制列四个74HC595控制行就行了,我现在也正在弄16X32的点阵
16*16 LED点阵一定要接电阻和三极管,如果直接连接是不会亮的。1、74ls138做为行译码信号,连接三极管(或者集成的芯片4953)来驱动led点阵;2、74hc373做为列驱动,接到led点阵的列上,最好串联电阻。串联电阻一般红色led点
小功率的LED点阵,采用8050、8550等等三极管就可以了,基极电阻3-10KΩ,集电极限流保护电阻100-200Ω,视电源电压而定;也可以直接采用两块74LS373来驱动
74HC138和74HC595驱动16*16点阵需要三极管和电阻
//74HC595练习程序 //串入并出实现16流水灯效果 //2009.12.28 includereg52.h sbit shcp=P2^0; //数据在上升沿进入移位寄存器 sbit date1=P2^1; //串行数据输入端 sbit clock=P2^2; //上升沿时将数据输出到并
用一个74HC138控制列四个74HC595控制行就行了,我现在也正在弄16X32的点阵
小功率的LED点阵,采用8050、8550等等三极管就可以了,基极电阻3-10KΩ,集电极限流保护电阻100-200Ω,视电源电压而定;也可以直接采用两块74LS373来驱动
本系统采用两块74hc595级联作为点阵屏的行控制信号,控制点阵屏的16行。74hc595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在schcp的上升沿输入,在stcp的上升沿进入的存储寄存器中
用74HC138和74HC595驱动点阵
…… void timer0(void) interrupt 1 { static uchar click=0; TH0=0xFF; TL0=0xF6; ++click; if (click>=100) click=0; if (click<=ZKB) { send_data(0x00,0x00);//加上这行 OE=0; } else { send_data(0xff,0xff);//加上这行 OE=1; } } …… 共加入了两行,对 16 个 LED 进行亮度控制。这个我做过哦.我帮你做吧.
左边两个三极管加几个元件是一个振荡电路,会在L1产生一个高频的电压信号. L2就会感应到这个信号, 产生电压,再经过二极管整流, 发光二极管简称为LED。由含镓(Ga)、砷(As)、磷(P)、氮(N)等的化合物制成。 当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路及仪器中作为指示灯,或者组成文字或数字显示。砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光,氮化镓二极管发蓝光。因化学性质又分有机发光二极管OLED和无机发光二极管LED。
你的电路是不是画错了,有一部分还没有画出来,图的两个三极管组成一个振荡电路,9014是作为开关开极管,C3电容充放电,使,9014开关开关,给电感产生一个感应电压,但你图,到这里就是没有了,D1二极管起隔离作用。其他不说你也应该明白。还有不部分电路,发上来看看吧,如果是DC/DC恒流式,告诉我一下他的效果。
这个图片会压小。看大图到这看 http://0e.images22.51img1.com/6000/kgd235143/e4be871c454f0c1d6f7f46b964dacee7.jpg 要仿真的话我发给你,当然实际电路要三极管驱动 #include #define uchar unsigned char uchar i,j,k=15; sbit xsi=P2^0; sbit xrck=P2^1; sbit xsck=P2^2; sbit ysi=P2^3; sbit yrck=P2^4; sbit ysck=P2^5; sbit kg= P3^2; uchar code zbm[][32]={ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,}, {0xFF,0xFF,0xFF,0xF7,0xBF,0xF7,0xBF,0xFB,0xBF,0xFD,0x03,0xE0,0xFF,0xFF,0xFF,0xFF, 0x01,0xF0,0x7F,0xEF,0xBF,0xEF,0x9F,0xEF,0xDF,0xEF,0xFF,0xF1,0xFF,0xFF,0xFF,0xFF},/*"北",0*/ {0xF7,0xFF,0xF7,0xFF,0xF7,0xEF,0xF7,0xF3,0x37,0xFF,0xB7,0xFE,0xB6,0xDE,0xD5,0x80, 0xDB,0xFE,0x5B,0xFF,0x9B,0xFB,0xFB,0xF7,0xFB,0xE7,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF},/*"京",1*/ {0xFF,0xEF,0x5F,0xF7,0xDF,0xFA,0xEF,0xFD,0x0F,0xFA,0xFF,0xDF,0xBF,0xEF,0xC7,0xF3, 0x58,0xFC,0xEF,0xFB,0xAF,0xF7,0xCF,0xEF,0xEF,0xCF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF},/*"欢",2*/ {0xBF,0xF7,0xBF,0xF7,0xBB,0xF6,0x37,0xF1,0xFF,0xF7,0x07,0xF6,0xF7,0xF6,0x7B,0xF7, 0xF9,0xEF,0x0F,0xE8,0xF7,0xEF,0x77,0xCF,0x07,0xCF,0xFF,0xEF,0xFF,0xEF,0xFF,0xFF},/*"迎",3*/ {0xFF,0xFE,0x7F,0xFF,0xBF,0xFF,0x0F,0xC0,0xF1,0xFF,0xFF,0xF7,0xBF,0xF9,0xCF,0xEF, 0xD1,0xDF,0x5F,0xC0,0xEF,0xFF,0xAF,0xFD,0xCF,0xFB,0xFF,0xF3,0xFF,0xFF,0xFF,0xFF},/*"你",4*/ 0x87,0xFF,0x03,0xFF,0x01,0xFE,0x00,0xF8,0x01,0xF0,0x01,0xE0,0x03,0x80,0x07,0x00, 0x07,0x00,0x03,0x80,0x01,0xE0,0x01,0xF0,0x00,0xF8,0x01,0xFE,0x03,0xFF,0x87,0xFF,/*"心",5*/ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,}, }; uchar code zbm1[][16]={ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,}, {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0xC0,0x6F,0xDB,0x63,0xEB,0x6C,0xEB}, {0xEF,0xEF,0xEF,0xDF,0x0F,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"自",0*/ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3B,0xF0,0xBB,0xEF,0xBB,0xEF,0xBB,0xEF,0xDD,0xEF}, {0xCD,0xEF,0xF1,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xF1,0xFF,0xFF,0xFF,0xFF},/*"己",1*/ {0x7F,0xFF,0xBF,0xFF,0x0F,0xC0,0xD1,0xFF,0xDF,0xF1,0x01,0xF6,0xEF,0xF6,0xEF,0xE8}, {0x3F,0xF7,0xCF,0xFA,0xD1,0xFD,0x1F,0xFA,0xEF,0xE7,0xEF,0xEF,0xFF,0xEF,0xFF,0xFF},/*"做",2*/ {0xFF,0xFF,0x3F,0xF8,0x9F,0xE6,0xAF,0xF6,0xD3,0xF7,0x1F,0xE0,0x7F,0xFF,0xBF,0xFF}, {0x5F,0xFF,0xC7,0xFC,0xD9,0xEF,0xEF,0xDF,0x0F,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"的",3*/ {0xFF,0xFF,0x3F,0xCF,0x3F,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*":",4*/ {0xF7,0xDF,0x07,0xC0,0xF7,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xCF,0xFF,0xFF},/*"L",0*/ {0xF7,0xDF,0x07,0xC0,0x77,0xDF,0x77,0xDF,0x17,0xDC,0xF7,0xDF,0xEF,0xE7,0xFF,0xFF},/*"E",1*/ {0xF7,0xDF,0x07,0xC0,0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0xEF,0xEF,0x1F,0xF0,0xFF,0xFF},/*"D",2*/ {0xFF,0xDF,0xFF,0xE7,0xFF,0xFF,0xFF,0xFF,0x7F,0xF4,0x7F,0xED,0x81,0xFD,0xB7,0xFD}, {0xB7,0xF5,0xBB,0xED,0x3B,0xFE,0xFF,0xF7,0xFF,0xEF,0xFF,0xCF,0xFF,0xFF,0xFF,0xFF},/*"点",3*/ {0xFF,0xFF,0x03,0xE0,0xBB,0xFF,0x6D,0xFF,0x11,0xFB,0xFF,0xFB,0x37,0xFB,0x57,0xFB}, {0x67,0xFB,0x19,0x80,0xBB,0xFD,0xBB,0xFD,0xBF,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xFF},/*"阵",4*/ {0xFF,0xEF,0xFF,0xF7,0xFF,0xF9,0x7F,0xFE,0x81,0xBD,0x75,0xDD,0x65,0xE5,0x55,0xF8}, {0xB6,0xFD,0x9A,0xFD,0x28,0x80,0xBC,0xFE,0xBF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFF},/*"屏",5*/ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,}, }; void ys (uchar a) //延时 { uchar b; for (;a>0;a--) for (b=100;b>0;b--) ; } void yfs() //Y轴发数 { ysck=0; yrck=0; k++; if (k==16) { k=0; ysi=0; } else ysi=1; ysck=1; P2=P2|0X14; //相当于 xrck=1; yrck=1; } void xfs(uchar a) //X轴发数 { uchar b,a1,a2; a1=~zbm[6][a*2+1]; a2=~zbm[6][a*2]; xsck=0; xrck=0; for (b=0;b<8;b++) { a1=a1<<1; xsi=CY; xsck=1; xsck=0; } for (b=0;b<8;b++) { a2=a2<<1; xsi=CY; xsck=1; xsck=0; } } void fs(uchar a) //X轴发数 { uchar b; xsck=0; xrck=0; for (b=0;b<8;b++) { a=a<<1; xsi=CY; xsck=1; xsck=0; } } void gdhs(uchar *zz,uchar N,uchar Time) //流动显示N个汉字 滚动函数 { //参数三个:字符串字模首地址、字数、显示流动速度 uchar FontNum,i,j,row; //循环变量,字数计数、16次流动、16列扫描 for(FontNum=0;FontNum<N;FontNum++) { for(i=0;i<16;i++) //字到字流动 16次左移才能完成 { for(j=0;j<Time;j++) //显示延迟,决定流动速度 { k=15; for(row=0;row<16;row++) //显示16*16屏幕一次 { yfs(); //选通显示列 //行选线,P3 低四位 fs (~*(zz+FontNum*32+(i+row)*2+1)); //以移动偏移为基础获取新数据 fs(~*(zz+FontNum*32+(i+row)*2)); //获取显示数据 循环显示关键算法 ys (12); //适当延时 } } } } } void wbzd () interrupt 0 //外部中断 { j++; if (j>1) j=0; ys(10); while (!kg) { k=15; for (i=0;i<16;i++) { yfs(); xfs(i); ys(10); } } if (j==0) gdhs(zbm,8,2); if (j==1) gdhs(zbm1,10,1); } void main () { EA = 1; //打开总中断 EX0=1; IT0=1; while (1) { if (j==0) gdhs(zbm,8,5); if (j==1) gdhs(zbm1,10,3); } }
74hc595要用四片 行列扫描 把两组(一组两片)的锁存脉冲接在一起。 然后把第一片的Q7‘接入第二片的SDA。另外把每组SCK接在一起。 十六位的移动是只 你往595里送个数据。那么595就会把最先送入的数据丢掉。然后整体向前移一位。 另外要注意。OE要接地。而且需要输出的时候锁存要产生一个上升。
74HC595 74HC595 1 、描述 74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准。 74HC595是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。 数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。 8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。 2、特点:8位串行输入 /8位串行或并行输出 存储状态寄存器,三种状态 输出寄存器可以直接清除 100MHz的移位频率 3、输出能力: 并行输出,总线驱动; 串行输出;标准中等规模集成电路 595移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。 4、参考数据: CPD决定动态的能耗, PD=CPD×VCC×f1+∑(CL×VCC2×f0) F1=输入频率,CL=输出电容 f0=输出频率(MHz) Vcc=电源电压 5、引脚说明 符号 引脚 描述 Q0…Q7 15, 1, 7 并行数据输出 GND 8 地 Q7’ 9 串行数据输出 MR 10 主复位(低电平) SHCP 11 移位寄存器时钟输入 STCP 12 存储寄存器时钟输入 OE 13 输出有效(低电平) DS 14 串行数据输入 VCC 16 电源 6、功能表 输入 输出 功能 SHCP STCP OE MR DS Q7’ Qn × × L ↓ × L NC MR为低电平时仅仅影响移位寄存器 × ↑ L L × L L 空移位寄存器到输出寄存器 × × H L × L Z 清空移位寄存器,并行输出为高阻状态 ↑ × L H H Q6 NC 逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态 移入,例如,以前的状态6(内部Q6”)出现在串行输出位。 × ↑ L H × NC Qn’ 移位寄存器的内容到达保持寄存器并从并口输出 ↑ ↑ L H × Q6’Qn’ 移位寄存器内容移入,先前的移位寄存器的内容到达保持寄存器并出。 7、注释 H=高电平状态 L=低电平状态 ↑=上升沿 ↓=下降沿 Z=高阻 NC=无变化 ×=无效 当MR为高电平,OE为低电平时,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口。
SER是串行输入数据 另外的一个控制数据进入寄存器 最后的控制数据进入总线 如果还不懂,认真看DataSheet