You are on page 1of 316
~ GAO TDING Ye TUN mY aU LY TS PHAM HUU LOC — KS PHAM QUANG TRI GIAO TRINH KY THUAT VI XU LY ee Hon IVTEN | | THU VIER VL 614g - 4 NHA XUAT BAN DAI HOC CONG NGHIEP THANH PHO HO CHi MINH - 2010 LOI NOI DAU Gido tinh nay duge bién soan nhdm cung ap cho sinh vién kién thite co ban vé vi didu khién, edu tric eva mot hé vi diéu khicn cing nhu cach thie lap tinh diéu khién thiét bi dua wén co so ho vi dicu khien MCS-51 ma dac trung 1 vi diéu khién 8051. Gido trinh gom sdu chuong va phu luc dua theo churong trinh chi tiét mén hoe Vi xu Ly cua Khoa Céng nghé Dign ur - ‘Truong Dai hoc C6ng nghiép ‘Thanh pho H6 Chi Minh, danh cho sinh vién chuyén nganh Dién tu L F F ; Chuong | - Gidi thiéu chung ve bd vi xt ly cung cap cac kién thite tong quat vé vi xi ly. vi dicu khién, mot 6 thud ngi duge sw dung trong ky thuat vi xtr ly. Churong nay cho ta cal nhin tong quat ve cau trac cua mét hé Vi xtr 1, vi didu khién nhu CPU, bd nho ROM/RAM va ca de thiét bi ngoai wis ding thoi phan tich mdt so diém khdc biét gitta cde vi xtr ly va vi didu khién, Chuong 2 - Pha cing chip vi diét khién 8051 gidi thigu céu woe phan cig cta vi didu khién 8051 vd so sinh eta né voi cde vi dicu khién trong ho MCS-51., Giéi thigu 16 chic LO nhe ROM/RAM bén trong, vi diéu khién 8051 va nhiém vu etia ede thanh ghi chite nang dae bigt (SFR) cua no Chuong 3 - Tap lank cita 8051 gidi thicu tap lenh, bat dau bing viée dinh Nehfa cde kiéu dinh dia chi cla vi dicu khicn 8051. Cée 1énh trong tp I¢nh duge phan ra thanh cde nhom lénh (6 hoe, logic, ré nhanh...) va duge sap xép theo thir ty ABC dé tao thuan loi cho ngudi dgc khi can tham khao. Trong méi enh c6 trinh bay chi tiét cong dung va hoal dong cla Iénh cing nhu kém theo MOt sé vi du ngan, don pian dé minh hoa cho timg enh. / , Chuong 4 - Hoat dong cia b6 dink thoi g thigu chitc ning, ahigm vu Va phuong phap lap trinh cho bo dinh thoi duoc tich hop trén vi dieu khién S1. Cac vi du minh hoa trong chuong nay dai hon va phite tap hon so voi cae chuong trude. ; Chuong 5 - Moat dong ctia port Va Phuong phap lap trinh cho por ? 95 !. Cac vi du minh hoa trong chong nay Ce chuong trude Chuong 6 - Hoat d6ng Phap lap tinh didu khién hoat dong , 051. Cac vi du minh hya trong chong nay V6i cdc chuong true. «ashy bE nian ad | Phu lue gidi thigu phucng phap tinh toan va thict ké giao tiép thue we ita vi diy khién 8051 voi mot s6 thidt bi ngoai vi nhu LED don, LED bay doan,, cling nhur mét so chung trinh digu khicn cu the cho tim thidt bi wén, 4 noi tiép gidi thigu chite nang, nhigém vu nai tiép duge tich hop trén vi dieu khién dai hon va phire tap hon so voi ngat gici thigu chtte nang, nhiém vu va phuong cha cac tin hieu ngat trén vi dicu khién sé dai hon va phic tap hon so cudi chuony Ain loi hon eting nham (rong méi chuong déu c6 vi du minh hoa chi et va cy the. : edu hoi va bai tap di kem nham gitp cho sinh vién thu co trong vide nghién ettu va hoe tap tot mén hoe nay. Gido trinh nay hudng ngurdi doe dén viée sir dung phan eting cua ho vi digu khién MCS 51 HB ig dung, phi hop voi nhiing trang bi phan cung ve vi diéu khién phuc vy ni Khoa Cong nghé Dig tu - Irudng Dai hoe Cong nghiép Thanh phé 116 Chi Minh théng qua viée vidi thigu cau trac phan cung va ngén ngt lap winh diéu khién cua vi diéu khién MCS-51 Ching tdi tran trong cdm on cae tac gia trong phan 1ai li¢ ching t6i d& su dung ¥ tong cing nhu trich dich timmy phan dé ding cho giao trinh. Ching 16: cing cam on su gitip do nhigt tinh ctia cde ving wisn Khoa Cong nghé Dién tr -‘Trudng Dai hye Cor Thanh pho H6 Chi Minh va sinh vién di gitip ching 161 hoan thanh vige bicn s ido tinh nay. Cudi cing. sin gtii lei nhan dén cae sinh vién rang, ean phai phan tich va cif that nhiéu bai Wap thi mai co the hicu thau dao de vain dung tot vao thyre cling la chu dich cua ede vi du trong moi chuong. Chie cac ban utham khao ma soan dat nhiéu thanh cong trong mdn hoc Vi xu ly Tuy da rat cd gang trong Gua wink bién soan song ndi dung cudn sic h nay chae han yan con thiéu sot, ching 161 rat mong doc gia gdp ¥ phé binh. Moi y kien déng gop xin gui ve Vhe xudt ban Dai hoe Cong nghiép Thanh pho H6 Chi Minh Dia chi: 12 Neuvén Van Bao - Placing 4 - Quan Go Vap - TP HCM Email nhaxwathaniahuicduvn Chuong f: Gibi thiéu ching ve ho vi xu bY CHUONG I GIOL THLEU CHUNG VE BO VI XU LY I. SU PHAT TRIEN CUA CAC BO VI XU LY 1.Thé hé 1 (1977 - 1973) Dae diém chung ciia ede vi xur ly thé hé nay 4 bit 2 bit tao: PMOS 6 the hién Jénh: 10 - 60 ws/lénh voi frock > 0.1 — 0,8 MHz nay: 4040 (hate!) PPS (Rockwell Internation). .. MOts6 bd vi surly dac tung cho théhé 2. Thé hé 2 (1974 - 1977) Dac diém chumg etia cae vi xu ly thé hé nay - Bus dir ligu: 8 bit achi: 16 bit che tao: NMOS hoae CMOS énh: 1 8 ps/lenh voi fergex | 5 MHz P6e dé thue Mét sé b6 vi xtr ly dae trung cho thé hé nay 6800/6809 (A fotorvla), 8080/8085 Untel), 780 (Zilog)... 3. Thé hé 3 (1978 - 1982) Dae diém chung cua cde vi xt ly thé hé nay: - Bus dé | 16 bit ~ Bus dia chi: 20 - 24 bit - Cong nghé ché IMOS - Tée dé thue big nh: 0.1 1 eslénh voi pork 5 10 MIIz 6502 (MOS Technology), Mot s6 bd vi xr ly de trung cho thé hé nay: 68000 / 68010 (Motorola). 8086 / 80186 / 80286 (Intel) 4. Thé hé 4 (1983 - nay) Dae diém chung etia cade vi xu Ly thé he nay: - Bus dir ligu: 32 - 64 bit - Bus dia chi: 32 bit - Cong nehé che tao: HOMOS n i thiéu chung ve bo vi xr bS Chirong 1: Gic ~ Tec dé thy hién anh: 0.01 — 0.1 ws voi foock = 20 - 100 MHz Mot sé b6 vi xur ly dic trumg cho thé hg nay: 68020 / 68030 / 68040! 68060 (Motorola) 80386 / 80486 / Pentium (Inte/).. I. SO DO KHOI CUA MOT HE VI XU LY Dac trung hé vi xur ly: - Kha nang duge lap trinh dé thao tac trén cdc dit ligu ma khong cain su can thiép cua con ng - Kha nang luu tit va phuc héi dit liéu, Tong quat hé vi xtr ly gom: , - Phan etmy (archverre): cae thict bir ~ Phan mém (Sofivere): chuong trinh (dé xur ly dit 1igu) nai vi (dé giao tiep vi con ngutyi) [ [ ADDRESSBUS Ty Hig I : Co DATA BUS C cpu ar ah ae Th, CONTROL BUS Ie T CIEE JGIE II 7 Interface ROM | | RAM a sed Sui Peripheral Peripheral Ce AO Devices Devices EVIAULY (Input) (Output) CPU (Central Processing Unit): don vi xu ly trung tam RAM (Random Access Memory): b6 nho truy xuat ngau nhién ROM (Read Only Memory): bd nhé chi doc Interface Circuitry; mach dién giao tiép Peripheral Devices (/nput): cac thid bi ngo Peripheral Devices (Output): cdc thiét bi ng Address bus: bus dia chi Data bus: bus dit ligu Control bus: bus diéu khién i vi (thiét bi nhap) ai vi (thier hi xudt) 6 Chuong I: Gi chung vé I ILL. DON VI XU LY TRUNG TAM CPU dong vai trd chu dao trong hé vi xu Ly. né quan ly tat ca cdc hoat d6ng etia hé va the hién tatc 4c thao tac trén diff liéu. CPU la mét vi mach dién tir c6 d6 tich hop cao. Khi hoat dong, CPU doc ma lénh duoc ghi dudi dang cdc bit 0 va bit 1 tir bd nho, sau do no sé thuc hién giai md cac I@nh nay thanh day cde xung, dicu khién tuong ting voi cde thao tac ong lénh dé diéu khién cae khdi khde shure hién timg bude cc thao tac dé va tir dé tao ra cdc xung diéu khién cho toan hé instruction register | [ Program Counter _——_iR) L—_Ph. __ Instruction decode and control unit Arithmetic and logic unit $6 bO KHOLBGN GIAN CUA MO IR Unstruction Register): thanh ghi lénh PC (Program Counter / Instruction Pointer): bd dém chuong tinh / 20 ¢ Instruction decode and control unit: don vj giai ma: lénh va dieu khicn. ALU (Arithmetic and Logic Unit): don vi sé hoe va logic Registers: céc thanh ghi. Tom lai, khi hoat déng CPU sé thye hién lién tuc hai thao tac: tim nap lénh va giai ma — the hién lénh. e Thao tac sin nap lénh: - N6i dung ctia thanh ghi PC duge CPU dua Ién bus dia chi (1) - Tin hiéu diéu khién doe (Read) chuyén sang trang thai tich eye (2) Ma lénh (Opcode) tir b6 nhé duoc dua lén bus dir Hiéu (3) - Malénh duge chuyén vao trong thanh ghi IR wong CPU (4) Chong L: Gi6i thiéu chung vé b6 vi xt ly - NGi dung cia thanh ghi PC tang lén mét don vi dé chudn bi tim nép Iénh ké tiep tir bo nhé. DATA BUS i \ OPCODE IR ROM 8) N+ \.-[ OPCODE | N «~! N-A Read N-2 pa =t2} HOAT DONG CUA BUS CHO CHU KY TIM NAP LENH ° Thao tae gidi ma — thuc hién lénh: ~- Ma lénh tir thanh ghi IR duge dua vao don vi giai ma [énh va diéu khién. Cl thue hién giai ma opcode va tao ra cae tin khién viée xuat nhdp det ligu gitra ALU va cdc thanh ghi (Registers) ~ Can ctr én cae tin hiéu diéu khién nay ALU thute hién cae thao tae dit du ac dinh, mot chudi cde lénh (Opcode) két hop lai véi nhau dé thre hién m6t cng vise 6 ¥ nghia due goi la chuong trinh (Program) hay phan mem (Software) Chuong I: Gi6i thiéu chung vé b6 vi xir ly IV. BO NHO BAN DAN BO nhé ban dan 1a mot bd phan rat quan trong cua he vi xu ly. ede chuong trinh va dit ligu déu duge luu gift trong bo nhé. B6 nhé ban dan trong hé vi xw ly gom: - ROM: b6 nhé chuong trinh -> luu git chuong uinh diéu khién hoat dong ctia toan hé thong. - RAM: b6é nhé dit liéu — lun gitt dir ligu, mét phan chuong trinh diéu khién hé théng, cae tmg dung va ket qua tinh toan. So luge vé cau tric va phan loai ROM ~ RAM: - ROM (Read Only Memory): b6 nhé chi doc. thang tin trong ROM sé khong bi mat di ngay ca khi ngudn dién cung cAp cho ROM khong con. + Cau tric ROM: ROM Ay Doe Ao .. Ay’ cic chain dia chi. (Address ) 4A, Dib Dy .. Dy: ede chan dit liéu (Data) i i OE\ (Output Enable ); ngd vao cho phép xuat data | i CS\ (Chip Select): ngé vao cho phép ROM hoat déng Ay Dyb + Phan loai mat sé loai ROM: - MROM (Mask ROM); ROM mat na JOR\ - PROM (Programmable ROM): ROM lap trinh duge 4cs\ - EPROM (Eraseable PROM): ROM lap trinh va x6a duoc - UV-EPROM (Ulira Violet EPROM). ROM xa bang tia cue im. EEPROM (Flectric EPROM): ROM [ap trinh va x6 bang tin higu dién - Flash ROM: ROM lap trinh va x6a bang tin higu dign. RAM (Random Access Menor: 6 nhé truy xuat ngdu nhién (h6 vhs ghi dov). thong tin trong RAM sé bj mat di khi ngudn dién cung cap cho RAM khong con. iéu chung ve bé hh, Chiong 1 Gi + Cau trie RAM: RAM Ay» Ay: cdc chin dia chi (Address } Do... Dy: cde chan dit liéu (Data) OE\ (Output Enable): ng6 vao cho phép xuat dit li€u WR\ (Write ): ng6 vao cho phép ghi dif ligu CS\ (Chip Select ): ngd vao cho phép RAM hoat d6ng + Phan loai mot sé loai RAM: DRAM (Dynamic RAM): RAM dong SRAM (Static RAM): RAM tinh Cch xde dinh dung luong b6 nhé ban dan 8 bit str dung cho chip vi diéu khién 8051 nhu sau: Dua vao s6 lugng chan dia chi Dung lu S| voi N la sé dudng dia chi ctia bd nhd. Vi du: BO nho ban din 8 bit co 10 duong dia chi. Cho biét dung hrong ctia b6 nho 1a bao nhiéu? N= 10 -» Dung long = 2!" = 1024 = 1 kB Dua vao ma sé cua bé nhé Ma sé: XX YVYYY XX: loai bo nhé 27: UV-EPROM 28: EEPROM 61.62: SRAM 40.41: DRAM YYYY: dung luong bé nha Dung lwong = YYYY (kbit) hodc Dung luong = YYYY / 8 (kB) Vidu: BO nhé 6 ma s6 27256, dung luong cua b6 nhé 1a bao nhieu ? 27 — Bo nhoé UV-EPROM 256 —» Dung lugng = 256 (kbit) = 32 (kB) V. CAC THIET BI NGOAI VI (CAC THIET BI XUAT NHAP) Mach dién giao tiép Unterface Cirenitry) va cae thiét bi xudt nhap hay ‘a kha nang giao gitta bus hé thong cua hé vi xu gitra hé vi xu thiet bi ngoai vi (Peripheral Devices) tac i bén ngoai. B6 phan giao iGi bén ngoai thuong duge goi la céng (Port), Nhu vay thy ly voit ly voi cde the 10 Chuong L Gibi thiéu chung vé bé vi xic ly theo tirng loai thiét bi giao tiép ma ta co cde cng nhdp Unput) dé lay thong tin tir ngoai vao hé va cac céng AL (Output) dé dua thong tin tir ong, hé ra ngoai. Pong quat, ta co ba loai thitt bi xudt nhap sau: ~ Thiét bi luu trét lon: bang, tir, dia tir. dia quang... - Thiét bj giao tiép voi con nguéi: man hinh. ban phim. may in... - Thiét bj diéu khién / kiém tra: cac b6 kich thich, cac b6 cam bien... VLE THONG BUS Bus la tap hop cae dung déy mang théng tin c6 cing che nang. Vige truy xuat thong tin t6i mot mach dién xung quanh CPU thi no sir dung ba loai bus: bus dia chi. bus dir ligu va bus diéu khién, CPU str dung hé théng bus nay dé thuc hién cdc thao tac doc (READ) va ghi (WRITE) thong tin gi CPU v6i b6 nhé hode cdc thiét bi ngoai vi. ' Bus dia chi ( ddress bus) - Dé chuyén tai théng tin cuia cae bit dia chi - La loai bus mot chiéu (CPU > MEM hay /O) ~ Dé xc dinh bd nhé hose thiét bi ngoai vi ma CPU cn trao d6i thong tin. - Dé xde dinh dung long bd nho hoa + Bus dit ligu (Data bus} ai vi ma CPU c6 kha nang truy xuat. - Dé chuyén tai thong tin cua cac bit dit lig - LA loai bus hai chiéu (CPU <> MEM hay VO) ~ Dé xac dinh $6 bit dé ligu ma CPU c6 kha nang xv ly cing, mot Ite + Bus dieu khién (Control hus) - De chuyén tai thong tin ctia cae bit didu khién (mdi dong day 1a mOt tin hiéu diéu khién khae nhau). - LA loai bus mot chiéu (CPU > MEM-I/O hode ME. - Dé digu khién cae khoi khac trong hé va nhén tin b cae khéi dé dé phdi hop hoat dong. CPU) didu khién tr ho vi xi bt Chwong I: Gidi thidu chung ve VU. VEXU LY - VEDIEU KHIEN Dé phan biét b6 vi str ly va b6 vi diéu khién ta c6 thé dua trén ed nhu sau: a, ‘Beccles - | y I diéu khi ut6 phan logit | (Microprocessor) | (Microcontroller) a ow | xX | ae eens i xX_ —— a XxX Cau trie phan x cung —— pio eee (Hareware eat x whitectorey Sone song Byes Aaa eel. a. ie rele eS Mach dicu khién x Cac mach dicu r = [i i¢nkhac | Ma | ee a | Ung dung lén, | tinh toan phire x Cac tmgdung | _ tap fh Le | eS (Applications) | Ving dung nho, tinh todn don x | an (ii | Cac kiéu dinh Nhidu it dia chi a | Uastruction set | D6 dai ti dir ligu Byte, Word, ‘ 7 A 4 Bit. Byte Jeanure) ly | _ Double wor 7 Chuong I: Gidi thiéu chung vé bd vi xu ly VII. MINH HOA KIEN TRUC CUA MOT HE VI DIEU KHIEN: q Progra e SFR Registers rogram memory tnstivctions Addresses BE] | Decoder | = ALU | — Accumulator! =~ Joszuog Logic | E Program Counter | ee Ports WDT (hatch-Dog Timer): BG dinh thoi Watch-Dog OSC. OSCIN (Oscillator): BG dao dong (N: he s Timer: BO dinh thoi AID (Analog/Digital): BO bien doi tin higu tong tuv/sd SFR Registers (Special Function Register); Cac thanh ghi chtre nang dic biét RAM Memory: B96 nho dir ligu Program Memory: Bo nhé chuong trinh EEPROM: B6 nhoé EEPROM V/O Ports: Cac port xuat/nhap Instruction Decoder giai ma lénh ALU: Don vi logic va so hoe Accumulator: Thanh ghi tich Itiy Control Logic: | kt Program Counter: Bo dém chuong trinh Instruetions/Addresses: Cac lénh / dia chi IX. LUA CHON BO VIDIEU KHIEN KH THIET KE hia tn) én logic C6 bén ho vi didu khicn thong dung wén thi trudng hién nay li: O& xxx cua Motorola, 80xxx cua Intel. Z8xs cua Zilog va PICTOxxx ctia Microchip Technology. Mi loai vi didu khién trén déu co mot tip Ignh va thanh ghi Gny nén chiing khong tong thich lan nhau. Do dé khi tién hanh thiét ké mot hé thong str dung vi diéu khién ta can dua trén ba du chudn chinh sau 13 Chuong I: Giéi thiéu chung vé b6 vixu ly ~ ‘Tiéu chudin thie nhat Dap (mg yéu cu tinh toén mét cach hiéu qua va kinh té Do vay, true tién ta can phai xem xét b6 vi diéu khién 8 bit, 16 bit hay 32 bit la thich hop nhat. Mt sé tham sé ky thuat can duoe cin nhac khi chon ya la: - Tée d6: thc dé 1én nhét ma vi diéu khién hd tro ld bao nhiéu. - Kiéu IC: 1a kiéu 40 chan DIP, QIP hay la kiéu dong vo khae (D/P, vo dang hai hang chén, QFP: vo vudng det). Kiéu dong vo rat quan trong Khi 6 yéu cau ve khong gian, kiéu lap rap va tao mau thir cho san pham cudi cling. - Cong sud liéu thy: 1a mot tiéu chuan can dae biét Luu y néu san pham ding pin hode dién dp Ludi. - Dung lugng b6 nhé ROM va RAM tich hgp san trén chip - 86 chin vao/ra va b6 dinh thdi trén chip - Kha ning dé dang nang cao hiéu suat hoge g giam cong suat tiéu thu - Gid thanh trén m6t don vj khi mua sé lugng lén. Vi day la vin dé ed anh hung dén gid thanh cudi cung cua sin pham. - Tiéu chudin thit hai. C6 san cac céng cy phat trién phan mém, chang han nhu ede chuong trinh m6 phong, trinh bién dich, trinh hop dich va go ri, - Tiéu chudn tut ba: Kha nang dap img, vé sé lugng & hién tai efing nhw & tuong lai, Doi voi mot s6 nha thiét ké thi tigu chuan nay thdm chi con quan trong hon ea hai tiéu chuan trén. Chuung 2: Phin cteng chip vi diéu khién 8051 CHUONG 2 PHAN CUNG CHIP VI DIEU KHIEN 8051 1. TONG QUAT 1. Giéi thiéu chung MCS-S1 1a ho vi diéu khién ca hang Intel. Vi mach tong quat cua ho MCS-51 la chip 8051. Chip 8051 c6 mdt sé dic trung co ban sau - BO nhé chuong trinh bén trong: 4 kB (ROM) Bo nhé dit ligu bén trong: 128 byte (RAM) Bo nhé chuong trinh bén ngodi: 64 kB (ROAD) - BO nho dir ligu bén ngoai: 64 kB (RAM) - 4 port xuav/nhéip (7/0 port) 8 bit ~ 2.b6 dinh thoi 16 bit - Mach giao tiép ndi tiép B6 xtt ly bit Ghae tic én cde hit riéng Ie) 210 vi tri nho duge dinh dia chi, mai vi tri 1 bit - Nhan / Chia trong 4 ps Ngoai ra, trong ho MCS-51 con co mét sé chip vi digu khién khée c6 cau tric tuong duong nhu: [Chip [| ROMtrong | RAMtrong | BQ dinh thoi 8031 | OkKB 128 byte _ a 2 38 OkB 4kB PROM 8 kB PROM 4kBUV-EPROM | |_8 kB UV-EPROM 56 | | 4kB FLASH ROM | 2 8 kB PLASILROM iw ie we La} ta) We 2. Cée phién bin ctia chip vi diéu khién 8051 B6 vi diéu khién 8031 8031 14 mét phién ban khac cua ho 8051. Chip nay thudng dure coi 1a 8051 khong coé ROM tén chip. Dé c6 thé dimg duoe chip nay can phai bo sung 15, Churong 2: Phan cing chip vi diéu khién thém ROM ngoai chia chuong trinh can thiét cho 8031, 8051 co chuong trinh duoc chtra 6 ROM urén chip bj gidi han dén 4kB, con ROM ngoai cua 8031 thi cé thé lén dén 64kB. ‘Tuy nhién, dé c6 thé truy cap hét bd nho ROM ngoai thi can dimg thém hai céng (Port 0 va Port 2) . do chi edn lai 6 hai cong (Port 2 va Port 3) dé sit dung. Dé khdc phuc van dé nay, chung ta ed the bo sung thém cing vao/ra cho 8031. BG vi diéu khién 8052 8052 14 mot phigén ban ctta ho 8051, 8052 c6 tat ca cde thing sé k¥ thuat cla 8051. ngoai ra con cé thém 128 byte RAM. 4kB ROM ya mét bé dinh thoi nita. Nhu véiy. 8052 6 tong cong 256 byte RAM, 8kB ROM va ba bé dinh thoi. tinh k¥ thug {ae sos | sost 8052 | ; ROM weén chip (kB) | vig | 8 | | “ = tll ath aa | RAM ten ofip (byte) | 128 | 128 256 | | Bo dinn thai ; 2 | 2 3 | Chan vao/ra | Cong ndi tiép | Ngudn ngat Nhuw bang thong s6 tén ta thay 8051 1a mot trudng hop riéng cua 8052. co thé chay duoe trén 8052 nhung digu Moi chuong trinh viét cho 8051 dé nguve lai ¢6 the la khong dung Bo vidiéu khién 8751 Chip 8751 chi cé 4kB bo nho UV-EPROM trén chip. Dé su dung chip nay cain phai co thiet bi lap winh PROM va thiet bi xod UV-EPROM. Do ROM trén chip ctia 8751 la UV-EPROM, nén can phai mat khoang 20 phut 16 ! Churong 2: Phan eth chip vi diéu khién 8051 dé xoa 8751 true khi duge lp trinh. Vi day 1a qua trinh mat nhiéu thoi gian nén nhiéu nha san xudt da cho ra phién ban flash ROM va UV-RAM. B@ vi diéu khién AT8951 cua Atmel Corporation AT8951 Ja phién ban 8051 c6 ROM trén chip la bd nhé Flash. Phién ban nay rat thich hop cho eae tng dung nhanh vi b6 nhé fash c6 thé duge xda trong vai gidy. Di nhién la de ding AT8951 can phai cd thiét bi lap trinh PROM hé tro b6 nhé flash mhung khong cin dén thiét bi x6a ROM vi b6 nho flash duge x6: g thiét bj lap trinh PROM. Dé tién str dung, hign nay hang Atmel dang nghién ctu mér phién ban ca AT8951 cd thé duge lap trinh qua cng COM cua may tinh PC va nhu vay sé khong can dén thiét bi lap trinh PROM. Ngit | Vee | sé ch: LIC | AT89CS1 ys | sv “40 | Arsovst | 5 | 3v 40 F xrgactost : 3 (av; 2 | AT89C2051 | 5 | 3v | 20 | AT89C52 6 | sv 40 Ars 6 law) 40 el Lo j BO vi diéu khién DS5000 cua Dallas Semiconductor MOt phién ban pho bién khae nita eta 8051 la DS5000 cua hang Dallas Semiconductor. BO nhé ROM trén chip ctia DS5000 18 NV-RAM. DS5000 cé kha nang nap chuong trinh vao ROM trén chip trong khi no van 6 trong he thong ma khong can phai ldy ra. Cach thuc hién 14 ding qua cong COM cua may tinh PC. Day 1a mét diém manh rat duoc ua chudng. Ngoai ra, NV- RAM con cé uu viét la cho phép thay doi ndi dung RAM theo timg byte ma khong can phai xoa hét trude khi lip trinh nhu bé nho EPROM TRUONG DALHOC GIT Vl C1428 - , THU VIEN "7 TPC Chong 2: Phin cing chip vi Ky hidu. | ROM | RAM | VO! Timer Ngdt | Vee $6 chin | ‘ | iC = | | | | 1 | | ; DSSUO0-8 | kB | 128 | 32 2 6. SV | to DSSI00-32 32kB 128 | 33°) 2 6 ; sv | 40 ' i t i | z pssuours | 8kB 128 | 3212 6 , svi 40 | i 1 ' + | i DSSONUT- 32kB° | 198°] 3B 2 6 5V 40) peated ered pe pee “50007 cd nghia 1a Diem dae bist 1a cde chip cs wu ky higu chip do co thiet ke thém mot déng ho thoi gian thuc (RPC: Real Time Clock; bén wong. Liru y dong ho thoi gian thue REC hoan toan khae voi bd dinh thoi Timer. RIC tao va luu git thoi gian cla ngdy (yids patie gid) va nigay thing (reer thdig nein) tren thue té ngay ca khi khong cé ngudn cung cap Bé vi diéu khién P89VS1 xx cua Philips Corporation Day Li mot phidn ban cai tién su dung CPU 1a bo vi digu khign 80C51 voi nhicu tink nang vuot tdi: dung long ROM/RAM trén chip rat lon, 3 limer 16 bit + 1 Watch-dog Timer. 2 thanh ghi DPTR. 8 ngudn nga. PWM (Pulve Width Modulator). SPL (Serial Peripheral Interface) va dae bist 1a bd nho chuong tinh wen chip co tinh nang ISP (e-Systemr Programming) va IAP (helpplication Programing)... H. CAC CHAN CUA CHIP 8051 1. So dé khdi va chive nang ede khdi cua ehip 8051 SUDO KUGECUA CHIP 8051 i on lif INTO +! Rams a, ees f tarexrupe Other [team [comteol | | rexister | 128 byte chan |) nfm trong P3 - CPU (Central Processing Unity): Don vi xu ly trung tam —> tinh toan va diéu khién qua trinh hoat dong eta hé thong - OSC (Osetilaror): Mach dao déng > tae tin higu sung clock cung eap cho cae vai trong chip hoat dong - Interrupt control: Didu khién ngat > nhan tin higu ngat tir bén ngoai UNTO, INTT\), ttt bd dink thoi (Vimer 0, Timer 1) va tt cong noi tidy (Serial port), lan lugt dua cae tin hiGu ngat nay dén CPU dé xti ly - Other registers: Cae thanh ghi khac > luu utr div liGu cua cade port xuavnhap. trang thai lam viée eva ede Khoi trong chip trong sudt qua trinh hoat dong eta hé théng - RAM (Random Access Memory): Bo nhé dit hu wong chipluu utr cae dir liu - ROM (Read Only Memory): BO nhé chuong trinh trong chip — hu trtr chuong tinh hoat dong cua chip - VO ports (Our ports): Cac port xuavnhap —> dicu khién viée xuat nhap di ligu dudi dang song song gita trong va ngoai chip théng qua cac port PO. PL, P2.P3. 19 Chong 2: Phan ¢ - Serial port: Port néi tiép + diéu khién vi dang noi ti¢p gia trong va ngoai chip théng qua ca y chip vi dieu khién SUSI xudt nhap dir liGu duci han TxD. RxD. - Timer 0, ‘Timer 1: BO dinh thoi 0. 1 -> ding dé dinh thoi gian hoge dém sy kién (dénr xung) thong qua cde chin 10,71 - Bus control: Diéu khién bus > diéu khién hoat dong ctia hé thdng bus “va viée di chuy én thang tin trén hé thong bus. ~ Bus system: Hé théng bus — lién két cae khdi tong chip lai voi nhau. 2. So dé chan va chite ning cade chan etia chip 8051 40 vce 20 Gnd 4 yraut 8 yrar2 22) sen ALE BA\ RST SO DO CHAN CUA CHIP 8051 2.1. Port 0 - Port 0 (P 20 0.0 — PO. & ro7-— a7 “as a P06 ADO Ww Ro POS }SS— ADS se Po. AD4 ~ : PO. AD3 * a P02 AD2 : a PO. ADI - a P00 ADO ol a ~ x Ea 8 | 8 = we & i = a =O wm = a = ie AIS | os Al4 = 8 $B bo 3 All a a oe os 8 AB xT] 8 = 8 1 7) c6 $6 chan tir 32 — 39 Chuong 2: Phan cing chip vi diéu khién 8051 - Port 0-6 hai chite nang © Port xuat nhap dit ligu (P0.0 - PU.7) > khong su dung bd nhé ngoai. ¢ Bus dia chi byte thap va bus dir ligu da hop (ADO -AD7) > 6 sw dung b6 nhé ngoai Lun i: Khi Port 0 déng vai trd la port xudt nhap dir lieu thi phai su dung cic dién tro kéo lén bén ngodi. - O ché dé mac dinh (khi reset) thi cdc chan Port 0 (20.0 - P0.7) duge cdu hinh 1 port xud¢ dit ligu. Muén cde chan Port 0 lam port nhdp dit liga thi can phai lap trinh lai, bang cach ghi mtic logic cao (nuec 1) dén 1at ca cac bit cua port trude khi bat diu nhap dit liu tir port (van dé nay duoe winh bay o phan ké tiép). - Khi lap trinh cho ROM trong chip thi Port 0 déng vai tro 1a ngd vao cua dit liu (DO ~ D7) (xem sdch “Ho vi.diéu khién 8051" trang 333-352). 2.2. Port 1 - Port 1 (P/.0— P7.7) c6 86 chan tr 1-8 - Port 1 cé mét chic nang: Port xuat nhap dit ligu (7.0 — P/.7) — str dung hoae khéng st dung bd nhé ngoai. - GO ché dé mic dinh (Kini reser) thi cae chan Port 1 (P10 — P17) duoc cau hinh la port sxudt dir ligu. Muon cae chan Port | lam port nhdp dit thi can phai lap trinh lai, bing cach ghi mite logic cao (mite 1) dén tat ca cae bit cla port trude khi bat dau nhap dir ligu tir port (van dé ndy duoc trinh hay o phan ké tiép). Khi lap trinh cho ROM trong chip thi Port | déng vai tro 1a ng6 vao cua dia chi byte thap (AU — A7) (xem sdch “Ho vi diéu khién 8051" trang 333-352) 3. Port 2 - Port 2 (P2.0 — P2.7) c6 sé chan tir 21 — 28 - Port 2 cé hai chire nang: Port xudt nhdp dit ligu (P2.)— P2.7) > khang str dung b6 nhé ngoai Bus dia chi byte cao (A8 — A475) > c6 sur dung b6 nho ngoai - 6 ché dé mac dinh (khi resel) thi cde chan Port 2 (P2.0 -- P2.7) duge cau hinh 1a port xudt dtr liéu. Muon cac chan Port 2 lam port nhdp dit ligu thi cn phai lap trinh lai, bang cach ghi mite logic cao (mie 1) dén tat ca cdc bit cua port ude khi bat dau nhdp dit ligu tr port (vin dé nay duoe inh bay o phan ké tiép) - Khi lap trinh cho ROM trong chip thi Port 2 déng vai 16 14 ngd vao ctia dia chi byte cao (A8 ~ AI/) va cac tin higu diéu khién (xem “Ho vi diéu khién 8051" trang 333-352) 21 Chuong 2: Phan 2.4. - Port 3 (P3.0~ P3.7 Port 3 ; c6 8 chan tir 10-17 - Port 3 co hai chite nang Port xuat nhap dit ligu (P3.0 P37) > khéng str dung bd nho ngodi hodic cdc chite nang dic biét. Cae tin hiéu dicu khién —> e6 su dung b6 nhé ngoai hode cae chire nang dac big. - O che do ma dinh (Ahi reset) thi cae chan Port 3 (P30 P3.7) duoe cau hin la port xudr dé ligu. Muon cae chan Port 3 lam port hap dt lieu thi can phai lép trinh lai cao (mie 1) dén tat ca eae bang cach ghi mute log bit cua port true khi bat ddu nhap dir lieu tie port (var dé nen dtive tinh bay v phuin ké tiép). - Khi lap trinh cho ROM trong chip thi Port 3 déng vai tro 1a ngo vao cla cac tin hidu dieu khién (rem sich “Ho vi diéu khién 8051" trang 333-352). - Chire nang cua cac chan Port 3 Bit P3.0 | RxD ia chi bit Chire nang | — Ten BOh | Chan ahan dit higu cua pod noi Vien | P3.1 [xp | Binh [P32 JINTo\ | B2h 33 VINTD | B3h” PB 4 | TO i ; Bah. ; ' I Nea vao cua b6 dinh thoi/dém 0 p35 Tt | BSh NeSidorctia bd dinh thei/dém | P3.6 | WR pete Boh a Diéu khién ghis vao RAM ngoai 7 “RD. ks | BTh Digu khién dge tir RAM 1 ie 2.5. Chan PSEN\ oy + PSEN (Progrant Store Enable): cho phép bd nhé chuong trinh. chan 36 29 + Chite nang: Latin higu cho pheép truy xuat (doc) bd nh chuong trinh (ROA/ ngoai - Latin higu xuat, tich cure mute thap. ong 2: Phan ¢ hién SUSL PSEN\ = 0 — trong thoi gian CPU tim - nap Iénh tir ROM ngoai PSENS — L -> CPU su dung ROM trong (Along sir dung ROM ngodi) - Khi su dung b6 nhé chong trinh bén neoai. chan PS thudng duoc nor voi chan OFS cua ROM ngoai dé cho phép CPU doe ma Iénh tir ROM ngoai 2.6. Chin ALE + ALE (Address Latch Enabley: cho phép chor dia chi, chan sé 30 + Chite nang - La tint cho phép chot dia chi dé thue hign viée gidi da hop cho bus: dia chi byte thap va bus dir ligu da hop (ADO D7) - Latin higu xuat, tich eure mite cao. ALE = 0 > trong thoi gian bus ADO - ADT dong vai tro 1a bus D0 - D7 ALE — 1 -> trong thoi gian bus ADO - AD7 dong vai to 1a bus AO - A7 + Khi lap trinh cho ROM trong chip thi chin ALE dong vai tro la ned vao cla sung lap winh (PG) (em "Ho vi dieu khién S031” trang 333-352) Luu f: — c6 thé ding lam xung clock cho cae mach khac fare (MIIz cung tai chan ALI fose (MLz): tin sé dao d6ng trén chip (tin sé thach anh) ~ Khi lénh lay div ligu tt RAM ngoai (MOEN) durge thyte hign thi mot xung ALE bi ba qua (xem giun do trang 38-39 sdch “Ho vi diéu khién S051") 2.7. Chan EA\ ‘xernal Access): uy xudt ngoai, chin sd 31 ny: ~ Latin hiéu cho phép tray xuat (siz dung) bd nh chuong tinh (ROM) ngodi - Latin higu nhap, tich cwe mite thap EA\ = 0 - Chip 8051 str dymg chuong trinh cla ROM ngoal EA\= 1 > Chip 8051 sar dung chuong trinh cua ROM trong Khi lap trinh cho ROM trong chip thi chan HA dong vai ud 1a ngd vao cua dign Ap lp tinh (Ypp — 121 12,5V cho ho 89x: 211 cha ho SOx, 87xx) trem To vi diéu khién 8031" trang 333-352) Luu fs Chan EA\ phai duoe ndi lén Vee (néu sie ding chirong tinh cua ROM trong) hotc néi xuéng GND (néw sie dung chicong tinh cua ROM ngodi). khong bao gity duge phép bé wong chan nay. 2.8. Chin XTALI, XTAL2 . + XTAL (Crysva/): tinh thé thach anh, chan so 18-19 + Chute ning N Chuong 2: Phan cig chip vi diéu khién 8051 - Dang dé néi v6i thach anh ho&e mach dao déng tao xung clock bét ngoai, cung cap tin hiéu xung clock cho chip hoat déng - XTALI — ngé vao mach tao xung clock trong chip - XTAL2 — ngo ra mach tao xung clock trong chip Luu ys 12MHo| fryp (MHz): tan sé danh dink cl | Mach dao af Li déng XTALI TTL C1. C2=30nF/10% X15 X1=12MHz (Typ) 1 lyrara —|XTAL? ie Két néi thach anh Két néi mach dao dao d6ng bén ngoai déng bén ngoai 2.9. Chin RST: + RST (Reser): thiét lap lai, chan sh 9 + Chic nang: - La tin hiéu cho phép thiét lap (daf) lai trang thai ban dau cho hé théng - La tin hiéu nhap, tich cure mite cao, RST — Chip 8051 hoat d6ng binh thudng. RST = 1 > Chip 8051] dugc thiét lap lai trang thai ban dau. Lara ji: been > 2%T yay pr ol — Machine treser (Us): thoi gian reset fosc (MHz): tan so thach anh Tyracuine (Js): chu ky may +5V +5V +5V t P ' uF 100 1 AoE ef 100 Ma peserewt 7 RST RST ; —$—— Rsl — 8K2 8K2 hc 8K2 Reset bang tay Reset khi cap Reset tng hop nguon Chiang 2: Phan ctrng chip vi diéu khién 8051 Vi du: Xac dinh chu ky may va thdi gian reset tuong tne cho timy trudng hop fose = 11,0592MI1z, fose = 12MIHz va Tose = 1OMHz Gidi lose = 11,0892MHz > Tmacrine = 1.0858 va teyser > 2.17 ps fosc = 12MHz. > Twactine = lus va trrser 2 2ps fose = 16MHz > Tuacnine = 0,75 us va taser > 1Sps 2.10. Chain Vee, GND + Vee, GND: ngudn cap dién, chan 6 40 va 20 + Chite nang: - Cung cap ngudn dién cho chip 8051 hoat dong - Veo =+5V + 10% va GND = 0V In. CAU TRUC CAC PORT XUAT NHAP CHIP 8051 Kha nang fanout (sd Ivone tai dau ra) cla cae tng chén port chip 8051 1a: - Port 0: 8 tai TTL - Port 1:4 tai TTL - Port 2: 4 tai TTL - Port 3: 4 tai TTL Luu y: Khi Port 0 déng vai wo a port xudt nhdp thi sé khong 6 dign tr kéo lén bén trong + do dé nguoi str dung can them vao dién tro kéo Tén bén ngoai (xem Hinh I1.1) Hoi vai cée chain eita Port 0 (khi Da port xwat /nhgp ) Dene | ign Trd Keo} 1S Hen ben ngoai | Le Doc bb Dién trG 2 Doe chin chot “ZA kéolén port [Chin ted a e Ghi bo hot G ché do mac onl (khi reset ) thi tat cA cde chfin cia port ludn ludn duye cfu hinh a portxudt ditligu. Hinh UL.1: Cau tric ben trong etia ede port xuat nhap Chuwng 2. Pirin crrag chip vi dieu khien SC chain cua cade port O ché do mae dinh (ki reser) thi tit c (PU P3) duoe cau hinh 1a port ait dt ligu. Muon cic chan port cua chip 8005 kim port vhedp div lieu thi ta can phul duge Lap tink lai. bang each ghi mire logic cao (mtte 1) den tit ca cae pil (ede chany cua port rude khi bat dau nhap dir lidu tir port (van dé neay chege trinh bay o phan ke tiep). Cée chan trong cling mot port khong nhat thict phai co cting kicu eau ja la trong ¢ MOL port ed the cd ¢ hinh (port sted kode port ikipy ne dting d@ nhdp dir Héu. eo the e6 chan dting dé xudt dé liu. Digu nay 1a tty thude vao nhu cau va mue dich cua ngudi lip tinh. Qua tinh ghi chan port (vader lige ra chin port) Hé thong bus bén trong | +Vec | ‘ ort] i Doc b6_ } Dién tré J Doc chan A chit GA kéolén 7 | port ZA {tl | Ch | rk | ae Ort Vee wat 101 | oo naa ie 4 P J Ghi bo] 7) Sst) er ain ngit chét _| [0/1] [Wo] | ee 1 Ly | Hinh HL3: Thao te ghi chén port Qua trinh dge chan port Gahdp it liéu ae chdn port) Hé théng bus bén trong | " worl tl | Pige banN Dien trd S Doe chan_/A chét G3 kéolén port + (Anan ~ | Chan | port | Re sapape Ghi bo - FET ngat | | Minh 1.2: (re tic doe chan por Chirong 2: Phan cng chip i diéu khién S05 f Qua trinh doe bé chot (Aen tru clit lien fai chain port) “ong Vou ; | (Dien tra Doe chan | kéo len port ay Chin | port | ces = Ghi bd a [o+t tI chit forty | ‘ | | | Ifinh HL .4: Pee tie doc bd chet Lira js Viée dog dit ligu cua bat ky mot port nao c6 thé cho ta hai gia tr) khée nhau ty thude vao 1énh ma ta st) dung dé doe dit ligu tir port (ven thém wong phan dip lénh). Xay ra hién tugng khong mong mudn nay 1a do qua trinh doe df liéu cua chip 8051 vom hai qua trinh khac nhau: gud “inh doe chan port va gud trinh doc b6 chat. Qué trinh doc chin port: Khi ta sut dung cae lénh MOV, ADD... dit licu nhan duge sau khi thye hign qua trinh dye 1a dit lige hién tai 6 cde chan port. Qué trinh doc b6 chét: Khi ta su dung cae \énh ANL, ORL, XRL, CPL, INC, DEC, DJ: JBC, CLR bit, SETB bit, MOV bit... div ligu nhan duge sau khi thye hign qua trinh doe la di fiéu hig 1 tai 0 cae b6 chot (la cde dit lieu da chege ghi ra port tai thei diém rude do boi qua wink ghi chan port. chit khéng phai la dit ligu hign tai o cde chan port. Cho nén. neu tai thoi diém thye hign qua trinh doc ma dit ligu tat cde chan port ¢6 bi thay doi di chang nita thi dir ligu doe vé eting khong duge cap nhat. IV © CHUC BO NHO CUA CHIP 8051 - Bo vivir ly + c6 khong gian bd nho chung cho dit ligu va chuong trinh: Chuong tinh —» A : . UH] Dirligen —» CA a“ RAM —* CPU thue thi nv a Churong 2: Phin wing chip vi diéu khién 8051. + chuong trinh va dir ligu nam chung én RAM trude khi dua vao CPU ¢¢ thu thi. - BO vi diéu khién —» c6 khong gian b6 nho riéng cho dit ligu va chuong trinf, Chuong trinh —» ROM CPU thye thi Divligu = —» RAM > chong uinh va dé ligu nim riéng tren ROM va RAM trude khi dua vao CPU dé thure thi - T6 chtte bd nhé cia chip 8051: WR RD a Bo nhé B6 nh chuong BO nhé SFR ‘ sau chudng trinh di li¢u trinh (ma) (ma) Bo nhé dif ligu 00h 000h 0000b. B6 nhé trong chip B6 nhé ngoai chip Khong gian bé nhé ctta chip cteng chip vi dieu khién SSL Dia chi byte ~ _— Dia chi bit 1 rELy vo [h7 [FTPs TRATES 2 [FT [P| RAM ho [7 [ho TES [E43 7E2 [ET [E0] A da chife nang bo be[ps|paTp3{p2] bi] bo] psw bs | [= [RC[RRTBAT ROT RS] IP 80/87] B6 [85] 64] 63]B2 [BI BO] Ps as{ar[ - [- [actapfaa[ao[as| 1 AO[ATJAGTAS TAS] AS [A2[A1[A0] P2 99 | Khong dinh dia 98 OF JOR 9D pyc oR SBUP SCON “30 33 2K 5 Pai DTC HIB 90 [97] 96 [95 [94193 [92 [91 [90 | Pt 23 TF HEI 8p|__ Kha ‘THI 22/07/16 [15 [14 [13 8c ‘ ‘rH 21 for for fo [oc jon abl Th 20/07 | 06 [05 [04 [03 BA TO IF 7 89 ‘MOD 18 Day's _| a8 [RF [St [8p TOON 17 87 Khong chi PCON Diy 2 eS 10 Lue "=| or 3 83 in pra os] Payal =) wy div pr. 07 x1 Khong dink di sv 00 | Day thanh ghi mae dinh RO-R7 | 80 [87 [86 [85 [84[83 PO RAM SFR (Special Function Register: Thanh ghi chife ning dic biét) B6 nhé dif liéu trén chip 8051 29 Chuong 2: Phan cry chip vi did khién S051 1. Bo nhé trong Bo nha a iy thanh ghi chuvng tinh Day thanh:s (OOh-1Ph) Bo nhd trong = © RAM dinh dia chi bit “e Bo mhd 2” (20h-20'h) di ligu RAM da chive ning (30h-7Ph) 4 Thanh ghi chife nang die biét {SOh-FFh) B6 nhé chuong trinh (ROM) ~ Ding dé tuu ttt chuong trinh dicu khién cho chip 8051 hoat dong. Chip 8051 co 4 hB ROM trong. dia chi truy xuat: JOOh FFEh Bo nho da ligu (RAM) - Ding dé luu wir ede dtr lieu wa tham sé - Chip 8051 6 128 byte RAM trong, dia chi truy xudt: 00h — 7Ph - RAM tong cua chip 8051 duoe chia ra ¢ RAM da ehite nang: Gém : 80 byte RAM RAM oh oa Ce Diachitruy xudt : 30h — 7h da chite ning i Kidu truy xuat dit ligu se True ip Gian tép * RAM dinh dia chi bit > cho phép xtr ly timy bit dir ligu riéng lé ma khong anh huong dén ede bit Khae trong ca byte. Chwong 2: Phen cttng chip vi diéu khién S05! Gom: 128 byte RAM RAM ae ‘ 7 a ~% Dia chitruy xuat :20h - 2Vh dinh dia chi bit Se — True ticp \ Gian tcp Kigutruy xuat df lieu 4 Theo titng bit Luu Neu trong chuong trinh khong sw dyng dia chi bit nay, ta ed thé su dung ving nho 20h cae bit trong van RAM dinh 2h cho eae mue dich khie cua ta, Nguige lai. ta phai vidt churong trinh edn than khi ste dung vung nhe 20h Fh vi neu so suat ta c6 thé hi dir ligu de len cae bit dé due su dung Vid: Viet lénh lam cho 8 bit trong 6 nhe eo dia chi 20h thuge RAM ndi co wa wild | (ver irwong hop dia cht byte va dita clu hit) 2011 [x] x [x XUW bit i! MOV 20H, HOF Fh SETB 00h & ab SETB Oth =) oh sree us ser 9 co Te 13 2on (IT tt) St NG Aen ey x] 20h 2 SETB 03h 5 TxIx[x}20n SETB 04h =) [x Tx fx] 20h SMC) el SETB 08h =) 20h SETB fend ar lor bir ché dor SETB 06h ee Oh iene HUG eh SETB 07h x xix) 20H nn mt 20h Tt) » cho phép truy suat dé Higu nhanh, [enh tray suat don gian va ngdn gon © Cae day thanh ghi Gonv: 4 day x 8 thanh ghi RAM 7 > Via chitruy sua 00h — 1h day thanh ghi SO “AKiCU uy xudtdt ligule Prue uép YQ AS Gidn tiep “ Phanh ghi 3] Chuong 2: Phan cing chip vi diéu khién 8051 Bang sé ligu dui diy minh hoa dia chi cia cdc 6 nho trong mot day vi cdc ky higu thanh ghi RO—R7 duoc gan cho timg 6 nho trong day tich cye Day 0 Day 1 Diiy 2 Dav 3 RO | 00h O8h TOR 18h | Ri [Oth doh {hn Toh R2 [02h OAR 12h [Ah R3 [03h OBR 3h TBR R4 [__ 04h OCh Tah TCh RS [05h ODh 15h TDh R6 | 06h OFh_ 16h TER R7[__O7h Orh 17h TFA Dia chi ctta cdc thanh ghi- (RO — R7) utong ting vi day thanh ghi tich cuc Luu ¥: O ché dé mie dinh thi day thanh ghi tich cue (dang duge su dung) la day 0) v thanh ghi trong day lan luot c6 tén la RO - R7. C6 thé thay ai day tich cue bang cach thay déi cae bit chon day thanh ghi RSI va RS) trong thanh ghi PSW (xen: phan thanh ghi PSW) Néu chuong trinh cua ta chi str dung day thanh ghi dau tién (day 0) thi ta c6 thé sit dung ving nhé 08h — 1Fh cho cac muc dich khac cua ta. Nhung neu trong chuong trinh cé str dung cae day thanh ghi (day /, 2 hodge 3) wi phai rat can than khi st dung vung nhé tt 1Fh tro xudng vi néu so suat ta cé thé ghi dit ligu dé lén cac thanh ghi RO ~ R7. Vi ay 1: Quan hé gitta ky hiéu thanh ghi R4 véi cde 6 nhé co dia chi tuong Thanh ghi R4 & O nhé 14h RAM ndi. h : Thanh ghi R4 @ O nhé [Ch RAM ni. Vi du 2: Khi chip 8051 Tie hign lénh MOV R4, #1Ah thi gid tri “1 Ah” sé due nap vao trong 6 nhé cé dia chi 1a bao nhigu thugc RAM ndi. Xét tuong tmg cho timg trudng hop day thanh ghi tich cuc 1a Day 0 va Day 3? Cheung 2: Phan cing chip vi die. MOV 4. #1Ah e- Diy tich euic ey _Dav3 tich eve N iy 2 ies (RAS IAD Miscicmroe — (R4VS TAh 1 cng c (04h) = LAD (Ch) =1Ah O4H[O[O[O{ NTO TTO]R4a = =1c [OfolOf 1 [Ol1[O}R4 MOV 04h. #1Ah MOV 1Ch. #1Ah Thanh ghi chire ning dic biét (SFR): ‘Thanh ghi chife Goém: 21 thanh ghi ning dic biét Dia chi truy xudt: 80Hh — FEh (SER) Kiéu tray xuat dé liéu True iép ‘Theo ting bit (uy theo thanh ghi) Luu y: Khéng, due phép doc hay ghi dit liéu vao cac dia chi SFR ma né chua duge dang ky (nghia la ede dia chi SFR chua diroe déit ten). Vi viée doc hay ghi dit ligu vao cae noi nay cd thé lam phat sinh nhimng hoat dong khéng mong muon ya dé cd thé Ja nguyén nhan lam cho chuong trinh cla ta khéng tuong thich voi cac phién ban sau ctia chip MCS-51 (cd thé 6 cae phién ban dé cde dia chi SFR nay duoe sie dung cho m6 vai mue dich khacy - Chi dwoe truy xuat cae SFR bing | eu dinh dia chi true tiép (tuyér doi khong sit dung kién dinh dia chi gidn tiép trong truong hop ny). Vidue Cho biét truéc (RO)=90h. Viét lénh dung dé xuat (ghi) gid tri SAh ra Port! nhur sau (xem gidi thich lénh trong “Chuong 3:Tap lénh cia 8051") Str dung kiéu dinh dia chi truc tiép MOY P1, #5AH hoic MOV 90H, #5AH Str dung kiéu dinh dia chi gidn tiép MOV @RO, #5AIT > SAI idu nay khong hop 1¢ doi voi chip 8051 vi phuong phap dinh dia chi nhu trén chi str dung cho ving nhé RAM ndi. Trong khi dé RAM ndi eda chip 8051 chi cd 128 byte (06 Uh — 7K ‘h), cho nén khi thyc hign énh nay né sé & kat qua khong xde dinh, (Liew ¥. néu ta ding phién ban chip 8052 thi s@ tranh duce dieu nay), oe Chuong 2: Phan cing chip vi diéu khién SOS 1 Thanh ghia: « Accumulator: th _ (bor | £7 [ks > Diachi byte: EOh 4 Dia chi bit: EOh - E7h * Cong dung: chifa dit liéu ctie ma vi diéu khién xit ly Thanh ghi A cde phép todin Thanh ghi B: 7 (KO) FS ral 3 {F2] FL > Diachi byte: Dia chi bit: Oh - F7h Céng dung: sti dung két hgp vdi thanh ghi A trong phép nhdn va chia hai s6 8 bit Thanh ghi B + Phép nhan 2 s6 8 bit khong dau > két qua 1a 86 16 bit - Byte cao —» chuta vao thanh ghi B - Byte thap > chwa vao thanh ghi A ia 2 sO 8 bit > thuong sé v - Thuong s6 + chita vao thanh ghi A chia vao thanh ghi B én phép tinh 12h x 2Ah. Hoi (Aj=?. (By=? 80 du la s6 8 bit - Sb du Vidu: Thue t 12h “2Ah a (A)= F4h 2 4 (By= 02h TIFT (Boise > (A) A6Gb{2 1h sae ALS Sh (B)=0th Oh ——> (A) idu: Vhye hién phép tinh PDh : OCh. Hoi (Ay ?. (By? FDbLOCh (A) = 15h x 13h (B)=0h 3D “T+ (A) Cc Oth (B) bao c6 nhd/muon tai bit 7. © CY = 0: néu khéng 6 nho tw bit 7 hodc khGng co mugn cho bit 7 e CY = 1: néu co nhe tt bit 7 hode cd muyn cho bit 7 Co AC (Auxiliary Carry): 6 nhé phu + bao c6 nhé/mugn tai bit 3. © AC — 0: néu khong cé nhé ur bit 3 hodc khéng cd mugn cho bit 3. © AC = 1: néucé nhé tr bit 3 hode e6 mugn cho bit 3. - Co FO (lag 0): eb vero > 6 nhicu mye dich danh cho cac tmg dung khae nhau eda ngudyi lap trinh (die wi cho cde phién ban chip trong trong lai) a Chwong 2: Phan cirng chip vi diéu khién 8051 - Bit RSO, RS! (Register Select): bit chon day thanh ghi —> cho phép xéc dint: day thanh ghi tich cuc (hay day ree eine ma cde thank ahi co tén la RO-. RY). RSL | _RSO_ _ROS RT 7 fl 00h 07h 08h —> OFh 7 10h 17h [Ht 7 “18h > IFh y tran —» bdo két qua tinh todn cla phép toan so n trong khoang tir -128 dén +127 hay khéng. -128 néu két qua < -128 hode két qua > +127. Noi cach khde la, déi voi phép cong thi OV=1 néu c6 nhé tt bit 7 nhumg khong 6 nhé tir bit 6 hode néu c6 nho ty bit 6 nhung khéng 6 nhé tr bit 7. Doi voi phép wit thi OV=1 néu c6 muon cho bit 7 nhung khéng cé muon cho bit 6 hode néu cé muon bit 6 nhung khéng cd muon bit 7. - COOV (Overflow hoe (phép todn c6 ddu) c6 ni F| 36 10000001 Bt 1 DUONG as bid 82 \ DAU DO LON 11 110 — al 1111 1111 D7 [D6 [D5] D4 [D3] D2 [di] DO so 0 0000 0000 a AM 1 0000 0001 keds sbpv2cta rs 2 0000 0010 Kidu didn rodn hang & bit cv du wee Atta +126 OLN 1110 Being Ur ké cde sO & bit cd dtu. 4427 OMA LLL - CoP (Parity): co chin lé > bao sé chit sé 1 trong thanh ghi A la sd chan hay s6 le (trong chip 8051 sit dung ché 6 parity chan). * P=0: néu sé chit so | trong thanh ghi A la 86 chn (parity chan). * P= 1: néu sé chit sé | trong thanh ghi A 1a $6 Ié (parity chan). Vi du: Minh hoa cach 8051 biéu dién sé -5, Giai Cae bude thuc hién: Bl: 00000101 — Biéu dién s6 5 dang nhi phan 8 bit. B2 1111 1010 dy bu 1 B3 1111 1011 Lay bu 2. 8051 Vay sé FBh 1a biéu dién sé dang bit 2 cua 36 -5. Vi du: Minh hoa cach 8051 biéu dién s6 -34h. Cac bude thue hién: Bl: 0011 0100 B2; 1100 1011 1 B3: 1100 1100 Lay bu 2 Vay sé CCH 1a biéu dién s6 e6 déu dang bi 2 ctia $6 -3411. Vi du: Minh hoa cach 8051 biéu dian sé -128. Cae bude thue hién: Bl: 1000 0000 Bieu dién sé -128 dang nhi phan 8 bit. B2: ONL 111 Lay bu 1. B3. 1000 0000 ay bu 2. Vay 86 8011 1a biéu dién s6 c6 dau dang bd 2 cua 96 -128. Vi du: Minh hoa trang thai hoat dong cua ede co CY. AC, OY va P khi thuc hién phép cOng/trir s6 hoc hai gid tri vi nhau. Cae ky hiéu @ CSohs / cS mugn © Khdngnhé —/ khong mugn 2 Tuy thude trang thdi tude dé *Conho (CY) Minh hoa hoat dang cua cd CY trong truong hop CY = 1 Trudng hop phép cong: Kiéu BIN Chuong 2: Phan cing chip si diéu khién S051 Hrudng hyp phép cong: CY=1 Kiéu BIN Xet ed CY rong hai wuding hop °7Ad + 28h" va “9Ab-S Dh” ‘Trudny hop * 744280" y\ f \*\ Qaeeeeeod0d ’ DoT Ti Tio ipo] B Lolo Poti Toyopol B Lipotifopopoy iyo) B Kiéu BIN CY=0 Hrudng hop “94h - SDh” cY=0 cy=0 OPP Ti ToT To) B Lol Pot tftp Topi] B Ce O Ce AAA, X Kiéu BIN \A_ kiéu HEX Cs H Net co CY ony hai trudng hop “95h + 86h" va “00h - A6h™ lruong hop “95h + 86h" 1D Clarong 2 Phen cing chip vi diéu khién 8051 arama a er (eR ar LoToTotiTifoti tb Kiéu BIN Kiéu HEX Trung hop “00h = 46h" cy=1 cy=i [oToTopoToToToyo] B Wt CPoT Topo tf oy B H we ARE Kiéu BIN Wa Kiéu HEX (oT ToT To] B * CO nhGe phi (AC) Minh hoa hoat dong cua co AC trong ruong hyp AC — 1 Hrudng hop phep cong: Kiéu BIN Kiéu HEX Chong 2 Phan eing chip vi dieu khién 8051 Irudng hop phép tri: AC=1 Xe co AC trong hai trudng hop “92h + 28h" va “dh - Eh Truong hop “92h + 28h" 999909000 -, eo Lo [on [eo Tt 0)" LoToT Toi foTojo] B PifovitiTtfoyifo) B Kicu BIN AC=0 ‘Trudng hop “44h - Eh": AC=0 AC=0 ‘ooo p | “A CE 8 A ce B Xetco AC trong hai truong hop “7Ah + 59h” va “97h - SDh™ Irudng hop “74h + 59h" Chiwong 2: Phan cing chip vi diéu khién 8051 ° HOW ole) Ur B Ti ToTifovop iyi) B Kiéu BIN AC=1 Truong hop “974 - SDh” AC=1 op DD Loli fPovi fifi fot] B 5 @000 SAR Kigu BIN LoToT iti fifoti fo] B ® Co man (OV) Minh hoa hoat déng cia co OV trong trudng hop OV ~ | Truong hop phép cong Kiéu BIN Clnrong 2: Phan cing chip vi dieu khién SOS [rrdng hop phep trtr OV=1 Nel co OV trong cae inréng hop “B3h + 25h", ~BBh + CIN” “BBh - dhe Li ABh - Fh" Jruong hop “Bh + 25h" faa ° IWS huong 2: Phin cig ip vi digw kien S051 frudny hop “BBA + Con" BODDD. OD (Gin s Corr B Kiéu , BBh 2 C9h 4 ; “124 Irvong hop “BBh - 96h" O =0 L CORTE 8 oO =0 “ERO = ee ees or 1 Kiéu LoToT TT Op op poy B ae BBh 69 ~ 96h i “-106 a “IT lruong hop “4Bh - £3h 0 =0 CoTTTopeT ops] B “EO B @eeoo090 taka \A\a Kicu CD OD EE 4Bh 15 “3h j RB Re Chwong 2. Phan cig chip vi diéu khién 8051 Xét cd OV trong cdc trudng hop “S3h + 45h", “82h + BAN, va “66h - DAl” ‘Trudmg hop “S3h + 45h” obs oo HON GOP B , 3 RRR LTOp ops ToT Oyo] Kiéu 53h a 83 45h 69 Trudng hop “82h + BAh™ + ¥\ fio 000080 CUT TepoT TT] B e CRETE TTT] B A Kiéu 82h 126 BA * 70 = er Truong hop “9h = 3Eh" CERO 8 CET * TAAL © PORT O =I OV=1 _ 9Ah -102 3h ~ 62 — Ter GAN ~ 3 EK Chuong 2: Phan cting chip vi diéu khién 8051 ‘Truong hop “66h - DAh”: 0 =I COED EOO 6 POT OTT) Bro AP Oe : HET — Ms 66h + 102 DAh -38 " C6 Parity (P) Xét 6 P trong cée trudng hop “(A) = 45H", “(A) = ETH, “(A) = OOP Truong hop “(A) = 45h” [OTTO] A = 45h (DPT) = O11 va (DPL) = 230 Vi du: Khi ta muén truy xuat (doc) byte ma tir mot 6 nhé thuge ROM trong ¢6 dia chi 14 OABCh thi ta phai lam sao nap duoc gid tri OABCh vao thanh vhi DPTR va sau dé thye hién lénh tuy xudit MOVE (xen: gidi thich Lenk rong “Chuong 3: Tap lénh cua 8051”). (DPTR) = 0ABCh < (DPh) = 0Ah va (DPL) = BCh Thanh ghi port xuat nhap Port: cong xudt nhdp 80h [87 [86 | 85 | 84 [83 | 82 [81 [80 | PO ethane von [97 [96 Tos Toa T93 [92 Lor Loo] Ps PORT " AOh LAZ LAG LAS | Ad [A3 1 A217 AL LAO | P2 Boh | B7 | B6 | BS | B4 | B3 | B2 | BI | BO] P3 + Dia chi byte: 80h (PO), 90h (P1), AOh (P2), BOh (P3) 4 ia chi bit: 80h - 87h (PO), 90h — 97h (P1), AOh - ATh (P2 1 BOh - B7h (P3) Céng dung: chifa dif liéu hién tai tén cde port xudt nhap 4 Luu ¥: Trong trudng hop phan cimy co str dung ROM hose RAM bén ngoai thi ta khéng thé sur dung Port 0 va Port 2 dé xuat nhap dér liu. Vi khi do chip 8051 sé str dung hai port nay dé xde dinh dia chi va dit cho bé nhé ngoai. Khi dd, ta chi co thé str dung Port 1 va Port 3 dé xudt nhap dit ligu. O ché dé mae dinh (Ahi reset) thi tat ca cdc chan cla cac port (PO ~ P3) duge edu hinh la port xudt dit ligu. Mudn cac chan port cua chip 8015 lam 48 Chitong 2° Phan cing chip v licu khién S051 port uhap dit lieu thi ta can phai duoc 1p trinh lai. bang cach ghi mute logic cao (mie 1) dén tat ca cde bit (cde chan) cua port wurde khi bat dau nhap dir bu tr port. Vi du 1 Moat dong xuat (ghi) va nhap (doe) dit ligu tai cae chan port (Port 0) cua chip 8051 (ven hin minh hoa hén dui) ¢ /inh phia tradi: Minh hga trang thai hoat dong etia port khi thu hién Inh xudt (gh) dir ligu ra Port 0 cua chip 8051. © Hinh phia phai: Minh hoa trang thai hoat d6ng cua port khi thye hién 1énh nhap (doc) dit liu tt Port 0 etia chip 8051. +¥e« : : +Vec @ UD sing LED af py Nhin SW & Nhi sw FORTS 92m Nhap gi ti tir Port 0 poe vio chip 8051 1 P07+ (P0)=CAH (P0)=92H = Xudt gid ui CAH 1 (1100)010B) chip = 8051 ra Port 0. Vi dy 2: Doan chuong trinh dudi day sé cAu hinh cho Port 0 lam port ahap (doc) dit liu. Sau dé lign tue doe dir liéu tir port nay va giti dir Ligu dé dén Port 1 (xem gidi thich lénh trong “Chuong 3: Tap lénh cia 8051”): MOV PO, #0FFh 3 BACK: MOV A, PO ; MOV PILA 3 SJMP BACK 3 Lap lai Vi du 3; Doan chuong trinh duci day sé thye hién cac thao tae sau (vem giat thich lénh trong “Chuwong 3: Tap lénh etia 8051") © Lién tuc kiém tra bit P1.2 cho dén khi bit nay bang | © Khi P1.2 = 1, hay xuat (gi) gia wi 48h ra PO © Gui mot xung mite cao Wi PLS SETB P12 3 Cau hinh P12 lam ngé vao JNB PI2.8 3 Kiem tra lien tue néu P12 0 MOV PO, #45h 3 Xuat gia try 45h ra PO SETR PLS 3 Dua PES len cao ror dua P13 CLR P13 3; Sung thap dé tao xung 49 ang chip vi diéu khién 8031 Charong 2: Phe ‘Thanh ghi port noi ti¢p ¢ detial Buffer: bO dm port noi iép eT nee | a Dia chi byte: 99h ‘Thanh ghi SBUL 4 Pia chi bit: kh6ng dinh dia chi bit 4 Céng dung: chifa di liéu cén truyén ra ben ngoai hay dit ligu nhdn di nngoai dudi dang noi tip Serial Control khien en por noi Hep — 98h | 9F | 9 Jo | 9c] 91 [ 98 [9a] 99 [98] scon Thanh ghi SMO SMI SMa REN TBS RBS TT RI SCON « Dia chi byte: 98h 4 Dia chi bit: 98h-9Fh 1 Cong dung: bio trang thai va diéu khiGn qua uinh hoat dong cia port néi tiép txem them tong “Chuong 5: Hoat ding cia port noi tiép.”) Thanh ghi dinh thoi: « Timer 0: B6 dinh thei 0 | ~ 8Ch I TH TM é a FLO * Dia chi byte: 8Ch va 8Ah * Pia chi bit: khong dinh dia chi bit ¥ Cong dung: 1a thanh ghi b6 dinh thsi 16, bit (THO + TLO), chifa gid Ui hién tai etia b6 dinh thai O Chuong 2: Phén cing chip vi diéu khién 8051 Thanh ghi TIMER | Thanh ghi TMOD Thanh ghi TCON a Timer 1: B6 dinh thoi | + 8Dh 8Bh * Pia chi byte: 8Dh va 8Bh * Dia chi bit: khong dinh diz THI TLI chi bit * Céng dung: 14 thanh ghi b6 dinh thai 16 bit (TH! + TLD, chifa gid wi hién tai eta bé dinh théi 1 « Timer Mode: Ché dé bé dinh thai « 89h _ TMO G C\ Mi MO G C\ MI M0 * Dia chi byte: 89h * Dia chi bit: khéng dinh dia chi + Céng dung: gui dinh ché dé hoat déng cho ca b6 dinh thoi TO va TL « Timer SO « 88h 8Bl_8A | 89 | 88) TCON OTR IE1 ITI TEO 1TO IR TF * Dia chi byte: * Dia chi bit: 88h - 8Fh ‘ Céng dung: béo trang thai va diéu khién qué trinh hoat ddng cla hai b6 dinh thoi TO va Tl (xem thé irong “Chwong 4: Hoat déng ciia b6 dinh théi.”) 51 ligt Al Chuong 2: Phan cting chip. Thanh ghi ngat: « Interrupt Enable nién SOT - cho phép ngat | 5 _ « Ah [AF AC[AB[AATA9TA8] VE | Phanh ghi EA x ox ES ETIEXIEXO ETO | IE “ Dia chi byte: A8h * Dia chi bit: A8h-AFh ‘ Céng dung: cho phép hodc khong cho p! 2 hoat dong (ting ngat riéng ré hoac tat cd cac ng « Interrupt Priority: uu tin ngat | ; B8h 31 BALB9 BS Ir. Thanh ghi x x x PS PTI PX1I PTO PXO IP * Dia chi byte: B8h | * Dia chi bit: B8h-BCh | | 1 Céng dung: thiét lip mite wu tién cho cae ngat at én thap hoae uu tién cao) (xem thém trong “Chuong 6: Hoat ding ngiit.”) Thanh ghi diéu khién ngudn « Power Control: diéu tkhién ngudn 87h [J POT] Peon Thanh ghi PCON SMOD x x Dia chi byte: 87h * Pia chi bit: khong d © Cong dung: diéu ki di¢u khién ché don dren them trong “Charong 52 - Bit SMOD (Serial Mode) > che ligu noi tiép (de dé hand) khi SMOD = 59 x GFLEGEO PD IDI inh dia chi bit Paes ap m ; hién toe do baud eta port noi up. gudn gidm va ché d6 nghi cia chip Hoat dong cua port nai tiép”) © phép tang wap déi te dd wuyén ol I. cing chip vi diéu khién S05} - Bit GFL, G¥O (General Function) > cho phép ngudi lap trinh ding voi mue dich riéng (dy it? cho cde phién ban chip trong tong lai). - Bit PD {Power Down) —> dig dé qui dinh ché dé ngudn giam - Bit IDL (ddic) > ding dé qui dinh ché dé nghi. « Mach dao dong trén chip ngifng hoat dong Ché do ¢ Mor chifc ning ngtfng hoat dong, ngudn giam > Noi dung cla RAM wén chip duge duy ti (PD = 1) * Cac chan port duy tri mife logic ctia chting * ALE=0, PSEN\=0, Vee =2V ‘Thoat khoi ch€ dé bang céch reset hé thong ¥: H¢ thong phai phuc hoi Vee = 5V tude khi thoat khoi che do ngudn giam. « Mach dao déng trén chip ngting hoat dong Céic chife nang, nyt, dinh thai va port ndi tiép con hoat d6ng * NOi dung ctia RAM trén chip due duy tri Ché d6 nghi i (IDL = 1) * Cae chan port duy tri mee logic ctta chang VALE=1,PSEN\=1, Vee=5V q Phodt khoi ché do bing cach reset hodc bing cach cho phép ngat 2. BO nhé ngoai - Chip 8051 cho ta kha nang mo rong: + Khong gian bo nho chuong trinh lén dén 64 kB + Khong gian b6 nho dir ligu lén dén 64 kB - Khi sir dung bd nhé ngoai: + Port 0 > bus dia chi byte thap va bus dit ligu da hop (4D0-4D7) + Port 2 > bus dia chi byte cao (48-A/5) + Port 3 > cdc tin higu diéu khién (WR), RD\) - Sukhae nhau gitta da hop va khéng da hop bus dia chi va bus dir liéu khién 8051 Chwong 2: Phan cing chip vi d. A0-A7 A8-AIS D0-D7 bDirlig ‘ Khong da hop (24 duong) Da hdp (16 dudng) > nhim lam gidm sé luong chan dua ra ngoai chip > giam kich thue cua chip. Két néiva truy xuat b6 nhoé chwong trinh ngoai 8051 ROM 64KB PSEN\ Truy xuat b6é nhé chugng trinh bén ngoai

You might also like