logo

Giáo trình vi điều khiển 8051 P1

Các bộ vi điều khiển 8051 Trong mục này chúng ta bàn về nhu cầu đối với các bộ vi điều khiển và so sánh chúng với các bộ vi xử lý cùng dạng nhu Pentium và các bộ vi xử lý x86 khác
Ch­¬ng I C¸c bé vi ®iÒu khiÓn 8051 1.1 c¸c bé vi ®iÒu khiÓn vµ c¸c bé xö lý nhóng. Trong môc nµy chóng ta bµn vÒ nhu cÇu ®èi víi c¸c bé vi ®iÒu khiÓn (V§K) vµ so s¸nh chóng víi c¸c bé vi xö lý cïng d¹ng chung nh­ Pentium vµ c¸c bé vi xö lý ´ 86 kh¸c. Chóng ta cïng xem xÐt vai trß cña c¸c bé vi ®iÒu khiÓn trong thÞ tr­êng c¸c s¶n phÈm nhóng. Ngoµi ra, chóng ta cung cÊp mét sè tiªu chuÈn vÒ c¸ch lùa chän mét bé vi ®iÒu khiÓn nh­ thÕ nµo. 1.1.1 Bé vi ®iÒu khiÓn so víi bé vi xö lý cïng dïng chung Sù kh¸c nhau gi÷a mét bé vi ®iÒu khiÓn vµ mét bé vi xö lý lµ g×? Bé vi xö lý ë ®©y lµ c¸c bé vi xö lý c«ng dung chung nh­ hä Intell ´ 86 (8086, 80286, 80386, 80486 vµ Pentium) hoÆc hä Motorola 680 ´ 0(68000, 68010, 68020, 68030, 68040 v.v...). Nh÷ng bé VXL nµy kh«ng cã RAM, ROM vµ kh«ng cã c¸c cæng vµo ra trªn chÝp. Víi lý do ®ã mµ chóng ®­îc gäi chung lµ c¸c bé vi xö lý c«ng dông chung. Data bus CPU CPU RAM ROM General- Serial Purpose RAM ROM I/O Timer COM Micro- Port Port Serial processor I/O Timer COM Port Address bus (a) General-Purpose Microcessor System (b) Microcontroller H×nh 1.1: HÖ thèng vi xö lý ®­îc so s¸nh víi hÖ thèng vi ®iÒu khiÓn. a) HÖ thèng vi xö lý c«ng dông chung b) HÖ thèng vi ®iÒu khiÓn Mét nhµ thiÕt kÕ hÖ thèng sö dông mét bé vi xö lý c«ng dông chung ch¼ng h¹n nh­ Pentium hay 68040 ph¶i bæ xung thªm RAM , ROM, c¸c cæng vµo ra vµ c¸c bé ®Þnh thêi ngoµi ®Ó lµm cho chóng ho¹t ®éng ®­îc. MÆc dï viÖc bæ xung RAM, ROM vµ c¸c cæng vµo ra bªn ngoµi lµm cho hÖ thèng cång cÒnh vµ ®¾t h¬n, nh­ng chóng cã ­u ®iÓm lµ linh ho¹t ch¼ng h¹n nh­ ng­êi thiÕt kÕ cã thÓ quyÕt ®Þnh vÒ sè l­îng RAM, ROM vµ c¸c cæng vµo ra cÇn thiÕt phï hîp víi bµi to¸n trong tÇm tay cña m×nh. §iÒu nµy kh«ng thÓ cã ®­îc ®èi víi c¸c bé vi ®iÒu khiÓn. Mét bé vi ®iÒu khiÓn cã mét CPU (mét bé vi xö lý) cïng víi mét l­îng cè ®Þnh RAM, ROM, c¸c cæng vµo ra vµ mét bé ®Þnh thêi tÊt c¶ trªn cïng mét chÝp. Hay nãi c¸ch kh¸c lµ bé xö lý, RAM, ROM c¸c cæng vµo ra vµ bé ®Þnh thêi ®Òu ®­îc nhóng víi nhau trªn mét chÝp; do vËy ng­êi thiÕt kÕ kh«ng thÓ bæ xung thªm bé nhí ngoµi, cæng vµo ra hoÆc bé ®Þnh thêi cho nã. Sè l­îng cè ®Þnh cña RAM, ROM trªn chÝp vµ sè c¸c cæng vµo - ra trong c¸c bé vi ®iÒu khiÓn lµm cho chóng trë nªn lý t­ëng ®èi víi nhiÒu øng dông mµ trong ®ã gi¸ thµnh vµ kh«ng gian l¹i h¹n chÕ. Trong nhiÒu øng dông, vÝ dô mét ®iÒu khiÓn TV tõ xa th× kh«ng cÇn c«ng suÊt tÝnh to¸n cña bé vi sö lý 486 hoÆc thËm chÝ nh­ 8086. Trong rÊt nhiÒu øng dông th× kh«ng gian nã chiÕm, c«ng suÊt nã tiªu tèn vµ gi¸ thµnh trªn mét ®¬n vÞ lµ nh÷ng c©n nh¾c nghiªm ngÆt h¬n nhiÒu so víi c«ng suÊt tÝnh to¸n. Nh÷ng øng dông th­êng yªu cÇu mét sè thao t¸c vµo - ra ®Ó ®äc c¸c tÝn hiÖu vµ t¾t - më nh÷ng bit nhÊt ®Þnh. V× lý do nµy mµ mét sè ng­êi gäi c¸c bé xö lý nµy lµ IBP (“Itty-Bitty-Processor”), (tham kh¶o cuèn “Good things in small packages are Generating Big product opportunities” do Rick Grehan viÕt trªn t¹p BYTE th¸ng 9.1994; WWW. Byte. Com ®Ó biÕt vÒ nh÷ng trao ®æi tuyÖt vêi vÒ c¸c bé vi ®iÒu khiÓn). §iÒu thó vÞ lµ mét sè nhµ s¶n xuÊt c¸c bé vi ®iÒu khiÓn ®· ®i xa h¬n lµ tÝch hîp c¶ mét bé chuyÓn ®æi ADC vµ c¸c ngo¹i vi kh¸c vµo trong bé vi ®iÒu khiÓn. B¶ng 1.1: Mét sè s¶n phÈm ®­îc nhóng sö dông c¸c bé vi ®iÒu khiÓn ThiÕt bÞ néi thÊt gia V¨n phßng « t« ®×nh §å ®iÖn trong nhµ §iÖn tho¹i M¸y tÝnh hµnh tr×nh M¸y ®µm tho¹i M¸y tÝnh §iÒu khiÓn ®éng c¬ M¸y ®iÖn tho¹i C¸c hÖ thèng an Tói ®Öm khÝ C¸c hÖ thèng an toµn toµn ThiÕt bÞ ABS C¸c bé më cöa ga-ra M¸y Fax §o l­êng xe Lß vi sãng HÖ thèng b¶o mËt M¸y tr¶ lêi M¸y sao chôp §Ýòu khiÓn truyÒn M¸y Fax M¸y in lazer tin M¸y tÝnh gia ®×nh M¸y in mµu Gi¶i trÝ Tivi M¸y nh¾n tin §iÒu hoµ nhiÖt ®é TruyÒn h×nh c¸p §iÖn tho¹i tæ ong VCR Më cöa kh«ng cÇn M¸y quy camera ch×a kho¸ §iÒu khiÓn tõ xa Trß ch¬i ®iÖn tö §iÖn tho¹i tæ ong C¸c nh¹c cô ®iÖn tö M¸y kh©u §iÒu khiÓn ¸nh s¸ng M¸y nh¾n tin M¸y ch¬i Pootball §å ch¬i C¸c dông cô tËp thÓ h×nh 1.1.2 C¸c bé V§K cho c¸c hÖ thèng nhóng. Trong tµi liÖu vÒ c¸c bé vi xö lý ta th­êng thÊy kh¸i niÖm hÖ thèng nhóng (Embeded system). C¸c bé vi xö lý vµ c¸c bé vi ®iÒu khiÓn ®­îc sö dông réng r·i trong c¸c s¶n phÈm hÖ thèng nhóng. Mét s¶n phÈm nhóng sö dông mét bé vi xö lý (hoÆc mét bé vi ®iÒu khiÓn ®Ó thùc hiÖn mét nhiÖm vô vµ chØ mét mµ th«i. Mét m¸y in lµ mét vÝ dô vÒ mét viÖc nhóng v× bé xö lý bªn trong nã chØ lµm mét viÖc ®ã lµ nhËn d÷ liÖu vµ in nã ra. §iÒu nµy kh¸c víi mét m¸y t×nh PC dùa trªn bé xö lý Pentium (hoÆc mét PC t­¬ng thÝch víi IBM ´ 86 bÊt kú). Mét PC cã thÓ ®­îc sö dông cho mét sè bÊt kú c¸c tr¹m dÞch vô in, bé ®Çu cuèi kiÓm kª nhµ b¨ng, m¸y ch¬i trß ch¬i ®iÖn tö, tr¹m dÞch vô m¹ng hoÆc tr¹m ®Çu cuèi m¹ng Internet. PhÇn mÒm cho c¸c øng dông kh¸c nhau cã thÓ ®­îc n¹p vµ ch¹y. TÊt nhiªn lµ lý do hiÓn nhiªn ®Ó mét PC thùc hiÖn hµng lo¹t c¸c c«ng viÖc lµ nã cã bé nhí RAM vµ mét hÖ ®iÒu hµnh n¹p phÇn mÒm øng dông th­êng ®­îc ®èt vµo trong ROM. Mét m¸y tÝnh PC ´ 86 chøa hoÆc ®­îc nèi tíi c¸c s¶n phÈm nhóng kh¸c nhau ch¼ng h¹n nh­ bµn phÝm, m¸yin, Modem, bé ®iÒu khiÓn ®Üa, Card ©m thanh, bé ®iÒu khiÓn CD = ROM. Chuét v.v... Mét néi ngo¹i vi nµy cã mét bé vi ®iÒu khiÓn bªn trong nã ®Ó thùc hiÖn chØ mét c«ng viÖc, vÝ dô bªn trong mçi con chuét cã mét bé vi ®iÒu khiÓn ®Ó thùc thi c«ng viÖc t×m vÞ trÝ chuét vµ göi nã ®Õn PC B¶ng 1.1 liÖt kª mét sè s¶n phÈm nhóng. 4.1.3 C¸c øng dông nhóng cña PC ´ 86. MÆc dï c¸c bé vi ®iÒu khiÓn lµ sù lùa chän ­a chuéng ®èi víi nhiÒu hÖ thèng nhóng nh­ng cã nhiÒu khi mét bé vi ®iÒu khiÓn kh«ng ®ñ cho c«ng viÖc. V× lý do ®ã mµ nh÷ng n¨m gÇn ®©y nhÝÒu nhµ s¶n xuÊt c¸c bé vi sö lý c«ng dông chung ch¼ng h¹n nh­ Intel, Motorla, AMD (Advanced Micro Devices, Inc...). Vµ Cyric (mµ b©y giê lµ mét bé phËn cña National Senicon ductir, Inc) ®· h­íng tíi bé vi xö lý cho hiÖu suÊt cao cña thÞ tr­êng nhóng. Trong khi Intel, AMD vµ Cyrix ®Èy c¸c bé xö lý ´ 86 cña hä vµo cho c¶ thÞ tr­êng nhóng vµ thÞ tr­êng m¸y tÝnh PC ®Ó b¸n th× Motorola vÉn kiªn ®Þnh gi÷ hä vi xö lý 68000 l¹i chñ yÕu h­íng nã cho c¸c hÖ thèng nhóng hiÖu suÊt cao vµ b©y giê Apple kh«ng cßn dïng 680 ´ trong c¸c m¸y tÝnh Macintosh n÷a. Trong nh÷ng n¨m ®Çu thËp kû 90 cña thÕ kû 20 m¸y tÝnh Apple b¾t ®Çu sö dông c¸c bé vi xö lý Power PC (nh­ 603, 604, 620 v.v...) thay cho 680 ´0 ®èi víi Macintosh. Bévi xö lý Power PC lµ kÕt qu¶ liªn doanh ®Çu t­ cña IBM vµ Motorola vµ nã ®­îc h­íng cho thÞ tr­íng nhóng hiÖu suÊt cao còng nh­ cho c¶ thÞ tr­êng m¸y tÝnh PC. CÇn ph¶i l­u ý r»ng khi mét c«ng ty h­íng mét bé vi xö lý c«ng dông chung cho thÞ tr­êng nhóng nã tèi ­u ho¸ bé xö lý ®­îc sö dông cho c¸c hÖ thèng nhóng. V× lý do ®ã mµ c¸c bé vi xö lý nµy th­êng ®­îc gäi lµ c¸c bé xö lý nhóng hiÖu suÊt cao. Do vËy c¸c kh¸i niÖm c¸c bé vi ®iÒu khiÓn vµ bé xö lý nhóng th­êng ®­îc sö dông thay ®æi nhau. Mét trong nh÷ng nhu cÇu kh¾t khe nhÊt cña hÖ thèng nhóng lµ gi¶m c«ng suÊt tiªu thô vµ kh«ng gian. §iÒu nµy cã thÓ ®¹t ®­îc b»ng c¸ch tÝch hîp nhiÒu chøc n¨ng vµo trong chÝp CPU. TÊt c¶ mäi bé xö lý nhóng dùa trªn ´ 86 vµ 680 ´ 0 ®Òu cã c«ng suÊt tiªu thu thÊp ngoµi ra ®­îc bæ xung mét sè d¹ng cæng vµo - ra, cæng COM vµ bé nhí ROM trªn mét chÝp. Trong c¸c bé xö lý nhóng hiÖu suÊt cao cã xu h­íng tÝch hîp nhiÒu vµ nhiÒu chøc n¨ng h¬n n÷a trªn chÝp CPU vµ cho phÐp ng­êi thiÕt kÕ quyÕt ®Þnh nh÷ng ®Æc tÝnh nµo hä muèn sö dông. Xu h­íng nµy còng ®ang chiÕm lÜnh thiÕt kÕ hÖ thèng PC. B×nh th­êng khi thiÕt kÕ bo m¹ch chñ cña PC (Motherboard) ta cÇn mét CPU céng mét chÝp - set cã chøa c¸c cèng vµo - ra, mét bé ®iÒu khiÓn cache, mét bé nhí Flash ROM cã chøa BIOS vµ cuèi cïng lµ bé nhí cache thø cÊp. Nh÷ng thiÕt kÕ míi ®ang khÈn tr­¬ng ®i vµo c«ng nghiÖp s¶n xuÊt hµng lo¹t. VÝ dô Cyrix ®· tuyªn bè r»ng hä ®ang lµm viÖc trªn mét chÝp cã chøa toµn bé mét m¸y tÝnh PC ngo¹i trõ DRAM. Hay nãi c¸ch kh¸c lµ chóng ta x¾p nh×n thÊy mét m¸y tÝnh PC trªn mét chÝp. HiÖn nay do chuÈn ho¸ MS - DOS vµ Windows nªn c¸c hÖ thèng nhóng ®ang sö dông c¸c m¸y t×nh PC ´ 86 . Trong nhiÒu tr­êng hîp viÖc sö dông c¸c m¸y tÝnh PC ´ 86 cho c¸c øng dông nhóng hiÖu suÊt cao lµ kh«ng tiÕt kiÖm tiÒn b¹c, nh­ng nã lµm rót ng¾n thêi gian ph¸t triÓn v× cã mét th­ viÖn phÇn mÒm bao la ®· ®­îc viÕt cho nÒn DOS vµ Windows. Thùc tÕ lµ Windows lµ mét nÒn ®­îc sö dông réng r·i vµ dÔ hiÓu cã nghÜa lµ viÖc ph¸t triÓn mét s¶n phÈm nhóng dùa trªn Windows lµm gi¶m gi¸ thµnh vµ rót ng¾n thêi gian ph¸t triÓn ®¸ng kÓ. 1.1.4 Lùa chän mét bé vi ®iÒu khiÓn. Cã 4 bé vi ®iÒu khiÓn 8 bit chÝnh. §ã lµ 6811 cña Motorola, 8051 cña Intel z8 cña Xilog vµ Pic 16 ´ cña Microchip Technology. Mçi mét kiÓu lo¹i trªn ®©y ®Òu cã mét tËp lÖnh vµ thanh ghi riªng duy nhÊt, nÕu chóng ®Òu kh«ng t­¬ng thÝch lÉn nhau. Còng cã nh÷ng bé vi ®iÒu khiÓn 16 bit vµ 32 bit ®­îc s¶n xuÊt bëi c¸c h·ng s¶n xuÊt chÝp kh¸c nhau. Víi tÊt c¶ nh÷ng bé vi ®iÒu khiÓn kh¸c nhau nh­ thÕ nµy th× lÊy g× lµm tiªu chuÈn lùa chän mµ c¸c nhµ thiÕt kÕ ph¶i c©n nh¾c? Cã ba tiªu chuÈn ®Ó lùa chän c¸c bé vi ®iÒu khiÓn lµ: 1) §¸p øng nhu cÇu tÝnh to¸n cña bµi to¸n mét c¸ch hiÖu qu¶ vÒ mÆt gi¸ thµnh vµ ®Çy ®ñ chøc n¨ng cã thÓ nh×n thÊy ®­îc (kh¶ dÜ). 2) Cã s½n c¸c c«ng cô ph¸t triÓn phÇn mÒm ch¼ng h¹n nh­ c¸c tr×nh biªn dÞch, tr×nh hîp ng÷ vµ gì rèi. 3) Nguån c¸c bé vi ®iÒu khiÓn cã s½n nhiÒu vµ tin cËy. 1.1.5 C¸c tݪu chuÈn lùa chän mét bé vi ®iÒu khiÓn. 1. Tiªu chuÈn ®Çu tiªnvµ tr­íc hÕt tronglùa chän mét bé vi ®iÒu khiÓn lµ nã ph¶i ®¸p øng nhu cÇu bµi to¸n vÒ mét mÆt c«ng suÊt tÝnh to¸n vµ gi¸ thµnh hiÖu qu¶. Trong khi ph©n tÝch c¸c nhu cÇu cña mét dù ¸n dùa trªn bé vi ®iÒu khiÓn chóng ta tr­íc hÕt ph¶i biÕt lµ bé vi ®iÒu khiÓn nµo 8 bit, 16 bit hay 32 bit cã thÓ ®¸p øng tèt nhÊt nhu cÇu tÝnh to¸n cña bµi to¸n mé tc¸ch hiÖu qu¶ nhÊt? Nh÷ng tiªu chuÈn ®­îc ®­a ra ®Ó c©n nh¾c lµ: a) Tèc ®é: Tèc ®é lín nhÊt mµ bé vi ®iÒu khiÓn hç trî lµ bao nhiªu. b) KiÓu ®ãng vá: §ã lµ kÝÓu 40 ch©n DIP hay QFP hay lµ kiÓu ®ãng vá kh¸c (DIP -®ãng vá theo 2 hµng ch©n. QFP lµ ®ãng vá vu«ng dÑt)? §©y lµ ®iÒu quan träng ®èi víi yªu cÇu vÒ kh«ng gian, kiÓu l¾p r¸p vµ t¹o mÉu thö cho s¶n phÈm cuèi cïng. c) C«ng suÊt tiªu thô: §iÒu nµy ®Æc biÖt kh¾t khe ®èi víi nh÷ng s¶n phÈm dïng pin, ¾c quy. d) Dung l­îng bé nhí RAM vµ ROM trªn chÝp. e) Sè ch©n vµo - ra vµ bé ®Þnh thêi trªn chÝp f) Kh¶ n¨ng dÔ dµng n©ng cÊp cho hiÖu suÊt cao hoÆc gi¶m c«ng suÊt tiªu thô. g) Gi¸ thµnh cho mét ®¬n vÞ: §iÒu nµy quan träng quyÕt ®Þnh gi¸ thµnh cuèi cïng cña s¶n phÈm mµ mét bé vi ®iÒu khiÓn ®­îc sö dông. VÝ dô cã c¸c bé vi ®iÒu khiÓn gi¸ 50 cent trªn ®¬n vÞ khi ®­îc mua 100.000 bé mét lóc. 2) Tiªu chuÈn thø hai trong lùa chän mét bé vi ®iÒu khiÓn lµ kh¶ n¨ng ph¸t triÓn c¸c s¶n phÈm xung quanh nã dÔ dµng nh­ thÕ nµo? C¸c c©u nh¾c chñ yÕu bao gåm kh¶ n¨ng cã s½n tr×nh l­îng ng÷, gì rèi, tr×nh biªn dÞch ng«n ng÷ C hiÖu qu¶ vÒ m· nguån, tr×nh m« pháng hç trî kü thuËt vµ kh¶ n¨ng sö dông trong nhµ vµ ngoµi m«i tr­êng. Trong nhiÒu tr­êng hîp sù hç trî nhµ cung cÊp thø ba (nghÜa lµ nhµ cung cÊp kh¸c kh«ng ph¶i lµ h·ng s¶n xuÊt chÝp) cho chÝp còng tèt nh­, nÕu kh«ng ®­îc tèt h¬n, sù hç trî tõ nhµ s¶n xuÊt chÝp. 3) Tiªu chuÈn thø ba trong lùa chän mét bé vi ®iÒu khiÓn lµ kh¶ n¨ng s½n sµng ®¸p øng vÒ sè l­îng trong hiÖn t¹i vµ t­¬ng lai. §èi víi mét sè nhµ thiÕt kÕ ®iÒu nµy thËm chÝ cßn quan trong h¬n c¶ hai tiªu chuÈn ®Çu tiªn. HiÖn nay, c¸c bé vi ®iÒu khiÓn 8 bit dÊu ®Çu, hä 8051 lµ cã sè l­¬ng lín nhÊt c¸c nhµ cung cÊp ®a d¹ng (nhiÒu nguån). Nhµ cung cÊp cã nghÜa lµ nhµ s¶n xuÊt bªn c¹nh nhµ s¸ng chÕ cña bé vi ®iÒu khiÓn. Trong tr­êng hîp 8051 th× nhµ s¸ng chÕ cña nã lµ Intel, nh­ng hiÖn nay cã rÊt nhiÒu h·ng s¶n xuÊt nã (còng nh­ tr­íc kia ®· s¶n xuÊt). C¸c h·ng nµy bao gåm: Intel, Atmel, Philips/signe-tics, AMD, Siemens, Matra vµ Dallas, Semicndictior. B¶ng 1.2: §Þa chØ cña mét sè h·ng s¶n xuÊt c¸c thµnh viªn cña hä 8051. H·ng §Þa chØ Website Intel www.intel.com/design/mcs51 Antel www.atmel.com Plips/ Signetis www.semiconductors.philips.co Siemens m Dallas Semiconductor www.sci.siemens.com www.dalsemi.com Còng nªn l­u ý r»ng Motorola, Zilog vµ Mierochip Technology ®· dµnh mét l­îng tµi nguyªn lín ®Ó ®¶m b¶o kh¶ n¨ng s½n sµng vÒ mét thêi gian vµ ph¹m vi réng cho c¸c s¶n phÈm cña hä tõ khi c¸c s¶n phÈm cña hä ®i vµo s¶n xuÊt æn ®Þnh, hoµn thiÖn vµ trë thµnh nguån chÝnh. Trong nh÷ng n¨m gÇn ®©y hä còng ®· b¾t ®Çu b¸n tÕ bµo th­ viÖn Asic cña bé vi ®iÒu khiÓn. 1.2 Tæng quan vÒ hä 8051. Trong môc nµy chóng ta xem xÐt mét sè thµnh viªn kh¸c nhau cña hä bé vi ®iÒu khiÓn 8051 vµ c¸c ®Æc ®iÓm bªn trong cña chóng. §ång thêi ta ®iÓm qua mét sè nhµ s¶n xuÊt kh¸c nhau vµ c¸c s¶n phÈm cña hä cã trªn thÞ tr­êng. 1.2.1 Tãm t¾t vÒ lÞch sö cña 8051. 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. Lóc Êy nã ®­îc coi lµ mét “hÖ thèng trªn chÝp”. 8051 lµ mét bé xö lý 8 bit cã nghÜa lµ CPU chØ cã thÓ lµm viÖc víi 8 bit d÷ liÖu t¹i mét thêi ®iÓm. D÷ liÖu lín h¬n 8 bit ®­îc chia ra thµnh c¸c d÷ liÖu 8 bit ®Ó cho xö lý. 8051 cã tÊt c¶ 4 cæng vµo - ra I/O mçi cæng réng 8 bit (xem h×nh 1.2). MÆc dï 8051 cã thÓ cã mét ROM trªn chÝp cùc ®¹i lµ 64 K byte, nh­ng c¸c nhµ s¶n xuÊt lóc ®ã ®· cho xuÊt x­ëng chØ víi 4K byte ROM trªn chÝp. §iÒu nµy sÏ ®­îc bµn chi tiÕt h¬n sau nµy. 8051 ®· trë nªn phæ biÕn sau khi Intel cho phÐp c¸c nhµ s¶n xuÊt kh¸c s¶n xuÊt vµ b¸n bÊt kú d¹ng biÕn thÕ nµo cña 8051 mµ hä thÝch víi ®iÒu kiÖn hä ph¶i ®Ó m· l¹i t­¬ng thÝch víi 8051. §iÒu nµy dÉn ®Õn sù ra ®êi nhiÒu phiªn b¶n cña 8051 víi c¸c tèc ®é kh¸c nhau vµ dung l­îng ROM trªn chÝp kh¸c nhau ®­îc b¸n bëi h¬n nöa c¸c nhµ s¶n xuÊt. §iÒu nµy quan träng lµ mÆc dï cã nhiÒu biÕn thÓ kh¸c nhau cña 8051 vÒ tèc ®é vµ dung l­¬ng nhí ROM trªn chÝp, nh­ng tÊt c¶ chóng ®Òu t­¬ng thÝch víi 8051 ban ®Çu vÒ c¸c lÖnh. §iÒu nµy cã nghÜa lµ nÕu ta viÕt ch­¬ng tr×nh cña m×nh cho mét phiªn b¶n nµo ®ã th× nã còng sÏ ch¹y víi mäi phiªn b¶n bÊt kú kh¸c mµ kh«ng ph©n biÖt nã tõ h·ng s¶n xuÊt nµo. B¶ng 1.3: C¸c ®Æc tÝnh cña 8051 ®Çu tiªn. §Æc tÝnh Sè l­îng ROM trªn chÝp 4K byte RAM 128 byte Bé ®Þnh thêi 2 C¸c ch©n vµo - ra 32 Cæng nèi tiÕp 1 Nguån ng¾t 6 1.2.2 Bé vÝ ®iÒu khiÓn 8051 Bé vi ®iÒu khiÓn 8051 lµ thµnh viªn ®Çu tiªn cña hä 8051. H·ng Intel ký hiÖu nã nh­ lµ MCS51. B¶ng 3.1 tr×nh bµy c¸c ®Æc tÝnh cña 8051. EXTERNAL INTERRUPTS ETC COUNTER INPUTS TIMER 0 INTERRUPT ON - CHIP CONTROL RAM TIMER 1 CPU OSC BUS 4 I/O SERIAL CONTROL PORTS PORT H×nh 1.2: Bè trÝ bªn trong cña s¬ ®å khèi 8051. 1.2.3 c¸c thµnh viªn kh¸c cña hä 8051 Cã hai bé vi ®iÒu khiÓn thµnh viªn kh¸c cña hä 8051 lµ 8052 vµ 8031. a- Bé vi ®iÒu khiÓn 8052: Bé vi ®iÒu khiÓn 8052 lµ mét thµnh viªn kh¸c cña hä 8051, 8052 cã tÊt c¶ c¸c ®Æc tÝnh chuÈn cña 8051 ngoµi ra nã cã thªm 128 byte RAM vµ mét bé ®Þnh thêi n÷a. Hay nãi c¸ch kh¸c lµ 8052 cã 256 byte RAM vµ 3 bé ®Þnh thêi. Nã còng cã 8K byte ROM. Trªn chÝp thay v× 4K byte nh­ 8051. Xem b¶ng 1.4. B¶ng1.4: so s¸nh c¸c ®Æc tÝnh cña c¸c thµnh viªn hä 8051. §Æc tÝnh 8051 8052 8031 ROM trªn 4K byte 8K byte OK chÝp RAM 128 byte 256 byte 128 byte Bé ®Þnh thêi 2 3 2 Ch©n vµo - ra 32 32 32 Cæng nèi tiÕp 1 1 1 Nguån ng¾t 6 8 6 Nh­ nh×n thÊy tõ b¶ng 1.4 th× 8051 lµ tËp con cña 8052. Do vËy tÊt c¶ mäi ch­¬ng tr×nh viÕt cho 8051 ®Òu ch¹y trªn 8052 nh­ng ®iÒu ng­îc l¹i lµ kh«ng ®óng. b- Bé vi ®iÒu khiÓn 8031: Mét thµnh viªn kh¸c n÷a cña 8051 lµ chÝp 8031. ChÝp nµy th­êng ®­îc coi nh­ lµ 8051 kh«ng cã ROM trªn chÝp v× nã cã OK byte ROM trªn chÝp. §Ó sö dông chÝp nµy ta ph¶i bæ xung ROM ngoµi cho nã. ROM ngoµi ph¶i chøa ch­¬ng tr×nh mµ 8031 sÏ n¹p vµ thùc hiÖn. So víi 8051 mµ ch­¬ng tr×nh ®­îc chøa trong ROM trªn chÝp bÞ giíi h¹n bëi 4K byte, cßn ROM ngoµi chøa ch­¬ng trinh ®­îc g¾n vµo 8031 th× cã thÓ lín ®Õn 64K byte. Khi bæ xung cæng, nh­ vËy chØ cßn l¹i 2 cæng ®Ó thao t¸c. §Ó gi¶i quyÕt vÊn ®Ò nµy ta cã thÓ bæ xung cæng vµo - ra cho 8031. Phèi phÐp 8031 víi bé nhí vµ cæng vµo - ra ch¼ng h¹n víi chÝp 8255 ®­îc tr×nh bµy ë ch­¬ng 14. Ngoµi ra cßn cã c¸c phiªn b¶n kh¸c nhau vÒ tèc ®é cña 8031 tõ c¸c h·ng s¶n xuÊt kh¸c nhau. 1.2.4. C¸c bé vi ®iÒu khiÓn 8051 tõ c¸c h·ng kh¸c nhau. MÆc dï 8051 lµ thµnh viªn phæi biÕn nhÊt cña hä 8051 nh­ng chóng ta sÏ thÊy nã trong kho linh kiÖn. §ã lµ do 8051 cã d­íi nhiÒu d¹ng kiÓu bé nhí kh¸c nhau nh­ UV - PROM, Flash vµ NV - RAM mµ chóng ®Òu cã sè ®¨ng ký linh kiÖn kh¸c nhau. ViÖc bµn luËn vÒ c¸c kiÓu d¹ng bé nhí ROM kh¸c nhau sÏ ®­îc tr×nh bµy ë ch­¬ng 14. Phiªn b¶n UV-PROM cña 8051 lµ 8751. Phiªn b¶n Flash ROM ®­îc b¸n bëi nhiÒu h·ng kh¸c nhau ch¼ng h¹n cña Atmel corp víi tªn gäi lµ AT89C51 cßn phiªn b¶n NV-RAM cña 8051 do Dalas Semi Conductor cung cÊp th× ®­îc gäi lµ DS5000. Ngoµi ra cßn cã phiªn b¶n OTP (kh¶ tr×nh mét lÇn) cña 8051 ®­îc s¶n xuÊt bëi rÊt nhiÒu h·ng. a- Bé vi ®iÒu khiÓn 8751: ChÝp 8751 chØ cã 4K byte bé nhí UV-EPROM trªn chÝp. §Ó sö dông chÝp nµy ®Ó ph¸t triÓn yªu cÇu truy cËp ®Õn mét bé ®èt PROM còng nh­ bé xo¸ UV- EPROM ®Ó xo¸ néi dung cña bé nhí UV- EPROM bªn trong 8751 tr­íc khi ta cã thÓ lËp tr×nh l¹i nã. Do mét thùc tÕ lµ ROM trªn chÝp ®èi víi 8751 lµ UV-EPROM nªn cÇn ph¶i mÊt 20 phót ®Ó xo¸ 8751 tr­íc khi nã cã thÓ ®­îc lËp tr×nh trë l¹i. §iÒu nµy ®· dÉn ®Õn nhiÒu nhµ s¶n xuÊt giíi thiÖu c¸c phiªn b¶n Flash Rom vµ UV-RAM cña 8051. Ngoµi ra cßn cã nhiÒu phiªn b¶n víi c¸c tèc ®é kh¸c nhau cña 8751 tõ nhiÒu h·ng kh¸c nhau. b- Bé vi ®iÒu khiÓn AT8951 tõ Atmel Corporation. ChÝp 8051 phæ biÕn nµy cã ROM trªn chÝp ë d¹ng bé nhí Flash. §iÒu nµy lµ lý t­ëng ®èi víi nh÷ng ph¸t triÓn nhanh v× bé nhí Flash cã thÓ ®­îc xo¸ trong vµi gi©y trong t­¬ng quan so víi 20 phót hoÆc h¬n mµ 8751 yªu cÇu. V× lý do nµy mµ AT89C51 ®Ó ph¸t triÓn mét hÖ thèng dùa trªn bé vi ®iÒu khiÓn yªu cÇu mét bé ®èt ROM mµ cã hç trî bé nhí Flash. Tuy nhiªn l¹i kh«ng yªu cÇu bé xo¸ ROM. L­u ý r»ng trong bé nhí Flash ta ph¶i xo¸ toµn bé néi dung cña ROM nh»m ®Ó lËp tr×nh l¹i cho nã. ViÖc xo¸ bé nhí Flash ®­îc thùc hiÖn bëi chÝnh bé ®èt PROM vµ ®©y chÝnh lµ lý do t¹i sao l¹i kh«ng cÇn ®Õn bé xo¸. §Ó lo¹i trõ nhu cÇu ®èi víi mét bé ®èt PROM h·ng Atmel ®ang nghiªn cøu mét phiªn b¶n cña AT 89C51 cã thÓ ®­îc lËp tr×nh qua cæng truyÒn th«ng COM cña m¸y tÝnh IBM PC . B¶ng 1.5: C¸c phiªn b¶n cña 8051 tõ Atmel (Flash ROM). Sè linh RO RAM Ch©n Time Ng¾ Vc §ãng vá kiÖn M I/O r t c AT89C51 4K 128 32 2 6 5V 40 AT89LV5 4K 128 32 2 6 3V 40 1 AT89C10 1K 64 15 1 3 3V 20 51 AT89C20 2K 128 15 2 6 3V 20 51 AT89C52 8K 128 32 3 8 5V 40 AT89LV5 8K 128 32 3 8 3V 40 2 Ch÷ C trong ký hiÖu AT89C51 lµ CMOS. Còng cã nh÷ng phiªn b¶n ®ãng vá vµ tèc ®é kh¸c nhau cña nh÷ng s¶n phÈm trªn ®©y. Xem b¶ng 1.6. VÝ dô ®Ó ý r»ng ch÷ “C” ®øng tr­íc sè 51 trong AT 89C51 -12PC lµ ký hiÖu cho CMOS “12” ký hiÖu cho 12 MHZ vµ “P” lµ kiÓu ®ãng vá DIP vµ ch÷ “C” cuèi cïng lµ ký hiÖu cho th­¬ng m¹i (ng­îc víi ch÷ “M” lµ qu©n sù ). Th«ng th­êng AT89C51 - 12PC r¸t lý t­ëng cho c¸c dù ¸n cña häc sinh, sinh viªn. B¶ng 1.6: C¸c phiªn b¶n 8051 víi tèc ®é kh¸c nhau cña Atmel. M· linh kiÖn Tèc ®é Sè ch©n §ãng vá Môc ®Ých AT89C51- 42MHZ 40 DTP Th­¬ng 12PC m¹i c- Bé vi ®iÒu khiÓn DS5000 tõ h·ng Dallas Semiconductor. Mét phiªn b¶n phæ biÕn kh¸c n÷a cña 8051 lµ DS5000 cña h·ng Dallas Semiconductor. Bé nhí ROM trªn chÝp cña DS5000 ë d­íi d¹ng NV-RAM. Kh¶ n¨ng ®äc/ ghi cña nã cho phÐp ch­¬ng tr×nh ®­îc n¹p vµo ROM trªn chÝp trong khi nã vÉn ë trong hÖ thèng (kh«ng cÇn ph¶i lÊy ra). §iÒu nµy cßn cã thÓ ®­îc thùc hiÖn th«ng qua cæng nèi tiÕp cña m¸y tÝnh IBM PC. ViÖc n¹p ch­¬ng tr×nh trong hÖ thèng (in-system) cña DS5000 th«ng qua cæng nèi tiÕp cña PC lµm cho nã trë thµnh mét hÖ thèng ph¸t triÓn t¹i chç lý t­ëng. Mét ­u viÖt cña NV-RAM lµ kh¶ n¨ng thay ®æi néi dung cña ROM theo tõng byte t¹i mét thêi ®iÓm. §iÒu nµy t­¬ng ph¶n víi bé nhí Flash vµ EPROM mµ bé nhí cña chóng ph¶i ®­îc xo¸ s¹ch tr­íc khi lËp tr×nh l¹i cho chóng. B¶ng 1.7: C¸c phiªn b¶n 8051 tõ h·ng Dallas Semiconductor. M· linh ROM RAM Ch©n Time Ng¾ Vc §ãng kiÖn I/O r t c vá DS5000-8 8K 128 32 2 6 5V 40 DS5000-32 32K 128 32 2 6 5V 40 DS5000T-8 8K 128 32 2 6 5V 40 DS5000T-8 32K 128 32 2 6 5V 40 Ch÷ “T” ®øng sau 5000 lµ cã ®ång hå thêi gian thùc. L­u ý r»ng ®ång hå thêi gian thùc RTC lµ kh¸c víi bé ®Þnh thêi Timer. RTC t¹o vµ gi÷ thêi gian l phót giê, ngµy, th¸ng - n¨m kÓ c¶ khi t¾t nguån. Cßn cã nhiÒu phiªn b¶n DS5000 víi nh÷ng tèc ®é vµ kiÓu ®ãng gãi kh¸c nhau.( Xem b¶ng 1.8). VÝ dô DS5000-8-8 cã 8K NV-RAM vµ tèc ®ä 8MHZ. Th«ng th­êng DS5000-8-12 hoÆc DS5000T-8-12 lµ lý t­ëng ®èi víi c¸c dù ¸n cña sinh viªn. B¶ng 1.8:C¸c phiªn b¶n cña DS5000 víi c¸c tèc ®é kh¸c nhau M· linh kiÖn NV- RAM Tèc ®é DS5000-8-8 8K 8MHz DS5000-8-12 8K 12MHz DS5000-32-8 32K 8MHz DS5000T-32-12 32K 8MHz (with DS5000-32-12 32K RTC) DS5000-8-12 8K 12MHz 12MHz (with RTC) d- Phiªn b¶n OTP cña 8051. C¸c phiªn b¶n OTP cña 8051 lµ c¸c chÝp 8051 cã thÓ lËp tr×nh ®­îc mét lÇn vµ ®­îc cung cÊp tõ nhiÒu h·ng s¶n xuÊt kh¸c nhau. C¸c phiªn b¶n Flash vµ NV-RAM th­êng ®­îc dïng ®Ó ph¸t triÓn s¶n phÈm mÉu. Khi mét s¶n pohÈm ®­îc thiÕt kÕ vµ ®­îc hoµn thiÖn tuyÖt ®èi th× phiªn b¶n OTP cña 8051 ®­îc dïng ®Ó s¶n hµng lo¹t v× nã sÏ h¬n rÊt nhiÒu theo gi¸ thµnh mét ®¬n vÞ s¶n phÈm e- Hä 8051 tõ H·ng Philips Mét nhµ s¶n xuÊt chÝnh cña hä 8051 kh¸c n÷a lµ Philips Corporation. ThËt vËy, h·ng nµy cã mét d¶i lùa chän réng lín cho c¸c bé vi ®iÒu khiÓn hä 8051. NhiÒu s¶n phÈm cña h·ng ®· cã kÌm theo c¸c ®Æc tÝnh nh­ c¸c bé chuyÓn ®æi ADC, DAC, cæng I/0 më réng vµ c¶ c¸c phiªn b¶n OTP vµ Flash.
DMCA.com Protection Status Copyright by webtailieu.net