You are on page 1of 32

Gii thiu bo thc hanh vi ic lp trinh AT89C51

1. Tim hiu hoat ng cua ic lp trinh AT89C51.

Hinh trn cho thy ic lp trinh n phin AT89C51 co 40 chn, cng dung cua cac chn nh sau: Chn cui cua hang di, chn 20, cho ni masse, chn cui cua hang trn, chn 40, cho ni ngun 5V Chn 9 la chn reset, khi chn nay mc ap cao, IC se trang thai reset. Chn 18, 19 dung gn thach anh inh tn cho xung nhip, vi thach anh 12MHz, chu ky lnh se la 1us.

Chn 31 dung khai bao IC se lam vic vi b nh nao, khi treo chn nay ln mc ap cao, IC se chi lam vic vi b nh trong. IC AT89C51 co 4 cang dang 8-bit dung xut nhp bit. Cac cang c t tn la p0, p1, p2 va p3. Cang p0 gm cac chn: 39, 38, 37, 36, 35, 34, 33, 32. Cang p1 gm cac chn: 1, 2, 3, 4, 5, 6, 7, 8. Cang p2 gm cac chn: 21, 22, 23, 24, 25, 26, 27 ,28. Cang p3 gm cac chn: 10, 11, 12, 13, 14, 15, 16, 17. Ghi nh: tin dung trn cac chn cua cac cang u a cho t tn ring, do vy chung ta co th x dung cac tn nay trong cac cu lnh ma khng cn phai nh s chn cua IC. Cung chu y co mt s chn a nhim, nghia la chn o co th lam nhiu nhim vu. Nht la cac chn cua cang p3. Ngi ta thng dung 2 cang p0 va p2 truy cp ia chi 16-bit cua cac b nh ngoai, vi kha nng truy cp ia chi 16-bit, no co th lam vic vi cac b nh co 65536 thanh nh. Khi dung ic lp trinh n phin AT89C51, Ban chu y n 4 iu sau y:

. Vn cp ngun, IC AT89C51 la m vic vi mc ngun 5V, ngun nui cn co n i nh tt. Do vy Ba n nn du ng ic n a p 7805 co ngun 5V cp cho IC na y. . ma ch reset, Ba n du ng tu khoa ng 10F va in tr co tri 10K ta o ra mc a p cao ngay khi ma ch c cp in, vi mc a p cao xut hin trn chn s 9, IC se va o tra ng tha i

reset, no tra ca c thanh ghi trong IC v tra ng tha i reset va quay la i cha y do ng lnh t thanh 0000h trong b nh ROM. . Mun ic lp tri nh hoa t ng Ba n pha i gn tha ch anh trn chn 18, 19 du ng i nh tn cho ma ch dao ng ta o xung nhi p. Tha ch anh thng du ng trong thc nghim la 12MHz, vy chu ky thc hin lnh se la 1s. . Nu chi la m thc nghim vi ca c cu lnh co trong b nh ROM bn trong, nghi a la khng du ng b nh ngoa i, Ba n cho treo chn 31 ln mc a p cao. Khi a thoa ma n 4 iu kin trn, by gi Ba n a co th du ng ca c cu lnh na p va o b nh ROM va du ng ic AT89C51 la m ca c cng vic ma Ba n mun.

2. Mach in ng dung c ban cua ic lp trinh AT89C51. Trn bo thc ha nh a du ng, Ba n thy chung quanh ic lp tri nh n phin AT89C51 co du ng n ca c ic 74245 la m tng khuch a i du ng iu khin vic xut nhp cu a ca c bit ra va o trn ca c ca ng cu a IC.

Trc ht chu ng ta ha y ti m hiu cng du ng cu a ca c ic 74HC245.

