Vào năm 1981. Hãng Intel giới thiệu một số bộ vi điều khiển được gọi là 8051. Bộ vi điều khiển này có 128 byte RAM, 4K byte ROM trên chíp, hai bộ định thời, một cổng nối tiếp và 4 cổng (đều rộng 8 bit) vào ra tất cả được đặt trên một chíp.
Tổng quan Vi điều khiển họ 8051 Đồ án tốt nghiệp M U Cựng vi s phỏt trin i lờn cỏc doanh nghip thuc nhiu thnh phn, trong mi lnh vc rt cn mt ch ng trờn th trng, c bit l vn qung bỏ sn phm ca mỡnh tng tớnh cnh tranh. Trong ú mt hỡnh thc úng vai trũ ht sc quan trng cho s thnh cụng i vi doanh nghip chớnh l nh vo qung cỏo. Hin nay cú rt nhiu hỡnh thc qung cỏo khỏc nhau nh qung cỏo bng pha nụ ỏp phic, bin k v, can Mt trong s nhng hỡnh thc cú hiu qu nht v ang c s dng rng rói ú l thụng tin qung cỏo bng bng in t. lm c mt bng in t chỳng ta cú th dựng vi x lý, dựng IC ri, dựng EPROM, dựng vi iu khin, hay iu khin bng mỏy tớnh . Trong ỏn tt nghip ny em xin trỡnh by thit k H Thng Qung Cỏo s dng vi iu khin AT89C51. Trong quỏ trỡnh hc tp trng v c bit thi gian thit k ỏn tt nghip. õy l dp cú iu kin tt nht em cú th tỡm hiu v vi iu khin AT89C51 cng nh h vi iu khin 8051. c s hng dn v c bit quan tõm ca thy Phm Mnh Hựng do ú m em ó chn ti thit k H Thng Qung Cỏo. CHNG I Hoàng Quang Lý -1- Tổng quan Vi điều khiển họ 8051 Đồ án tốt nghiệp TNG QUAN V H VI X Lí 8051 I. NHNG C IM C BN H VI X Lí 8051 1.Túm tt v lch s ca 8051. Vo nm 1981. Hóng Intel gii thiu mt s b vi iu khin c gi l 8051. B vi iu khin ny cú 128 byte RAM, 4K byte ROM trờn chớp, hai b nh thi, mt cng ni tip v 4 cng (u rng 8 bit) vo ra tt c c t trờn mt chớp. Lỳc y nú c coi l mt h thng trờn chớp. 8051 l mt b x lý 8 bit cú ngha l CPU ch cú th lm vic vi 8 bit d liu ti mt thi im. D liu ln hn 8 bit c chia ra thnh cỏc d liu 8 bit cho x lý. 8051 cú tt c 4 cng vo - ra I/O mi cng rng 8 bit. Mc dự 8051 cú th cú mt ROM trờn chớp cc i l 64 K byte, nhng cỏc nh sn xut lỳc ú ó cho xut xng ch vi 4K byte ROM trờn chớp 8051 ó tr nờn ph bin sau khi Intel cho phộp cỏc nh sn xut khỏc sn xut v bỏn bt k dng bin th no ca 8051 m h thớch vi iu kin h phi mó li tng thớch vi 8051. iu ny dn n s ra i nhiu phiờn bn ca 8051 vi cỏc tc khỏc nhau v dung lng ROM trờn chớp khỏc nhau c bỏn bi hn na cỏc nh sn xut. iu ny quan trng l mc dự cú nhiu bin th khỏc nhau ca 8051 v tc v dung lng nh ROM trờn chớp, nhng tt c chỳng u tng thớch vi 8051 ban u v cỏc lnh. iu ny cú ngha l nu ta vit chng trỡnh ca mỡnh cho mt phiờn bn no ú thỡ nú cng s chy vi mi phiờn bn bt k khỏc m khụng phõn bit nú t hóng sn xut no. 2. B vớ iu khin 8051 Hoàng Quang Lý -2- Tổng quan Vi điều khiển họ 8051 Đồ án tốt nghiệp B vi iu khin 8051 l thnh viờn u tiờn ca h 8051. Hóng Intel ký hiu nú nh l MCS51 Bng 1.1. Cỏc c tớnh ca 8051 u tiờn 3. S khi chung ca h vi iu khin 8051 Interrupt control : iu khin ngt. Other registers : Cỏc thanh ghi khỏc. 128 Byte RAM : RAM 128 Byte. Timer 2, 1 , 0 : B nh thi 2 , 1 , 0 CPU : n v iu khin trung tõm. Oscillator : Mch dao ng. Bus control: iu khin Bus I/O ports: Cỏc ports vo/ ra Serial port: port ni tip Address/data : a ch/ d liu Hoàng Quang Lý c tớnh S lng ROM trờn chớp 4K byte RAM 128 byte B nh thi 2 Cỏc chõn vo - ra 32 Cng ni tip 1 Ngun ngt 6 -3- Tổng quan Vi điều khiển họ 8051 Đồ án tốt nghiệp Interrupt Control Timer 2 ( 8032,8052) Timer 1 Timer 0 Serial port INT 1 INT 0 CPU Oscillator Bus control EA RST ALE PSEN I/O Port SERIAL PORT RXD TXD P 0 P 1 P 2 P 3 Address/Data Other registers 128 Byte RAM 128 Byte RAM (8032/8052) ROM 0K - 8031/8032 4K - 8051 8K - 8052 Timer 0 Timer 1 Timer 2 (8032/8052) T 0 T 1 T 2 T 2 EX Hỡnh 1.1. B trớ bờn trong ca s khi 8051 II. THNH VIấN H VI X Lí 8051 1. B vi iu khin 8052: B vi iu khin 8052 l mt thnh viờn khỏc ca h 8051, 8052 cú tt c cỏc c tớnh chun ca 8051 ngoi ra nú cú thờm 128 byte RAM v mt b nh thi na. Hay núi cỏch khỏc l 8052 cú 256 byte RAM 3 b nh thi. v cú 8K byte ROM. trờn chớp thay vỡ 4K byte nh 8051. Hoàng Quang Lý -4- Tổng quan Vi điều khiển họ 8051 Đồ án tốt nghiệp c tớnh 8051 8052 8031 ROM trờn chớp 4K byte 8K byte RAM 128 byte 256 byte 128 byte B nh thi 2 3 2 Chõn vo - ra 32 32 32 Cng ni tip 1 1 1 Ngun ngt 6 8 6 Bng 1.2. So sỏnh cỏc c tớnh ca cỏc thnh viờn h 8051. Nh nhỡn thy t bng 1.2 thỡ 8051 l tp con ca 8052. Do vy tt c mi chng trỡnh vit cho 8051 u chy trờn 8052 nhng iu ngc li l khụng ỳng. 2. B vi iu khin 8031: Mt thnh viờn khỏc na ca 8051 l chớp 8031. Chớp ny thng c coi nh l 8051 khụng cú ROM trờn chớp vỡ nú cú OK byte ROM trờn chớp. s dng chớp ny ta phi b xung ROM ngoi cho nú. ROM ngoi phi cha chng trỡnh m 8031 s np v thc hin. So vi 8051 m chng trỡnh c cha trong ROM trờn chớp b gii hn bi 4K byte, cũn ROM ngoi cha chng trinh c gn vo 8031 thỡ cú th ln n 64K byte. Khi b xung cng, nh vy ch cũn li 2 cng thao tỏc. gii quyt vn ny ta cú th b xung cng vo - ra cho 8031. Phi phộp 8031 vi b nh v cng vo - ra chng hn vi chớp 8255. Ngoi ra cũn cú cỏc phiờn bn khỏc nhau v tc ca 8031 t cỏc hóng sn xut khỏc nhau. 3. Cỏc b vi iu khin 8051 t cỏc hóng khỏc nhau. Mc dự 8051 l thnh viờn phi bin nht ca h 8051 nhng chỳng ta s thy nú trong kho linh kin. ú l do 8051 cú di nhiu dng kiu b nh khỏc nhau nh UV - PROM, Flash v NV - RAM m chỳng u cú Hoàng Quang Lý -5- Tổng quan Vi điều khiển họ 8051 Đồ án tốt nghiệp s ng ký linh kin khỏc nhau. Phiờn bn UV-PROM ca 8051 l 8751 Phiờn bn Flash ROM c bỏn bi nhiu hóng khỏc nhau chng hn ca Atmel corp vi tờn gi l AT89C51 cũn phiờn bn NV-RAM ca 8051 do Dalas Semi Conductor cung cp thỡ c gi l DS5000. Ngoi ra cũn cú phiờn bn OTP (kh trỡnh mt ln) ca 8051 c sn xut bi rt nhiu hóng. 3.1. B vi iu khin 8751 Chớp 8751 ch cú 4K byte b nh UV-EPROM trờn chớp. s dng chớp ny phỏt trin yờu cu truy cp n mt b t PROM cng nh b xoỏ UV- EPROM xoỏ ni dung ca b nh UV-EPROM bờn trong 8751 trc khi ta cú th lp trỡnh li nú. Do mt thc t l ROM trờn chớp i vi 8751 l UV-EPROM nờn cn phi mt 20 phỳt xoỏ 8751 trc khi nú cú th c lp trỡnh tr li. iu ny ó dn n nhiu nh sn xut gii thiu cỏc phiờn bn FLASH ROM v UV-RAM ca 8051. Ngoi ra cũn cú nhiu phiờn bn vi cỏc tc khỏc nhau ca 8751 t nhiu hóng khỏc nhau. 3.2. B vi iu khin AT8951 t Atmel Corporation. Chớp 8051 ph bin ny cú ROM trờn chớp dng b nh Flash. iu ny l lý tng i vi nhng phỏt trin nhanh vỡ b nh Flash cú th c xoỏ trong vi giõy trong tng quan so vi 20 phỳt hoc hn m 8751 yờu cu. Vỡ lý do ny m AT89C51 phỏt trin mt h thng da trờn b vi iu khin yờu cu mt b t ROM m cú h tr b nh Flash. Tuy nhiờn li khụng yờu cu b xoỏ ROM. Lu ý rng trong b nh Flash ta phi xoỏ ton b ni dung ca ROM nhm lp trỡnh li cho nú. Vic xoỏ b nh Flash c thc hin bi chớnh b t PROM v õy chớnh l lý do ti sao li khụng cn n b xoỏ. loi tr nhu cu i vi mt b t PROM hóng Atmel ang nghiờn cu mt phiờn bn ca AT 89C51 cú th c lp trỡnh qua cng truyn thụng COM ca mỏy tớnh IBM PC . S linh kin ROM RAM Chõn I/O Timer Ngt Vcc úng v Hoàng Quang Lý -6- Tổng quan Vi điều khiển họ 8051 Đồ án tốt nghiệp AT89C51 4K 128 32 2 6 5V 40 AT89LV51 4K 128 32 2 6 3V 40 AT89C1051 1K 64 15 1 3 3V 20 AT89C2051 2K 128 15 2 6 3V 20 AT89C52 8K 256 32 3 8 5V 40 AT89LV52 8K 128 32 3 8 3V 40 Bng 1.3: Cỏc phiờn bn ca 8051 t Atmel (Flash ROM). Ch C trong ký hiu AT89C51 l CMOS. Cng cú nhng phiờn bn úng v v tc khỏc nhau ca nhng sn phm trờn õy. Xem bng 1.4. Vớ d ý rng ch C ng trc s 51 trong AT 89C51 -12PC l ký hiu cho CMOS 12 ký hiu cho 12 MHZ v P l kiu úng v DIP v ch C cui cựng l ký hiu cho thng mi (ngc vi ch M l quõn s ). Thụng thng AT89C51 - 12PC rt lý tng cho cỏc d ỏn ca hc sinh, sinh viờn. Mó linh kin Tc S chõn úng v Mc ớch AT89C51-12PC 42MHZ 40 DTP Thng mi Bng 1.4: Cỏc phiờn bn 8051 vi tc khỏc nhau ca Atmel 3.3. B vi iu khin DS5000 t hóng Dallas Semiconductor. Mt phiờn bn ph bin khỏc na ca 8051 l DS5000 ca hóng Dallas Semiconductor. B nh ROM trờn chớp ca DS5000 di dng NV-RAM. Kh nng c/ ghi ca nú cho phộp chng trỡnh c np vo ROM trờn chớp trong khi nú vn trong h thng (khụng cn phi ly ra). iu ny cũn cú th c thc hin thụng qua cng ni tip ca mỏy tớnh IBM PC. Vic np chng trỡnh trong h thng (in-system) ca DS5000 thụng qua cng ni tip ca PC lm cho nú tr thnh mt h thng phỏt trin ti ch lý tng. Mt u vit ca NV-RAM l kh nng thay i ni dung ca ROM theo tng byte ti mt thi im. iu ny tng phn vi b nh Flash v EPROM m b nh ca chỳng phi c xoỏ sch trc khi lp trỡnh li cho chỳng. Hoàng Quang Lý -7- Tổng quan Vi điều khiển họ 8051 Đồ án tốt nghiệp Mó linh kin ROM RAM Chõn I/O Timer Ngt Vcc úng v DS5000-8 DS5000-32 DS5000T-8 DS5000T-8 8K 32K 8K 32K 128 128 128 128 32 32 32 32 2 2 2 2 6 6 6 6 5V 5V 5V 5V 40 40 40 40 Bng 1.5: Cỏc phiờn bn 8051 t hóng Dallas Semiconductor. Ch T ng sau 5000 l cú ng h thi gian thc. Lu ý rng ng h thi gian thc RTC l khỏc vi b nh thi Timer. RTC to v gi thi gian l phỳt gi, ngy, thỏng - nm k c khi tt ngun. Cũn cú nhiu phiờn bn DS5000 vi nhng tc v kiu úng gúi khỏc nhau. Vớ d DS5000-8-8 cú 8K NV-RAM v tc 8MHZ. Thụng thng DS5000-8-12 hoc DS5000T-8-12 l lý tng i vi cỏc d ỏn ca sinh viờn. Mó linh kin NV- RAM Tc DS5000-8-8 DS5000-8-12 DS5000-32-8 DS5000T-32-12 DS5000-32-12 DS5000-8-12 8K 8K 32K 32K 32K 8K 8MHz 12MHz 8MHz 8MHz (with RTC) 12MHz 12MHz (with RTC) Bng 1.6: Mt s thnh viờn ca h 8051 3.4. Phiờn bn OTP ca 8051. Cỏc phiờn bn OTP ca 8051 l cỏc chớp 8051 cú th lp trỡnh c mt ln v c cung cp t nhiu hóng sn xut khỏc nhau. Cỏc phiờn bn Hoàng Quang Lý -8- Tổng quan Vi điều khiển họ 8051 Đồ án tốt nghiệp Flash v NV-RAM thng c dựng phỏt trin sn phm mu. Khi mt sn pohm c thit k v c hon thin tuyt i thỡ phiờn bn OTP ca 8051 c dựng sn hng lot vỡ nú s hn rt nhiu theo giỏ thnh mt n v sn phm 3.5. H 8051 t Hóng Philips Mt nh sn xut chớnh ca h 8051 khỏc na l Philips Corporation. Tht vy, hóng ny cú mt di la chn rng ln cho cỏc b vi iu khin h 8051. Nhiu sn phm ca hóng ó cú kốm theo cỏc c tớnh nh cỏc b chuyn i ADC, DAC, cng I/0 m rng v c cỏc phiờn bn OTP v Flash. Hoàng Quang Lý -9- Tổng quan Vi điều khiển họ 8051 Đồ án tốt nghiệp CHNG II GII THIU VI IU KHIN AT89C51 1. S Khi Ca Vi iu Khin AT89C51 P1.0 - P1.7 PORT 1 LATCH ALU PORT 1 DRIVE P0.0 - P0.7 PORT 0 DRIVE RAM ADD REGISTER ALE/PROG RST EA/Vpp PSEN INTRUCTION REGISTER OSC TIMING AND CONTROL PSW B REGISTER TMP2 ACC RAM GND Vcc P3.0 - P3.7 PORT 2 LATCH PORT 0 LATCH INTERRUPT SERIAL PORT AND TIMER BLOCKS PORT 3 LATCH PORT 3 DRIVE TMP1 STACK POINTER FLASH DPTR PROGRAM COUNTER PC INCREMENTER BUFFER PROGRAM ADDRESS REGISTER P2.0 - P2.7 PORT 0 DRIVE Hỡnh 2.1: S Khi Ca Vi iu Khin AT89C51 Hoàng Quang Lý -10- . FFH. Chỳ ý : Tt c 128 a ch t 8 0H n FFH kh ng c nh ngha, ch c 21 thanh ghi chc nng nng c bit c nh ngha sn c c a ch. - Thanh ghi trng th i chng trỡnh. Thanh. ny c treo mc Logic 1 ti thiu hai chu k mỏy , c c thanh ghi bờn trong ca 8051 c np c c giỏ tr th ch hp cho vic khi ng li h thng. - C c chõn thch anh XTAL