§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
Môc lôc Trang Lêi nãi ®Çu……………………………………………………………………2 Ch−¬ng 1-C¬ së lü thuyÕt – S¬ ®å khèi…………………………… 3 I.Tæng quan
3
II.Chøc n¨ng tõng khèi
6
Ch−¬ng 2 – Mét sè ph−¬ng b¸n thùc hiÖn m¹ch………… …
7
I. M¹ch quang b¸o dïng EEPROM
7
II. M¹ch quang b¸o dïng Vi §iÒu KhiÓn
10
Ch−¬ng 3 – M¹ch quang b¸o dïng PIC16F88…………………… I. Nguyªn lý lµm viÖc m¹ch quang b¸o
14 14
I.1 Gíi thiÖu vÒ b¶ng ®Ìn LED ma trËn
14
I.2 Nguyªn t¾c lµm s¸ng LED trªn b¶ng LED 8x8
17
I.3 Nguyªn t¾c quÐt b¶ng ma trËn LED
18
I.4 Ph−¬ng ph¸p t¹o hiÖu øng ch÷ ch¹y…
19
II. Nguyªn lý lµm viÖc m¹ch quang b¸o
19
III. S¬ ®å nguyªn lý
21
IV. Linh kiÖn sö dông trong m¹ch
22
V. M· nguån ch−¬ng tr×nh
22
Ch−¬ng 4 – Giíi thiÖu c¸c IC liªn quan ®Õn m¹ch…………… 28 I. Vi ®iÒu khiÓn PIC16F88
28
II. IC 74154
35
III. IC 74HC595
37
IV. IC MAX232
39
V. IC KA7805
40
Ch−¬ng 5 - KÕt luËn Tµi liÖu tham kh¶o Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
41 43
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
Lêi nãi ®Çu
Ngµy nay, cïng víi sù ph¸t triÓn cña khoa häc kü thuËt, nhÊt lµ trong lÜnh vùc §iÖn tö - Tin häc – ViÔn th«ng, viÖc ®−a th«ng tin qu¶ng c¸o ®Õn víi ng−êi tiªu dïng, ®Õn víi x· héi trë nªn dÔ dµng vµ nhanh chãng. Th«ng qua nhiÒu h×nh thøc qu¶ng c¸o kh¸c nhau mµ c¸c doanh nghiÖp giíi thiÖu s¶n phÈm cña m×nh ®Õn mäi ng−êi. Trong nhiÒu h×nh thøc ®a d¹ng cña Th«ng tin qu¶ng c¸o nh−: b¸o, ®µi, tivi, tê r¬i, ¸p phÝch… th× viÖc dïng B¶ng th«ng tin ®iÖn tö lµ mét c¸ch ®¬n gi¶n vµ hiÖu qu¶ ®Ó qu¶ng c¸o. Chóng ta b¾t gÆp rÊt nhiÒu b¶ng th«ng tin nh− vËy trong thùc tÕ. Khi ®i vµo mét hiÖu s¸ch, b¹n cã thÓ biÕt ®−îc hiÖu s¸ch ®ã b¸n lo¹i s¸ch g×, gi¸ c¶ ra sao… lµ nhê vµo b¶ng ®Ìn quang b¸o rÊt b¾t m¾t tr−íc cöa hiÖu. HoÆc khi vµo s©n bay, b¹n biÕt ®−îc giê giÊc c¸c chuyÕn bay, c¸c th«ng b¸o ng¾n cña phi tr−êng,… còng lµ nhê vµo quang b¸o. Vµ khi ®i trªn ®−êng phè lóc vÒ ®ªm, b¹n sÏ b¾t gÆp cïng víi ¸nh ®Ìn mµu lµ rÊt nhiÒu c¸c b¶ng quang b¸o lín víi c¸c h×nh ¶nh sinh ®éng nh− ly bia Tiger ®ang trµo bät, hay c¸c h×nh ¶nh, logo hiÖn lªn víi ®ñ kiÓu (tõ trªn xuèng, tõ tr¸i sang,……). Qua ®ã ta thÊy r»ng, b¶ng th«ng tin ®iÖn tö ®· ®−îc øng dông réng r·i trong nhiÒu lÜnh vùc kh¸c nhau nh−: giíi thiÖu s¶n phÈm, th«ng b¸o tin tøc, lµm biÓn hiÖu… Víi øng dông réng r·i nh− vËy, viÖc t×m hiÓu vµ thiÕt kÕ mét b¶ng th«ng tin nh− vËy ®· th«i thóc em thùc hiÖn ®Ò tµi “thiÕt kÕ m¹ch quang b¸o dïng Vi §iÒu KhiÓn” • Giíi h¹n ®Ò tµi Nh− ®· giíi thiÖu, b¶ng th«ng tin ®iªn tö cã thÓ hiÓn thÞ ®−îc c¸c h×nh ¶nh cö ®éng, chø kh«ng chØ gíi gän trong viÖc hiÓn thÞ ch÷. Tuy nhiªn, do ®iÒu kiÖn cã h¹n nªn ®Ò tµi chØ giíi h¹n ë viÖc hiÓn thÞ ch÷ ch¹y, kÕt nèi m¸y tÝnh ®Ò thay ®æi th«ng tin hiÓn thÞ vµ mét sè hiÖu øng kh¸c nh− thay ®æi tèc ®é ch÷ ch¹y, hiÓn thÞ nhiÖt ®é trªn b¶ng ®Ìn v.v… Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
Ch−¬ng 1 Giíi thiÖu m¹ch quang b¸o
II.
Tæng quan §Ó thiÕt kÕ mét m¹ch quang b¸o th× cã nhiÒu ph−¬ng ¸n ®Ó lùa chän nh−: dïng
EEPROM, dïng m¸y tÝnh ®iÒu khiÓn trùc tiÕp, dïng vi xö lý, vi ®iÒu khiÓn. Khi sö dông EEPROM ®Ó l−u tr÷ th«ng tin hiÓn thÞ kÕt hîp víi c¸c IC gi¶i ®a hîp (Demultiplexer) ®Ó ®iÒu khiÓn qua tr×nh hiÓn thÞ trªn mµn h×nh. −u ®iÓm cña EEPROM lµ th«ng tin kh«ng bÞ mÊt khi kh«ng cã nguån cÊp vµ khi muèn thay ®æi néi dung b¶n tin ta chØ viÖc lËp tr×nh l¹i cho EEPROM (thay ®æi phÇn mÒm). ViÖc thay ®«i nh− vËy xem ra cã vÎ ®¬n gi¶n, nh−ng ta cÇn cã m¹ch n¹p vµ phÇn mÒm ®iÒu khiÓn. ViÖc th¸o l¾p nhiÒu sÏ dÉn ®Õn háng hãc kh«ng ®¸ng cã. Khi vi xö lý ®−îc sö dông trong m¹ch th× m¹ch sÏ cã thªm nhiÒu tÝnh n¨ng h¬n nh−ng gi¸ thµnh cho mét s¶n phÈm còng v× thÕ mµ t¨ng lªn. Mét m¹ch vi xö lý cÇn cã thªm EEPROM(®Ó l−u ch−¬ng tr×nh ®iÒu khiÓn), RAM vµ c¸c IC giao tiÕp ngo¹i vi kh¸c(8255, 74373…). Mét kÝt vi xö lý snh− vËy sÏ ®em l¹i cho b¶ng th«ng tin nh÷ng tÝnh n¨ng nh−: viÖc cËp nhËt néi dung hiÓn thÞ sÏ dÔ dµng h¬n(kh«ng cÇn th¸o IC ra) b»ng c¸c nhËp ch−¬ng tr×nh míi vµo RAM, c¸c hiÖu øng ®Æc biÖt vÒ mµu s¾c còng ®−îc thùc hiÖn dÔ dµng. Tuy nhiªn nh− ®· nãi ë trªn, do vÊn ®Ò gi¸ thµnh cao nªn ph−¬ng ¸n nµy kh«ng ®−îc chän. Dïng m¸y tÝnh ®Ó ®iÒu khiÓn b¶ng tin còng lµ mét ph−¬ng ¸n. Nh−ng do kÝch th−íc m¸y tÝnh lín chiÕm nhiÒu diÖn tÝch, l¹i ®¾t tiÒn nªn ta kh«ng sö dông. Ph−¬ng ¸n ®−îc lùa chän lµ dïng Vi §iÒu KhiÓn. V× sao l¹i chän Vi §iÒu KhiÓn? Thø nhÊt: Ngµy nay Vi §iÒu KhiÓn ®−îc sö dông réng r·i trong c¸c øng dông h−íng ®iÒu khiÓn do kÝch th−íc gän, kh¶ n¨ng tÝch hîp cao nhiÒu tÝnh n¨ng trong mét con Vi §iÒu KhiÓn khiÕn cho m¹ch ®iÖn tö trë nªn ®¬n gi¶n h¬n nhiÒu.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
Thø hai: Gi¸ thµnh cña Vi §iÒu KhiÓn kh«ng qu¸ ®¾t nh− Vi xö lý. Trªn thÕ giíi hiÖn cã rÊt nhiÒu nhµ s¶n xuÊt Vi §iÒu KhiÓn (ATMEL, ZILOG, MicroChip, Motorola, Cypress…). Sù c¹nh tranh cña c¸c nhµ s¶n xuÊt vÒ gi¸ thµnh vµ kh¶ n¨ng tÝch hîp ®em l¹i lîi Ých cho ng−êi sö dông. Thø ba: Vi §iÒu KhiÓn ®−îc coi nh− mét “small computer” hay System On Chip (SoC). Bªn trong vi ®iÒu khiÓn ®· bao gåm CPU, ROM , RAM, EEPOM, c¸c giao tiÕo ngo¹i vi, c¸c khèi sè häc vµ t−¬ng tù (ADC,DAC, op-amp, bé so s¸nh…) tuú theo tõng lo¹i. T¹i Viªt Nam, thÞ tr−êng Vi §iÒu KhiÓn kh¸ s«i ®éng. ChØ cÇn vµo mét cña hµng ®iÖn tö bÊt kú ta ®Òu cã thÓ mua ®−îc mét con Vi §iÒu KhiÓn −ng ý. VÒ c«ng cô ph¸t triÓn cho Vi §iÒu KhiÓn ta cã thÓ t×m thÊy rÊt nhiÒu trªn m¹ng Internet, trªn c¸c diÔn ®µn vÒ ®iÖn tö trong vµ ngoµi n−íc, hÇu hÕt ®Òu lµ c¸c tiÖn Ých miÔn phÝ dµnh cho ng−êi sö dông … Sau mét thêi gian nghiªn cøu vÒ Vi §iÒu KhiÓn, mµ cô thÓ lµ dßng Vi §iÒu KhiÓn 8051 vµ PIC, em quyÕt ®Þnh chän Vi §iÒu KhiÓn ®Ó thùc hiÖn ®Ò tµi “thiÕt kÕ m¹ch quang b¸o dïng Vi §iÒu KhiÓn ”. Vi §iÒu KhiÓn ®−îc chän lµ Vi §iÒu KhiÓn PIC dßng Mid-range cña h·ng MicroChip: PIC16F88. §©y lµ mét dßng Vi §iÒu KhiÓn m¹nh, ph¸t triÓn tõ l©u ë nhiÒu n−íc trªn thÕ giíi. T¹i ViÖt Nam, tuy xuÊt hiÖn sau dßng 89C (ATMEL), nh−ng víi nh÷ng tÝnh n¨ng næi bËt, nã dÇn ®· cã ®−îc mét vÞ trÝ nhÊt ®Þnh trong c¸c lo¹i Vi §iÒu KhiÓn. Khi PIC ®−îc sö dông trong m¹ch quang b¸o, viÖc thiÕt kÕ phÇn cøng sÏ ®¬n gi¶n ®i nhiÒu mµ hiÖu n¨ng cña m¹ch vÉn lu«n ®−îc ®¶m b¶o (sù linh ho¹t trong viÖc hiÓn thÞ, c¸c hiÖu øng, kh¶ n¨ng n©ng cÊp phÇn cøng vµ phÇn mÒm…) D−íi ®©y lµ s¬ ®å khèi cña m¹ch quang b¸o
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
S¬ ®å khèi m¹ch ®iÖn quang b¸o
Dao ®éng
Khèi ®iÒu khiÓn trung t©m
Gi¶i m· ®Þa chØ cét
Gi¶i m· hµng vµ Chèt d÷ liÖu hµng
®Öm dßng cho hµng
Khèi giao tiÕp víi m¸y tÝnh (rs232)
M¸y tÝnh
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
Nguån cÊp cho m¹ch
§Öm dßng cho cét
B¶ng ®Ìn (ma trËn LED 16x8)
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
II. Chøc n¨ng tõng khèi (giíi thiÖu chung). - Dao ®éng: t¹o xung nhÞp dao ®éng cho Vi §iÒu KhiÓn. Sö dông th¹ch anh tÇn sè 20MHz cïng víi hai tô 22pF - Gi¶i m· ®Þa chØ cét : nhËn tÝn hiÖu tõ Vi §iÒu KhiÓn, t¹o ®Þa chØ, tõ ®ã ®−a ra tÝn hiÖu cho phÐp cét LED nµo trªn b¶ng ®Ìn (ma trËn LED) ®−îc phÐp s¸ng. T¹i mçi thêi ®iÓm chØ cã mét cét LED ®−îc phÐp s¸ng. TÝn hiÖu nµy ®−îc ®−a ®Õn bé ®Öm dßng cho. IC ®−îc sö dông lµ 74HC154 – decoder/demux1 – 16. - Gi¶i m· hµng vµ chèt d÷ liÖu hµng: NhËn tÝn hiÖu tõ Vi §iÒu KhiÓn lµ tÝn hiÖu quy ®Þnh LED nµo trong cét ®−îc s¸ng, LED nµo t¾t khi mét cét ®−îc cho phÐp. TÝn hiÖu sau ®ã ®−îc ®−a qua bé ®Öm dßng cho hµng. IC ®−îc sö dông cho bé gi¶i m· hµng lµ 74HC595 – Ghi dÞch 8 bit vµo nèi tiÕp ra song song - C¸c bé ®Öm dßng cho hµng vµ cét ®−îc sö dông ®Ò ®¶m b¶o ®é s¸ng cña c¸c LED tr©n mµn h×nh lµ ®ång ®Òu khi chØ 1 LED s¸ng hay c¶ 8 LED cña mét cét ®Òu s¸ng(ë mét møc ®é nµo ®ã). Sö dông transistor vµ c¸c IC ®Öm chuyªn dông(ULN2803). - Khèi giao tiÕp víi m¸y tÝnh ®−îc dïng ®Ó kÕt nèi gi÷a Vi §iÒu KhiÓn víi m¸y tÝnh khi cÇn cËp nhËt d÷ liÖu, thay ®æi th«ng tin hiÓn thÞ. Giao tiÕp ®−îc dïng lµ th«ng qua cæng COM cña m¸y tÝnh. Dïng IC ®Öm cæng MAX232 - Khèi ®iÒu khiÓn trung t©m (PIC16F88): Lµ mét Vi §iÒu KhiÓn PIC16F88. §©y lµ phÇn tö ®iÒu khiÓn chÝnh trong m¹ch ®iÖn. Nã chøa trong ROM phÇn mÒm ®iÒu khiÓn bao gåm viÖc gi¶i m· ký tù tõ ASCII ®Ó ®−a ra b¶ng LED, chøa bé font cho b¶ng LED m· ho¸ cho c¸c ch÷ c¸i vµ c¸c sè, ký tù ®Æc biÖt kh¸c. Ngoµi ra cßn chøa phÇn mÒm ®iÒu khiÓn tèc ®é ch÷ hiªn thÞ trªn b¶ng LED, phÇn giao tiÕp víi m¸y tÝnh cho viÖc cËp nhËt d÷ liÖu. Néi dung hiÓn thÞ ®−îc l−u trong EEPROM cña Vi §iÒu KhiÓn (cã 256 byte). - Khèi nguån cÊp: cã nhiÖm vô cÊp ®ñ nguån cho m¹ch ®iÖn nh−ng b¶n th©n nã kh«ng bÞ qu¸ dßng. Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
Ch−¬ng 2 Mét sè ph−¬ng ¸n thùc hiÖn m¹ch quang b¸o
Nh− ®· tr×nh bµy ë trªn, ®Ó thùc hiÖn mét m¹ch quang b¸o ta cã nhiÒu ph−¬ng ¸n ®Ó lùa chän nh−: dïng EEPROM, dïng m¸y tÝnh ®iÌu khiÓn trùc tiÕp, dïng vi xö lý, vi ®iÒu khiÓn…Sau ®©y xin giíi thiÖu qua mét vµi ph−¬ng ¸n ®Ó lµm mét b¶ng th«ng tin ®iªn tö. I. M¹ch quang b¸o dïng EEPROM EEPROM – Electrically Erasable Programmable Read-Only-Memory - §©y lµ lo¹i bé nhí chØ ®äc lËp tr×nh vµ xo¸ ®−îc b»ng ®iÖn. EEPROM cã ®Æc ®iÓm lµ kÝch th−íc chip hÇu nh− kh«ng t¨ng theo dung l−îng bé nhí cña nã. M¹ch quang b¸o dïng EEPROM cã ®Æc ®iÓm lµ néi dung hiÓn thÞ kh«ng bÞ mÊt khi mÊt ®iÖn, viÖc thay ®æi néi dung hiÓn thÞ còng dÔ dµng h¬n bëi chØ cÇn lËp tr×nh l¹i cho EEPROM (n¹p mét ch−¬ng tr×nh míi, néi dung hiÓn thÞ míi). Tuy vËy ®Êy chÝnh lµ nh−îc ®iÓm cña m¹ch quang b¸o dïng EEPROM v× khi muèn thay ®æi ta l¹i ph¶i th¸o b¶ng dÌn xuèng, thay IC, nh− vËy sÏ tèn nhiÒu thêi gian vµ c«ng søc. H¬n n÷a viÖc t¹o c¸c hiÖu øng ®Ëc biÖt sÏ khã kh¨n. Nguyªn lý lµm viÖc cña m¹ch: M¹ch dao ®éng t¹o ra tÇn sè dao ®éng ®−a ®Õn EEPROM vµ khèi gi¶i m· ®Þa chØ. Trong EEPROM chøa néi dung cÇn hiÓn thÞ, gåm cã néi dung b¶n tin, c¸c tÝn hiÖu ®iÒu khiÓn mµu…Tõ ®ã chóng ®−îc ®−a ®Õn lÇn l−ît c¸c m¹ch ®iÓu khiÓn mµu, m¹ch chèt ®Þa chØ cét, hµng vµ ®−a ra b¶ng LED ®Ó hiÓn thÞ.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
S¬ ®å khèi m¹ch quang b¸o dïng EEPROM DAO ÑOÄNG TAÏO ÑÒA CHÆ
GIAÛI MAÕ HIEÅN THÒ (EPROM)
ÑEÄM NGOÕ RA (HAØNG)
THUÙC COÂNG SUAÁT
(HAØNG)
ÑIEÀU KHIEÅN MAØU
GIAÛI MAÕ ÑÒA CHÆ
CHOÁT DÖÕ LIEÄU (I)
ÑEÄM NGOÕ RA COÄT (I)
THUÙC COÂNG SUAÁT COÄT
CHOÁT DÖÕ LIEÄU (II)
ÑEÄM NGOÕ RA COÄT
THUÙC COÂNG SUAÁTCOÄT
BAÛNG ÑEØN (MA TRAÄN LED)
NGUOÀN NhËn xÐt: - M¹ch tËn dông ®−îc kh¶ n¨ng cña EEPROM vµ c¸c m¹ch sè - Linh kiÖn dÔ mua, dÔ t×m - Khi cÇn thay ®æi th× ta ph¶i lËp tr×nh l¹i cho EEPROM, ®©y lµ nh−îc ®iÓm chÝnh - Kh¶ n¨ng ph¸t triÓn cña hÖ thèng ch−a linh ho¹t. M¹ch cÇn nhiÒu bé gi¶i m·, kÝch th−íc m¹ch t¨ng lªn, sè l−îng IC còng t¨ng khi ta t¨ng kÝch th−íc b¶ng th«ng tin.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
Mét sè lo¹i EEPROM trªn thÞ tr−êng. 1. EPROM 2732: EPROM 2732 laø moät IC nhôù coù dung löôïng 4 Kbyte, goàm 12 ñöôøng ñòa chæ, 24 chaân. Caùc chaân ñöôïc saép xeáp nhö sau: 24 23 22
21 20 19 18 17 16 15 14 13
A10 CE D7 D6 D5 D4 D3 VCC A8 A9 A11 OE/VPP
1
2
A7 A6 1
2
3
5
2732
A5 A4 A3 A2 A1 A0 D0 D1 D2 GND 3
4
5
6
7
8
9 10 11 12
SÔ ÑOÀ CHAÂN EPROM 2732 - A0 ~ A11 lµ c¸c ch©n ®Þa chØ cña EEPROM, khi n¹p hay truy xuÊt ®Òu cÇn c¸c ®−êng ®Þa chØ nµy - D0 ~ D7 : c¸c ®−êng vµo/ra d÷ liÖu cña EEPROM, 2. EPROM 2764: EPROM 2764 coù dung löôïng nhôù lôùn gaáp ñoâi EPROM 2732 (8 Kbyte), noù coù taát caû laø 28 chaân. Trong ñoù coù 13 chaân ñöôïc duøng laøm ñöôøng ñòa chæ, 8 chaân laøm ñöôøng döõ lieäu, caùc chaân coøn laïi duøng caáp nguoàn vaø ñieàu khieån. EPROM 2764 coù sô ñoà chaân nhö sau: 28 27 26 25 24 23 22 21 20 19 18 17 16 15 VCC PGM\ NC A8 A9 A11 OE A10 CE D7 D6 D5 D4 D3 1
2
3
5
2764
VPP A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND 5 6 7 8 9 10 11 12 13 14 1 2 3 4
SÔ ÑOÀ CHAÂN EPROM 2764 Ngoµi ta cßn nhiÒu lo¹i EEPROM kh¸c nh− 27128, 27256… C¸c EEPROM kh¸c hä 28xxx, 29xxx.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
II. M¹ch quang b¸o dïng Vi §iÒu KhiÓn Vi §iÒu KhiÓn nh− mét m¸y vi tÝnh thu nhá – Small Computer víi ®Çy ®ñ ROM, RAM vµ c¸c ngo¹i vi giao tiÕp kh¸c. Ngµy nay Vi §iÒu KhiÓn ®−îc sö dông kh¸ réng r·i vµ tá ra rÊt phï hîp cho c¸c hÖ thèng h−íng ®iÒu khiÓn, yªu cÊu vÒ chi phÝ thÊp. ViÖc sö dông Vi §iÒu KhiÓn cho m¹ch quang b¸o cã thªm nhiÒu chøc n¨ng h¬n. HÖ thèng tá ra linh ho¹t, kh¶ n¨ng giao tiÕp víi ngo¹i vi bªn ngoµi m¹nh. ViÖc kÕt hîp gi÷a Vi §iÒu KhiÓn vµ EEPROM sÏ tËn dông ®−îc nh÷ng −u ®iÓm cña c¶ EEPROM vµ Vi §iÒu KhiÓn. TÝnh n¨ng cña m¹ch: - D÷ liÖu hiÓn thÞ l−u trong EEPROM, kh«ng bÞ mÊt khi mÊt nguån cÊp - Ch−¬ng tr×nh ®iÒu khiÓn chøa trong ROM cña Vi §iÒu KhiÓn ®iÒukhiÓn viÖc gi¶i m· vµ ®iÒu khiÓn mµu, c¸c giao tiÕp víi EEPROM - Giao tiÕp víi bµn phÝm bªn ngoµi hay m¸y tÝnh ®Ò thay ®æi néi dung b¶n tin trùc tiÕp - Tèc ®é ch÷ ch¹y thay ®æi linh ho¹t HiÖn nay trªn thÞ tr−êng cã kh¸ nhiÒu lo¹i Vi §iÒu KhiÓn ®Ó ta lùa chän cña h·ng nh− ATMEL, ZILOG, MicroChip, Motorola… Mçi lo¹i, mçi dßng cã nh÷ng tÝnh n¨ng riªng. Trong ®Ò tµi nµy em ®−a ra hai ph−¬ng ¸n sö dông Vi §iÒu KhiÓn. 1. M¹ch quang b¸o dïng Vi §iÒu KhiÓn AT89S52 2. M¹ch quang b¸o dïng Vi §iÒu KhiÓn PIC16F88
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
A. M¹ch quang b¸o dïng Vi §iÒu KhiÓn AT89S52 S¬ ®å khèi
Dao ®éng
Khèi ®iÒu khiÓn trung t©m AT89S52
Gi¶i m· ®Þa chØ cét
§Öm dßng cho cét
EEPROM Gi¶i m· hµng vµ Chèt d÷ liÖu hµng
®Öm dßng cho hµng
B¶ng ®Ìn (ma trËn LED 16x8)
Khèi giao tiÕp víi m¸y tÝnh (rs232)
M¸y tÝnh
Nguån cÊp cho m¹ch
S¬ ®å khèi cña m¹ch dïng AT89S52 vÒ c¬ b¶n gièng víi m¹ch dïng cho PIC, chi kh¸c ë chç thªm phÇn giao tiÕp víi EEPROM. NÕu kh«ng sö dông EEPROM th× néi dung hiÓn thÞ cïng víi ch−¬ng tr×nh ®iÒu khiÓn ®−îc l−u trong ROM cña Vi §iÒu KhiÓn AT89S52. Khi cÇn thay ®æi néi dung hiÓn thÞ th× ta buéc ph¶i lËp tr×nh l¹i cho AT89S52. VÒ chi tiÕt cña m¹ch ®iÖn ®−îc tr×nh bµy bªn d−íi. Sau ®©y em giíi thiÖu qua vÒ Vi §iÒu KhiÓn AT89S52. AT89S52 lµ V§K thuéc hä 8051, mét dßng V§K kh¸ phæ biÕn trªn thÕ giíi, ngµy nay ®· ph¸t triÓn thµnh nhiÒu phiªn b¶n kh¸c nhau.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
§Æc ®iÓm cña AT89S52 - Vi §iÒu KhiÓn 8 bit hä MCS-51, tÇn sè ho¹t ®éng 0 Hz ~ 33MHz - Bé nhí ch−¬ng tr×nh 8K Bytes, n¹p ISP, ghi/xãa 1000 lÇn, RAM 256 Bytes - D¶i ®iÖn ¸p ho¹t ®éng 4.0V ~ 5.5V - 32 ®−êng vµo/ra cë b¶n - 3 bé dÕm/®Þnh thêi 16 bit - 8 nguån ng¾t (2 ng¾t ngoµi, ng¾t Timer, ng¾t USART…) - Giao tiÕp nèi tiÕp USART (RS - 232)
S¬ ®å ch©n cña AT89S52 AT89S52 ngoµi 8KB bé nhí trªn chÝp, khi muèn më réng bé nhí ta cã thÓ ghÐp nèi thªm víi c¸c bé nhí ngoµi. AT89S52 cã thÓ qu¶n lý ®−îc tèi ®a 64KB ROM vµ 64KB RAM (16 bit ®Þa chØ). TËp lÖnh cña AT89S52 kh¸ phong phó víi c¸c lÖnh xö lý bit, xö lý byte, c¸c phÐp toµn sè häc vµ logic, c¸c lÖnh nh¶y, lÖnh gäi ch−¬ng tr×nh con… gióp cho ng−êi lËp tr×nh lµm viÖc víi AT89S52 mét c¸ch thuËn lîi.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
Gi¶ng viªn: NguyÔn Nam Qu©n
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
Ch−¬ng 3 M¹ch quang b¸o dïng Vi §iÒu KhiÓn PIC16F88
II. Nguyªn lý lµm viÖc cña m¹ch quang b¸o 1. Giíi thiÖu vÒ b¶ng LED ma trËn Tr−íc khi ®i vµo nguyªn lý ho¹t ®éng cña m¹ch ta t×m hiÓu qua vÒ b¶ng ma trËn LED ®−îc sö dông trong ®Ò tµi. B¶ng hiÓn thÞ ma trËn LED (dot-matrix display) cã rÊt nhiÒu lo¹i vµ ®ñ kÝch cì to nhá kh¸c nhau, mçi b¶ng gåm cã rÊt nhiÒu LED ®¬n ®−îc ghÐp l¹i víi nhau trong mét khèi. Trong khèi ®ã c¸c LED ®¬n ®−îc s¾p sÕp theo c¸c hµng vµ c¸c cét, t¹i mçi giao ®iÓm cña hµng víi cét lµ mét LED ®¬n, vµ ng−êi ta th−êng ph©n biÖt c¸c lo¹i b¶ng LED theo sè hµng vµ cét. Mét b¶ng LED 5x7 tøc lµ cã 5 cét däc vµ 7 hµng ngang, tæng céng sÏ cã 5x7=35 LED ®¬n ®−îc ghÐp l¹i. Còng nh− vËy mét b¶ng 8x8 lµ cã 8 hµng vµ 8 cét, do 64 LED ®¬n ghÐp l¹i. Vµ nhiÒu lo¹i cì to h¬n nh− 16x16 hay 32x32… Trªn thÞ tr−êng ta th−êng thÊy c¸c b¶ng LED cì lín, dµi hµng mÐt víi ®ñ kÝch cì. C¸c b¶ng LED ®ã lµ do hµng ngh×n LED ®¬n ghÐp l¹i. Khi thiÕt kÕ nh÷ng b¶ng LED to nh− vËy ta cÇn chó ý ®Õn sù ®ång ®Òu vÒ ®é s¸ng cña c¸c LED ®Ó viÖc hiÓn thÞ ®−îc ®ång ®Òu. Bªn c¹nh ®ã vÊn ®Ò cÊp nguån cho m¹ch còng cÇn ®−îc chó ý vµ thiÕt kÕ cho phï hîp. Trong ®Ò tµi nµy em sö dông hai b¶ng LED 8x8 cho viÖc hiÓn thÞ, sö dông ma trËn 5x7 cho viÖc hiÓn thÞ mçi mét ký tù. Sau ®©y lµ s¬ ®å ghÐp nèi cña hai lo¹i b¶ng LED th«ng dông lµ 5x7 vµ 8x8.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
H1.1 B¶ng LED 8x8
B¶ng ma trËn LED cã hai lo¹i, lo¹i cã c¸c cét lµ c¸c ch©n Anode, cßn hµng lµ c¸c ch©n Cathode vµ lo¹i kia th× ng−îc l¹i c¸c cét lµ Cathode, hµng lµ Anode. Khi sö dông LED ta cÇn chó ý ®iÒu nµy ®Ó ®iÒu khiÓn cho ®óng. Khi ®ãng vá, sù ph©n bè ch©n c¸c hµng vµ cét lµ kh«ng theo thø tù (do tÝnh phøc t¹p trong ghÐp nèi), do ®ã ta cÇn t×m hiÓu kü ®Ó m¾c m¹ch cho ®óng. D−íi ®©y lµ s¬ ®å ch©n cña b¶ng LED 8x8 ®−îc dïng trong ®Ò tµi. C¸c sè g¹ch ch©n lµ hµng C¸c sè kh«ng g¹ch ch©n lµ cét
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
6 3 4 1
6 7
2
4
8
8 7
2 1
Hµng
Cét
5
3 5
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
H1.2 B¶ng LED 5x7 Nguyªn t¾c lµm s¸ng ®Ìn LED trªn b¶ng LED Khi muèn lµm s¸ng LED d¬n, ta cÇn ®−a ®iªn ¸p d−¬ng vµo ch©n Anode vµ ®iÖn ¸p ©m vµo ch©n Cathode víi gi¸ trÞ thÝch hîp, khi ®ã LED s¸ng. Gi¸ trÞ ®iÖn ¸p vµ dßng ®iÖn tuú thuéc vµo mµu s¾c tõng lo¹i LED. Dßng ch¶y qua c¸c LED ®Ó ®¶m b¶o ®é s¸ng b×nh th−êng lµ tõ 10mA cho ®Õn 25mA. VÒ ®iÖn ¸p ta cã b¶ng sau. Mµu LED\§iÖn ¸p
Vmin
V
Vmax
§á
1.88
1.9
1.93
Xanh
2.08
2.1
2.12
Vµng
1.98
2.0
2.02
Khi ta muèn lµm s¸ng mét ®iÓm trªn b¶ng ma trËn LED ta còng lµm t−¬ng tù. XÐt víi b¶ng LED 5x7 d−íi ®©y (H1.3).
H1.3 B¶ng LED 5x7 Ta muèn lµm s¸ng LED t¹i vÞ trÝ hµng 5 - cét 3 (Row = 5 : Col = 3), ta ®−a møc ®iÖn ¸p d−¬ng (møc logic 1) ®Õn ch©n sè 4 tøc hµng thø 5 vµ nèi ch©n sè 10 tøc cét 3 xuèng ®Êt (GND hay møc logic 0), ®Ìn LED t¹i vÞ trÝ ®ã sÏ s¸ng. ViÖc hiÓn thÞ th«ng tin trªn b¶ng LED ta còng lµm t−¬ng tù, cho s¸ng nh÷ng ®iÓm theo sù ®iÒu khiÓn cña ta ®Ó t¹o ra ch÷ vµ h×nh ¶nh. ViÖc ®iÒu khiÓn hiÓn thÞ sÏ ®−îc tr×nh bµy trong phÇn d−íi d©y.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
2. Nguyªn t¾c quÐt b¶ng ma trËn LED Trong ®Ò tµi nµy em sö dông hai b¶ng LED 8x8 ghÐp l¹i thµnh mét b¶ng cì 8x16 (8 hµng vµ 16 cét). Mçi ký tù sÏ ®−îc hiÓn thÞ trong mét khung cì 5x7. D−íi ®©y lµ nguyªn t¾c quÐt vµ hiÓn thÞ mét ký tù (gi¶ thiÕt lµ ch÷ R) trªn khung h×nh 5x7. §Ó hiÓn thÞ ký tù lªn b¶ng LED, ë ®©y ta dïng ph−¬ng ph¸p quÐt cét vµ xuÊt d÷ liÖu hµng. Qu¸ tr×nh quÐt cét lµ ta göi tÝn hiÖu cho phÐp ®Õn tõng cét trong tõng thêi ®iÓm. Cïng lóc ®ã ta göi d÷ liÖu hµng ®Õn 7 hµng. Trong ®Ò tµi nµy tÝn hiÖu cho phÐp cét lµ møc logic ‘1’, vµ d÷ liÖu hµng t−¬ng øng lµ møc ‘0’ hay ‘1’ cña tõng hµng, møc ‘0’ øng víi LED s¸ng (on) vµ møc ‘1’ lµ t¾t (off). - §Çu tiªn ta ®−a d÷ liÖu cÇn hiÓn thÞ ®Õn 7 hµng, vÝ dô 11100110 - KÝch ho¹t cét thø nhÊt vµ c¸c LED t−¬ng øng sÏ s¸ng. T¹o mét thêi gian trÔ, sau ®ã t¾t cét thø nhÊt. - Göi tiÕp gi¸ trÞ d÷ liÖu 7 hµng cña cét thø 2, kÝch ho¹t cét thø 2, t¹o trÔ vµ l¹i t¾t cét thø 2. - Qu¸ tr×nh quÐt ®ã cø tiÕp diÔn cho ®Õn khi quÐt hÕt 16 cét cña b¶ng LED. ViÖc quÐt hiÓn thÞ nµy diÔn ra trong thêi gian rÊt ng¾n, cì vµi chôc mili gi©y, ta sÏ thÊy h×nh ¶nh hay ch÷ hiÓn thÞ trªn b¶ng LED. Tuy r»ng trong mçi thêi ®iÓm chØ cã mét cét ®−îc s¸ng nh−ng do thêi gian quÐt rÊt nhanh vµ do hiÖn t−¬ng l−u ¶nh trong vâng m¹c cña m¾t nªn ta thÊy h×nh ¶nh xuÊt hiÖn liªn tôc. TÇn sè quÐt cÇn ph¶i ®¶m b¶o sao cho ®ñ hoÆc lín h¬n 24h×nh/s. Th−êng ta chän tÇn sè quÐt tõ 40Hz ®Õn 100Hz hoÆc cã thÓ lín h¬n. D÷ liÖu hiÓn thÞ cña hµng ®−îc lÊy tõ EEPROM hoÆc tõ Flash ROM cña Vi §iÒu KhiÓn hay tõ ROM ngoµi. Trong ®Ò tµi nµy ban ®Çu d÷ liÖu ®−îc lÊy tõ ROM trong PIC16F88, khi c©p nhËt d÷ liÖu tõ m¸y tÝnh th× d÷ liÖu sÏ ®−îc lÊy tõ EEPROM trong PIC16F88 (256 byte).
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
QuÐt cét
TÝn hiÖu kÝch ho¹t cét (C1 -> C5)
Dữ liệu hàng
3. Ph−¬ng ph¸p t¹o hiÖu øng ch÷ ch¹y tõ ph¶i qua tr¸i trªn b¶ng LED Sau khi ®· hiÓn thÞ ®−îc h×nh ¶nh lªn b¶ng LED. B©y giê ta sÏ t×m hiÓu c¸ch t¹o hiÖu øng ch÷ ch¹y trªn b¶ng LED. Thñ thuËt ë ®©y lµ quÐt vµ hiÓn thÞ mét h×nh ¶nh trong mét thêi gian nhÊt ®Þnh, sau ®ã ta dÞch d÷ liÖu cña c¸c cét sang tr¸i mét vÞ trÝ, khi ®ã ta sÏ t¹o ®−îc hiÖu øng ch÷ ch¹y trªn b¶ng LED. §Ò tµi nµy ta sö dông m¹ch mÉu lµ b¶ng LED 8x16, sö dông 16 byte RAM lµm bé ®Öm cho mµn h×nh, l−u gi¸ trÞ d÷ liÖu hµng cña 16 cét. Bé ®Öm ®−îc khai b¸o trong RAM néi cña chip PIC16F88 lµ mét m¶ng gåm 17 phÇn tö. Ch−¬ng tr×nh hiÓn thÞ lµm nhiÖm vô ®äc d÷ liÖu tõ c¸c vÞ trÝ 0 ®Õn 16 cña bé ®Öm vµ ®−a ra mµn h×nh hiÓn thÞ. HiÖu øng ch÷ ch¹y ®−îc t¹o ra b»ng c¸ch dÞch gi¸ trÞ c¸c phÇn tö ®i mét vÞ trÝ (15 >16, 14 ->15, 13 ->12…). Sau mçi lÇn dÞch ta l¹i gäi ch−¬ng tr×nh hiÓn thÞ. Khi ®ã trªn b¶ng LED ta sÏ quan s¸t ®−îc hiÖu øng ch÷ ch¹y. 4. Nguyªn lý lµm viÖc cña m¹ch quang b¸o M¹ch ®iÖn sö dông Vi §iÒu KhiÓn PIC nªn vÒ phÇn cøng kh¸ ®¬n gi¶n. M¹ch gåm cã 3 khèi chÝnh víi 3 IC chÝnh ®−îc sö dông. Khèi ®iÒu khiÓn trung t©m sö dông Vi §iÒu KhiÓn PIC16F88. Vi §iÒu KhiÓn nµy cã 18 ch©n (kÝch th−íc nhá nhÊt cña dßng PIC Mid-range). Tuy vËy, víi nhiÒu tÝnh n¨ng m¹nh ®−îc tÝch hîp s½n nªn PIC16F88 ®−îc chän. Khèi gi¶i m· ®Þa chØ cét sö dông IC 74HC154 lµ IC gi¶i m·/gi¶ ®a hîp. ChÝp CMOS nµy ®−îc dïng ®Ó gi¶i m· cét, 4 ®−êng vµo vµ 16 ®−íng ra. 16 ®−êng ra nµy ®−îc nèi ®Õn 16 cét ®Ó lµm nhiÖm vô ®−a tÝn hiÖu cho phÐp cét.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
KhèI gi¶i m· d÷ liÖu hµng sö dông IC 74HC595, ®©y lµ thanh ghi dÞch 8bit vµo nèi tiÕp ra song song. Ta sö dông IC nµy nh»m môc ®Ých tiÕt kiÖm ch©n giao tiÕp gi÷a IC gi¶i m· víi Vi §iÒu KhiÓn. Ch©n DATA-IN (14) ®Ó ®−a d÷ liÖu nèi tiÕp vµo, ch©n CLK (11) ®−a xung ®ång hå dÞch bit, ch©n LATCH(12) ®Ó chèt d÷ liÖu ®−îc göi ra. 8 ®Çu ra ®−îc nèi ®Õn 8 hµng cña bang LED th«ng qua m¹ch ®Öm dßng. Nguyªn lý ho¹t ®éng: Ch−¬ng tr×nh phÇn mÒm chøa trong Vi §iÒu KhiÓn lµm nhiÖm vô ®iÒu khiÓn chÝnh mäi ho¹t ®éng cña m¹ch. Ch−¬ng tr×nh phÇn mÒm gåm cã nhiÒu ch−¬ng tr×nh con: ch−¬ng tr×nh hiÓn thÞ, ch−¬ng tr×nh cËp nhËt EEPROM…
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
L−u ®å thuËt to¸n:
START
CËp nhËt b¶n tin
Khëi t¹o ban ®Çu: - §Þnh nghÜa c¸c ch©n vµo ra - ThiÕt lËp cho ADC(kªnh,tèc ®é) - L−u b¶n tin vµo EEPROM)
HiÓn thÞ néi dung: - B¶n tin - EEPROM
Xo¸ bé ®Öm mµn h×nh
Update_flag ?
NO
YES
NO
Trë vÒ
§äc gi¸ trÞ ADC
Ch−¬ng tr×nh hiÓn thÞ trªn b¶ng LED
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
NhËp b¶n tin míi ? YES
Gäi ch−¬ng tr×nh cËp nhËt: - Sè tõ hiÓn thÞ míi - VÞ trÝ EEPROM - Sè ký tù thªm vµo - NhËp
END
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
5. S¬ ®å nguyªn lý m¹ch ®iÖn. - Khèi m¹ch chÝnh vµ hiÓn thÞ. R1 4k7 R2
VCC
R3 4k7 VCC
R9
U4 14 12 11 13 10 9
SER RCLK SRCLK G SRCLR QH'
QA QB QC QD QE QF QG QH
15 1 2 3 4 5 6 7
A1015
4k7
row1
A1015
row2
A1015
4k7
row3
A1015
row5
4k7
R1
row6
Q1 A1015
Q3 A1015
R3 4k7 R9
74HC595
4k7
R2
Ma tran 8x8
Ma tran 8x8
row4
row7 row8
Q8 A1015
Q7 A1015
4k7
Col0
Col1
Col2
Col3
Col4
Col5
Col6
Col7
Col8
Col9
Col11 Col15 Col13 Col10 Col12 Col14
VCC
14
A0 A1 A2 A3
15 16
XTAL1 XTAL2
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 Y11 Y12 Y13 Y14 Y15
VCC
A B C D
Dieu chinh toc do 10K
A0A1A2A3
VDD
U5
G1 G2
17 18 1 2 3
18 19
4
RB0/INT RA0 RB1 RA1 RB2/RX RA2 RB3 RA3 RB4 RA4/TOCKI RB5/TX RB6 RB7 OSC2/CLKOUT OSC1/CLKIN MCLR
23 22 21 20
6 7 8 9 10 11 12 13
1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17
U6
74154
PIC16F88
- Khèi t¹o dao ®éng, m¹ch Reset XTAL1
VCC
XTAL2
R15 10k
10MHz C5 22p
RST
C6 22p
C4
10u
- Khèi giao tiÕp m¸y tÝnh COM on PC
MAX232 13 8 RX (RB2) TX (RB5) C2 10uF C3
11 10 1 3 4 5
R1IN R2IN
R1OUT R2OUT
T1IN T2IN
T1OUT T2OUT
12 9 14 7
C1+ C1C2+ C2-
1 6 2 7 3 8 4 9 5
C1 V+ V-
2 6
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
C7
VCC
Nèi ®Õn ch©n MCLR(1)
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
- Khèi nguån 7805 1
VIN
GND
+9V ..+12V
VOUT
+5V
3
47uF
104
100uF
2
10uF
6. Linh kiÖn sö dông trong m¹ch
II.
-
Khèi ®iÒu khiÓn trung t©m: Vi ®iÒu khiÓn PIC16F88
-
Gi¶I m· d÷ liÖu hµng: IC 74HC595
-
Gi¶I m· ®Þa chØ cét: IC 74HC154
-
Giao tiÕp m¸y tÝnh: IC MAX232 (MAXIM-DALLAS)
-
§iÖn trë 4K7, 10K, tô 10µF, 100µF, 47µF, IC 7805 (æn ¸p 5V) Tran A1015
-
B¶ng LED 8x8 (2 b¶ng)
M· nguån ch−¬ng tr×nh D−íi ®©y lµ m· nguån cña ch−¬ng tr×nh hiÓn thÞ LED. Ch−¬ng tr×nh sö dông
ng«n ng÷ C, sö dông tr×nh biªn dÞch PCWH Compiler cña h·ng Custom Computer Services, Inc (CCS), phiªn b¶n 3.227. §©y lµ phÇn mÒm chuyªn dông trong viÖc lËp tr×nh PIC c¸c dßng PIC16F vµ PIC18F… §Ó lËp tr×nh cho PIC ta cã thÓ sö dông rÊt nhiÒu ng«n ng÷ kh¸c nhau nh− C, C++, BASIC, ASM… Mçi ng«n ng÷ l¹i cã mét tr×nh biªn dÞch khac nhau. Riªng nhµ cung cÊp chip lµ h·ng MicroChip th× hç trî ng−êi dïng tr×nh dÞch b»ng ASM lµ MPLAB IDE (phiªn b¶n míi nhÊt lµ 7.21). §©y lµ phÇn mÒm hoµn toµn miÔn phÝ, cho phÐp ng−êi dïng ph¸t triÓn trªn m«i tr−êng ASM c¸c øng dông. Tuy vËy trong ®Ò tµi nµy em chän dïng ng«n ng÷ C ®Ó viÕt m· ch−¬ng tr×nh v× C lµ ng«n ng÷ bËc cao, cho phÐp ta thùc hiÖn nhiÒu phÐp toµn phøc t¹p víi c©u lÖnh ®¬n gi¶n. Trong tr×nh biªn dÞch PCWH Compiler cã hç trî kh¸ nhiÒu hµm cho phÐp ta lËp tr×nh víi PIC mét c¸ch nhanh chãng nh−: c¸c hµm giao tiÕp I2C, RS232, SPI…, c¸c hµm xö lý víi EEPROM nh− write_eeprom, read_eeprom,… Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
//+===Chuong trinh LED matrix display===========+ //| Thiet ke: Nguyen Chi Linh - DT8K47 - DHBKHN | //| MCU: PIC16F88 (4K FLASH ROM, 256K EEPROM) | //| Cac IC khac: 74154 - demux/decoder 1-of-16 | //| 74595 - Ghi dich 8bit | //+=============================================+ #include <16f88.h> #include <defs_88.h> #device *=16 ADC=8 #FUSES NOWDT, HS, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG, NOPROTECT, NOFCMEN, NOIESO #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_B5,rcv=PIN_B2,bits=9) #include
#include //File chua bo font ma hoa ky tu ASCII // Dinh nghia cac chan cho ket noi 74595 #bit clk = 0x06.1 //RB0 #bit data = 0x06.3 //RB1 #bit latch = 0x06.4 //RB3 // Bo nho dem man hinh hien thi int8 buff_disp[25]; //Bo nho dem cho man hinh LED int8 max_char=117; //SO ky tu hien thi toi da int8 time=5; //Bien quy dinh toc do chu chay int1 text_on_rom=0; int8 chon=0; int8 address; int8 choose_text; //=========KHAI BAO CAC CHUONH TRINH CON================ int8 doc_eeprom(int8 addr); void send_2_595(int8 temp); void display(); void copy_2_ram1(int8 index_char); void copy_2_ram2(int8 index_char); void update_eeprom(); void convert_bcd(int8 x); //============================================= #INT_EXT EXT_ISR() { disable_interrupts(GLOBAL); clear_interrupt(int_ext); chon++; if(chon==3) chon = 0; choose_text = 0; text_on_rom = 0; Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
enable_interrupts(GLOBAL); } //===========Chuong trinh chinh================ void main() { int8 i,j,k; #bit update_rom = 0x06.6 char const a[119]= " Hello World.LED Matrix PIC16F88 - 74154 - 74595. Bang thong tin dien tu.Nguyen Chi Linh-DT8 DAI HOC BACH KHOA HA NOI "; char const b[119]= " HAPPY NEW YEAR *2006* - CHUC MUNG NAM MOI - Chuc Mung Nam Moi - Happy new year. [email protected] 1234567890 "; char const c[119]= " You like a little flame in my heart. When I see you, the flame is like up. Because I love you. Because I LOVE YOU "; char const adc[6] = " ADC="; //=========================================== TRISA=0x10; // Thiet lap chan vao ra TRISB=0b00100101; //==Thiet lap ngat ngoai 0 ================== enable_interrupts(INT_EXT); ext_int_edge(H_TO_L); enable_interrupts(GLOBAL); //=========================================== setup_adc_ports(sAN4); setup_adc(ADC_CLOCK_INTERNAL); chs0=0; //Clear bit 1f.3 chs1=0; //Clear bit 1f.4 chs2=1; //Clear bit 1f.5 delay_ms(10); //======= HIEN THI TRAI TIM ======= //============================== //======= HIEN THI BAN TIN ======== for(i=0;i<6;++i) write_eeprom(0xf0+i,adc[i]); for(i=0;i<117;++i) write_eeprom(i,a[i]); write_eeprom(0xff,max_char); // Luu so ky tu toi da vao ROM if(update_rom==1) //Kiem tra cong tac cap nhat du lieu update_eeprom(); //Goi chuong trinh con cap nhat(giao tiep qua cong COM) for (i=0;i<=24;i++) // Clear RAM of buff_disp buff_disp[i]=0xff; //Doanchuong trinh nay se hien thi noi dung ban tin luu trong EEPROM while(1) { for (i=0;i<=max_char;i++) // Begin of text { if(choose_text==0) {choose_text=1; goto hien_thi;} if(text_on_rom==0) Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
{ switch(chon) { case 0: j=a[i]-32; break; case 1: j=b[i]-32; break; case 2: j=c[i]-32; break; case 3: chon=0; break; } } else j=read_eeprom(i)-32; if(j < 51) copy_2_ram1(j); else { j=j-51; copy_2_ram2(j); } } k=read_adc(); convert_bcd(k); for(i=0;i<8;++i) { k = doc_eeprom(0xf0 + i)-32; copy_2_ram1(k); } } } //========= END MAIN ==============
// === CAC CHUONG TRINH CON ========= //=======Gui du lieu theo duong noi tiep toi 595============ void send_2_595(int8 temp) { #bit flag_bit = temp.7 // bien temp la du lieu 8-bit can gui int8 i; clk=0; for(i=0;i<8;i++) { if(flag_bit) data=1; //bit 1 else data=0; //bit 0 clk=1; clk=0; Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
temp<<=1; // Dich trai 1 bit } latch=1; latch=0; //Chot du lieu } //===========Chuong trinh con hien thi========= void display() { int8 count,column_count; int8 i; time = read_adc()/10; // Viec doc gia tri ADC truoc khi hien thi lam cho viec thay doi // toc do chu chay linh hoat hon, truc tiep tha doi for (i=0;i<=time;i++) //Toc do chu chay thay doi boi bien time { column_count=0; //Bien dem so cot, xem da quet het 16 cot chua for(count=24;count>0;count--) { send_2_595(buff_disp[count]); if(column_count > 15) RB7=1; else RB7 = 0; PORTA=column_count; delay_us(300); column_count++; } } } //========Copy to Ram1===================== void copy_2_ram1(int8 index_char) { int8 i,j; for (j=0;j<=5;j++) { // Dich RAM for (i=24;i>0;i--) buff_disp[i]= buff_disp[i-1]; // Dich RAM sang trai buff_disp[0]= font[index_char].b[j]; // Luu ma ascii vao RAM display(); // Goi hien thi } buff_disp[0]=0xff; } //========Copy to Ram 2=================== void copy_2_ram2(int8 index_char) { int8 i,j; for (j=0;j<=5;j++) { for (i=24;i>0;i--) // Dich RAM buff_disp[i]= buff_disp[i-1]; //Dich RAM sang trai buff_disp[0]=font2[index_char].b[j]; //Luu ma ascii vao RAM Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
display();
Gi¶ng viªn: NguyÔn Nam Qu©n
// Goi hien thi
} buff_disp[0]=0xff; // Them mot khoang trang giua hai ky tu } //=========Update EEPROM=================== void update_eeprom() { byte i,j,addr,max; char temp; char string[64]; // Hien thi noi dung cua EEPROM printf("\r\n256 byte EEPROM of PIC16F88:\r\n"); for(i=0; i<=15; ++i) // bytes of the data EEPROM in hex { for(j=0; j<=15; ++j) printf( "%2x ", doc_eeprom( i*16+j ) ); printf("\n\r"); } // Hien thi noi dung ban tin i=0; do { temp = doc_eeprom(i); printf( "%C", temp); i++; } while (temp != 0xff); //--------Ket thuc ---------printf("\r\nTong so chu: %2u", doc_eeprom(0xff)); printf("\r\n\nCo thay doi ban tin ko(Y/N)? "); temp=getc();//temp = getc(); if (temp == 'y' || temp == 'Y') { printf("\r\nSo chu hien thi moi la: "); max_char=gethex(); write_eeprom(0xff,max_char); printf("\r\nDia chi EEPROM can thay doi: "); addr = gethex(); if (addr >= max_char) write_eeprom(0xff,addr); printf("\r\nSo ky tu them vao: "); max = gethex(); // Tra ve gia tri Hexa if(max >= max_char) write_eeprom(0xff,max); // Cap nhat so ky tu printf("\r\nNew: "); get_string(string,max+1); for (i=0;i<max;i++) //bat dau qua trinh ghi vao ROM (cap nhat du lieu moi) { write_eeprom(addr,string[i]); addr=addr+1; Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
}
Gi¶ng viªn: NguyÔn Nam Qu©n
text_on_rom=1;
} else { printf("Tro ve !"); text_on_rom = 0; }
// Ket thuc viec cap nhat, tro ve hien thi
} //=============READ EEPROM===================== int8 doc_eeprom(int8 addr) { EEADR=addr; RD=1; return(EEDATA); } //=======Chuyen gia tri hex ra so ASCII========= void convert_bcd(int8 x) { int8 temp; int8 a; temp=x%10; //chia lay phan du, so hang don vi write_eeprom(0xf7,temp+0x30); //Cong them 0x30 de tra ve gia tri SCII a=x/10; //tach hang tram va hang chuc temp=a%10; //tach so hang chuc write_eeprom(0xf6,temp+0x30); temp=x/100; write_eeprom(0xf5,temp+0x30); }
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
Ch−¬ng 4 Giíi thiÖu c¸c IC liªn quan ®Õn m¹ch
I. Vi §iÒu KhiÓn 8 bit - PIC16f88 §Æc tÝnh næi bËt cña bé vi xö lÝ. − Sö dông c«ng nghÖ tÝch hîp cao RISC CPU. − Ng−êi sö dông cã thÓ lËp tr×nh víi 35 c©u lÖnh ®¬n gi¶n (tËp lÖnh ASM). − TÊt c¶ c¸c c©u lÖnh thùc hiÖn trong mét chu k× lÖnh ngo¹i trõ mét sè c©u lÖnh rÏ nh¸nh thùc hiÖn trong 2 chu k× lÖnh. − Xung dao ®éng cã nhiÒu nguån: Dao ®éng néi víi c¸c tÇn sè:31KHz, 125KHz, 1MHz, 2MHz, 4MHz, 8MHz Dao ®éng dïng th¹ch anh bªn ngoµi víi c¸c chÕ ®é: LP, HS, XT lªn tíi 20MHz Nguån xung clock bªn ngoµi (max) 20MHz − Tèc ®é ho¹t ®éng lµ: - Xung ®ång hå vµo lµ DC- 20MHz - Chu kú lÖnh thùc hiÖn trong 200ns (TÇn sè th¹ch anh chia 4: Tint = Tosc : 4 ) − Bé nhí ch−¬ng tr×nh Flash 8Kx14 words (ghi/xãa 100.000 lÇn) − Bé nhí Ram 368x8 bytes chia lµm 4 Bank: 0 - 1 - 2 - 3 − Bé nhí EFPROM 256x 8 bytes (ghi/xãa 1.000.000 lÇn) − LËp tr×nh nèi tiÕp th«ng qua 2 ch©n PGD vµ PGC Kh¶ n¨ng cña bé vi xö lÝ nµy − Kh¶ n¨ng ng¾t ( lªn tíi 12 nguån ng¾t trong vµ ng¾t ngoµi ) − Ng¨n nhí Stack ®−îc ph©n chia lµm 8 møc − Truy cËp bé nhí b»ng ®Þa chØ trùc tiÕp hoÆc gi¸n tiÕp. − Nguån khëi ®éng l¹i (Power On Reset - POR) Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
− Bé ®Õm xung thêi gian (WDT) víi nguån dao ®éng trªn chÝp (nguån dao ®éng RC ) ho¹t ®éng ®¸ng tin cËy. − Cã m· ch−¬ng tr×nh b¶o vÖ. − Ph−¬ng thøc cÊt gi÷ SLEEP − C«ng nghÖ CMOS FLASH /EEPROM nguån møc thÊp ,tèc ®é cao. − M¹ch ch−¬ng tr×nh nèi tiÕp cã 2 ch©n. − Xö lý ®äc /ghi tíi bé nhí ch−¬ng tr×nh (Flash ROM & EEPROM) . − D¶i ®iÖn thÕ ho¹t ®éng réng : 2.0V ®Õn 5.5V − Nguån sö dông hiÖn t¹i 25 mA − D·y nhiÖt ®é c«ng nghiÖp vµ thuËn lîi . − C«ng suÊt tiªu thô thÊp: RC_Oscillator : 76µA, 1MHz, 2V Sleep Mode : 1µA, 2V C¸c ®Æc tÝnh næi bËt cña thiÕt bÞ ngo¹i vi trªn chip − Timer0: 8 bÝt cña bé ®Þnh thêi, bé ®Õm víi hÖ sè tû lÖ tr−íc − Timer1: 16 bÝt cña bé ®Þnh thêi, bé ®Õm víi hÖ sè tû lÖ tr−íc, cã kh¶ n¨ng t¨ng trong khi ë chÕ ®é Sleep qua xung ®ång hå ®−îc cung cÊp bªn ngoµi. − Timer 2: 8 bÝt cña bé ®Þnh thêi, bé ®Õm víi 8 bÝt cña hÖ sè tû lÖ tr−íc, hÖ sè tû lÖ sau − Cã 2 chÕ ®é b¾t gi÷, so s¸nh, ®iÒu chÕ ®é réng xung(PWM). − ChÕ ®é b¾t gi÷ víi 16 bÝt, víi tèc ®é 12.5 ns, chÕ ®é so s¸nh víi 16 bÝt, tèc ®é cùc ®¹i lµ 200 ns, chÕ ®é ®iÒu chÕ ®é réng xung víi 10 bÝt. − Bé chuyÓn ®æi tÝn hiÖu t−¬ng tù sang sè (ADC) víi 10 bÝt – 5 kªnh vµo . − Cæng truyÒn th«ng nèi tiÕp SSP víi SPI ph−¬ng thøc chñ vµ I2C(phô)
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
− Bé truyÒn nhËn th«ng tin ®ång bé, dÞ bé(USART/SCL) cã kh¶ n¨ng ph¸t hiÖn 9 bÝt ®Þa chØ. RS232 ho¹t ®éng dung dao ®éng néi(kh«ng cÇn th¹ch anh bªn ngoµi) C¸c cæng vµo ra cña PIC16F88 - PIC16F88 cã 16 cæng vµo ra c¬ b¶n, nh−ng thùc tÕ chØ dïng 13 cæng ®ã lµ PORTB (RB0 - RB7) vµ PORTA (RA0 - RA5) - Mçi cæng vµo ra cña PIC cã nhiÒu chøc n¨ng, viÖc dïng chøc n¨ng nµo lµ do ng−êi dung quyÕt ®Þnh. S¬ ®å khèi cña Vi §iÒu KhiÓn PIC16F88
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
Gi¶ng viªn: NguyÔn Nam Qu©n
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
S¬ ®å ch©n cña PIC16F88
Víi kh¶ n¨ng tÝch hîp nhiÒu thiÕt bÞ ngo¹i vi trªn mét chip nh− vËy Vi §iÒu KhiÓn PIC thùc sù thÝch hîp cho nh÷ng øng dông h−íng ®iÒu khiÓn víi chi phÝ thÊp hiÖu qu¶ cao vµ kh¶ n¨ng b¶o mËt. KÝch th−íc nhá gän cña chip (18 ch©n) lµm cho kÝch th−íc m¹ch gi¶m ®¸ng kÓ. PIC16F88 ®−îc chÕ t¹o theo c«ng nghÖ RISC (Reduced Instruction Set Computer – M¸y tÝnh víi tËp lÖnh ®¬n gi¶n). §iÒu ®ã t¹o thuËn lîi cho ng−êi sö dông do PIC chØ cã 35 c©u lÖnh ph¶i häc. 1. Tæ chøc bé nhí trªn chip PIC16F88 PIC16F88 cã 3 khèi bé nhí: bé nhí ch−¬ng tr×nh Flash, bé nhí d÷ liÖu RAM vµ bé nhí EEPROM kh«ng mÊt néi dung. 1.1. Sù tæ chøc bé nhí ch−¬ng tr×nh FLASH vµ Stack nhí. Vi ®iÒu khiÓn PIC16F877 cã mét bé ®Õm ch−¬ng tr×nh 13 bit vµ cã 8Kx14 tõ m· cña bé nhí ch−¬ng tr×nh FLASH, ®−îc chia thµnh 4 trang mçi trang 2Kx14 tõ m·. Khi Reset ®Þa chØ b¾t ®Çu thùc hiÖn ch¹y lµ 0000h, Vector ng¾t b¾t ®Çu 0004h. Stack cã 8 møc dïng ®Ó l−u ®Þa(PC) chØ lÖnh thùc hiÖn tiÕp theo sau lÖnh CALL vµ khi x¶y ra ng¾t.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
B¶n ®å bé nhí ch−¬ng tr×nh vµ c¸c ng¨n xÕp.
1.2. Sù tæ chøc bé nhí d÷ liÖu RAM RAM lµ bé nhí cã thÓ ®äc vµ ghi, nã kh«ng l−u d÷ liÖu khi mÊt ®iÖn, bé nhí RAM cña PIC16F877 cã 4 bank, mçi bank cã d¶i ®Þa chØ 0-7FH(128byte) trªn c¸c bank cã nh÷ng thanh ghi ®a môc ®Ých, nã ho¹t ®éng nh− mét RAM tÜnh.(General purpose register), vµ nh−ng thanh ghi chøc n¨ng ®Æc biÖt(Special function registers) ë vïng ®Þa chØ thÊp. BÝt RP1(Status <6>) vµ bit RP0(Status <5>) dïng ®Ó lôa chän bank lµm viÖc. Gi¸ trÞ thay ®æi tõ 00 ~ Bank 0 dÕn 11 ~ bank 3 C¸c thanh ghi ®a môc ®Ých: (General Purpose Register), c¸c thanh ghi nµy ®−îc truy cËp b»ng c¶ hai c¸ch trùc tiÕp hoÆc gi¸n tiÕp qua thanh ghi FSR,tæng céng cã 368 byte. C¸c thanh ghi chøc n¨ng ®Æc biÖt. C¸c thanh ghi nµy ®−îc dïng bëi CPU vµ c¸c khèi ngo¹i vi ®Ó ®iÒu khiÓn sù ho¹t ®éng theo yªu cÇu cña thiÕt bÞ. C¸c thanh ghi nµy cã thÓ ®−îc ph©n lo¹i vµo hai bé phËn trung t©m (CPU) vµ ngo¹i vi.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
H×nh ¶nh c¸c bank trªn PIC16F88
1.3. Truy cËp bé nhí RAM b»ng ®Þa chØ trùc tiÕp, gi¸n tiÕp.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
1.4. Bé nhí d÷ liÖu EEPROM vµ bé nhí ch−¬ng tr×nh FLASH. C¸c bé nhí nµy cã thÓ ®äc vµ ghi trong khi c¸c ho¹t ®éng vÉn diÔn ra b×nh th−êng. Bé nhí d÷ liÖu kh«ng trùc tiÕp s¾p xÕp d÷ liÖu trªn c¸c thanh ghi d÷ liÖu cßn trèng. Thay v× ®ã lµ ®¸nh c¸c ®Þa chØ gi¸n tiÕp qua c¸c thanh ghi chøc n¨ng ®Æc biÖt. Cã 6 thanh ghi SFR dïng ®Ó ®äc vµ ghi bé nhí ch−¬ng tr×nh vµ bé nhí d÷ liÖu EEPROM ®ã lµ c¸c thanh ghi: EECON1EEDATH, EECON2EEADR, EEDATAEEADRH Bé nhí d÷ liÖu EEPROM cho phÐp ®äc vµ ghi c¸c byte. Khi cã t¸c ®éng tíi khèi bé nhí d÷ liÖu. Thanh ghi EEDATA gi÷ 8 bit d÷ liÖu ®Ó ®äc/ghi vµ thanh ghi EEADR gi÷ ®Þa chØ vÞ trÝ cña EEPROM ®−îc truy cËp. C¸c thanh ghi EEDATH vµ EEADRH kh«ng ®−îc sö dông ®Ó truy cËp d÷ liÖu EEPROM. C¸c thiÕt bÞ nµy cã tíi 256 byte cña d÷ liÖu EEPROM víi ®Þa chØ tõ 00h tíi FFh. Bé nhí d÷ liÖu EEPROM ®−îc xÕp vµo lo¹i cao cho c¸c chu tr×nh xo¸/ghi. Thêi gian ®−îc ®iÒu khiÓn bëi mét bé ®Þnh thêi trªn chip. Thêi gian ghi sÏ thay ®æi cïng víi ®iÖn thÕ vµ nhiÖt ®é. Bé nhí ch−¬ng tr×nh cho phÐp ®äc vµ ghi c¸c kÝ tù. Khi t¸c ®éng ®Õn khèi ch−¬ng tr×nh nhí, c¸c thanh ghi EEDATH, EEDATA cã d¹ng 2 byte kÝ tù gi÷ 14 bit d÷ liÖu ®Ó ®äc/ghi vµ c¸c thanh ghi EEADRH, EEADR cã d¹ng hai bit tõ m· víi 13 bit ®Þa chØ cña vÞ trÝ EEPROM ®−îc truy cËp. Nh÷ng thiÕt bÞ nµy cã thÓ cã tíi 8K tõ m· cña ch−¬ng tr×nh EEPROM víi mét ®Þa chØ giíi h¹n tõ 0h tíi 3FFh. 1.5. Cæng vµo ra Mét sè ch©n cña c¸c cæng vµo/ra ®−îc tÝch hîp víi mét sè hµm cã thÓ thay ®æi ®Ó phï hîp víi nh÷ng thiÕt bÞ ngo¹i vi. Nh×n chung khi thݪt bÞ ngo¹i vi ho¹t ®éng, c¸c ch©n cã thÓ kh«ng sö dông víi môc ®Ých lµm ch©n vµo ra. Mçi cæng vµo ra cña PIC cã mét thanh ghi ®iÒu khiÓn viÖc truy xuÊt d÷ liÖu. Cæng A cã thanh ghi TRISA, cæng B cã thanh ghi TRISB…NÕu ®Æt bÝt TRISx = 1 th× lóc nµy cæng X sÏ t−¬ng øng cã c¸c ch©n lµ ch©n vµo .NÕu xo¸ bÝt TRISx = 0 th× lóc nµy cæng X sÏ t−¬ng øng cã c¸c ch©n lµ ch©n ra.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
II. ICs 74HC154 §©y lµ IC gi¶i m·/gi¶i ®a hîp, ®−îc dïng ®Ó gi¶i m· nhÞ ph©n 4 bit. 74HC154 cã 4 ®−êng vµo lµ 4 bit m· nhÞ ph©n vµ 16 ®−êng ra, chØ cã mét ®Çu ra duy nhÊt ë møc thÊp (L) cßn tÊt c¶ c¸c ®Çu ra kh¸c møc cao tuú thuéc vµo 4 bit ®Çu vµo. S¬ ®å ch©n cña IC 74154:
Chøc n¨ng c¸c ch©n cña IC: - VCC vµ GND lµ c¸c ch©n nguån cña IC, cÊp nguån cho IC ho¹t ®éng. Ch©n VCC nèi ®Õn cùc d−¬ng cña nguån (+5 do lµ IC hä TTL), ch©n GND nèi ®Õn cùc ©m cña nguån cÊp (0V) - G1,G2 lµ hai ch©n cho phÐp tÝn hiÖu ra, khi ®−îc nèi ®Õn møc cao (logic 1 hay +5V) th× c¸c ®Çu ra bÞ cÊm. §Ó IC ho¹t ®éng th× c¸c ch©n nµy cÇn ®−îc nèi víi ®Êt cña m¹ch (nèi ®Õn GND). - IN-A, IN-B, IN-C, IN-D lµ 4 ch©n ®Çu vµo, ®−a t×n hiÖu nhÞ ph©n 4 bit vµo. C¸c ch©n nµy t−¬ng thÝch víi chuÈn TTL nªn cã thÓ ghÐp trùc tiÕp víi c¸c ch©n t×n hiÖu cña c¸c IC trong hä TTL hay ch©n cña Vi §iÒu KhiÓn cã møc ®iÖn ¸p ra t−¬ng thÝch TTL. Khi nèi t×n hiÖu kh«ng ph¶i theo chuÈn TTL th× cÇn ph¶i dung mét IC ®Öm ®Ó chuyÓn ®æi møc logic thµnh TTL
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
- OUT-00, OUT-01, OUT-02,……,OUT-14,OUT-15 Lµ 16 ch©n xuÊt tÝn hiÖu ra. T¹i mçi thêi ®iÓm chØ cã mét ch©n ë møc th©p (L) cßn c¸c ch©n kh¸c ®Òu ë møc cao (H). Chi tiÕt xem ë b¶ng bªn d−íi. TÝn hiÖu ra lµ TTL B¶ng tr¹ng th¸i cña 74154: Input
Output
G1 G2 D C B A 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 H H H H H H H H H H H H H H H H H H H H H H L H H H H H H H H H H H H H H H H H H H H H H L L L L L L L L L L L L L L L L
L L L L L L L L L L L L L L L L L
H L L L L L L L L H H H H H H H H
H L L L L H H H H L L L L H H H H
H L L H H L L H H L L H H L L H H
H L H L H L H L H L H L H L H L H
H L H H H H H H H H H H H H H H H
H H L H H H H H H H H H H H H H H
H H H L H H H H H H H H H H H H H
H H H H L H H H H H H H H H H H H
H H H H H L H H H H H H H H H H H
H H H H H H L H H H H H H H H H H
H H H H H H H L H H H H H H H H H
H H H H H H H H L H H H H H H H H
H H H H H H H H H L H H H H H H H
H H H H H H H H H H L H H H H H H
H H H H H H H H H H H L H H H H H
H H H H H H H H H H H H L H H H H
H H H H H H H H H H H H H L H H H
H H H H H H H H H H H H H H L H H
H H H H H H H H H H H H H H H L H
H H H H H H H H H H H H H H H H L
Nguyªn lý ho¹t ®éng cña IC 74HC154 Nh×n lªn b¶ng tr¹ng th¸i ta thÊy, chØ khi c¶ hai ch©n G1, G2 ®Òu ë møc thÊp (L) th× IC míi ho¹t ®éng chÝnh x¸c. Cßn c¸c tr−êng hîp kh¸c th× c¸c ®Çu ra ®Òi ë møc cao. Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
Khi G1,G2 ë møc thÊp, t−íng øng víi gi¸ trÞ cña 4 bit d− liÖu ®−a vµo, IC sÏ gi¶i m· vµ ®ua ®Çu ra t−¬ng øng vÒ møc thÊp (møc 0). Vi dô: DCBA = 0101 - > Gi¶i m· -> Y 05 = 0.
III. IC 74HC595 IC 74HC595 lµ IC ghi dÞch 8-bit, vµo nèi tiÕp ra song song víi mét thanh ghi l−u tr÷ (storage register) vµ ®Çu ra 3 tr¹ng th¸i. Chøc n¨ng cña IC: - Vµo d÷ liÖu 8-bit - §Çu ra 8 –bit nèi tiÕp vµ 8-bit song song - Thanh ghi l−u tr÷ víi ®Çu ra 3 tr¹ng th¸i - TÇn sè dÞch 100MHz (Typical) M« t¶ ch©n cña IC 74HC595 - VCC vµ GND: ch©n cÊp nguån cho IC. §iÖn ¸p nguån cÊp trong kho¶ng 2V – 5.5V. - Q0 ~Q7: 8 ®Çu ra d÷ liÖu song song, ch©n Q7’ lµ ch©n ra d÷ liÖu nèi tiÕp - MR lµ ch©n Reset IC, tÝch cùc møc thÊp (0). Khi ®−a møc 0 vµo ch©n nµy th× IC sÏ thùc hiÖn Reset, tÊt c¶ ®Çu ra ®Òu vÒ 0. - SHCP lµ ch©n nhËn xung ®ång hå cña thanh ghi dÞch - STCP lµ ch©n nhËn xung ®ång hå cho thanh ghi l−u tr÷ - OE: ch©n cho phÐp xuÊt d÷ liÖu ra, tÝch cùc møc thÊp. Khi ho¹t ®éng ch©n nµy ë møc 0. Khi ®−a ch©n OE lªn møc 1 c¸c ®Çu ra sÏ ë tr¹ng th¸i trë kh¸ng cao - Ds lµ ch©n nhËn d÷ liÖu nèi tiÕp. Ho¹t ®éng cña IC D÷ liÖu sau khi ®−îc ®−a vµo ch©n Ds cña IC, bit d÷ liÖu ®ã sÏ ®−îc dÞch øng víi s−ên d−¬ng cña xung nhÞp, tõ møc thÊp-lªn-cao( LOW-TO-HIGH ) ®−a tíi ch©n SHCP , d÷ liÖu vµo t¹i mçi thanh ghi sÏ ®−îc ®−a sang thanh ghi l−u tr÷ khi cã mét s−ên Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
d−¬ng cña xung nhÞp ®i vµo ch©n STCP. Xung ®ång hå t¹i ch©n SHCP ph¶i xuÊt hiÖn tr−íc xung nhÞp vµo ch©n STCP. Mçi xung clock ®−a vµo ch©n SHCP t−¬ng øng víi mét bit d÷ liÖu ®−a vµo t¹i ch©n Ds, 8 xung øng víi 8-bit d÷ liÖu ®−a vµo, chóng ®−îc l−u trong thanh ghi l−u tr÷. Khi mét tÝn hiÖu tÝch cùc møc 0 ®−a vµo ch©n OE th× 8-bit d÷ liÖu nµy sÏ ®−îc d−a ra 8 ®Çu ra song song. Khi cã 8 bit d÷ liÖu tiÕp theo ®−îc dÞch vµo th× 8 bit d÷ liÖu tr−íc ®ã sÏ lÇn l−ît ®−îc dÞch ra nèi tiÕp nhau qua ch©n Q7’. Trong chÕ ®é ho¹t ®éng b×nh th−êng cña IC, c¸c ch©n MR sÏ ®−îc nèi víi d−¬ng nguån, ch©n OE sÏ nèi víi ®Êt. Khi ghÐp nèi c¸c IC 74595 nèi tiÕp nhau thµnh m¹ng IC th× c¸c ch©n SHCP vµ STCP cña tÊt c¶ c¸c IC sÏ ®−îc nèi chung víi nhau vµ nèi víi nguån xung nhÞp, ch©n Ds cña IC ®Çu tiªn sÏ nèi víi ch©n vµo d÷ liÖu (tõ c¸c IC kh¸c), cßn c¸c IC sau ®ã th× ®−îc m¾c nèi tiÕp nhau, ch©n Ds cña IC nµy nèi víi ch©n Q7’ cña IC tr−íc ®ã. S¬ ®å ch©n cña IC 74HC595
Gi¶n ®å thêi gian qu¸ tr×nh truyÒn d÷ liÖu.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
IV.
Gi¶ng viªn: NguyÔn Nam Qu©n
IC MAX232
MAX232 lµ mét dßng IC kh¸ phæ biÕn ®−îc ph¸t triÓn bëi nhiÒu h·ng s¶n xuÊt chip. §©y lµ IC chuyªn dông rÊt hay ®−¬c dïng trong viÖc chuyÓn ®æi møc logic khi ta ghÐp nèi mét IC cã ch©n tÝn hiÖu theo chuÈn TTL (5V) víi cæng COM (RS232) trªn m¸y tÝnh cho c¸c môc ®Ých giao tiÕp kh¸c nhau. Trªn c«ng COM cña m¸y tÝnh, møc Logic 0 vµ 1 thay ®æi trong kho¶ng ®iÖn ¸p tõ -15V ®Õn + 15V. Trong khi dã, phÇn lín c¸c IC (mµ cô thÓ lµ c¸c lo¹i Vi §iÒu KhiÓn) trong thùc tÕ cã møc ®iÖn ¸p tu©n theo chuÈn TTL (møc 0 øng víi 0V, møc 1 øng víi 5V). Do ®ã khi muèn ghÐp nèi c¸c IC nµy víi m¸y tÝnh th× ta cÇn dïng c¸c IC ®Öm ®Ó chuyÓn ®æi gi÷a hai møc ®iÖn ¸p nµy. MAX232 lµ mét trong sè nh÷ng IC ®ã. MAX232 cã 2 bé chuyÓn ®æi ®iªn ¸p cho phÐp cung lóc cã thÓ ghÐp nèi 2 thiÕt bÞ tíi 2 cæng COM m¸y tÝnh. Khi ho¹t ®éng IC nµy cÇn cã thªm mét sè tô m¾c ngoµi.
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
S¬ ®å khèi vµ ch©n IC MAX232
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
Gi¶ng viªn: NguyÔn Nam Qu©n
§å ¸n m«n ThiÕt kÕ m¹ch Logic
V.
Gi¶ng viªn: NguyÔn Nam Qu©n
IC 7805 IC 7805 lµ mét IC æn ¸p thuéc hä 78xx víi c¸c dßng 7805 æn ¸p 5V, 7809, æn ¸p
9V, 7812 æn ¸p 12V … IC nµy ®−îc sñ dông trong m¹ch ®Ó t¹o ra ®iÖn ¸p 5V æn ®Þnh cung cÊp cho m¹ch. Khi ®Æt mét ®iÖn ¸p vµo ®Çu vµo cña IC (th−êng kho¶ng 9V®Õn 35V), ®Çu ra IC sÏ cho ®iÖn ¸p æn ®Þnh 5V (4.8V – 5.2V), dßng cung cÊp cps thÓ ®¹t 1- 2A tïy lo¹i. S¬ ®å khèi:
C¸c m¹ch øng dông c¬ b¶n cña hä IC78xx. 1. M¹ch án ¸p c¬ b¶n
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
Ch−¬ng 5 KÕt luËn
Sau qu¸ tr×nh t×m hiÓu vÒ b¶ng th«ng tin ®iÖn tö vµ vÒ c¸c lo¹i Vi DiÒu KhiÓn, nhãm chóng em ®· chÕ t¹o thµnh c«ng mét b¶ng th«ng tin ®iÖn tö hiÓn thÞ néi dung th«ng tin mµ ng−êi dung yªu cÇu. −u ®iÓm: - M¹ch kh¸ ®¬n gi¶n, phÇn cøng kh«ng cã g× phøc t¹p, linh kiÖn dÔ kiÕm. - M¹ch ch¹y æn ®Þnh, Ýt chÞu ¶nh h−ëng bëi c¸c nhiÔu tõ m«i tr−êng, ®é s¸ng cña c¸c LED kh¸ ®ång ®Òu. - M¹ch cã nhiÒu tÝnh n¨ng nh− thay ®æi tèc ®é ch÷ ch¹y trùc tiÕp, l−u néi dung hiÓn thÞ vµo EEPROM kh«ng mÊt néi dung, giao tiÕp víi m¸y tÝnh ®Ó thay ®æi b¶n tin hiÓn thÞ, phÇn mÒm giao tiÕp kh«ng cÇn phÇn mÒm chuyªn dông, bÊt tr×nh giao tiÕp víi cæng COM nµo ®Òu dïng ®−îc. - TÝnh linh ho¹t vµ kh¶ n¨ng më réng kÝch th−íc b¶ng LED kh¸ dÔ dµng Nh−îc ®iÓm: - M¹ch ®Öm dßng ch−a tèt, ch−a cung cÊp ®ñ c«ng suÊt cho b¶ng ®Ìn. - Do dïng EEPROM trªn chip (PIC16F88 cã 256 Bytes EEPOM) nªn ®é dµi cña b¶n tin cã phÇn bÞ giíi h¹n. - ViÖc thay ®æi b¶n tin cÇn cã m¸y vi tÝnh nªn ch−a thùc sù chñ ®éng trong viÖc thay ®æi néi dung b¶n tin. H−íng ph¸t triÓn cña ®Ò tµi. Kh¾c phôc nh÷ng nh−îc ®iÓm hiÖn cã cña b¶ng th«ng tin ®iÖn tö, h−íng ph¸t triÓn cña ®Ò tµi lµ thay ®æi phÇn m¹ch c«ng suÊt ®Ó ®¸p øng ®−îc yªu cÇu vÒ dßng ®iÖn cña b¶ng LED. VÒ c¸ch thay ®æi néi dung b¶n tin. Ngoµi viÖc giao tiÕp víi m¸y tÝnh, ta më réng thªm phÇn giao tiÐp víi bµn phÝm m¸y tÝnh th«ng qua c¸c giao tiÕp chuÈn nh− PS/2
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
hay USB. Ngoµi ra ta cã thÓ giao tiÕp víi bµn phÝm hång ngo¹i, nh− vËy sÏ tiÖn dông h¬n trong viÖc thay ®æi b¶n tin mµ kh«ng cÇn th¸o b¶ng hiÓn thÞ xuèng. −u viªt h¬n ta cã thÓ g¾n thªm mét modem truyÒn nhËn sè liÖu ®Ò nhËn vµ gi¶i m· b¶n tin tõ ®iÖn tho¹i di ®éng. Nh− vËy viÖc thay ®æi néi dung b¶n tin cña b¶ng hiÓn thÞ lóc nµy hoµn toµn kh«ng phô thuéc vµo vÞ trÝ cña b¶ng tin vµ kho¶ng c¸ch ®Õn níi ®Æt b¶ng tin. TÊt nhiªn viÖc thªm nh−ng khèi giao tiÕp kh¸c ®i ®«i víi viÖc gi¸ thµnh cña b¶ng m¹ch sÏ t¨ng lªn. VÇn ®Ò nµy ta cÇn c©n nh¾c cho tõng tr−êng hîp cô thÓ. Thay mÆt nhãm, em xin ch©n thµnh c¶m ¬n ®Õn c¸c thÇy c« gi¸o. Chóng em ch©n thµnh c¶m ¬n thÇy NGUYÔN NAM QU¢N lµ gi¶ng viªn trùc tiÕp gi¶ng d¹y chóng em, ®· cho nh÷ng gîi ý quý b¸u vÒ ®Ò tµi. Chóng em ch©n thµnh c¶m ¬n thÇy PH¹M NGäC NAM, gi¶ng viªn m«n Kü ThuËt Vi Xö Lý, ®· cã nh÷ng nhËn xÐt vÒ thiÕu xãt, nh÷ng ®iÓm ch−a ®−îc cña s¶n phÈm, lµm cho s¶n phÈm ®−îc hoµn thiÖn. Còng ch©n thµnh c¶m ¬n c¸c b¹n trong líp, gi¶ng ®−êng 7, 8. Nh÷ng kinh nghiÖm, nh÷ng bæ sung cña c¸c b¹n ®· gióp t«i hoµn thµnh ®Ò tµi “thiÕt kÕ m¹ch quang b¸o dïng Vi §iÒu KhiÓn” Xin ch©n thµnh c¶m ¬n! Sinh viªn NguyÔn ChÝ Linh
Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN
§å ¸n m«n ThiÕt kÕ m¹ch Logic
Gi¶ng viªn: NguyÔn Nam Qu©n
Tµi liÖu tham kh¶o I. Tµi liÖu tiÕng viÖt - CÊu tróc vµ hä Vi §iÒu KhiÓn 8051
- T¸c gi¶ NguyÔn T¨ng C−êng
- Hä Vi §iÒu KhiÓn 8051
- T¸c gi¶ Tèng V¨n On
- C¸c bµi viÕt trªn c¸c diÔn ®µn ®iÖn tö - §iÔn ®µn http://dientuvietnam.net + Môc “KiÕn thøc chung vÒ Vi §iÒu KhiÓn“ – T×m hiÓu vÇ m¹ch quang b¸o + Môc “Vi §iÒu KhiÓn PIC” – LED matrix Display + C¸c bµi viÕt vÒ Vi §iÒu KhiÓn PIC vµ c¸ch lËp tr×nh + Bµi viÕt vÒ c¸ch thøc giao tiÕp víi m¸y tÝnh - DiÔn ®µn http://picvietnam.com - Tµi liÖu sö dông CCS TiÕng ViÖt
- T¸c gi¶ TrÇn Xu©n Tr−êng
SV K2001 - §HBK HCM
VI. Tµi liÖu TiÕng Anh - PIC Mid-range Reference Manual
-
MicroChip,
Inc(www.microchip.com) - Datasheet PIC16F87-88 - Serial Port Complete
- MicroChip, Inc (RS232)
- Jan Axelson
- Using AVR to display on LED dotmatrix sign board (http://home.wanadoo.nl/electro1/avr/dotmatrix.htm) - PIC Circuits Gallery (http://www.interq.or.jp/japan/se-inoue/) - Datasheet cña ICs 74HC154 vµ 74HC595 - www.alldatasheet.com - Datasheet of MAX 232
-
www.maxim-ic.com
- C¸c tµi liÖu trªn ®−îc t×m kiÕm th«ng qua trang web cña GOOGLE – www.google.com.vn Sinh viªn: NguyÔn ChÝ Linh – DT8 K47 - DHBKHN