Hi nh trn cho thy, ic logic 74HC245 co 8 tng khuch a i song hng. IC la m vic vi chn cui cu a ha ng di, chn 10, cho ni masse va chn cui cu a ha ng trn, chn 20, cho ni ngun 5V. Ca c tng khuch a i vi A0 - B0, A1- B1, A2 - B2, A3 - B3, A4 - B4, A5 - B5, A6 - B6, A7 - B7. Chn 19 /OE du ng ki ch m hoa t ng cu a ic khi no mc volt thp, hay cho ni masse, khi chn na y treo mc a p cao, ca c nga xut nhp se cho tra ng tha i th ba, nghi a la tra ng tha i co tr kha ng v cu ng ln, xem nh h ma ch. Chn s 1 cho n hng i cho ti n hiu. Khi chn DIR mc a p cao, thi ti n hiu va o bn A ra bn B va khi chn DIR mc a p thp thi ti n hiu va o bn B va ra bn A. To m la i, ngi ta du ng ic 74HC245 khuch a i tng cng cho ca c ca ng cu a ic lp tri nh AT89C51. Vy, co th thy, trong s ma ch in trn, khi 4 kho a in trong S u h thi ca c chn DIR u cho mc a p cao, lu c na y ti n hiu va o bn A va ra bn B, hay co th no i no du ng cho mode xut bit trn 4 ca ng cu a AT89C51. Nu mun nhp bit

va o ca c ca ng cu a ic AT89C51 chu ng ta pha i t chn DIR xung mc a p thp. Trong ma ch ngi ta co n du ng ca c in tr thanh treo a p ca c chn ln mc a p cao. Vy s ma ch in na y cho thy phn ma ch trung tm du ng cha y ic lp tri nh n phin AT89C51, Ba n co th du ng bo dy ni 8 ng cho kt ni ca c cng p0, p1, p2 va p3 n ca c b phn chi u ta c ng iu khin kha c cu ng trang bi trn bo la m thc ha nh vi bo ma ch a du ng na y.

3. Cu truc cua cac chng trinh ngun. Ba n cho gn 8 Led vi ca c chn cathode ni masse va ca c chn anode ni va o ca ng p1. S ma ch in nh hi nh sau:

By gi Ba n ha y vit mt chng tri nh ngun 8 Led ny ln lt sa ng ln tng Led va khi 8 Led a sa ng ht thi cho tt ht 8 Led va ri bt u la i. org 0000h jmp loop ; thanh nh khi u trong b nh ROM ; du ng lnh nhy, cho nhy qua ca c thanh nh

du ng org 0080h

cho ngt ; sp xp ca c lnh sau t thanh nh ny tr i

loop: mov p1,#00h thp, tt setb p1.0 call delay setb p1.1

; t 8 chn cu a ca ng p0 xung mc a p ht 8 led ; cho sa ng led trn chn p1.0 ; go i chng tri nh la m chm ; cho sa ng led trn chn p1.1 call delay setb p1.2 ; cho sa ng led trn chn p1.2 call delay setb p1.3 ; cho sa ng led trn chn p1.3 call delay setb p1.4 ; cho sa ng led trn chn p1.4 call delay setb p1.5 ; cho sa ng led trn chn p1.5 call delay setb p1.6 ; cho sa ng led trn chn p1.6 call delay setb p1.7 ; cho sa ng led trn chn p1.7 call delay JMP LOOP ; quay la i, bt u t tn nha n loop

delay: ; oa n chng tri nh du ng la m chm mov r5,#20 ; na p tri thp phn 20 va o thanh r5 d1: mov r6,#40 ; na p tri thp phn 40 va o thanh r6 d2: mov r7,#248 ; na p tri thp phn 248 va o thanh r7 djnz r7,$ ; cho tri trong r7 gia m theo bc -1, ch r7 = 0 djnz r6,d2 ; gia m tri trong r6, cha =0, quay la i d2 djnz r5,d1 ; gia m tri trong r5, cha =0, quay la i d1 ret ; quay tr la i do ng lnh sau lnh call end ; dng cng vic bin di ch y.

Phn ti ch ca ch vit chng tri nh ngun trn:

