11
Chào các bác, hôm nay mình viết bài này nhằm giúp đở các b được một mạch đếm sản phẩm, thấy có nhiều bác lên mạng tìm liệu cực quá vì đa số mọi người trên mạng ít khi chia sẻ h hôm nay mình sẻ nói một cách chi tiết nhất có thể để các b dàng hơn trong việc làm mạch đếm sản phẩm này. Đây là một mạch đếm sản phẩm ứng dụng vi điều khiển mcs_5 phát hồng ngoại, tăng số lượng sản phẩm lên bằng kỷ thuật dụng phương pháp quét led để hiển thị số đếm và có khả năn truyền Bây giờ chúng ta bắt đầu nhé: Giới thiệu sơ qua cho các bá mạch có những gì nhé : để làm mạch này thì chúng ta có 3 k khối phát hồng ngoại , khối thu hồng ngoại, khối hiển thị không thể thiếu bộ xử lý trung tâm rồi đúng không, các bác khiển họ 8051 nhé (ở đây mình dùng con 89c51) Khối phát hồng ngoại: dùng timer0 để phát xung 38khz ở một 89c51 ở đây mình chọn chân p1.5, còn vấn đề phát như thế n ình sẻ nói sau. Còn đây là sơ đồ mạch phát:

Mach Dem San Phan Dung 8051

Embed Size (px)

Citation preview

Cho cc bc, hm nay mnh vit bi ny nhm gip cc bc c th lm c mt mch m sn phm, thy c nhiu bc ln mng tm kim ti liu cc qu v a s mi ngi trn mng t khi chia s ht cho mi ngi, hm nay mnh s ni mt cch chi tit nht c th cc bn c th d dng hn trong vic lm mch m sn phm ny.

y l mt mch m sn phm ng dng vi iu khin mcs_51 dng thu pht hng ngoi, tng s lng sn phm ln bng k thut m xung, s dng phng php qut led hin th s m v c kh nng dng bng truyn By gi chng ta bt u nh: Gii thiu s qua cho cc bc bit trong mch c nhng g nh : lm mch ny th chng ta c 3 khi chnh l khi pht hng ngoi , khi thu hng ngoi, khi hin th v d nhin l khng th thiu b x l trung tm ri ng khng, cc bc dng vi iu khin h 8051 nh ( y mnh dng con 89c51) Khi pht hng ngoi: dng timer0 pht xung 38khz mt chn ca 89c51 y mnh chn chn p1.5, cn vn pht nh th no th mnh s ni sau. Cn y l s mch pht:

y mnh dng cch ghp darlington khuch i tn hiu a ra t chn p1.5 v tn hiu t 89c51 rt b nn chng ta cn khuch i dng cho n sng led, Q1,Q2 cc bc dng loi NPN nh y mnh dng con C1815. Ni s qua cho cc bc hiu nguyn l hot ng ca n nh: chng ta pht dng xung vung c tn s l 38khz tc l chn p1.5 ca 89c51 s lin tc o chiu c ln 1 ri li xung 0, khi p1.5 ln 1 th Q1 dn lc c dng Vcc chy t cc C xung E ca Q1, v cc E ca Q1 ni vi cc B ca Q2 nn khi Q1 dn th cc B ca Q2 c dng nn Q2 cng dn v c dng chy t Vcc qua cc C v xung E ca Q2 ri qua led pht hng ngoi qua in tr ri xung mass, lc ny led pht hng ngoi sng cn khi chn p1.5 xung mc 0 th Q1 v Q2 khng dn nn led pht hng ngoi tt. khi thu hng ngoi : c chc nng l pht hin s mt xung ( c sn phm i qua ) v a v con 89c51 x l tng s m ln 1 n v y l s mch thu:

Cc bc ni theo s nh, cho my bc thng s lun n: R15 l 2k2, R16 chn 1K R16 c kh nng chng nhiu na nu nh c nhiu th cc bc ch vic thay con tr R16 c gi tr nh hn l c nhng m mnh ngh chc l khng cn nhiu u v ngy x mnh dng ti 22k v rt nhiu nn gi gim xung 1k v thy rt tt cc bc yn tm, R17 chn 100, bin tr R18 chn 100k, t C4 v C5 chn khong 10uF. Nguyn l hot ng: khi c sn phm i qua th led thu hng ngoi b che khut lc ny c dng i t Vcc qua led thu hng ngoi ri qua cc B ca Q3 lc ny Q3 dn, cc C ca Q3 xung mc thp lc ny t C4 x in qua diode qua Q3 v xung mass lc ny chn s 2 ca LM555 c kch v to ra mt xung chn s 3 a v cho ic89c51 x l. (chn s 3 ca LM555 c ni vo chn P3.2 ca 89c51 tc l chn 12 ) Bin tr R18 dng iu chnh tc nhn dng sn phm i qua, khi c sn phm i qua th led thu hng ngoi b che khut ta c s mt xung nh sau.

