board thí nghiệm ic 89c51

Upload: duy-coi

Post on 10-Jul-2015

2.415 views

Category:

Documents


3 download

TRANSCRIPT

Hng dn dung board thc hanh nhiu dang thc chay vi ic lp trinh: AT89C51

Bai ang soan...ni dung se lun c chinh ly Dn nhp

T khi con ngi ch tao ra c cac loai ic lp trinh, lam vic vi cac cu lnh, thi nganh in t a chuyn qua mt thi ky mi vi rt nhiu ng dung hp dn, hay la. T cac ic lp trinh chung ta bt u lam quen vi khai nim "phn xac" va "phn hn", hay con c goi la phn cng va phn mm. Phn xac la gi? La cac linh kin tao ra mach in, tao ra thit bi. No ging nh bp thit, u minh va tay chn cua chung ta, phn xac thng nh la cac vt th hu hinh co khi lng va v tri v giac. Phn hn la gi? La cac cu lnh v hinh, ma chung ta a soan ra va cho nap vao b nh cua cac ic lp trinh, dung cac cu lnh nay chung ta co th iu khin cac dang hoat ng cua phn xac. Chung ta thy cung chi trn mt b nh ma khi chung ta cho thay i cac cu lnh mi, vi cac cu lnh mi nay thi phn xac lai co th tao ra cac ap ng mi, cac ng tinh mi. o chinh la cu truc cua cac mach in thi ai, cua cac loai thit bi i mi, trong o lam vic vi cac loai ic lp trinh. T hiu bit trn chung ta se thy cng vic cua ngi thit k in t ngay nay se gm cac bc nh sau: Bc 1: Tao ra cac vt th ging nh cng vic tao ra mt cai xac co u u minh va t chi. Vi cac cai xac khng hn thi v tri v giac, khng lam c tro trng gi ca. Bc 2: Vit cac chng trinh ngun iu khin cac b phn cua phn xac. Nh chng trinh iu khin s i ng, chng trinh iu khin tay chn, u minh... Bc 3: Dich cac chng trinh ngun vn la cac cu lnh thanh cac dong ma lnh va cho nap cac dong ma lnh vao nm trong b nh cua thit bi. Bc 4: Cho vn hanh th cac thit bi xem xet cac hoat ng cua no co ung vi y mun cua ngi thit k khng? Nu cha va y thi cho hiu chinh lai, thng cng vic la vit lai cac chng trinh ngun. Ngay nay ngi ta ch tao ra bit bao th thit bi thng minh, kt hp tai tinh gia phn xac va phn hn, no hoan toan co th lam c nhiu vic ging nh mt sinh vt sng. Trong ngh nghip, chung ta khng mun minh bi "lac hu", thut lui, vy phai tim hiu loai ic lp trinh nay thi. Nhng khi u phai t bc nhp mn, vy lam quen vi ic lp trinh AT89C51 vy.

Gii thiu bo thc hanh vi ic lp trinh AT89C511. 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 lam vic vi mc ngun 5V, ngun nui cn co n inh tt. Do vy Ban nn dung ic n ap 7805 co ngun 5V cp cho IC nay. . mach reset, Ban dung tu khoang 10F va in tr co tri 10K tao ra mc ap cao ngay khi mach c cp in, vi mc ap cao xut hin trn chn s 9,

IC se vao trang thai reset, no tra cac thanh ghi trong IC v trang thai reset va quay lai chay dong lnh t thanh 0000h trong b nh ROM. . Mun ic lp trinh hoat ng Ban phai gn thach anh trn chn 18, 19 dung inh tn cho mach dao ng tao xung nhip. Thach anh thng dung trong thc nghim la 12MHz, vy chu ky thc hin lnh se la 1s. . Nu chi lam thc nghim vi cac cu lnh co trong b nh ROM bn trong, nghia la khng dung b nh ngoai, Ban cho treo chn 31 ln mc ap cao. Khi a thoa man 4 iu kin trn, by gi Ban a co th dung cac cu lnh nap vao b nh ROM va dung ic AT89C51 lam cac cng vic ma Ban mun.

2. Mach in ng dung c ban cua ic lp trinh AT89C51. Trn bo thc hanh a dung, Ban thy chung quanh ic lp trinh n phin AT89C51 co dung n cac ic 74245 lam tng khuch ai dung iu khin vic xut nhp cua cac bit ra vao trn cac cang cua IC.

Trc ht chung ta hay tim hiu cng dung cua cac ic 74HC245.