Ca c cu lnh setb p1.x tip theo se ln lt la m cho ca c Led trn ca c chn p1.1, p1.2, p1.3. p1.4. p1.5, p1.6, p1.7 sa ng ln. Chu ng ta thy nh hi nh minh ho a sau:

Phn ti ch oa n chng tri nh du ng la m chm:

Sau cu ng du ng gia lnh end ba o cho dng bin di ch ta i do ng na y. Nh vy nhng do ng lnh tip theo bn di gia lnh end u se bo qua. Sau y la chng tri nh ngun, cu ng la m ca c cng vic ging nh trn, c vit theo ngn ng lp tri nh C.

#include<reg51.h> // xa c i nh ca c i nh nghi a ly trong file reg51.h #define uchar unsigned char // du ng i nh nghi a t tn tin du ng #define uint unsigned int // du ng i nh nghi a t tn tinn du ng #define LED P1 // du ng i nh nghi a t tn tin du ng uchar led_value[]={0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f, 0xff}; // ta o ca c tri cho 8 Led sa ng lan ln uchar *p=led_value; // ga n tri khi u void delay() // ta o ha m la m chm { uchar ii,jj; for(ii=0;ii<200;ii++) for(jj=0;jj<200;jj++); } void run_led() // ta o ha m cho 8 Led sa ng lan trn ca ng 1 { while(*p!=0xff) { LED=*p; // gn tri va o ca ng p1 p++; // nhp tri tip theo delay(); // go i ha m tr } p=led_value; } main() // Khi cha y ha m chu { while(1) run_led(); // cha y ha m cho 8 Led sa ng lan } Gop y cua ngi soan: Nu Ba n la dn th in t, va mi la m quen vi ic lp tri nh AT89C51, Ba n nn ho c vit chng tri nh ngun vi Assembler, ca c cu lnh trong Assembler gn vi phn ma ch nhiu hn nn d hiu hn. Trong ba i vit na y, ca c ba i tp ti se chi du ng cu lnh vit vi Assembler va c

gng gn ca c cu lnh na y vi phn ma ch in Ba n mau tip thu hn. Phn du ng ngn ng lp tri nh C, chu ng ta se no i n trong ca c ba i vit kha c. 4. Tim hiu trinh bin dich MIDE-51 Sau khi ca i xong tri nh MIDE-5, trn desktop ma y ti nh cu a Ba n se thy co tiu hi nh nh hi nh sau: Mun m tri nh MIDE-5, Ba n nha y chut 2 nhi p nhanh trn tiu hi nh na y.

Giao din cu a tri nh MIDE-51 hin ra nh hi nh sau:

Ba n cho m ca c file co ho .asm hay ct ca c cu lnh cu a assembler da n va o vu ng bin soa n na y sa i ri cho bin di ch ra ca c do ng ma lnh:

Mt thi du: Ti ct ri da n ca c cu lnh trn va o vu ng soa n tha o cu a MIDE-51, sau khi t cho no mt ca i tn "8 led p1.asm", save la i va nhn phi m F9 cho di ch ca c cu lnh ra do ng ma lnh. Kt qua co file "8 led p1.hex" nh sau:

Ni dung trong file "8 led p1.hex" la ca c do ng lnh c ghi la i vi ma thp lu c phn. :030000000200807B :10008000759000D2901200ADD2911200ADD29212B2 :1000900000ADD2931200ADD2941200ADD2951200F1

:1000A000ADD2961200ADD2971200AD80D37D147EF2 :0A00B000287FF8DFFEDEFADDF622FD :00000001FF By gi Ba n chi du ng mt hp na p ma Ba n co , cho na p ca c do ng ma lnh va o ic lp tri nh AT89C51. n y la xong chuyn, Ba n a "cy phn hn" va o b nh cu a IC. Nu gn IC va o ma ch thc nghim, no se la m u ng ca c cng vic ma Ba n mun no la m, tuyt i khng bao gi bit "ku ca" nu ngun in cp cho ma ch vn co n u . 5. Hp nap. Hin nay trn thi trng co rt nhiu bo na p ROM du ng cho ca c loa i ic lp tri nh, y ti gii thiu mt bo na p "c in", Ba n co th mua kit v t ra p, hay mua bo a ra p sn cu ng co . Bo khng c tin, di 100.000 ng, nhng s ic lp tri nh ma bo chi u na p cu ng i t thi. Nu chi du ng na p cho nho m ca c ic AT89Cxxxx thi co bo na y cu ng u du ng.