Khi hin th : dng hin th s lng sn phm i qua. y l s khi hin th:

Q4 v Q5 dng loi PNP y mnh dng A1015. Cn R13, R14 th cc bc chn khong 10k cn tr R5 n R12 th cc bc chn sao cho led sng nh (nn chn gi tr nh thi ) cn bc no m s tn tr th lm th ny b R5 n R12 i ta c ni thng n vo Port0 ca 89c51 thay vo l ta s gn cho n mt con tr cc C ca Q4 v Q5 l khong 220 cc bc c chn sao cho led sng l c. y mnh dng led Anot chung ( loi Anot chung ny chn chung c ni ln ngun ) Led 7on cc bc v gii m n nh. y l hnh dng ca led

Cc bc dng VOM thang o in tr nh nht ri a que vo chn s 3 hoc chn s 8 que cn li ln lt a vo cc chn 1,2,4,5,6,7,9,10 xem u l a, u l b ( lu l VOM trn th trng c loi ca trung quc th que l cc m v que en l cc dng cc bc ch nh nu l loi ny th phi lm ngc li a que en vo chn s 3 hoc 8 cn que kia th o cc chn cn li ) Cn y mnh gii m ra c : 1:e 2:d 3:Vcc 4:c 5:dp 6:b 7:a 8:Vcc 9:f 10:g Cc bc ni chn ca led vo port0 nh th ny nh: a ni vo chn P0.7 ( tc l chn 32 ca 89c51 ) ln lt cho ti dp ni vo chn P0.0 (tc l chn 39 ca 89c51) Nh vy l xong phn cng by gi chng ta th cho n hin th ln s 0 nh. Quy tc l nh th ny khi ta cho php dng i qua con led th led tch cc v mun cho ch no sng th ta cho ch v 0 gi s mun cho led n v sng ln s 0 th ta iu khin sao cho chn p1.7 ln mc 1 v chn p1.6 v mc 0 nh vy l led n v c cho php v mun hin th ln s 0 th ta cn lm cho cc thanh led a,b,c,d,e,f sng cho n sng th cc chn ny s v mc 0 (c th nh con led mnh gii m th mnh iu khin con 89c51 cho chn 1,2,4,6,7,9, ca led v mc 0 vy l s c s 0 hin th trn led n v ) nh vy th mun hin th s 0 th P0 cn xut ra gi tr l 00000011 tc l 03H tng t s 1 l chn "b,c" sng v port0 cn xut ra gi tr l 10011111 tc l F9H tng t ta c c bng s nh sau: 0 = 03H; 1 = 9FH; 2 = 25H; 3 = 0DH; 4 = 99H; 5 = 49H; 6 = 41H; 7 = 1FH; 8 = 01H ; 9 = 09H y l mch tng qut :

Phn cng nh th l n by gi chng ta i vit chng trnh cho n nh: vit chng trnh cc bn cn nm c mnh cn lm g ci : chng ta ang lm mt mch m sn phm v chng ta qun l s m trong R7 nn chng trnh chnh chng ta c nhim v l np cc gi

