0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

74hc595通過ULN2003驅(qū)動(dòng)8*8LED點(diǎn)陣屏

2oON_changxuemc ? 來源:未知 ? 作者:李倩 ? 2018-04-27 15:38 ? 次閱讀

一、 電路原理圖。

(1)輸入輸出口

JP1 為輸入口,JP2為輸出口(為串聯(lián)下一塊點(diǎn)陣),245為電平轉(zhuǎn)換。

(2)行控制端電路

有2塊3-8譯碼器組成4-16譯碼器。將A,B,C,D,接入一個(gè)8位I/O口,直接對(duì)I/O口賦值。

(3)行寫入端電路

二、74HC595介紹。

74HC595 是一款漏極開路輸出的CMOS 移位寄存器,輸出端口為可控的三態(tài)輸出

端,亦能串行輸出控制下一級(jí)級(jí)聯(lián)芯片。

10 腳 SCLR 移位寄存器清零端 直接接地,

11 腳 SCK 數(shù)據(jù)輸入時(shí)鐘

12 腳 RCK 輸出存儲(chǔ)器鎖存時(shí)鐘線

13 腳 OE 輸出使能 低電平為輸出有效

14 腳 SI 數(shù)據(jù)線 串行輸入數(shù)據(jù),亦能串行輸出數(shù)據(jù)到下一級(jí)級(jí)聯(lián)芯片

輸入數(shù)據(jù)程序:

1. 向595寫一個(gè)字節(jié)的數(shù)據(jù)

void write_595(uchar DATA) //向595寫一個(gè)字節(jié)的數(shù)據(jù)

{

uchar i;

for(i=0;i<8;i++)

{

SI=(~DATA)&0x01;

SCK=1;

SCK=0;

DATA=DATA>>1;

}

}

2.向多個(gè)595寫一個(gè)字節(jié)的數(shù)據(jù)

9 腳SQH 位串行數(shù)據(jù)輸出管腳 將多個(gè)595的數(shù)據(jù)由9腳傳至下一個(gè)595,全部寫入后在打開輸出存儲(chǔ)器鎖存時(shí)鐘線

for(i=0;i<16;i++) //字從下往上滾動(dòng)出現(xiàn)

{

k=1;

for(j=i+1;j>0;j--) //向多個(gè)595寫一個(gè)字節(jié)的數(shù)據(jù)

{

write_595(display[7][k]);

write_595(display[7][k-1]);

write_595(display[6][k]);

write_595(display[6][k-1]);

write_595(display[5][k]);

write_595(display[5][k-1]);

write_595(display[4][k]);

write_595(display[4][k-1]);

k+=2;

hang=16-j; //為138輸入行控制數(shù)據(jù)

RCK=1;RCK=0;

}

delay_ms(20);

}

3.595-RCK信號(hào)與138的輸出使能E2信號(hào)為同一信號(hào),故可以相連。

三、74hc138介紹。

3 線-8 線譯碼器

當(dāng)一個(gè)選通端(G1)為高電平,另兩個(gè)選通端(/(G2A)和/(G2B))為低電平時(shí),將地址端(A、B、C)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端以低電平譯出。

利用 G1、/(G2A)和/(G2B)可級(jí)聯(lián)擴(kuò)展成24 線譯碼器;若外接一個(gè)反相器還可級(jí)聯(lián)擴(kuò)展成32 線譯碼器。

引出端符號(hào):

A、B、C 譯碼地址輸入端

G1 選通端

/(G2A)、/(G2B) 選通端(低電平有效)

Y0~Y7 譯碼輸出端(低電平有效)

功能表:

邏輯圖:

四、74hc245介紹。

管腳及電路接法。

五、ULN 2003介紹。

ULN2003是一個(gè)單片高電壓、高電流達(dá)林頓晶體管陣列集成電路。它是由7對(duì)NPN達(dá)林頓管組成的,它的高電壓輸出特性和陰極箝位二極管可以轉(zhuǎn)換感應(yīng)負(fù)載。單個(gè)達(dá)林頓對(duì)的集電極電流是500mA。達(dá)林頓管并聯(lián)可以承受更大的電流。此電路主要應(yīng)用于繼電器驅(qū)動(dòng)器,字錘驅(qū)動(dòng)器,燈驅(qū)動(dòng)器,顯示驅(qū)動(dòng)器(LED氣體放電),線路驅(qū)動(dòng)器和邏輯緩沖器。

74hc595通過ULN2003驅(qū)動(dòng)8*8LED點(diǎn)陣屏。

五、8*8點(diǎn)陣屏介紹

8*8點(diǎn)陣屏管腳如上,L1-L8由達(dá)林頓管TIP127驅(qū)動(dòng),H1-H8有ULN2003驅(qū)動(dòng)

(1)TIP127簡介

外延基PNP達(dá)林頓功率晶體管,采用TO-220塑料封裝

VCBO 集電極-基極電壓(IE = 0) 60 80 100 V

VCEO 集電極-發(fā)射極電壓(IB = 0) 60 80 100 V

VEBO 發(fā)射極-基極電壓(IC = 0) 5 V

IC 集電極電流 5 A

ICM 集電極峰值電流 8 A

IB 基極電流 0.1 A

Ptot 耗散功率 Tcase≤25℃ 65 W

(2)ULN 2003介紹。

ULN2003是一個(gè)單片高電壓、高電流的達(dá)林頓晶體管陣列集成電路。它是由7對(duì)NPN達(dá)林頓管組成的,它的高電壓輸出特性和陰極箝位二極管可以轉(zhuǎn)換感應(yīng)負(fù)載。單個(gè)達(dá)林頓對(duì)的集電極電流是500mA。達(dá)林頓管并聯(lián)可以承受更大的電流。此電路主要應(yīng)用于繼電器驅(qū)動(dòng)器,字錘驅(qū)動(dòng)器,燈驅(qū)動(dòng)器,顯示驅(qū)動(dòng)器(LED氣體放電),線路驅(qū)動(dòng)器和邏輯緩沖器。

74hc595通過ULN2003驅(qū)動(dòng)8*8LED點(diǎn)陣屏。

附錄:原理圖

源程序:

//16x64點(diǎn)陣程序及滾動(dòng)效果視頻

#include

#define uchar unsigned char

#define uint unsigned int

#define hang P1 //行掃描接在P1口

sbit SI=P2^3;

sbit SCK=P2^0;

sbit OE=P2^2;

sbit RCK=P2^1;

uint counter;

uchar flag;

void delay_ms(uchar z) //延時(shí)0.5秒

{

uchar i,j;

for(i=z;i>0;i--)

for(j=120;j>0;j--);

}

uchar code display[][32]={

/*-- 文字: 好 --*/

/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/

0x10,0x00,0x11,0xFC,0x10,0x08,0x10,0x10,0xFC,0x20,0x24,0x20,0x24,0x20,0x27,0xFE,0x44,0x20,0x64,0x20,0x18,0x20,0x08,0x20,0x14,0x20,0x26,0x20,0x44,0xA0,0x80,0x40,

/*-- 文字: 好 --*/

/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/

0x10,0x00,0x11,0xFC,0x10,0x08,0x10,0x10,0xFC,0x20,0x24,0x20,0x24,0x20,0x27,0xFE,0x44,0x20,0x64,0x20,0x18,0x20,0x08,0x20,0x14,0x20,0x26,0x20,0x44,0xA0,0x80,0x40,

/*-- 文字: 學(xué) --*/

/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/

0x01,0x08,0x10,0x8C,0x0C,0xC8,0x08,0x90,0x7F,0xFE,0x40,0x04,0x8F,0xE8,0x00,0x40,0x00,0x80,0x7F,0xFE,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x02,0x80,0x01,0x00,

/*-- 文字: 習(xí) --*/

/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/

0x00,0x00,0x3F,0xFC,0x00,0x04,0x08,0x04,0x04,0x04,0x03,0x04,0x01,0x14,0x00,0x64,0x01,0x84,0x06,0x04,0x38,0x04,0x10,0x04,0x00,0x04,0x00,0x24,0x00,0x14,0x00,0x00,

/*-- 文字: 天 --*/

/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/

0x00,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x02,0x80,0x02,0x80,0x04,0x40,0x04,0x40,0x08,0x20,0x10,0x10,0x20,0x0E,0xC0,0x04,

/*-- 文字: 天 --*/

/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/

0x00,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x02,0x80,0x02,0x80,0x04,0x40,0x04,0x40,0x08,0x20,0x10,0x10,0x20,0x0E,0xC0,0x04,

/*-- 文字: 向 --*/

/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/

0x02,0x00,0x04,0x00,0x08,0x04,0x7F,0xFE,0x40,0x04,0x40,0x24,0x4F,0xF4,0x48,0x24,0x48,0x24,0x48,0x24,0x48,0x24,0x4F,0xE4,0x48,0x24,0x40,0x04,0x40,0x14,0x40,0x08,

/*-- 文字: 上 --*/

/*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/

0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x10,0x01,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00};

void write_595(uchar DATA) //向595寫一個(gè)字節(jié)的數(shù)據(jù)

{

uchar i;

for(i=0;i<8;i++)

{

SI=(~DATA)&0x01;

SCK=1;

SCK=0;

DATA=DATA>>1;

}

}

void main() //主函數(shù)

{

uchar i,j,k;

OE=0; //154使能

EA=1; //開總中斷

TMOD=0x01; //定時(shí)器0工作方式0

ET0=1; //定時(shí)器0使能

TH0=(65535-50000)/256; //定時(shí)器0設(shè)置初值

TL0=(65536-50000)%256;

while(1)

{

for(i=0;i<16;i++) //字從下往上滾動(dòng)出現(xiàn)

{

k=1;

for(j=i+1;j>0;j--) //向多個(gè)595寫一個(gè)字節(jié)的數(shù)據(jù)

{

write_595(display[7][k]);

write_595(display[7][k-1]);

write_595(display[6][k]);

write_595(display[6][k-1]);

write_595(display[5][k]);

write_595(display[5][k-1]);

write_595(display[4][k]);

write_595(display[4][k-1]);

k+=2;

hang=16-j;

RCK=1;RCK=0;

}

delay_ms(20);

}

TR0=1;flag=1;

while(flag) //停留一秒

{

uchar j;

for(j=0;j<16;j++)

{

write_595(display[7][j*2+1]);

write_595(display[7][j*2]);

write_595(display[6][j*2+1]);

write_595(display[6][j*2]);

write_595(display[5][j*2+1]);

write_595(display[5][j*2]);

write_595(display[4][j*2+1]);

write_595(display[4][j*2]);

hang=j;

RCK=1;RCK=0;

}

}

TR0=0;

for(i=16;i>0;i--) //字滾動(dòng)出顯示區(qū)

{

k=31;

for(j=i-1;j>0;j--)

{

write_595(display[7][k]);

write_595(display[7][k-1]);

write_595(display[6][k]);

write_595(display[6][k-1]);

write_595(display[5][k]);

write_595(display[5][k-1]);

write_595(display[4][k]);

write_595(display[4][k-1]);

k-=2;

hang=j;

RCK=1;RCK=0;

}

delay_ms(20);

}

for(i=0;i<16;i++) //下四個(gè)字滾動(dòng)出現(xiàn)在顯示區(qū)

{

k=1;

for(j=i+1;j>0;j--)

{

write_595(display[3][k]);

write_595(display[3][k-1]);

write_595(display[2][k]);

write_595(display[2][k-1]);

write_595(display[1][k]);

write_595(display[1][k-1]);

write_595(display[0][k]);

write_595(display[0][k-1]);

k+=2;

hang=16-j;

RCK=1;RCK=0;

}

delay_ms(20);

}

TR0=1;flag=1;

while(flag) //停留一秒

{

uchar j;

for(j=0;j<16;j++)

{

write_595(display[3][j*2+1]);

write_595(display[3][j*2]);

write_595(display[2][j*2+1]);

write_595(display[2][j*2]);

write_595(display[1][j*2+1]);

write_595(display[1][j*2]);

write_595(display[0][j*2+1]);

write_595(display[0][j*2]);

hang=j;

RCK=1;RCK=0;

}

}

TR0=0;

for(i=16;i>0;i--) //滾出顯示區(qū)

{

k=31;

for(j=i-1;j>0;j--)

{

write_595(display[3][k]);

write_595(display[3][k-1]);

write_595(display[2][k]);

write_595(display[2][k-1]);

write_595(display[1][k]);

write_595(display[1][k-1]);

write_595(display[0][k]);

write_595(display[0][k-1]);

k-=2;

hang=j;

RCK=1;RCK=0;

}

delay_ms(20);

}

}

}

void timer0() interrupt 1 //中斷函數(shù)

{

counter++;

if(counter==20) //1秒設(shè)置

{

counter=0;

flag=0;

}

TH0=(65535-50000)/256;

TL0=(65536-50000)%256;

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 譯碼器
    +關(guān)注

    關(guān)注

    4

    文章

    310

    瀏覽量

    50156
  • 74HC595
    +關(guān)注

    關(guān)注

    7

    文章

    189

    瀏覽量

    30684
  • 74HC138
    +關(guān)注

    關(guān)注

    5

    文章

    49

    瀏覽量

    20779

原文標(biāo)題:基于74hc595和74hc138的16x40點(diǎn)陣顯示

文章出處:【微信號(hào):changxuemcu,微信公眾號(hào):暢學(xué)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    74HC595輸出端可以直接接到ULN2003的輸入端口嗎

    51單片機(jī)的IO口不夠用了,就想用74HC595擴(kuò)展一下IO口,把595的輸出端直接接到達(dá)林頓ULN2003上可以嗎?
    發(fā)表于 01-08 23:47

    74HC595驅(qū)動(dòng)LED點(diǎn)陣或數(shù)碼管的正確用法 精選資料推薦

    這幾天有些時(shí)間想做LED點(diǎn)陣玩玩,所以需要學(xué)習(xí)74HC595芯片,上網(wǎng)找了幾個(gè)例程和關(guān)于74HC595的幾篇應(yīng)用,照貓畫虎實(shí)際操作一下,哪知根本不可行,教程都是錯(cuò)誤的。于是自己潛心研究
    發(fā)表于 07-22 08:49

    74HC595芯片的作用是什么

    74HC595是在單片機(jī)系統(tǒng)中常用的芯片之一他的作用就是把串行的信號(hào)轉(zhuǎn)為并行的信號(hào),常用在各種數(shù)碼管以及點(diǎn)陣驅(qū)動(dòng)芯片, 使用74HC595
    發(fā)表于 07-22 07:05

    74HC595驅(qū)動(dòng)LED點(diǎn)陣或數(shù)碼管的正確用法是什么?

    74HC595正確的工作原理是什么?74HC595驅(qū)動(dòng)LED點(diǎn)陣或數(shù)碼管的正確用法是什么?
    發(fā)表于 07-23 12:34

    怎樣去設(shè)計(jì)一種8×8LED點(diǎn)陣電路

    怎樣去設(shè)計(jì)一種8×8LED點(diǎn)陣電路?74HC595芯片有哪些管腳?其功能是什么?開發(fā)板1602液晶接口電路該怎樣去設(shè)計(jì)?
    發(fā)表于 08-06 07:05

    如何使用三片74HC595對(duì)一個(gè)8X8雙色點(diǎn)陣進(jìn)行控制呢

    74HC595是什么?74HC595串行轉(zhuǎn)并行芯片各引腳的作用是什么?如何使用三片74HC595對(duì)一個(gè)8X8雙色點(diǎn)陣進(jìn)行控制呢?
    發(fā)表于 10-25 09:04

    使用移位寄存器74HC595ULN2003的7段屏蔽2,3英寸

    描述7段屏蔽2,3英寸7 段屏蔽 2,3 使用移位寄存器 74HC595ULN2003pcb
    發(fā)表于 09-09 06:04

    [圖文]74HC595驅(qū)動(dòng)8個(gè)LED電路圖

    74HC595驅(qū)動(dòng)8個(gè)LED電路圖
    發(fā)表于 04-16 17:59 ?5270次閱讀
    [圖文]<b class='flag-5'>74HC595</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>8</b>個(gè)<b class='flag-5'>LED</b>電路圖

    74HC595驅(qū)動(dòng)8個(gè)LED電路

    74HC595驅(qū)動(dòng)8個(gè)LED電路
    發(fā)表于 02-25 15:43 ?7888次閱讀
    <b class='flag-5'>74HC595</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>8</b>個(gè)<b class='flag-5'>LED</b>電路

    74HC595驅(qū)動(dòng)led單色點(diǎn)陣程序

    74HC595、138、4953等做的單色模組驅(qū)動(dòng)程序
    發(fā)表于 07-24 16:10 ?2w次閱讀

    基于單片機(jī)實(shí)現(xiàn)74HC595通過ULN2003驅(qū)動(dòng)2路步進(jìn)電機(jī)

    基于單片機(jī)實(shí)現(xiàn)74HC595通過ULN2003驅(qū)動(dòng)2路步進(jìn)電機(jī)
    發(fā)表于 01-06 14:30 ?225次下載

    基于單片機(jī)74HC595驅(qū)動(dòng)點(diǎn)陣

    基于單片機(jī)74HC595驅(qū)動(dòng)點(diǎn)陣程序,喜歡的朋友下載來學(xué)習(xí)。
    發(fā)表于 01-06 14:31 ?127次下載

    一種用 74hc138 和 74hc595 驅(qū)動(dòng) 8x8 點(diǎn)陣顯示技術(shù)

    用STC89C52,74hc138驅(qū)動(dòng)列,74hc595驅(qū)動(dòng)行,8x8點(diǎn)陣顯示問題。
    發(fā)表于 05-30 10:18 ?1w次閱讀
    一種用 <b class='flag-5'>74hc</b>138 和 <b class='flag-5'>74hc595</b> <b class='flag-5'>驅(qū)動(dòng)</b> <b class='flag-5'>8x8</b> <b class='flag-5'>點(diǎn)陣</b>顯示技術(shù)

    C51單片機(jī)學(xué)習(xí)——8×8LED點(diǎn)陣學(xué)習(xí)筆記

    C51單片機(jī)學(xué)習(xí)——8×8LED點(diǎn)陣學(xué)習(xí)筆記目錄C51單片機(jī)學(xué)習(xí)——8×8LED
    發(fā)表于 11-14 11:21 ?45次下載
    C51單片機(jī)學(xué)習(xí)——<b class='flag-5'>8</b>×<b class='flag-5'>8LED</b><b class='flag-5'>點(diǎn)陣</b><b class='flag-5'>屏</b>學(xué)習(xí)筆記

    7段屏蔽使用移位寄存器74HC595ULN2003

    電子發(fā)燒友網(wǎng)站提供《7段屏蔽使用移位寄存器74HC595ULN2003.zip》資料免費(fèi)下載
    發(fā)表于 08-18 15:17 ?2次下載
    7段屏蔽使用移位寄存器<b class='flag-5'>74HC595</b>和<b class='flag-5'>ULN2003</b>