Nguyn ly vn hanh cua bo nap nay nh sau: Phn tch mch ngun nui: Vi IC n p 7805, mc p ng ra trn chn Output s l 5V, y Bn dng t lc nh C4 (10 F) dp hin tng dao ng t

kch bn trong IC. Nhn vo hnh, Bn thy IC n p 7805 dng v TO220, y ch cch b tr cc chn IN, GND v chn OUTPUT (loi IC ny chn gia lun cho ni masse). Bn nh vi cc IC vi iu khin, mc p ngun nui phi rt n nh, s bt n nh trnng ngun se lm cho IC hot ng khng n nh. Chng ta bit cc IC CPU thng lm vic mc ngun chun +5V, n cn ng ngun c n nh rt cao. Trong mch ny, ngi ta dng cu nn dng vi 4 diode (khong 1A) v t lc C8 (470 F) to ra ng ngun khong 15V (vi mc ngun AC ng vo l 12V). T nh C9 (0.1 F) dng lc b nhiu tn cao nhim trn ng ngun. Dng Led o v in tr hn dng 1.2K ch th. T ng ngun DC ly trn t C8, qua IC 7805, chng ta s ly ra c mc p +5V c n nh cao. Mc ngun ny s cp cho chn 40 ca cc IC vi iu khin U1 (89C51 Master), U2 (89C51 Slave) v chn 16 ca IC MAX232. Trong mch cn dng IC n p c chn nh p ng ra (Adjustment) LM317, IC LM317 Bn c th dng 2 in tr cho ly tn hiu hi tip ng ra tr v chn Adj, s thay i ca cc in tr ny s lm thay i mc p DC ng ra. y, khi Q1 bao hoa, mc p trn chn Adj xc lp theo cacin tr 270 v 2.2K//1.2K, lc ny in p ra s cho mc p 5V. Mc p ny cp cho chn s 31 ca U2 (AT89C51, Slave). Chn 31 l chn _EA/Vpp (External Access), khi n b t mc p cao (5V), IC vi iu khin U2 (AT89C51) s khng truy cp cc chng trnh nm b nh bn ngoi, nghia l n s ch chy cc chng trnh a c trong b nh EEPROM bn trong AT89C51.Chng ta cn bit, nh thit k cn s dng chn 31 (Vpp), khi a chn ny ln mc p 12V, cho xa cc chng trnh a c trong b nh EEPROM, trc khi cho np cc chng trnh ma lnh mi vo b nh EEPROM trong IC lp trinh AT89C51. cho np cc chng trnh ma lnh ly vo trn cc cng nhp xut P0, P1, P2, Bn hy cho chn 31 ln mc p VPP = 12V. lm iu ny, mc p ra trn chn s 13 ca U1 (AT89C51, Master) s chuyn xung mc thp (mc 0), n s lm ngng dn Q1, nh vy in tr 1.2K trn chn C ca Q1 a uc cho ct masse, n lm tng in tr ni masse ca chn Adj ca ic n ap LM317, iu ny s khin cho mc p ra trn chn Out ca LM317 tng ln 12V, iu ny s cho xa cc d liu a c trong b nh EEPROM va cho ghi vao cac dong lnh mi.