tr ban u cho php ngt, tch s BCD v hin th ra LED. Trong mch ny chng ta s dng 3 ngun ngt l ngt timer0 dng pht xung cho mch pht, ngt ngoi 0 dng tng s lng sn phm v ngt timer1 dng dng bng truyn.Chng trnh pht xung: s dng ngt timer0 ch 2 ( timer0 ch 2 c kh nng t np li gi tr ban u nn chng ta ch cn np mt ln l ). Chng ta dng thch anh 12MHz nn ta c 1 chu k my = 1s, chng ta pht tn s 38khz vy ta c T=1/f = 1/38 = 0.026ms = 26 s Ton =Toff = 26/2 = 13 nh vy cn np cho timer0 gi tr l -13.Trong chng trnh ngt timer0 ta ch vic o trng thi chn p1.5 l c v ta c on chng trnh ngt timer0 l: T0_ISR: CPL P1.5 RETIT0_ISR: CPL P1.5 RETI Chng trnh m sn phm: chng ta s dng ngt ngoi 0. Khi pht hin mt xung ( c sn phm i qua) chn P3.2 xung mc thp v lc ny xy ra ngt ngoi 0. Trong chng trnh ngt ngoi 0 chng ta tng s m ln 1 n v v so snh n vi gi tr l 100 khi n t n 100 th reset n v 0 ta c on chng trnh ngt ngoi 0: EX0_ISR: INC R7 ; tng s m ln 1 n v CJNE R7,#100,EXIT ;so snh R7 vi 100 nu cha = 100 th nhy ti EXIT cn nu bng 100 th xa n v 0 MOV R7,#0 EXIT: RETI Cn bc no mun dng bng truyn th trong chng trnh ngt ngoi 0 ta so snh s m vi cc gi tr nh sn chng hn nh cc gi tr 20,40,60,80,100, khi s m bng cc gi tr ny th cho dng bng truyn trong 5s ri cho bng truyn hot ng tr li. ta c li on chng trnh ngt ngoi 0 nh sau: ta c li on chng trnh ngt ngoi 0 nh sau:

E0_ISR: INC R7 ; tng R7 ln 1 CJNE R7,#20,TIEP ; so snh R7 vi 20, nu cha bng th nhy ti nhn TIEP cn nu bng ri th gi chng trnh TIEPTUC ACALL TIEPTUC ; gi chng trnh TIEPTUC TIEP: CJNE R7,#40,TIEP1 ; so snh R7 vi 40 ACALL TIEPTUC ; gi chng trnh tip tc TIEP1: CJNE R7,#60,TIEP2 ; so snh R7 vi 60 ACALL TIEPTUC ; gi chng trnh TIEPTUC TIEP2: CJNE R7,#80,TIEP3 ; so snh R7 vi 80 ACALL TIEPTUC ; gi chng trnh TIEPTUC TIEP3: CJNE R7,#100,EXIT ; so snh R7 vi 100 MOV R7,#0 ; xa R7 v 0 ACALL TIEPTUC ; gi chng trnh TIEPTUC EXIT: RETI ; quay v t ngt Trong chng trnh TIEPTUC chng ta s cho dng bng truyn nhng y mnh ch lm m phng nn mnh thay ci ng c iu khin bng truyn l mt con led khi led sng th bo hiu l ang dng bng truyn. Trong main chng ta np cc gi tr ban u cho php ngt v tch s BCD ri hin th ln LED dng phng php qut led ( ni s qua v phng php qut led cho mt s bc cha bit hiu: chng ta ni cc chn a,b,c,d,e,f,g,dp ca led chc v led n v li vi nhau, v ta gi tn hiu ra led hin th gi tr cn hin th v d nhin l nu chng ta cho php c hai led th c hai led u hin th mt s, cho nn trong mt lc chng ta ch cho php mt led sng. v d khi mun hin th s 15 th ta cn led chc hin th s 1 cn led n v hin th s 5 vy th u tin ta gi tn hiu cho sng s 1 ri tt led n v v cho php led chc, delay mt khong thi gian ri gi tip tn hiu cho sng s 5 ri tt led chc v cho php led n v) qut led ngha l cho trong mt trng thi ch c mt led c sng c nh th led chc sng s 1 v tt led n v, delay mt khong thi gian ri tt led chc v cho led n v sng s 5 ri delay mt khong thi gian, tc sng led l khong 24hnh/s nh th th mt chng ta c khng th nhn bit c s thay i v c cm gic l n ang hin th s 15. Gii thut tch s m trong R7 nh th ny: chng ta np cho B mt gi tr l 10 v ly R7 chuyn vo A ri ly A chia cho B nh th phn nguyn s nm trong A ( tc l s chc lu trong A ) cn phn d nm trong B ( tc l