Hinh trn cho thy, ic logic 74HC245 co 8 tng khuch ai song hng. IC lam vic vi chn cui cua hang di, chn 10, cho ni masse va chn cui cua hang trn, chn 20, cho ni ngun 5V. Cac tng khuch ai vi A0 - B0, A1- B1, A2 - B2, A3 - B3, A4 - B4, A5 - B5, A6 - B6, A7 - B7. Chn 19 /OE dung kich m hoat ng cua ic khi no mc volt thp, hay cho ni masse, khi chn nay treo mc ap cao, cac nga xut nhp se cho trang thai th ba, nghia la trang thai co tr khang v cung ln, xem nh h mach. Chn s 1 chon hng i cho tin hiu. Khi chn DIR mc ap cao, thi tin hiu vao bn A ra bn B va khi chn DIR mc ap thp thi tin hiu vao bn B va ra bn A. Tom lai, ngi ta dung ic 74HC245 khuch ai tng cng cho cac cang cua ic lp trinh AT89C51. Vy, co th thy, trong s mach in trn, khi 4 khoa in trong S u h thi cac chn DIR u cho mc ap cao, luc nay tin hiu vao bn A va ra bn B, hay co th noi no dung cho mode xut bit trn 4 cang cua AT89C51. Nu mun nhp bit vao cac cang cua ic AT89C51 chung ta phai t chn DIR xung mc ap thp. Trong mach ngi ta con dung cac in tr thanh treo ap cac chn ln mc ap cao. Vy s mach in nay cho thy phn mach trung tm dung chay ic lp trinh n phin AT89C51, Ban co th dung bo dy ni 8 ng cho kt ni cac cng p0,

p1, p2 va p3 n cac b phn chiu tac ng iu khin khac cung trang bi trn bo lam thc hanh vi bo mach a dung nay.

3. Cu truc cua cac chng trinh ngun. Ban cho gn 8 Led vi cac chn cathode ni masse va cac chn anode ni vao cang p1. S mach in nh hinh sau:

By gi Ban hay vit mt chng trinh ngun 8 Led ny ln lt sang ln tng Led va khi 8 Led a sang ht thi cho tt ht 8 Led va ri bt u lai.

org 0000h ; thanh nh khi u trong b nh ROM jmp loop ; dung lnh nhy, cho nhy qua cac thanh nh dung cho ngt org 0080h ; sp xp cac lnh sau t thanh nh ny tr i

loop: mov p1,#00h ; t 8 chn cua cang p0 xung mc ap thp, tt ht setb p1.0 ; cho sang led trn chn call delay ; goi chng trinh lam setb p1.1 ; cho sang led trn chn call setb p1.2 ; cho sang led trn chn call setb p1.3 ; cho sang led trn chn call setb p1.4 ; cho sang led trn chn call setb p1.5 ; cho sang led trn chn call setb p1.6 ; cho sang led trn chn call setb p1.7 ; cho sang led trn chn call JMP LOOP ; quay lai, bt u t tn nhan loop delay:

8 led p1.0 chm p1.1 delay p1.2 delay p1.3 delay p1.4 delay p1.5 delay p1.6 delay p1.7 delay

; oan chng trinh dung lam chm mov r5,#20 ; nap tri thp phn 20 vao thanh d1: mov r6,#40 ; nap tri thp phn 40 vao thanh d2: mov r7,#248 ; nap tri thp phn 248 vao thanh djnz r7,$ ; cho tri trong r7 giam theo bc -1, ch r7 = djnz r6,d2 ; giam tri trong r6, cha =0, quay lai djnz r5,d1 ; giam tri trong r5, cha =0, quay lai ret ; quay tr lai dong lnh sau lnh call end ; dng cng vic bin dich y. Phn tich cach vit chng trinh ngun trn:

r5 r6 r7 0 d2 d1

Cac cu lnh setb p1.x tip theo se ln lt lam cho cac Led trn cac chn p1.1, p1.2, p1.3. p1.4. p1.5, p1.6, p1.7 sang ln. Chung ta thy nh hinh minh hoa sau:

Phn tich oan chng trinh dung lam chm:

Sau cung dung gia lnh end bao cho dng bin dich tai dong nay. Nh vy nhng dong lnh tip theo bn di gia lnh end u se bo qua. Sau y la chng trinh ngun, cung lam cac cng vic ging nh trn, c vit theo ngn ng lp trinh C. #include // xac inh cac inh nghia ly trong file reg51.h #define uchar unsigned char // dung inh nghia t tn tin dung #define uint unsigned int // dung inh nghia t tn tinn dung #define LED P1 // dung inh nghia t tn tin dung uchar led_value[]={0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f, 0xff}; // tao cac tri cho 8 Led sang lan ln uchar *p=led_value; // gan tri khi u void delay() // tao ham lam chm

{ uchar ii,jj; for(ii=0;ii