Ghi ch: Nu ngun nui DC thp hay v l do no , chn 31 ca U2 (89C51, Slave) khng ln cao (12V), lc vic ci t s khng thnh cng, Bn s thy xut hin ch Failed (thay v l ch Complete) trn ca s ca cc phn mm ci t (cua EZ4.EXE)t LED ch th mu xanh, in tr hn dng 470 v diode Zener c Vz=5.6V. Vy khi bnh thung mc p chn 31 l 5V, Led ch th mu xanh s khng pht sng. Khi vao mode ghi n ln 12V, LED ny s pht sng bo cho Bn bit trng thi mc p trn chn s 31. kim tra mch ngun, Bn cp in cho mch, o p trn ng ra ca IC n p 7805, mc p s l 5V, ly mt bng en tim lm ti, nu khi c cho mang ti nng m mc p khng gim xung, l mch ngun 5V tt. o volt trn ng ra ca IC n p LM317, cho chn B ca Q1 ni masse, nu mc p trn chn Out cu a LM317 tng ln mc 12V l tt (Khi kim tra ngun, Bn khng cn gn cac ic AT89C51 U1, U2 vo bo). To m la i, khi du ng bo na p na y, trc ht Ba n pha i co phn mm EZ4.EXE. Cho bo na p kt ni vi ma y ti nh qua cng COM, ki ch m phn mm na y, cho n u ng tn ic cn na p, nu tri nh EZ4 nhn thy bo na p, Ba n ha y nhn nu t cho na p, file ma lnh co ho la .hex ma Ba n a cho n se qua ic AT89C51 Master cho na p va o b nh EEPROM cu a ic lp tri nh AT89C51 ma Ba n a cm trn b chn Slave cu a bo na p.

Gii thiu bo hp nap TOP853: y la hp na p a c gii thiu trn trang web phuclanshop.com, Ba n va o trang ny xem ca ch hng dn s du ng.

Ba n click chut va o do ng na y xem trang gii thiu du ng hp na p TOP853 6. Hng dn lam thc hanh trn bo thc hanh a dung dung ic AT89C51. Hi nh chu p cho thy toa n phn mt bo thc ha nh, du ng vi ic lp tri nh AT89C51. Chu ng ta bit ic lp tri nh nh AT89C51... co th la m c rt nhiu cng vic, no tu y thuc va o ca c ma ch in kt ni trn ca c ca ng va cu ng tu y thuc va o chng tri nh ngun ma Ba n a soa n ra va cho na p va o b nh EEPROM. Do vy nga y nay trn thi trng a co rt nhiu bo ma ch ma trn o ngi ta a ta o ra rt nhiu kiu ma ch thc du ng Ba n co th la m thc ha nh vi ic lp tri nh mt ca ch tin li, vy nu thy thi ch Ba n co th ti m mua v t ho c lp tri nh vi ca c kiu ma ch in a c trang bi trn bo ma ch na y. ba i na y ti gii thiu mt bo ma ch thc ha nh ra p ni i a co gia ba n thp Ba n ti m hiu, ngoa i ra co n rt nhiu bo ma ch thc ha nh ngoa i nhi n rt "bt mt" nhng gia ba n cao, di nhin ri, theo ti nu chi du ng la m thc ha nh cho ca c ba i ho c lp tri nh Ba n ti m ca c bo thc ha nh ra p ch Nht Ta o P7-Q10 cu ng c ri, thm chi Ba n t ra p ca c phn ma ch in thc ha nh ring re du ng cho tng ba i tp thc ha nh cu ng c.

Cac bai thc hanh co th lam trn board nay gm co:

. La m thc ha nh vi 32 Led trn 4 ca ng p0, p1, p2, p3

