Bai giang ly thuyet vi xu ly 1

38 383 0
Bai giang ly thuyet vi xu ly 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Bi 1: T chc h vi x lý 1.1 Khỏi nim, cu to, hỡnh dỏng vi x lý 1.1.1 Khỏi nim vi x lý Trong h vi x lý: thỡ thnh phn quan trng nht ú l b chớp vi x lý u tiờn ta s tỡm hiu v b vi x lý Khỏi nim: Vi x lý l linh kin in t s, c ch to t cỏc transitor thu nh tớch hp lờn trờn mt vi mch tớch hp n úng vai trũ quan trng nht vic tớnh toỏn x lý tớn hiu iu khin h thng Cỏc transitor tớch hp vo cú th lờn ti hng triu lm tng hiu sut tớnh toỏn ca vi x lý Linh kin in t s l linh kin hot ng tớnh toỏn da trờn bit nh phõn 0,1, khỏc vi linh kin s dng tớn hiu in tng t Ta cú th bt gp b chớp vi x lý hu ht cỏc thit b in t nh: Mỏy tớnh laptop, tivi, in thoi, mỏy nh Nh kớch thc nh gn v hiu sut lm vic cao cỏc b chớp vi x lý ó lm thu nh kớch thc ca cỏc thit b in t Vớ d: - Nhng chic TV en trng ngy xa mn hỡnh nh nhng kớch thc b ngang rt dy gi thỡ mn hỡnh to v kớch thc b ngang rt mng - Hoc nhng chic in thoi ngy xa rt to nh nhng cc gch Ngy thỡ rt nh gn lũng bn tay m y cỏc tớnh nng gii trớ ng dng mụn hc: - Mụn hc vi x lý ng dng rt nhiu thc t n gin nh hin th ốn led ( s dng lm cỏc bin qung cỏo ốn led), - Lp trỡnh hot ng ốn giao thụng, hot ng iu khin thang mỏy cỏc nh cao tng - Lp trỡnh iu khin robot cỏc cuc thi robocon ( c t chc hng nm) 1.1.2 Hỡnh dng vi x lý - B chớp vi x lý u tiờn : Intel 4004 GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý - B vi x lý h 80586 ca Intel sn sut: - B chớp vi x lý hin i ngy : Nh b vi x lý Core I3, Core I5 s dng cỏc mỏy tớnh cỏ nhõn hoc cỏc b vi x lý Dragon 820 ca Qualcomm, Tegra ca Nvidia s dng cỏc in thoi smart phone A.S dng cỏc mỏy tớnh cỏ nhõn B.S dng cỏc in thoi Smart Phone 1.2 S lc cu trỳc v hot ng ca h vi x lý to thnh mt h vi x lý hon chnh, b vi x lý cn phi kt hp vi cỏc bụ phn in t khỏc nh b nh v cỏc b phi ghộp vo/ra Cn lu rng mỏy vi tớnh ch l mt nhng ng dng c th ca h vi x lý Di õy l s tng quỏt ca mt h vi x lý: GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Trong s ny ta thy cỏc chc nng chớnh ca h vi x lý gm cú: + Khi x lý trung tõm (Central Processing Unit, CPU) + B nh RAM-ROM (Memory) + Khi phi ghộp vi cỏc thit b ngoi vi (Input/Output, I/O) + Cỏc bus truyn thụng tin gia cỏc 1.2 Mt h vi x lý n gin thc t Vớ D: B mỏy vi tớnh ca chỳng ta l mt h vi x lý cú: CPU n v x lý trung tõm ( ngoi thng gi l Core I3, Core I5) B nh ram ( 1G ram hay G ram) Thit b u vo: bn phớm, chut Thit b u ra: mn hỡnh hin th, loa, mỏy in Nguyờn tc hot ng ca h : Cỏc chng trỡnh phn mm s c np vo b nh chng trỡnh, h vi x lý hot ng n v x lý trung tõm ly cỏc lnh b nh qua h thụng bus thc thi tớnh toỏn sau ú cỏc kt qu tớnh toỏn qua h thng bus c a ti mch ghộp cỏc thit b ngoi vi giao tip ngi dựng hoc iu khin hot ng bờn ngoi GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý 1.3 Chc nng cỏc phn cng h vi x lý: 1.3.1 Khi x lý trung tõm (CPU, cũn gi l b vi x lý): úng vai trũ ch o h vi x lý (Ging nh b nóo ca ngi) Khi hot ng, nú c mó lnh c ghi di dng cỏc bit v t b nh, sau ú nú s gii mó cỏc lnh ny thnh dóy cỏc xung iu khin ng vi cỏc thao tỏc lnh iu khin cỏc khỏc thc hin tng bc cỏc thao tỏc ú lm c vic ny bờn CPU cú cỏc ghi (ụ nh): ghi tr lnh IP dựng cha a ch ca cỏc lnh sp thc hin, cỏc ghi tr v ch s, cỏc ghi a nng cựng b tớnh toỏn s hc v logic (ALU, Arithmetic and Logic Unit) thao tỏc vi d liu Ngoi bờn CPU cũn cú cỏc h thng mch in t rt phc gii mó lnh v t ú to cỏc xung iu khin cho ton h (D liu s c chuyn sang dng s bit 0,1 sau ú np vo cỏc ghi tng ng, thụng qua h thng bus d liu a n ALU Ti õy s thc cỏc phộp tớnh nhp phn cng, tr, nhõn, chia v cỏc phộp logic AND,OR,NOT Kt qu s c lu vo ghi tm Tt c cỏc hot ng trờn u c hot ng tun t theo iu khin ca n v iu khin CU.) 1.3.2 B nh bỏn dn hay cũn gi l b nh trong: L mt b phn rt quan trng ca h vi x lý B nh bỏn dn gm cú ROM v RAM ROM dựng cha chng trỡnh iu khin ca ton h, bt in CPU s ly lnh t õy ng h thng RAM cha mt phn chng trỡnh iu khin h thng, cỏc chng trỡnh ng dng, d liu v cỏc kt qu ca chng trỡnh Cỏc d liu v chng trỡnh mun lu tr lõu di s c b nh ngoi (a t, bng t) Khi hot ng CPU s ly cỏc lnh RAM thc hin, bi vy cỏc chng trỡnh mun CPU thc hin phi c a vo RAM B nh c t chc thnh cỏc ụ nh cú di (s bit) bng nhau, mi ụ nh c gỏn mt a ch c nh v nht ( B nh ROM (Read Only Memory): l b nh c ch to bi cỏc ic nh, nú cha cỏc chng trỡnh ng v chng trỡnh iu khin giỳp cho vi x lý hot ng, cỏc chng trỡnh ny c lu tr sn t mi ch to b nh B nh RAM (Random Access Memory) : õy l b nh ghi c ngu nhiờn, b nh ny l khụng gian lu tr v trao i cỏc d liu tm thi quỏ trỡnh b vi x lý hot ng.) 1.3.3 Khi mch ghộp vi cỏc thit b vo/ra (I/O) L b phn giao tip gia h vi x lý vi th gii bờn ngoi Cỏc thit b ngoi vi nh bn phớm, chut, mn hỡnh, mỏy in, a t, u liờn h vi h vi x lý qua b phn ny Mi giao din vi mt thit b bờn ngoi gi l cng Cú loi cng: cng vo v cng ra, cng vo ly thụng tin t ngoi vo v cng a thụng tin t h ngoi Nu nhỡn t CPU thỡ I/O cú th xem nh b nh, mi cng cú mt a ch c nh v cú th c d liu vo hoc ghi d liu cng (Cỏc thit b ngoi vi u vo thng c s dng h vi x lý l: cm bin, bn phớm, nỳt bm iu khin Chc nng giỳp ngi dựng nhp cỏc s liu, hoc cỏc lnh iu khin vi h vi x lý Cỏc thit b u thng l mn hỡnh hin th, cỏc ốn led, ng c, loa Chc nng giỳp hin th cỏc thụng s h thng, iu khin hot ng c hc bờn ngoi.) 1.3.4 H Thng Bus L mt nhúm cỏc ng dõy dn in truyn tớn hiu gia cỏc h Cỏc ng dõy ny gi chung l bus h thng Bus h thng gm cú ba bus thnh phn: bus a ch truyn ti tớn hiu a ch, bus d liu truyn ti tớn hiu d liu v bus iu khin truyn ti tớn hiu iu khin GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý ( cỏc cú th liờn kt trao i vi cn hp cỏc ng dõy dn kt ni cỏc li vi nhau, õy c coi nh mch mỏu ca h, chỳng c gi l h thng bus.H thng bus gm loi chớnh ú l - Bus iu khin - Bus d liu - Bus a ch + Bus iu khin kt ni CPU vi b nh v thit b ngoi vi Bus iu khin cú nhim v truyn ti cỏc tớn hiu iu khin h thng hot ng nhp nhng, cỏc tớn hiu iu khin õy thng l cỏc tớn hiu chu kỡ ng b cỏc nhp chuyn ng + Theo nh s thỡ bus d liu cú nhim v truyn d liu ly t b nh a n CPU, hoc cỏc d liu u vo t thit b ngoi vi n CPU T ú CPU s cú d liu tớnh toỏn + Bus a ch cú nhim v truyn mó a ch ca mt v trớ no ú khụng gian b nh ti CPU CPU s cn c vo a ch ny cú th c v ghi d liu vo b nh ỳng v trớ ú.) + Bus a ch thng cú t 16, 20, 24 n 32 ng dõy song song chuyn ti cỏc bit a ch (mi ng dõy chuyn mt bit) Khi c/ghi b nh hoc cng I/O CPU s a trờn bus ny a ch ca ụ nh hay cng I/O cn c/ghi Kh nng phõn bit a ch ca CPU (s a ch m CPU cú kh nng qun lý) ph thuc vo s bit ca bus a ch S bit ca bus a ch l n thỡ kh nng phõn bit a ch ca CPU l 2n a ch khỏc Vớ d, bus a ch cú 20 bit thỡ CPU cú kh nng phõn bit a ch l 220 = M a ch khỏc Cn lu ý l ch CPU mi cú kh nng a a ch trờn bus a ch, bi vy trờn s bus a ch cú mt chiu i t CPU ti cỏc khỏc + Bus d liu thng cú t 4, 8, 16, 32 n 64 ng dõy song song tựy thuc vo b vi x lý c th Cỏc ng dõy ny chuyn ti tớn hiu d liu gia cỏc h S lng ng dõy ny quyt nh s bit d liu m CPU cú kh nng x lý cựng mt lỳc Trờn s bus d liu cú hai chiu ch rng d liu cú th truyn i t CPU (d liu ra) hoc truyn n CPU (d liu vo) + Bus iu khin thng gm hng chc ng dõy song song truyn ti cỏc tớn hiu iu khin khỏc Mi tớn hiu iu khin truyn trờn mt ng dõy v cú mt chiu nht nh Vỡ hot ng CPU a tớn hiu iu khin ti cỏc khỏc h, ng thi nú cng nhn tớn hiu iu khin t cỏc ú phi hp hot ng Trờn s bus iu khin cú mi tờn chiu l th hin tớnh hai chiu ca c nhúm tớn hiu ch khụng phi mt tớn hiu 1.4 Tng quan phn mm h vi x lý Chng trỡnh phn mm giỳp cho h vi x lý cú th lm c mt cụng vic no ú theo ỳng yờu cu t Vớ d nh chng trỡnh m sn phm, hoc chng trỡnh hin th ốn led qung cỏo GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Vỡ h vi x lý l h thng mch in t s nờn d liu tớnh toỏn ca h di dng cỏc bit s 0,1 ú chng trỡnh phn mm iu khin hot ng ca h di dng s 0,1 õy c gi l chng trỡnh mó mỏy Cỏc chng trỡnh mó mỏy l di dng cỏc bit 0, dn n rt khú khn vic lp trỡnh th nờn ngi ó ngh cỏch t cỏc t hp bớt 0,1 thc hin mt chc nng c bn thnh lnh gi nh, v hp cỏc lnh gi nh ny c gi l chng trỡnh hp ng (Asembly) Cỏc chng trỡnh hp ng ch phc v cho cỏc cụng vic n gin, thc hin nhng bi toỏn lp hn ngi li t nhng chng trỡnh hp ng thc hin cụng vic nh thnh lnh ca ngụn ng cp cao Tp hp cỏc lnh ca ngụn ng cp cao c gi l chng trỡnh lp trỡnh ngụn ng bc cao Mt s ngụn ng lp trỡnh bc cao l ngụn ng Pascal, ngụn ng C, C++ Hin ti ngi ta thng dựng ngụn ng C lp trỡnh vi x lý Trong mụn hc ny thy s gii thiu ngụn ng lp trỡnh hp ng (Asembly) vỡ ngụn ng ny mụ t gn vi hot ng ca vi x lý nht.==> t ú lm cho cỏc em rừ hn hot ng thc thi lnh ca h vi x lý, vi iu khin GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Bi Vi iu khin 2.1 Khỏi nim vi iu khin Bi trc ta ó hc v b vi x lý v h vi x lý B vi x lý thng s dng cỏc h thng ln, cú kh nng vt bc so vi cỏc h thng khỏc v kh nng tớnh toỏn, x lý.vớ d: mỏy tớnh cỏ nhõn Tuy nhiờn cú mt h vi x lý cn phi kt ni b vi x lý vi cỏc nh b nh, mch giao tip ngoi vi khỏ phc Do ú s dng nhng bi toỏn nh, chi phớ thp thỡ ngi ta ch to mt loi chip mi ú l chip Vi iu khin Cỏc nh ch to tớch hp mt ớt b nh v mt s mch giao tip ngoi vi cựng vi vi x lý vo mt IC nht c gi l Microcontroller-Vi iu khin Vi iu khin cú kh nng tng t nh kh nng ca vi x lý, nhng cu trỳc phn cng dnh cho ngi dựng n gin hn nhiu Cú th núi thỡ vi iu khin l mt h vi x lý n gin c tớch hp mt b vi x lý vi mt b nh dung lng nh v mt s mch giao tip ngoi vi c bn thớch hp iu khin nh (Khi ú mch in vi iu khin khỏ n gin, cụng vic chớnh l lp trỡnh gii quyt yờu cu t ra) - Phõn bit gia vi iu khin v h vi x lý: Data bus CPU GeneralPurpose Microprocessor RAM ROM I/O Port Timer CPU RAM ROM I/O Timer Serial COM Port Serial COM Port Address bus (a) General-Purpose Microcessor System (b) Microcontroller Mt s loi chip vi iu khin thc t: Cú rt nhiu hóng sn sut chip vi iu khin nh: chip vi iu khin PIC 16F877A ca Microchip, chip 8051 ca hóng Intel, AVR, AT89Trong mụn hc ny gii thiu loi chip vi iu khin thụng dng thc t ú l Chip PIC 16F877A, Chip 8051 ca Intel 2.2 ng dng vi iu khin Mt s ng dng c bn thnh cụng cú th k sau õy: - c s dng nhiu cỏc iu khin nh nh iu khin nhit , iu khin ng c, iu khin ốn giao thụng, iu khin cỏc hot ng t ng nh ca vo úng m t ng, hot ng thang mỏy cỏc nh cao tng - Giỏ thnh rt thp khin cho chỳng c nhỳng vo rt nhiu thit b thụng minh i sng ngi nh ti vi, mỏy git, iu hũa nhit , mỏy nghe nhc,in thoi di ng, mỏy in, GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý 2.3 Cu trỳc chung ca vi iu khin Vi iu khin l mt h vi x lý n gin nờn cu trỳc ca vi iu khin tng t nh cu trỳc ca h vi x lý bao gm cỏc thnh phn c bn sau: - B nh Read Only Memory (ROM) Read Only Memory (ROM) l mt loi b nh c s dng lu vnh vin cỏc chng trỡnh c thc thi - Random Access Memory (RAM) Random Access Memory (RAM) l mt loi b nh s dng cho cỏc d liu lu tr tm thi v kt qu trung gian c to v c sdng quỏ trỡnh hot ng ca b vi iu khin Ni dung ca b nh ny b xúa mt ngun cung cp b tt - Cỏc ghi chc nng c bit (SFR) Thanh ghi chc nng c bit (Special Function Registers) l mt phn ca b nh RAM Mc ớch ca chỳng c nh trc bi nh sn xut v khụng th thay i c Cỏc bit ca chỳng c liờn kt vt lý ti cỏc mch vi iu khin nh b chuyn i A/D, modul truyn thụng ni tip Mi s thay i trng thỏi ca cỏc bit s tỏc ng ti hot ng ca vi iu khin hoc cỏc vi mch - B m chng trỡnh (PC:Program Counter) B m chng trỡnh cha a ch ch n ụ nh cha cõu lnh tip theo s c kớch hot Sau mi thc hin lnh, giỏ tr ca b m c tng lờn Vỡ lý ú nờn chng trỡnh ch thc hin c c tng lnh mt thi im - Central Processor Unit (CPU) n vi x lý trung tõm õy l thnh phn quan trng nht vi iu khin, ging nh b nóo ngi,cú nhim v iu khin v giỏm sỏt tt c cỏc hot ng bờn vi iu khin v ngi s dng khụng th tỏc ng vo hot ng ca nú - Cỏc cng vo/ra (I/O Ports) vi iu khin cú th hot ng hu ớch, nú cn cú s kt ni vi cỏc thit b ngoi vi Mi vi iu khin s cú mt hoc mt s ghi (c gi l cng) c kt ni vi cỏc chõn ca vi iu khin Chỳng c gi l cng vo/ra (I/O port) bi vỡ chỳng cú th thay i chc nng, chiu vo/ra theo yờu cu ca ngi dựng - B dao ng (Oscillator) B dao ng úng vai trũ nhc trng lm nhim v ng b húa hot ng ca tt c cỏc mch bờn vi iu khin Nú thng c to bi thch anh hoc gm n nh tn s Cỏc lnh khụng c thc thi theo tc ca b dao ng m thng chm hn, bi vỡ mi cõu lnh c thc hin qua nhiu bc Mi loi vi iu khin cn s chu k khỏc thc hin lnh ( i vi vi iu khin PIC 16F877A thỡ chu kỡ lnh bng chu k b dao ng) - B nh thi/m (Timers/Counters) Hu ht cỏc chng trỡnh s dng cỏc b nh thi hot ng ca mỡnh Chỳng thng l cỏc ghi SFR (Special Function Registers) hoc 16 bit, sau mi xung dao ng clock, giỏ tr ca chỳng c tng lờn Ngay ghi trn, mt ngt s c phỏt sinh - Truyn thụng ni tip Kt ni song song gia vi iu khin v thit b ngoi vi c thc hin qua cỏc cng vo/ra l gii phỏp lý tng vi khong cỏch ngn vi Tuy nhiờn cn GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý truyn thụng gia cỏc thit b khong cỏch xa thỡ khụng th dựng kt ni song song, vỡ vy truyn thụng ni tip l gii phỏp tt nht Ngy nay, hu ht cỏc vi iu khin cú mt s b iu khin truyn thụng ni tip Nh mt trang b tiờu chun Chỳng c s dng ph thuc vo nhiu yu t khỏc nh: - Bao nhiờu thit b vi iu khin mun trao i dliu - Tc trao i dliu - Khong cỏch truyn - Truyn/nhn dliu ng thi hay khụng? - Chng trỡnh phn mm Khụng ging nh cỏc mch tớn hiu in tng t, ch cn kt ni cỏc thnh phn vi v bt ngun l cú th hot ng, vi iu khin cn phi lp trỡnh trc vit mt chng trỡnh cho vi iu khin, cú mt vi ngụn ng lp trỡnh cú th s dng nh Assembly, C hay Basic (Mụn hc ny s gii thiu ngụn ng Asembly lp trỡnh) Vit mt chng trỡnh bao gm vic vit cỏc cõu lnh n gin theo mt th t chỳng cú th thc thi yờu cu t Cú rt nhiu phn mm chy trờn mụi trng Windows cho phộp xõy dng cỏc chng trỡnh hon chnh cho cỏc h vi iu khin (Vớ d: Notepad ++) Cỏc mch in ca h vi x lý, vi iu khin thng khỏ n gin, nờn quan trng nht i vi ngi hc vi x lý, vi iu khin l kh nng lp trỡnh gii quyt bi toỏn t Cỏc bc lp trỡnh s dng ngụn ng Asembly trờn mỏy tớnh: S dng phn mm son tho (Vớ d : Phn mm Notepad ++) son chng trỡnh dng ngụn ng Asembly c file cú uụi (.asm) Sau ú dựng chng trỡnh biờn dch (Asembler) Biờn dch ngụn ng asembly sang dng chng trỡnh mó mỏy ( cỏc bớt s 0,1).Vớ d: Chng trỡnh MP LAP (Va son chng trỡnh va biờn dch v np vo mch np) Kt ni b mch np vi mỏy tớnh Sau ú np chng trỡnh mó mỏy vo vi x lý (vi iu khin) Vớ d mch np: KIT PICDEM2 PLUS (S dng cho chip PIC16F877A) GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Bi Vi iu khin PIC 16F877A 3.1 Gii thiu vi iu khin PIC 16F877A L b vi iu khin ca hóng MicroChip sn sut PIC bt ngun t ch vit tt ca Programmable Intelligent Computer (Mỏy tớnh thụng minh kh trỡnh) PIC 16F877A gm 35 lnh cú mi lnh di 14 bit Mi lnh u c thc thi mt chu kỡ mỏy (bng chu k ca b dao ng), ngoi tr cỏc lnh r nhỏnh thỡ mt chu k lnh, s dng ngun in 5V Gm b nh chng trỡnh Flash cha chng trỡnh ca ngi lp trỡnh ( Dng bit s 0,1), b nh d liu (RAM) khụng gian lu tr cỏc kt qu tớnh toỏn quỏ trỡnh vi iu khin hot ng õy l hỡnh dng ca b vi iu khin Cú nhng u im sau: - D dng tỡm mua trờn th trng Vit Nam - Giỏ thnh r - H tr t nh sn sut tt ( phn mm mụ phng, phn mm lp trỡnh, biờn dch, b mch np ) - Cng ng ngi s dng b vi iu khin ny Vit Nam ln GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý - Lnh EQU (Lnh ny dựng gỏn tờn cho cỏc ghi mc ớch chung) Cỳ phỏp: EQU Tỏc dng: Gỏn giỏ tr cho tờn ca tờn ca hng s Tờn ca hng s khụng thay i quỏ trỡnh thc thi chng trỡnh 4.1 Cu trỳc chng trỡnh lp trỡnh vi iu khin Mt chng trỡnh Assembly bao gm nhiu thnh phn nh chng trỡnh ngt, chng trỡnh di õy l mt chng trỡnh c bn nht: ; Chng trỡnh khụng cú s dng ngt PROCESSOR 16F877A ; Khai bỏo dựng VI IU KHIN gỡ? # INCLUDE ; ớnh kốm file cú sn th viờn ORG 0000H ; a ch Vect Reset GOTO MAIN ; Nhy n nhón ORG 0004H ; a ch vector Ngt GOTO MAIN ; Nhy n nhón MAIN - CHN BANK - CHN I/O -GOTO $ END ; Da vo ghi Status chn bank phự hp ; Da vo mc ớch thit k, chn ngừ vo/ra phự hp ; Thc thi chng trỡnh ; Vũng lp vụ hn, lm vi iu khin luụn hot ng ; Kt thỳc chng trỡnh Vớ d: Vit chng trỡnh xut chõn RB7 mc cao PROCESSOR 16F877A #INCLUDE ORG 0000H BCF STATUS,6 ; Chn bank0 BCF STATUS,5 ; Chn bank0 CLRF PORTB ; Xúa PORTB BSF STATUS,5 ; Chn bank1 BCF TRISB,7 ; Khai bỏo RB7 l output BCF STATUS,5 ; Tr li bank0 BSF PORTB,7 ; Set RB7 mc cao GOTO $ ; To vũng lp vụ hn END bit khai bỏo I/O nh th no? Chỳng ta cú th nm cỏch thc khai bỏo I/O s lc vit nhng chng trỡnh c th nh sau: - Thanh ghi TRISA chn tớnh I/O cho PORTA - Thanh ghi TRISB chn tớnh I/O cho PORTB - Thanh ghi TRISC chn tớnh I/O cho PORTC - Thanh ghi TRISD chn tớnh I/O cho PORTD - Thanh ghi TRISE chn tớnh I/O cho PORTE Cỏch chn cng khỏ n gin: GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Mun xỏc lp chc nng ca mt chõn PORTA l input, ta "set" bit iu khin tng ng vi chõn ú ghi TRISA v ngc li, mun xỏc lp chc nng ca mt chõn PORTA l output, ta "clear" bit iu khin tng ng vi chõn ú ghi TRISA.Thao tỏc ny hon ton tng t i vi cỏc PORT v cỏc ghi iu khin tng ng TRIS (i vi PORTA l TRISA, i vi PORTB l TRISB, i vi PORTC l TRISC, i vi PORTD l TRISD v i vi PORTE l TRISE) Vớ d: Chỳng ta mun RA1 l output, RA0 l input BCF TRISA,1 BSF TRISA,0 Tng t, RB5 l input, RB7 l output BSF TRISB,5 BCF TRISB,7 GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Bi Vi iu khin Intel 8051 4.1 Tng quan vi iu khin 8051 Vi iu khin 8051 l vi iu khin u tiờn ca h vi iu khin MCS51 Intel sn sut vo nm 1980 H MCS51 cú c im x lý bit, cú 64 KB b nh chng trỡnh v 64 KB b nh d liu Vỡ 8051 l b vi x lý u tiờn nờn nú mang cỏc c trng ca h vi iu khin ny Sau ny mt s hóng sn sut khỏc sn sut cng da trờn cỏc c trng ny ú v kh nng hot ng x lý ca chỳng l ging cú cựng lnh Trong bi ny thy s gii thiu b vi iu khin AT89C51 Atmel sn sut õy l vi iu khin thuc h 8051 Do ú bi ny ta nghiờn c h vi iu khin 8051 vi i din l b vi iu khin AT89C51 ( - Trong nội dung đ-ợc học vi điều khiển họ 8051 với số lý nh-: Đây họ vi điều khiển phổ biến có lịch sử phát triển từ năm 1981, đ-ợc sử dụng rộng rãi có giá thành thấp Vi điều khiển họ 8051 có cấu trúc đơn giản, dễ việc lập trình, dễ dàng tìm kiếm tài liệu Học đ-ợc vi điều khiển 8051 thuận lợi để ta hc cỏc loi vi iu khin khỏc ) 4.1.1 S chõn vi iu khin 8051 Di õy l s chõn thc t ca h vi iu khin 8051 ( chip vi iu khin AT89C51 ) GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Bao gm 40 chõn * Chõn n 8: c gi l Cng (Port 1), Tỏm chõn ny cú nht chc nng l xut v nhp Cng cú th xut v nhp theo bit hoc byte Ta ỏnh tờn cho mi chõn ca Port l P1.X (X = n 7) * Chõn 9: l chõn vo reset ca 8051 Khi tớn hiu chõn ny c a lờn mc cao thỡ vi iu khin b reset ( chng trỡnh vi iu khin thc thi li) * Chõn 10 n 17: c gi l Cng (Port 3) Tỏm chõn ny ngoi chc nng l xut v nhp nh cỏc chõn cng (chõn n 8) thỡ mi chõn ny cũn cú chc nng riờng na, c th nh sau: * Chõn 18 v 19 (XTAL1 & XTAL2) Hai chõn ny c s dng ni vi b dao ng ngoi Thụng thng mt b dao ng thch anh s c ni ti cỏc chõn u vo XTAL1 (chõn 19) v XTAL2 (chõn 18) cựng vi hai t gm giỏ tr khong 30pF Mt phớa ca t in c ni xung t nh hỡnh trờn.( Tỏc dng n nh tn s ) Cỏc h thng xõy dng trờn 8051 thng cú tn s thch anh t 10 n 40 MHz, thụng thng ta dựng thch anh 12 Mhz * Chõn 20: c ni vo chõn 0V ca ngun cp * Chõn 21: n chõn 28: c gi l cng (Port 2) GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Tỏm chõn ca cng cú cụng dng, ngoi chc nng l cng xut v nhp nh cng thỡ cng ny cũn l byte cao ca bus a ch s dng b nh ngoi * Chõn 29 (PSEN): Chõn PSEN l chõn iu khin c chng trỡnh b nh ngoi, nú c ni vi chõn OE ca ROM ngoi cho phộp c cỏc byte mó lnh trờn ROM ngoi PSEN mc thp thi gian c mó lnh b nh chng trỡnh ngoi Khi thc hin chng trỡnh ROM ni thỡ PSEN c trỡ mc cao ( i vi chng trỡnh s dng c b nh v b nh ngoi thỡ c iu khin bi PSEN : PSEN = dựng b nh chng trỡnh ngoi PSEN= dựng b nh chng trỡnh B nh ngoi c kt ni thụng qua port ) Khi s dng c b nh chng trỡnh v b nh d liu bờn ngoi thỡ buc phi kt hp chõn RD v PSEN bi cng logic AND phõn bit tớn hiu truy xut d liu trờn ROM hay RAM ngoi ) * Chõn 30 (ALE): Chõn ALE cho phộp tỏch cỏc ng d liu v cỏc ng a ch ti Port v Port truy xut b nh ngoi Tớn hiu cht a ch trờn P0 ALE=1 Trờn nhúm cng P0 l tớn hiu a ch ALE=0 Trờn nhúm cng P0 l tớn hiu d liu * Chõn 31 (EA): Tớn hiu chõn EA cho phộp chn b nh chng trỡnh l b nh hay ngoi vi iu khin Nu chõn EA c ni mc cao (ni ngun Vcc), thỡ vi iu khin thi hnh chng trỡnh ROM ni Nu chõn EA mc thp (c ni GND) thỡ vi iu khin thi hnh chng trỡnh t b nh ngoi ( Chõn EA khai bỏo s dng b nh ngoi, chõn Psen iu khin hot ng c b nh ngoi) * Chõn 32 n 39: c gi l cng (Port 0) Cng gm chõn cng cú cụng dng, ngoi chc nng xut nhp, cng cũn l bus a hp d liu v a ch, chc nng ny s c s dng 8051 giao tip vi cỏc thit b ngoi cú kin trỳc Bus nh cỏc vi mch nh (Khi kt ni vi cỏc b nh m rng) GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Vỡ cng P0 l mt mỏng m khỏc so vi cỏc cng P1, P2 v P3 nờn cỏc chõn cng phi c ni vi in tr kộo s dng cỏc chõn ny nh chõn vo/ra in tr ny tựy thuc vo c tớnh ngừ vo ca thnh phn ghộp ni vi chõn ca port Thng ta dựng in tr kộo khong 4K7 n 10K (Port0 ch xi in tr kộo lờn ch I/O port thụi ú l vỡ Port0 cũn cú th dựng l Data bus v Bn thõn tr kộo lờn ngun lp ngoi ch cú tỏc dng lm khe port Vớ d Port mc 0, in ỏp cp t Vcc qua in tr 10k nh hn mc nờn port mc 0, port mc nhng phi ni vi thit b iu khin lm gim mc logic ú cn in ỏp Vcc qua in tr thỡ in ỏp xut tng ỳng mc logic 1) ( Do port bao gm ng a ch v ng d liu giao tip ram,rom cú l vỡ lớ ny nờn nú ko cú tr kộo bờn nờn mun dũng din a ỳng mc cn in tr kộo bờn ngoi (Cũn cỏc port khỏc cú in tr kộo bờn nờn cú th dựng hoc khụng dựng in tr kộo bờn ngoi) Port0 ch xi in tr kộo lờn ch I/O port thụi ú l vỡ Port0 cũn cú th dựng l Data bus v Bn thõn tr kộo lờn ngun lp ngoi ch cú tỏc dng lm khe port Vớ d Port mc 0, in ỏp cp t Vcc qua in tr 10k nh hn mc nờn port mc 0, port mc nhng phi ni vi thit b iu khin lm gim mc logic ú cn in ỏp Vcc qua in tr thỡ in ỏp xut tng ỳng mc logic 1) (Treo tr lờn ngun tng dũng xut cho vdk ú bn vỡ dũng ca kon 89 ny khong my uA chng lm c gỡ ht vỡ vy treo tr nhm nõng dũng cho vdk giỳp cú th kớch led hoc tran bng mc cũn nu khụng treo thỡ mỡnh ch kớch c bng mc thụi Mỡnh cựng ý kin vi trimen vi cỏc mch lm ca mỡnh in tr treo l 4.7k v mỡnh dựng thờm in tr 330ohm ni vi led cho an ton.) * Chõn 40: Chõn ngun ca vi iu khin, c ni vo chõn Vcc ca ngun - Chỳ ý: ( Chip AT89C51 cú cỏc tớn hiu iu khin cn phi lu ý nh sau: Tớn hiu vo /EA trờn chõn 31 thng t lờn mc cao ( +5V) hoc mc thp (GND) Nu mc cao, 8951 thi hnh chng trỡnh t ROM ni khong a ch GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý thp (4K hoc ti a 8k i vi 89C52) Nu mc thp, chng trỡnh c thi hnh t b nh m rng (ti a n 64Kbyte) Ngoi ngi ta cũn dựng /EA lm chõn cp in ỏp 12V lp trỡnh EEPROM 8051 - Chõn PSEN (Program store enable): PSEN l chõn tớn hiu trờn chõn 29 Nú l tớn hiu iu khin cho phộp chng trỡnh m rng, PSEN thng c ni n chõn /OE (Output Enable) ca mt EPROM hoc ROM cho phộp c cỏc bytes mó lnh Hóy nh rng : Bỡnh thng chõn /PSEN s c th trng ( No Connect) Ch no cho /EA mc thp thỡ lỳc ú: /PSEN s mc thp thi gian ly lnh b nh ngoi Cỏc mó nh phõn ca chng trỡnh c ly t EPROM qua bus d liu v c cht vo ghi lnh ca 8951 gii mó lnh /PSEN mc th ng (mc cao) nu thi hnh chng trỡnh ROM ni ca 8951 - ALE/ PROG (Address Latch Enable / Program): ALE/ PROG (chõn 30) cho phộp tỏch cỏc ng a ch v d liu ti Port truy xut b nh ngoi ALE thng ni vi chõn Clock ca IC cht (74373, 74573) Cỏc xung tớn hiu ALE cú tc bng 1/6 ln tn s dao ng trờn chip v cú th c dựng lm tớn hiu clock cho cỏc phn khỏc ca h thng Xung ny cú th cm bng cỏch set bit ca SFR ti a ch 8Eh lờn Khi ú, ALE ch cú tỏc dng dựng lnh MOVX hay MOVC Ngoi ra, chõn ny cũn c dựng lm ngừ vo xung lp trỡnh cho ROM ni ( /PROG ) - Cỏc chõn ngun: AT89C51 hot ng ngun n +5V Vcc c ni vo chõn 40, v Vss (GND) c ni vo chõn 20 ) B nh ngoi bao gm b nh chng trỡnh (iu khin c bng tớn hiu PSEN ) v b nh d liu (iu khin bng tớn hiu RD hay WR cho phộp c hay ghi d liu) Do s ng a ch ca MCS-51 l 16 bit (Port cha bit thp v Port cha bit cao ) nờn b nh ngoi cú th gii mó ti a l 64KB GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý 4.2 S mch hot ng ca vi iu khin Trong ú : - Vi iu khin s dng ngun Vcc = 5V - Mch reset v mch ngun s dng cỏc t hoỏ n nh in ỏp u vo cú s dao ng in ỏp cung cp - Port phi s dng in tr kộo ngun dựng chc nng xut/ nhp ca Port - Chõn EA luụn ni vi Vcc mc logic s dng b nh chng trỡnh ni vi iu khin - Mch Reset bỡnh thng mc nhn nỳt s cho mc ú vi iu khin b reset - Mch dao dng s dng t in ni dt n dnh tn s dao ng tng n nh tn s, ngi ta dựng thờm t nh C6, C7 (33pF x2), t bự nhit n tn Dựng cỏc t nh (t khụng phõn cc) cú cụng dng lc b cỏc tớn hiu nhiu vựng tn s cao - Do port bao gm ng a ch v ng d liu giao tip ram,rom cú l vỡ lớ ny nờn nú ko cú tr kộo bờn nờn mun dũng din a ỳng mc cn in tr kộo bờn ngoi (Cũn cỏc port khỏc cú in tr kộo bờn nờn cú th dựng hoc khụng dựng in tr kộo bờn ngoi) Port0 ch xi in tr kộo lờn ch I/O port thụi 4.3 T chc b nh 8051 Trờn vi iu khin 8051/8052 u cú c b nh chng trỡnh (ROM) v b nh d liu (RAM) Tuy nhiờn dung lng ca cỏc b nh trờn chip l hn ch Khi thit k cỏc ng dng ũi hi b nh ln ngi ta cú th dựng b nh ngoi GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý 4.3.1 B nh chng trỡnh ( B nh ROM ) B nh chng trỡnh l b nh ch c, l ni lu tr chng trỡnh ca vi iu khin B nh chng trỡnh ca h 8051 cú th thuc mt cỏc loi sau ROM, EPROM, FLASH hoc khụng cú b nh chng trỡnh trờn chip Vi h vi iu khin 89xx, b nh chng trỡnh c tớch hp sn chip cú kớch thc nh nht l 4kByte Vi cỏc vi iu khin khụng tớch hp sn b nh chng trỡnh trờn chip, buc phi thit k b nh chng trỡnh bờn ngoi a ch u tiờn ca b nh chng trỡnh l 0000H, chớnh l a ch reset ca vi iu khin Ngay bt ngun hoc reset vi iu khin, thỡ CPU s nhy n thc hin lnh a ch 0000H ny Khi s dng b nh trờn chip thỡ chõn EA phi c ni lờn mc logic cao (+5V) Nu bn mun m rng b nh chng trỡnh thỡ chỳng ta phi dựng b nh ngoi vi dung lng ti a l 64 Kbyte Tổ chức nhớ ROM chia làm ngăn nhớ với dung l-ợng ngăn byte ( bit ) 4.3.2 B nh d liu B nh d liu tn ti c lp so vi b nh chng trỡnh H vi iu khin 8051 cú b nh d liu tớch hp trờn chip nh nht l 128byte v cú th m rng vi b nh d liu ngoi lờn ti 64kByte B nh d liu c ỏnh a ch phõn chia nh sau: Vựng RAM a dng (a ch byte t 30h 7Fh), vựng cú th a ch húa tng bit (a ch byte t 20h 2Fh, gm 128 bit c nh a ch bit t 00h 7Fh), cỏc bank ghi (t 00h 1Fh) v cỏc ghi chc nng c bit (t 80h 0FFh) * Cỏc bng ghi cú a ch t 00H n 1FH ( S dng phi nh a ch trc tip hay giỏn tip - Gỏn tờn l giỏn tip, a ch thc t l trc tip) 32 byte thp ca b nh ni c dựng cho cỏc bng ghi (dóy ghi) B lnh GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý 8051 h tr ghi R0 n R7 v theo mc nh sau reset h thng, cỏc ghi ny cú cỏc a ch t 00H n 07H Do cú bng ghi nờn ti mt thi im ch cú nht bng ghi c truy sut bi cỏc ghi R0 - R7, thay i cỏc bng ghi thỡ ta thay i cỏc bit chn bng ghi trng thỏi PSW * Vựng RAM a ch húa tng bit cú a ch t 20h n 2Fh 8051 cha 210 v trớ bit c nh a ch ú 128 bit cha cỏc byte a ch t 20H n 2FH (16 byte x bit = 128 bit) v phn cũn li cha cỏc ghi c bit Ngoi 8051 cũn cú cỏc cng xut/nhp cú th nh a ch tng bit, iu ny lm n gin vic giao tip bng phn mm vi cỏc thit b xut/nhp n bit * Vựng RAM a dng cú a ch t 30h n 7Fh ( S dng phi nh a ch trc tip hay giỏn tip - Gỏn tờn l giỏn tip, a ch thc t l trc tip) Bt k v trớ nh no vựng RAM a mc ớch u cú th c truy xut t bng cỏch s dng cỏc kiu nh a ch trc tip hoc giỏn tip * Cỏc ghi chc nng c bit cú a ch t 80h n FFh Cng nh cỏc ghi t R0 n R7, ta cú 21 ghi chc nng c bit SFR chim phn trờn ca Ram ni t a ch 80H n FFH Cn lu ý l khụng phi tt c 128 a ch t 80H n FFH u c nh ngha m ch cú 21 a ch c nh ngha 4.3.3 Cỏc ghi chc nng c bit ( B nh d liu ) Thanh ghi ca 8051 c dựng lu tr tm thi d liu hoc a ch Cỏc ghi GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý ny ch yu cú kớch thc bit, bit ca cỏc ghi c sp xp nh hỡnh di ú bit D7 l bit cú trng s cao nht, cũn bit D0 l bit cú trng s thp nht Phn di õy, chỳng ta s nghiờn cu khỏi quỏt v cỏc ghi c bn ca 8051 Chi tit hot ng ca mi ghi, c s c tỡm hiu k hc lnh lp trỡnh A.Thanh ghi tớch lu(Accumulator) Thanh ghi tớch lu l ghi s dng nhiu nht AT89C51, c ký hiu cõu lnh l A Ngoi ra, cỏc lnh xlý bit, ghi tớch lu c ký hiu l ACC Thanh ghi tớch lu cú th truy xut trc tip thụng qua a ch E0h (byte) hay truy xut tng bit thụng qua a ch bit t E0h n E7h B Thanh ghi B Thanh ghi B dựng cho cỏc phộp toỏn nhõn, chia v cú th dựng nh mt ghi tm, cha cỏc kt qu trung gian Thanh ghi B cú a ch byte F0h v a ch bit t F0h F7h cú th truy xut ging nh ghi A C Thanh ghi cng P0 - P3 Cỏc port xut/nhp ca 8051 bao gm Port ti a ch 80H, Port ti a ch 90H, Port ti a ch A0H v Port ti a ch B0H Tt c cỏc port ny u cú th truy sut theo bit hoc theo byte GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý D Thanh ghi trng thỏi chng trỡnh PSW (PSW - Program Status Word) Thanh ghi trng thỏi chng trỡnh PSW (a ch: D0H) l ghi mụ t ton b trng thỏi chng trỡnh ang hot ng ca h thng Gii thớch chc nng tng bit ca trng thỏi chng trỡnh PSW * C nh CY (Carry Flag) - a ch D7h: c nh cú tỏc dng kộp (dựng cỏc phộp toỏn s hc v logic) Thụng thng nú c dựng cho cỏc lnh toỏn hc: C C c Set lờn nu phộp cng cú Bit nh t Bit (b trn) hoc phộp tr cú Bit mn cho Bit ( Thng c dựng cho cỏc lnh toỏn hc khụng du) Ngc li, c nh C = nu phộp cng khụng cú nh v phộp tr khụng cú mn d hỡnh dung, ta xem vớ d hỡnh di õy * C nh ph AC (Auxiliary Carry Flag) - a ch D6h: cng nhng giỏ tr BCD, c nh ph c Set lờn nu cú Bit nh t Bit (bit th 4) sang Bit * C (Flag 0) - a ch D5h: c l mt bit c a dng dựng cho cỏc ng dng ca ngi dựng C c lp ( Set = )khi kt qu phộp tớnh bng * Bit chn bng ghi RS1 v RS0 - a ch D4h & D3h: hai bit ny c dựng chn bng ghi R0, R1, R2 hay R3 Chỳng c xúa v chip b reset v c thit lp mc hay bng phn mm Tựy theo RS1, RS0 cú giỏ tr bng 00,01,10 hay 11 s chn c bng ghi tng ng Bng 0, Bng 1, Bng 2, Bng GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý * C trn OV (Overflow flag) - a ch D2h: c trn c thit lp (OV = 1) sau mt hot ng cng hoc tr nu cú s trn toỏn hc - Khi cỏc s cú du c cng hoc tr vi nhau, ta cú th dựng c ny kim tra xem kt qu cú nm gii hn xỏc nh khụng (-127, +128) - Khi cng hoc tr cỏc s khụng du thỡ c ny c b qua (dựng cho s nguyờn cú du) ( Tc l cng hoc tr cỏc s cú du, vi iu khin cú th kim tra bit ny xỏc nh di kt qu thớch hp Cỏc kt qu hn +127 hoc nh hn 128 s c lp OV * Bit PWS.1 - a ch D1h: bit c dựng cho ngi dựng nh ngha * C chn l P - a ch D0h: phn ỏnh s bit ghi A l chn hay l Nu ghi A cha mt s chn cỏc bớt thỡ P = cũn cha mt s l bit thỡ P = E Con tr ngn xp SP (Stack Point) Ngn xp chớnh l vựng b nh RAM c CPU s dng lu thụng tin tm thi Thụng tin ny cú th l d liu hoc a ch CPU cn cỏc ghi ny vỡ s cỏc ghi b hn ch Nh vy, cú th truy cp vo vựng nh ngn xp thỡ cn phi cú GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý ghi CPU tr n Thanh ghi SP ny s c dựng tr n ngn xp, nờn c gi l ghi tr ngn xp.Thanh ghi ny cú rng l bit, tc l ch cú th tr c cỏc a ch t 00h n FFh F Thanh ghi ngt (Interrupt register) Ngt (Interrupt) - nh tờn ca nú, l mt s s kin khn cp bờn hoc bờn ngoi b vi iu khin xy ra, buc vi iu khin tm dng thc hin chng trỡnh hin ti, phc v lp tc nhim v m ngt yờu cu nhim v ny gi l trỡnh phc v ngt (ISR: Interrupt Service Routine) thit lp ngt, ta s thit lp cỏc giỏ tr ghi cho phộp ngt IE a ch A8H, th t u tiờn ngt c t bng cỏch set cỏc bit ghi u tiờn ngt IP a ch B8h C hai ghi ny c nh a ch theo bit 4.3 Cỏc ch nh a ch ca 8051 - Khỏi nim: Ch nh a ch l cỏch m CPU tỡm thy toỏn hng mi cõu lnh Trong ú toỏn hng cú th l cỏc ghi, a ch ụ nh hay l hng s - Vi iu khin 8051 gm cú cỏc ch nh a ch sau: 4.3.4 Ch nh a ch tc thi - L ch m toỏn hng ngun l mt hng s, toỏn hng ớch l ghi hoc a ch ca ụ nh thuc RAM hoc ụ nh ngoi - Lu ý: Trc mi giỏ tr hng s phi cú du thng ( #) Vi giỏ tr hng s bt u l mt ch cỏi ( h Hexa ) thỡ ta phi thờm s khụng (0) trc giỏ tr ú - Vớ d: Mov A,#15 ;Np cho ghi A =15 Mov 30H,#10 ;ghi vo ụ nh thuc RAM cú a ch 30H vi giỏ tr =10 ( Lnh Mov l lnh di chuyn ) A Ch nh a ch ghi - L ch m ú c hai toỏn hng ( ngun v ớch ) u l ghi - Lu ý: Hai ghi phi cú cựng kớch thc, khụng di chuyn trc tip d liu gia hai ghi bng ghi - Vớ d: Mov A,R0 ;di chuyn ni dung ghi R0 sang ghi A Mov R0,R1 ;khụng hp l vi cựng nm trờn cựng bng ghi B Ch nh a ch trc tip - L ch m mt hai toỏn hng l a ch ca ụ nh thuc RAM - Lu ý: Giỏ tr a ch Ram ca vi iu khin 8051 t 0-127 byte ( 00H-7FH) - Vớ d: Mov A,30H ;chuyn ni dung ụ nh cú a ch 30H vo ghi A ;A=(30H) Mov 0,A ;chuyn ni dung ca ghi A vo ụ nh cú a ch l C Ch nh a ch giỏn tip - L ch m ú cỏc ghi c s dng nh a ch cho cỏc ụ nh thuc RAM hoc b nh ngoi - Cỏc ghi c s dng cú th l: R0,R1,DPTR V trc cỏc ghi cú ký t @ - Vớ d: Mov R0,#50 ;np R0=50 Mov A,@R0 ;Chuyn ni dung ca ụ nh RAM cú a ch l 50 vo A - Nu ta s dng R0 hoc R1 thỡ s khụng th truy cp giỏn tip n cỏc ụ nh cú a ch GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý ln hn 255 Chớnh vỡ th trng hp ny ta cú th s dng ghi: DPTR hoc PC - Vớ d: Mov DPTR,#1000 ;Tr DPTR ti ụ nh cú a ch 1000 Movx a,@DPTR ;chuyn giỏ tr ti ụ nh ngoi cú a ch l 1000 vo A D Ch nh a ch ch s - õy l ch c s dng riờng c d liu ti b nh ROM ca vi iu khin - Cỳ phỏp lnh nht l: Movc A,@A+DPTR ( Movc MOVE CODE ) - Lnh trờn thc hin c giỏ tr ti b nh ROM cú a ch l tng giỏ tr ca hai ghi: A+DPTR ri chuyn vo ghi A A=(A+DPTR) - Vớ d: Mov DPTR,#500 ;DPTR=500 Mov A,#5 ;A=5 Movc A,@A+DPTR ;A=(5+500) GV: Phm Vn Khoa [...]... h vi iu khin 80 51 ( chip vi iu khin AT89C 51 ) GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Bao gm 40 chõn * Chõn 1 n 8: c gi l Cng 1 (Port 1) , Tỏm chõn ny cú duy nht 1 chc nng l xut v nhp Cng 1 cú th xut v nhp theo bit hoc byte Ta ỏnh tờn cho mi chõn ca Port 1 l P1.X (X = 0 n 7) * Chõn 9: l chõn vo reset ca 80 51 Khi tớn hiu chõn ny c a lờn mc cao thỡ vi iu khin b reset ( chng trỡnh vi. .. TRISC, i vi PORTD l TRISD v i vi PORTE l TRISE) Vớ d: Chỳng ta mun RA1 l output, RA0 l input BCF TRISA ,1 BSF TRISA,0 Tng t, RB5 l input, RB7 l output BSF TRISB,5 BCF TRISB,7 GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Bi 4 Vi iu khin Intel 80 51 4 .1 Tng quan vi iu khin 80 51 Vi iu khin 80 51 l vi iu khin u tiờn ca h vi iu khin MCS 51 do Intel sn sut vo nm 19 80 H MCS 51 cú c im x lý 8 bit, cú... nh Mụn hc: Vi X Lý Thanh ghi trng thỏi cha cỏc trng thỏi s hc ca b ALU ( trong CPU ), trng thỏi Reset v cỏc bit chn Bank ca b nh d liu Bit 7 IRP: Bit la chn bank thanh ghi (S dng cho nh a ch giỏn tip) 1 = Bank 2, 3 (10 0h 1FFh ) 0 = Bank 0, 1 (00h FFh) Bit 6 5: RP1 RP0: Bit la chn bank thanh ghi (Dựng trong nh i ch trc tip) 11 = Bank 3 ( 18 0h 1FFh) 10 = Bank 2 (10 0h 17 Fh) 01 = Bank 1 (80h FFh)... về vi điều khiển họ 80 51 với một số lý do chính nh-: Đây là họ vi điều khiển phổ biến và đã có lịch sử phát triển từ năm 19 81, cho đến nay nó vẫn đang đ-ợc sử dụng rộng rãi và có giá thành thấp Vi điều khiển họ 80 51 có cấu trúc đơn giản, rất dễ trong vi c lập trình, dễ dàng tìm kiếm tài liệu Học đ-ợc vi điều khiển 80 51 rất thuận lợi để ta hc cỏc loi vi iu khin khỏc ) 4 .1. 1 S chõn vi iu khin 80 51 Di... khụng cú Vớ d: BSF PORTB,2; RB2 =1 - Lnh ANDLW Cỳ phỏp: ANDLW k Tỏc dng: Thc hin phộp toỏn AND gia d liu lu tr trong thanh ghi W v giỏ tr k, kt qu c lu trong thanh ghi W GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý Bit trng thỏi: Z Chỳ ý: And cỏc bit tng ng Vớ d: MOVLW 11 11 0000b ANDLW 0 011 11 11b; W = 0 011 0000b - Lnh ANDWF Cỳ phỏp: ANDWF f,d ; (d [0 ,1] ) Tỏc dng: Thc hin phộp toỏn AND... thi li) * Chõn 10 n 17 : c gi l Cng 3 (Port 3) Tỏm chõn ny ngoi chc nng l xut v nhp nh cỏc chõn cng 1 (chõn 1 n 8) thỡ mi chõn ny cũn cú chc nng riờng na, c th nh sau: * Chõn 18 v 19 (XTAL1 & XTAL2) Hai chõn ny c s dng ni vi b dao ng ngoi Thụng thng mt b dao ng thch anh s c ni ti cỏc chõn u vo XTAL1 (chõn 19 ) v XTAL2 (chõn 18 ) cựng vi hai t gm giỏ tr khong 30pF Mt phớa ca t in c ni xung t nh hỡnh... v 64 KB b nh d liu Vỡ 80 51 l b vi x lý u tiờn nờn nú mang cỏc c trng ca h vi iu khin ny Sau ny mt s hóng sn sut khỏc sn sut cng da trờn cỏc c trng ny do ú v kh nng hot ng x lý ca chỳng l ging nhau do cú cựng tp lnh Trong bi ny thy s gii thiu b vi iu khin AT89C 51 do Atmel sn sut õy l vi iu khin thuc h 80 51 Do ú bi ny ta nghiờn c h vi iu khin 80 51 vi i din l b vi iu khin AT89C 51 ( - Trong nội dung này... X Lý Bi 4 Tp lnh v cu trỳc chng trỡnh lp trỡnh vi iu khin PIC 4 .1 Tp lnh vi iu khin PIC 16 F877A Vi iu khin PIC 16 F877A cú 35 lnh, c phõn chia thnh 3 nhúm c bn sau: - Nhúm lnh thao tỏc trờn bit - Nhúm lờnh thao tỏc trờn byte - Nhúm lnh iu khin Mi lnh c mó húa thnh 14 bớt c lu vo b nh chng trỡnh vi x lý Mi lnh vi iu khin thc thi trong 1 chu k lnh, nhng i vi lnh thay i thanh ghi PC ( nh lnh CALL, GO TO... SUBWF f,d ; ( d [0 ,1] ) Tỏc dng: Ly giỏ tr trong thanh ghi f em tr cho thanh ghi W Kt qu c lu trong thanh ghi W nu d=0 hoc thanh ghi f nu d =1 Bit trng thỏi: C, DC, Z - Lnh INCF Cỳ phỏp: INCF f,d ; (d [0 ,1] ) Tỏc dng: Tng giỏ tr thanh ghi f lờn 1 n v Kt qu c lu vo thanh ghi W nu d = 0 hoc thanh ghi f nu d = 1 Bit trng thỏi: Z Vớ d: MOVLW 10 MOVWF COUNT ;COUNT =10 INCF COUNT ,1 ; COUNT =11 - Lnh DECF Cỳ phỏp:... dựng C 0 c lp ( Set = 1 )khi kt qu phộp tớnh bng 0 * Bit chn bng thanh ghi RS1 v RS0 - a ch D4h & D3h: hai bit ny c dựng chn bng thanh ghi R0, R1, R2 hay R3 Chỳng c xúa v 0 khi chip b reset v c thit lp mc 1 hay 0 bng phn mm Tựy theo RS1, RS0 cú giỏ tr bng 00, 01, 10 hay 11 s chn c bng thanh ghi tng ng Bng 0, Bng 1, Bng 2, Bng 3 GV: Phm Vn Khoa Trng: Trung Cp CN&TT Nam nh Mụn hc: Vi X Lý * C trn OV (Overflow

Ngày đăng: 23/09/2016, 16:35

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan