Вы находитесь на странице: 1из 15

M RNG PORT XUT DNG IC CHT 74573 & IC DCH 74HC595

August 13th, 2010 | Author: admin


Trong mt s tnh hung thit k m s ng ra vt qu s chn (Port) ca vi iu
khin, vic m rng port s c ng dng
Trong bi ny, ti xin trnh by mt vi phng php: Dng IC cht 74573 v
74HC595
Phn 1: M rng port dng IC 74HC573

Hnh 1:S giao tip, m rng PORT xut dng IC 74HC573 (xem datasheet
74HC573)
- Trong tnh hung thit k ny, chng ta dng chc nng ghi d liu ra ngoi vi trn
chn WR\.
- V d khi xut d liu 10101010b ra ngoi vi 4000h, 3 lnh sau c s dng:
MOV DPTR,#4000h
MOV A,#10101010b
MOVX @DPTR,A
Vi v d trn, VK thc hin theo cc bc sau:
+ b1. VK Xut a ch ra PORT_0 =00h (8 bit ia ch thp A0..A7) v 8 bit a ch
cao = 40h (A8..A15). Vi a ch ny, trn s gii m ng ra PORT_C ca IC
74138 mc thp (mt ng vo ca cng NOR s mc thp) (1)v khi , chn
WR\ ca VK s mc cao.
+ b2. VK xut tip d liu 10101010b ra PORT_0 (AD0..AD7) v chn WR\ s t
ng tch cc mc thp (2)
+ Kt hp (1) v (2), 2 ng vo ca cng NOR mc thp, nn ng ra ca cng NOR
mc cao => chn LE ca IC OU22 c tch cc mc cao lm cho IC 74HC573 m
cng, kt qu l d liu 10101010b s xut ra Q0..Q7 trn IC OU22.
-Tng t cho cc PORT khc.

- Sau y l mt v d nho nh bn th phn cng:


Yu cu: Vit chng trnh sng dn 32 led xut ra khi m rng PORT_A,B,C,D
;====================================================
onho1 equ 7fh
onho2 equ 7eh
onho3 equ 7dh
onho4 equ 7ch
;bd
equ 7bh
;
PORT_A equ 0000h
PORT_B equ 2000h
PORT_C equ 4000h
PORT_D equ 6000h
;org 0h
loop:
mov onho1,#00h
mov onho2,#00h
mov onho3,#00h
mov onho4,#00h
;mov bd,#33
xuat:
mov dptr,#PORT_A
mov A,onho1
movx @dptr,A
mov dptr,#PORT_B
mov A,onho2
movx @dptr,A
mov dptr,#PORT_C
mov A,onho3
movx @dptr,A
mov dptr,#PORT_D
mov A,onho4
movx @dptr,A
Lcall delay
;setb C
mov A,onho1
rlc A
mov onho1,A
mov A,onho2
rlc A
mov onho2,A
mov A,onho3

rlc A
mov onho3,A
mov A,onho4
rlc A
mov onho4,A
djnz bd,xuat
sjmp loop
delay:
mov tmod,#01h; t0, mode 16
mov r2,#20
del:
mov TH0,#high(-50000)
mov TL0,#low(-50000)
setb TR0
jnb tf0,$
clr tf0
djnz r2,del
ret
end
;===============================================================
Phn 2: M rng port dng IC 74HC595

Hnh 2: S kt ni m rng port dng IC 74HC595


- Sau y xin trnh by phng php m rng dng IC 74HC595 (Xem datasheet
74HC595)

hnh 3: S chi tit IC 74HC595


+ IC 74HC595 l mt IC dch v cht d liu vi tc CLK p ng ln n 40MHz
+ IC 74HC595 cho php ghp tng nhiu IC. Khi , ng vo IC sau (SDI) ni vi ng
ra ca IC trc (SDO)
+ dch mt byte d liu ra IC 74HC595, ta lm nh sau:
b1:Dch 1 bit d liu ra chn Din (SDI)
b2: Xut 1 xung CLK (SCLK)
lp li bc 1 v bc 2 8 ln
b3: Kch xung cht RCLK (STROBE) d liu dch t tng FF1 sang tng FF2
b4: Tch cc chn OE\ (G\) mc thp cho 1 byte d liu xut ra 8 chn Q0..Q8
- Sau y l mt an chng trnh xut 4 nh trong VK ra IC74HC595
;====================================================
din bit p2.0
clk bit p2.1
strobe bit p2.2
oe\
bit p2.3
;====================================================
onho1 equ 7fh
onho2 equ 7eh
onho3 equ 7dh
onho4 equ 7ch
;bd
equ 7bh
bddich8bit equ 7ah