S ma ch in trn cho thy, trn bo thc ha nh a du ng co 32 Led, chia ra la m 4 nho m. Ba n du ng bo ni loa i 8 dy, cho ni ca c Led na y va o ca c ca ng cu a ic lp tri nh AT89C51, ri t nghi ra ca c kiu nhp nha y cu a ca c Led, sau o m tri nh MIDE51, th t du ng ca c cu lnh Assembler vit ca c chng tri nh ngun va ri cho bin di ch ra tha nh ca c do ng ma lnh, du ng hp na p cho na p ca c do ng ma lnh na y va o b nh EEPROM cu a ic lp tri nh, sau o gn ic AT89C51 va bo ma ch thc ha nh va cp in cho cha y th, xem din bin trn ca c Led co u ng vi y mun cu a Ba n khng? Nu khng u ng thi ha y tp trung suy nghi ti m ra ly do, c la m i la m la i nhng cng vic na y, Ba n se ti ch lu y c nhiu kinh nghim trong vic lp tri nh, o la bc khi u rt tt t ho c ca ch du ng loa i IC lp tri nh.

Cho mt thi du: Ti mun lp tri nh, tc vit ca c cu lnh, co kiu chp cu a ca c Led nh hi nh sau:

Trc ht Ba n ha y cho n i nh ca c kiu nhp nha y tu y thi ch, sau o ti m ca ch du ng ca c cu lnh, vit ra chng tri nh ngun ic lp tri nh AT89C51 t ng la m ra c iu Ba n mun. la m c kiu nha y nh trn Ba n co th vit chng tri nh ngun nh sau: org 00000h start: mov p0, #00000000b

mov p1, #00000000b mov p2, #00000000b mov p3, #00000000b call delay setb p0.7 setb p3.0 call delay setb p0.6 setb p3.1 call delay setb p0.5 setb p3.2 call delay setb p0.4 setb p3.3 call delay setb p0.3 setb p3.4 call delay setb p0.2 setb p3.5 call delay setb p0.1 setb p3.6 call delay setb p0.0 setb p3.7 call delay mov p1, #11111111b mov p2, #11111111b call delay mov p1, #00000000b mov p2, #00000000b call delay jmp start delay: mov r7, #10 v6: mov r6, #50 v5: mov r5, #200

djnz r5, $ djnz r6, v5 djnz r7, v6 ret end Trong nhiu ba i vit trc y, chu ng ti cu ng a tri nh ba y v ca ch du ng Assembler vit ca c chng tri nh ngun cho ca c ic lp tri nh. Ba n co th ti m o c la i. hiu ro hn ca c cu lnh du ng cho ic lp tri nh AT89C51. Ba n co th va o o c ba i vit na y.

Ba n click va o do ng na y tham kha o thm ca ch vit chng tri nh ngun cho ca c Led.

. La m thc ha nh vi 8 e n s du ng Led ma 7 oa n. Hi nh ve sau cho thy trn bo thc ha nh co 8 e n s du ng Led ma 7 oa n cho hin thi ca c s thp phn. Trong phn thc ha nh na y, chu ng ti se tri nh ba y ca ch vit chng tri nh ng h chi thi gian du ng 6 e n s cu a ba ng e n na y.

Nhn Ba n: tra nh ba i vit qua da i, mi ng du ng ti se phn ti ch y u hn trong mt chuyn mu c ng du ng cu a ic lp tri nh AT89C51. Ba n click chut va o do ng na y va o ba i: ng du ng AT89C51 trong ng h co he n gi.

. La m thc ha nh vi ba ng Led ma trn 8x8.

y la s ma ch in ng vi phn thc ha nh du ng e n Led ma trn 8x8 cho hin hi nh va cha y ch, Ba n hiu ro ca ch du ng loa i e n Led ma trn, chu ng ti vit thm mt ba i phu , Ba n ha y va o xem.

Nhn Ba n: tra nh ba i vit qua da i, mi ng du ng ti se phn ti ch y u hn trong mt chuyn mu c ng du ng cu a ic lp tri nh AT89C51. Ba n click chut va o do ng na y xem ba i: Du ng ma trn Led 8x8 cho hin hi nh va cha y ch.

. La m thc ha nh vi 16 phi m nhn. . La m thc ha nh vi ic bin i A/D (ADC0809). . La m thc ha nh vi ic bin i D/A (DAC0808). . La m thc ha nh m rng vi ca c ic khuch a i ULN2803.

You might also like