s n v nm trong B), nh vy l ta tch c s chc v s n v ra, chng ta chuyn s hng chc ra port0 ri cho led chc tch cc v tt led n v, ri chuyn B v A ri xut n ra port0 v cho php led n v sng v tt led chc. Cn y l code hon chnh: ORG 0000H ; im vo reset LJMP MAIN ; gi chng trnh chnh ORG 000BH ; vecter timer 0 LJMP T0_ISR ; gi chng trnh ngt timer 0 ORG 0003H ; vecter ngt ngoi 0 LJMP E0_ISR ; gi chng trnh ngt ngoi 0 ORG 001BH ; vecter timer 1 LJMP T1_ISR ; gi chng trnh ngt timer 1 ORG 0030H ; im vo chng trnh chnh MAIN: MOV TMOD, #12H ; timer 0 ch 2 v timer 1 ch 1 MOV TH0,#(-13) ; sau 13 Ms th xy ra ngt timer 0 ( tn s 38Khz) SETB TR0 ; cho php timer 0 chy SETB EA ; cho php ngt ton b SETB ET0 ; cho php ngt timer 0 SETB EX0 ; cho php ngt ngoi SETB IT0 ; ngt cnh xung CLR P1.4 ; xa p1.4 v 0 (tt led bo hiu dng bng truyn) MOV R7,#0 ; np cho R7 gi tr ban u (R7 cha s m) MOV R5,#50 ; np cho R5 gi tr 50 (mc ch to khong thi gian ngng bng truyn) LOOP: MOV A,R7 ; chuyn s m trong R7 vo A MOV B,#10 ; np cho B gi tr 10 DIV AB ; chia A cho B MOV DPTR,#LUT ; ch con tr DPTR vo bng LUT MOVC A,@A+DPTR ;chuyn gi tr chn trong bng LUT vo thanh ghi tch lyA MOV P0,A ; xut A ra port 0 CLR P1.7 ; cho php led chc sng SETB P1.6 ; tt led n v ACALL DELAY ; gi chng trnh delay MOV A,B ; chuyn B vo A

MOV DPTR,#LUT ; ch con tr DPTR vo bng LUT MOVC A,@A+DPTR ;chuyn gi tr chn trong bng LUT vo thanh ghi tch lyA MOV P0,A ; xut A ra port 0 CLR P1.6 ; cho php led n v sng SETB P1.7 ; tt led chc ACALL DELAY ; gi chng trnh delay SJMP LOOP ; quay li chng trnh chnh RET T0_ISR: CPL P1.5 ; o trng thi p1.5 ( mc ch to xung vung ) RETI ; quay li t ngt E0_ISR: INC R7 ; tng R7 ln 1 CJNE R7,#20,TIEP ; so snh R7 vi 20, nu cha bng th nhy ti nhn TIEP cn nu bng ri th gi chng trnh TIEPTUC ACALL TIEPTUC ; gi chng trnh TIEPTUC TIEP: CJNE R7,#40,TIEP1 ; so snh R7 vi 40 ACALL TIEPTUC ; gi chng trnh tip tc TIEP1: CJNE R7,#60,TIEP2 ; so snh R7 vi 60 ACALL TIEPTUC ; gi chng trnh TIEPTUC TIEP2: CJNE R7,#80,TIEP3 ; so snh R7 vi 80 ACALL TIEPTUC ; gi chng trnh TIEPTUC TIEP3: CJNE R7,#100,EXIT ; so snh R7 vi 100 MOV R7,#0 ; xa R7 v 0 ACALL TIEPTUC ; gi chng trnh TIEPTUC EXIT: RETI ; quay v t ngt DELAY: MOV R6,#200 DJNZ R6,$ RET ; 3 dng lnh ny l delay 400Ms TIEPTUC: SETB P1.4 ; cho n sng ( bo hiu dng bng truyn ) SETB ET1 ; cho php ngt timer 1 MOV TH1,#HIGH(-50000) MOV TL1,#LOW(-50000) ; hai dng lnh ny l np gi tr cho timer 1 ( sau 50000 Ms th xy ra ngt timer 1) SETB TR1 ; cho timer 1 chy RET ; kt thc chng trnh tip tc T1_ISR: DJNZ R5,THOAT ; gim R5 i 1 v so snh n vi 0 nu cha bng 0 th thot cn nu bng 0 th lm tip

CLR P1.4 ; tt n ( bo hiu cho bng truyn hot ng tr li ) CLR ET1 ; cm ngt timer 1 CLR TR1 ; dng timer 1 MOV R5,#50 ; np li cho R5 gi tr 50 THOAT: RETI ; tr v t ngt LUT: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H END ph lm mt ri ng khng v y l thnh qu ca chng ta