;
org 0h
loop:
mov onho1,#00h
mov onho2,#00h
mov onho3,#00h
mov onho4,#00h
;clr clk
clr strobe
setb oe\
mov bd,#33
xuat:
lcall xuatdulieu
lcall delay
setb C
mov A,onho1
rlc A
mov onho1,A
mov A,onho2
rlc A
mov onho2,A
mov A,onho3
rlc A
mov onho3,A
mov A,onho4
rlc A
mov onho4,A
djnz bd,xuat
sjmp loop
;
xuatdulieu:
mov r0,#onho1
copy:
mov A,@r0
mov bddich8bit,#8
dich:
rrc A
mov din,c
setb clk
clr clk
djnz bddich8bit,dich
dec r0
cjne r0,#onho4-1,copy
setb strobe
clr strobe

clr oe\
ret
;==========================================
delay:
mov tmod,#01h; t0, mode 16
mov r2,#20
del:
mov TH0,#high(-50000)
mov TL0,#low(-50000)
setb TR0
jnb tf0,$
clr tf0
djnz r2,del
ret
end
;===============================================================
==========Trn y l mt s phng n m rng port==========
=========Cc bn hy lm th! chc thnh cng!=========

Ic 74hc595
IC ghi dch 74HC595
27-11-2011 | fee_08 | 4 phn hi
Bi hm nay chng ta tip tc tm hiu mt ic
h 74xx na rt thng dng l 74HC595 .
Hnh dng thc t:

1, Chc nng :
L ic ghi dch 8bit kt hp cht d liu , u
vo ni tip u ra song song .
Chc nng: Thng dng trong cc mch
qut led 7 , led matrix tit kim s chn
VDK ti a (3 chn) . C th m rng s chn
vi iu khin bao nhiu ty thch m k ic no
c th lm dc bng vic mc ni tip u vo
d liu cc ic vi nhau .
2,S chn:

Gii thch ngha hot ng ca mt s chn


quan trng:
(input)
Chn 14 : u vo d liu ni tip . Ti 1 thi
im xung clock ch a vo c 1 bit
(output)
QA=>QH : trn cc chn (15,1,2,3,4,5,6,7)
Xut d liu khi chn chn 13 tch cc mc
thp v c mt xung tch cc sn m ti
chn cht 12
(output-enable)
Chn 13 : Chn cho php tch cc mc thp
(0) .Khi mc cao, tt c cc u ra ca 74595
tr v trng thi cao tr, khng c u ra no
c cho php.

(SQH)
Chn 9: Chn d liu ni tip . Nu dng
nhiu 74595 mc ni tip nhau th chn ny
a vo u vo ca con tip theo khi dch
8bit.
(Shift clock)
Chn 11: Chn vo xung clock . Khi c 1 xung
clock tch cc sn dng(t 0 ln 1) th 1bit
c dch vo ic.
(Latch clock)
Chn 12 : xung clock cht d liu . Khi c 1
xung clock tch cc sn dng th cho php
xut d liu trn cc chn output . lu c th
xut d liu bt k lc no bn mun ,v d
u vo chn 14 dc 2 bit khi c xung clock
chn 12 th d liu s ra chn Qa v Qb (ch
chiu dch d liu t Qa=>Qh)
(Reset)
Chn 10: khi chn ny mc thp(mc 0) th
d liu s b xa trn chip)
S hot ng ca chp :

3, Bng thng s chip:

y l ic u ra hot ng 2 mc 0 &1 dng


ra tm 35mA . in p hot ng <=7V . Cng
sut trung bnh 500mW
Da vo bng tnh ton c cc thng s khi
thit k mch
4, Tn s p ng:

Ti 6V th tn s vo p ng khong 400ns .
Da vo chng ta se a c ra tn s
qut hp l.
6, Cu to chip :

Ci ny k quan tm.
7, V d:
Mnh s a ra mt v d cch qut s dng
595 . y l hin th cc s t 0=>9 trn led
7.

#include"regx52.h"
sbit DATA = P2^1;
sbit SCK = P2^0;
sbit SCL = P2^2;
void quet(unsigned char x)
{
int i,temp;
for(i=0;i<8;i++)
{
temp=x;//gan bien
temp=temp&0x80;//lay ra bit dau tien (bit 7)
if(temp==0x80)//so sanh bit
DATA=1; //bang 1 thi xuat vao chip =1

else
DATA=0; //nguoc lai bang 0
x*=2; //dich bit lay bit trong so thap
SCK=0; //tao xung tren chan 11
SCK=1; //1 xung dua vo 1 bt
}
SCL=0; //xuat du lieu ra output
SCL=1;
}
void delay()
{
unsigned int i;
for(i=0;i<33000;i++);
}
void main()
{
unsigned int i, k=0;
unsigned char
ma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf
8,0x80,0x90};//ma led 7
while(1)
{
for(i=0;i<10;i++)
{
quet(ma[i]);

delay();
}
}}

Вам также может понравиться