LỜI NÓI ĐẦU
Trong một xã hội hiện đại, sự phát triển của ngành điện tử viễn thông là một yêu cầu không thể thiếu để thúc đẩy nền kinh tế phát triển và góp phần nâng cao đời sống xã hội.
Ngày nay, trên thế giới, điện tử viễn thông vẫn không ngừng phát triển với tốc độ rất cao và thâm nhập ngày càng sâu vào tất cả các lĩnh vực của đời sống xã hội. Cùng với sự phát triển như vũ bão đó, ngành điện tử viễn thông Việt Nam cũng đang nỗ lực hết sức trên con đường tìm chỗ đứng cho mình.
Trong đó, lĩnh vực bảo mật là một mảng lớn mà chúng ta cần quan tâm. Chính vì thế, với mục đích làm quen bước đầu với việc thiết kế mạch điện tử nói chung và với hệ thống an toàn, bảo mật nói riêng, chúng em chọn đề tài “ Thiết kế hệ thống khóa mã điện tử ” để nghiên cứu và thực hiện. Hệ thống này cho phép ta quản lý và hạn chế được số người ra vào theo mã số trong khu vực cần bảo mật với độ an toàn cao.Đề tài tuy không lớn song về mặt nguyên lý thì có thể phát triển thành các ứng dụng quản lý theo thẻ từ, mã vạch,mã hoá trong các khu vực đặc biệt cần phải có may tính hiện đại với CSDL,ngoài mật mã ra còn kiểm tra tần số giọng nói và camera kiểm tra hình ảnh mà hiện nay đang rất cần thiết. Vì thế, đối với chúng em đây là bước cơ sở để nghiên cứu những ứng dụng lớn hơn sau này.
Trong quá trình thực hiện đề tài, tuy đã rất cố gắng song do những hạn chế về thời gian tìm hiểu, kiến thức cũng như kinh nghiệm thực tế nên chúng em không tránh khỏi nhiều thiếu sót. Chúng em rất mong nhận được những ý kiến đóng góp của thầy cô và các bạn để đề tài của chúng em được hoàn thiện hơn, với nhiều chức năng hơn
29 trang |
Chia sẻ: banmai | Lượt xem: 1706 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Thiết kế khóa điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trêng ®¹i häc B¸ch khoa Hµ Néi
Khoa®iÖn tö viÔn th«ng
Bµi tËp lín m«n vi xö lý
Gi¶ng viªn:Ph¹m Ngäc Nam
Nhãm 1 líp §T9_K47:
1.Vò TiÕn C«ng
2.Vò Ngäc Hµ
3.NguyÔn V¨n Hoµng
4.Th¸i Trêng
5.Tr¬ng Kh¸nh Toµn
Lêi nãi ®Çu
Trong mét x· héi hiÖn ®¹i, sù ph¸t triÓn cña ngµnh ®iÖn tö viÔn th«ng lµ mét yªu cÇu kh«ng thÓ thiÕu ®Ó thóc ®Èy nÒn kinh tÕ ph¸t triÓn vµ gãp phÇn n©ng cao ®êi sèng x· héi.
Ngµy nay, trªn thÕ giíi, ®iÖn tö viÔn th«ng vÉn kh«ng ngõng ph¸t triÓn víi tèc ®é rÊt cao vµ th©m nhËp ngµy cµng s©u vµo tÊt c¶ c¸c lÜnh vùc cña ®êi sèng x· héi. Cïng víi sù ph¸t triÓn nh vò b·o ®ã, ngµnh ®iÖn tö viÔn th«ng ViÖt Nam còng ®ang nç lùc hÕt søc trªn con ®êng t×m chç ®øng cho m×nh.
Trong ®ã, lÜnh vùc b¶o mËt lµ mét m¶ng lín mµ chóng ta cÇn quan t©m. ChÝnh v× thÕ, víi môc ®Ých lµm quen bíc ®Çu víi viÖc thiÕt kÕ m¹ch ®iÖn tö nãi chung vµ víi hÖ thèng an toµn, b¶o mËt nãi riªng, chóng em chän ®Ò tµi “ ThiÕt kÕ hÖ thèng khãa m· ®iÖn tö ” ®Ó nghiªn cøu vµ thùc hiÖn. HÖ thèng nµy cho phÐp ta qu¶n lý vµ h¹n chÕ ®îc sè ngêi ra vµo theo m· sè trong khu vùc cÇn b¶o mËt víi ®é an toµn cao.§Ò tµi tuy kh«ng lín song vÒ mÆt nguyªn lý th× cã thÓ ph¸t triÓn thµnh c¸c øng dông qu¶n lý theo thÎ tõ, m· v¹ch,m· ho¸ trong c¸c khu vùc ®Æc biÖt cÇn ph¶i cã may tÝnh hiÖn ®¹i víi CSDL,ngoµi mËt m· ra cßn kiÓm tra tÇn sè giäng nãi vµ camera kiÓm tra h×nh ¶nh… mµ hiÖn nay ®ang rÊt cÇn thiÕt. V× thÕ, ®èi víi chóng em ®©y lµ bíc c¬ së ®Ó nghiªn cøu nh÷ng øng dông lín h¬n sau nµy.
Trong qu¸ tr×nh thùc hiÖn ®Ò tµi, tuy ®· rÊt cè g¾ng song do nh÷ng h¹n chÕ vÒ thêi gian t×m hiÓu, kiÕn thøc còng nh kinh nghiÖm thùc tÕ nªn chóng em kh«ng tr¸nh khái nhiÒu thiÕu sãt. Chóng em rÊt mong nhËn ®îc nh÷ng ý kiÕn ®ãng gãp cña thÇy c« vµ c¸c b¹n ®Ó ®Ò tµi cña chóng em ®îc hoµn thiÖn h¬n, víi nhiÒu chøc n¨ng h¬n
Hµ Néi ngµy 25 th¸ng 11 n¨m 2005
PHÇN1: Giíi thiÖu chøc n¨ng hÖ thèng
§©y lµ mét hÖ thèng ®ãng më theo m· cho phÐp mét sè Ýt ngêi cã thÓ ra vµo theo m· cña hä. Nã cã thÓ ®îc ¸p dông lµm cöa ra vµo cña c¸c hÖ thèng cÇn mang tÝnh b¶o mËt, giíi h¹n sè ngêi ra vµo nh: Cöa ra vµo c¬ quan, nhµ m¸y, c¸c khu quan träng...
Trªn c¬ së ®ã, hÖ thèng ph¶i ®¶m b¶o ®îc hai yªu cÇu c¬ b¶n sau:
-TÝnh an toµn: do lµ cöa nªn ph¶i cã chøc n¨ng b¶o vÖ.
-TÝnh b¶o mËt.
Do ®ã chóng em ®· ®a ra yªu cÇu mét hÖ thèng cã chøc n¨ng ®ãng më nh sau:
I. Chøc n¨ng hÖ thèng:
HÖ thèng qu¶n lÝ mét sè m· øng víi mét sè ngêi ®îc cho phÐp ra vµo ë cña nµy vµ ho¹t ®éng trªn c¬ së c¸c m· nµy.
M· gåm cã 6 ch÷ sè.
HÖ thèng giao tiÕp víi ngêi sö dông th«ng qua mét bµn phÝm ®iÒu khiÓn vµ hiÓn thÞ trªn mµn h×nh.
Bµn phÝm gåm c¸c phÝm sè 0-9 vµ c¸c phÝm chøc n¨ng: ON, Change, Enter, backspace(<--).
Khi b¾t ®Çu , ngêi ®iÒu khiÓn chän chøc n¨ng thùc hiÖn:
NÕu chän Open: sau ®ã sÏ nhËp m·. KÕt thóc nhËp m· b¨ng nót Enter.
-NÕu m· ®óng: cöa sÏ më(m« pháng trªn m¹ch b»ng viÖc bËt hay t¾t ®Ìn LED xanh)
-NÕu m· sai: kh«ng cã hiÖn tîng g× c¶. NÕu nhËp m· sai 3 lÇn liªn tiÕp chu«ng sÏ b¸o ®éng. (m« pháng trªn m¹ch b»ng viÖc bËt hay t¾t ®Ìn LED ®á)
NÕu chän Change: KiÓm tra xem m· cò cã ®óng hay kh«ng.
-NÕu m· ®óng: cho phÐp thay ®æi m· b»ng c¸ch nhËp vµo m· míi vµ x¸c nhËn ®óng m· nµy mét lÇn n÷a.
-NÕu m· sai: kh«ng cã hiÖn tîng g× c¶. NÕu nhËp m· sai ba lÇn liªn tiÕp chu«ng sÏ b¸o ®éng.
Trong qu¸ tr×nh nhËp m·, nÕu cã nhÇm lÉn cã thÓ nhËp l¹i b»ng c¸ch sö dông nót Backspace(<--)
II. Ph©n tÝch hÖ thèng:
II.1.Kh¶ n¨ng ®¸p øng yªu cÇu cña hÖ thèng:
HÖ thèng giao tiÕp víi ngêi sö dông chØ b»ng bµn phÝm vµ hiÓn thÞ do vËy nã h¹n chÕ ®îc t¸c ®éng cña ngêi sö dung vµo néi dung bªn trong cña kho¸.
Víi sè lîng m· kh«ng lín (cì 10 m·), mçi m· dµi s¸u ch÷ sè th× x¸c suÊt t×m thÊy m· ®óng lµ: 10/1.000.000 = 0,0001%.Thªm vµo ®ã lµ kh¶ n¨ng b¸o ®éng khi nhËp ba m· sai liªn tiÕp lµm cho hÖ thèng cã tÝnh an toµn cao.
Mçi ngêi cã mét m· riªng. NÕu nghi ngê lé m·, ngêi dïng cã thÓ thay ®æi m· theo mong muèn. Nhê ®ã mµ kh¶ n¨ng b¶o mËt cña hÖ thèng còng t¨ng cao.
II.2. Ph©n tÝch hÖ thèng:
Do giíi h¹n cña bµi tËp, chóng em chØ tËp trung vµo thiªt kÕ phÇn m¹ch ®iÖn tö ®Ó ®iÒu khiÓn hÖ thèng nµy.
Theo yªu cÇu ®a ra, hÖ thèng gåm 3 khèi c¬ b¶n:
Khèi bµn phÝm: cÇn 14 nót gåm:
C¸c nót sè tõ 0-9
C¸c nót chøc n¨ng: Open, Change, <--.
Sö dông c¸cphÝm bÊm tù nh¶ ®Ó nhËp vµo.
Khèi m¹ch xö lÝ: Xö lÝ c¸c ho¹t ®éng ®· nªu ë yªu cÇu hÖ thèng.
Khèi hiÓn thÞ: Gióp cho viÖc giao tiÕp víi ngêi sö dông trë nªn dÔ dµng h¬n ngêi sö dông biÕt m×nh ®ang thùc hiÖn thao t¸c g× víi cöa.
PHÇN 2: C¸c ph¬ng ¸n
Trªn c¬ së c¸c yªu cÇu ®· ®Æt ra vµ c¸c ph©n tÝch s¬ bé, tõng khèi ®Òu cã c¸c ph¬ng ¸n gi¶i quyÕt nh sau:
I. Khèi bµn phÝm:
Bµn phÝm gåm c¸c nót. Mçi nót lµ mét bé phËn ®ãng më b»ng c¬ khÝ. C¸c m· cña bµn phÝm t¹o ra cã thÓ ®îc t¹o ra trùc tiÕp hoÆc b»ng phÐp quÐt hµng vµ quÐt cét. Sè ®Çu d©y ra tõ bµn phÝm ph¶i phï hîp víi ®Çu vµo cña m¹ch xö lÝ. §ång thêi víi cµng Ýt d©y th× kh¶ n¨ng æn ®Þnh cña bµn phÝm cµng t¨ng.
§Ó thùc hiÖn bµn phÝm 14 nót ta cã thÓ cã c¸c ph¬ng ¸n sau:
I.1.Ph¬ng ¸n 1: Bè trÝ thµnh 1 hµng hoÆc 1 cét:
Sè ®Çu ra tõ bµn phÝm lµ 14 d©y.
Tèn diÖn tÝch.
H×nh thøc kh«ng ®Ñp.
I.2.Ph¬ng ¸n 2: Bè trÝ thµnh 2 hµng vµ 7 cét hoÆc 7 hµng vµ 2 cét:
Sè ®Çu ra tõ bµn phÝm lµ 9 d©y. Kh¶ n¨ng ®Ó gi¶i m· khã.
Tèn diÖn tÝch.
H×nh thøc kh«ng ®Ñp.
I.3.Ph¬ng ¸n 3 :Bè trÝ thµnh 4 hµng vµ 4 cét:
Sè ®Çu ra tõ bµn phÝm lµ 8 d©y.
H×nh d¸ng ®Ñp, c©n ®èi.
Cßn d 3 nót ®Ó më réng chøc n¨ng trong t¬ng lai.
S¬ ®å cña bµn phÝm nh sau
II. Khèi hiÓn thÞ:
Yªu cÇu ®Æt ra ®èi víi khèi hiÓn thÞ lµ th©n thiÖn víi ngêi sö dông. Trªn c¬ së ®ã ta cã 2 ph¬ng ¸n sau:
II.1.Ph¬ng ¸n 1: Dïng LED 7 thanh:
¦u ®iÓm: §¬n gi¶n, rÎ.
Nhîc ®iÓm: Kh«ng chØ dÉn cô thÓ.Giíi h¹n kÝ tù hiÓn thÞ ra. NÕu muèn hiÓn thÞ chØ dÉn dµi cÇn nhiÒu LED vµ ®i kÌm víi nã lµ bé gi¶i m·. §iÒu nµy lµm cho hÖ thèng trë nªn cång kÒnh, phøc t¹p.ViÖc lËp tr×nh quÐt hµng quÐt cét ®Ó hiÓn thÞ phøc t¹p.
II.2.Ph¬ng ¸n 2: Dïng LCD.
¦u ®iÓm: HiÓn thÞ râ rµng cã kÌm theo chØ dÉn.
Thay ®æi néi dung linh ho¹t.Xö lý lËp tr×nh ®¬n gi¶n h¬n LED7 thanh vµ ma trËn ®iÓm.
Nhîc ®iÓm: Gi¸ thµnh ®¾t.
III. M¹ch xö lÝ:
Dïng vi ®iÒu khiÓn:
¦u ®iÓm:
Vi ®iÒu khiÓn cã kh¶ n¨ng ®iÒu khiÓn linh ho¹t theo mong muèn cña ngêi sö dông dùa vµo phÇn mÒm ®îc viÕt.
Kh¶ n¨ng thay ®æi m· cã thÓ thùc hiÖn ®îc.
HÖ thèng ®¬n gi¶n h¬n nhiÒu, kÝch thøc nhá. H¬n n÷a sÏ gi¶m ®îc ®é kÐm æn ®Þnh do nhiÒu linh kiÖn g©y ra.
Cã thÓ thay ®æi, thªm chøc n¨ng b»ng c¸ch thay ®æi phÇn mÒm.
Nhîc ®iÓm:
- ChÊt lîng cña hÖ thèng phô thuéc vµo chÊt lîng ch¬ng tr×nh ®îc n¹p cho vi ®iÒu khiÓn.
IV. KÕt luËn:
Sau khi c©n nh¾c c¸c ph¬ng ¸n ®· ®a ra, vµ kh¶ n¨ng phèi hîp gi÷a c¸c khèi, chóng em chän gi¶i ph¸p:
- Sö dông bµn phÝm 4x4.
- Khèi hiÓn thÞ dïng LCD.
- Khèi m¹ch xö lÝ dïng vi ®iÒu khiÓn.
PHÇN 3: ph¬ng ¸n dïng vi ®iÒu khiÓn
I. ThiÕt kÕ phÇn cøng:
§Þnh híng thiÕt kÕ:
ThiÕt kÕ mét hÖ vi ®iÒu khiÓn bao gåm c¶ viÖc thiÕt kÕ tæ chøc phÇn cøng vµ viÕt phÇn mÒm cho nÒn phÇn cøng mµ ta thiÕt kÕ. ViÖc xem xÐt gi÷a tæ chøc phÇn cøng vµ ch¬ng tr×nh phÇn mÒm cho mét thiÕt kÕ lµ mét vÊn ®Ò cÇn ph¶i c©n nh¾c. V× khi tæ chøc phÇn cøng cµng phøc t¹p, cµng cã nhiÒu chøc n¨ng hç trî cho yªu cÇu thiÕt kÕ th× phÇn mÒm cµng ®îc gi¶m bít vµ dÔ dµng thùc hiÖn nhng l¹i ®Èy cao gi¸ thµnh chi phÝ cho phÇn cøng, còng nh chi phÝ b¶o tr×. Ngîc l¹i víi mét phÇn cøng tèi thiÓu l¹i yªu cÇu mét ch¬ng tr×nh phÇn mÒm phøc t¹p h¬n, hoµn thiÖn h¬n; nhng l¹i cho phÐp b¶o tr× hÖ thèng dÔ dµng h¬n còng nh viÖc ph¸t triÓn tÝnh n¨ng cña hÖ thèng.
Tõ yªu cÇu vµ nhËn ®Þnh trªn ta cã nh÷ng ®Þnh híng s¬ bé cho thiÕt kÕ nh sau:
I.1.Chän bé vi ®iÒu khiÓn:
Tõ yªu cÇu cña ®Ò bµi ta dù kiÕn dïng c¸c chip vi ®iÒu khiÓn thuéc hä MCS-51 cña Intel, mµ cô thÓ ë ®©y lµ dïng chip 8051 v× nh÷ng lý do sau:
Thø nhÊt 8051 thuéc hä MCS-51, lµ chip vi ®iÒu khiÓn. §Æc ®iÓm cña c¸c chip vi ®iÒu khiÓn nãi chung lµ nã ®îc tÝch hîp víi ®Çy ®ñ chøc n¨ng cña mét hÖ VXL nhá, rÊt thÝch hîp víi nh÷ng thiÕt kÕ híng ®iÒu khiÓn. Tøc lµ trong nã bao gåm: m¹ch VXL, bé nhí ch¬ng tr×nh vµ d÷ liÖu, bé ®Õm, bé t¹o xung, c¸c cæng vµo/ra nèi tiÕp vµ song song, m¹ch ®iÒu khiÓn ng¾t¼
Thø hai lµ, vi ®iÒu khiÓn 8051 cïng víi c¸c hä vi ®iÒu khiÓn kh¸c nãi chung trong nh÷ng n¨m gÇn ®©y ®îc ph¸t triÓn theo c¸c híng sau:
Gi¶m nhá dßng tiªu thô.
T¨ng tèc ®é lµm viÖc hay tÇn sè xung nhÞp cña CPU.
Gi¶m ®iÖn ¸p nguån nu«i.
Cã thÓ më réng nhiÒu chøc n¨ng trªn chip, më réng cho c¸c thiÕt kÕ lín.
Nh÷ng ®Æc ®iÓm ®ã dÉn ®Õn ®¹t ®îc hai tÝnh n¨ng quan träng lµ: gi¶m c«ng suÊt tiªu thô vµ cho phÐp ®iÒu khiÓn thêi gian thùc nªn vÒ mÆt øng dông nã rÊt thÝch hîp víi c¸c thiÕt kÕ híng ®iÒu khiÓn.
Thø ba lµ, vi ®iÒu khiÓn thuéc hä MCS-51 ®îc hç trî mét tËp lÖnh phong phó nªn cho phÐp nhiÒu kh¶ n¨ng mÒm dÎo trong vÊn ®Ò viÕt ch¬ng tr×nh phÇn mÒm ®iÒu khiÓn.
Cuèi cïng lµ, c¸c chip thuéc hä MCS-51 hiÖn ®îc sö dông phæ biÕn vµ ®îc coi lµ chuÈn c«ng nghiÖp cho c¸c thiÕt kÕ kh¶ dông.Víi sinh viªn míi lµm quen víi V§K th× 8051 cã nhiÒu tµi liÖu tham kh¶o,®ång thêi còng sö dông ®¬n gi¶n nhÊt. MÆt kh¸c, qua viÖc kh¶o s¸t thÞ trêng linh kiÖn viÖc cã ®îc chip 8051 lµ dÔ dµng nªn më ra kh¶ n¨ng thiÕt kÕ thùc tÕ.
V× nh÷ng lý do trªn mµ viÖc lùa chän vi ®iÒu khiÓn AT89C51 cña h·ng Atmel, ®©y lµ vi ®iÒu khiÓn thuéc hä MCS-51.
CÊu h×nh ho¹t ®éng cña chip AT89C51:
-ROM trong: Flash ROM - 4KBytes
-RAM trong: 128 bytes
I.2 Tæ chøc ngo¹i vi:
- Chip: AT89C51
- GhÐp nèi mµn h×nh LCD: 16x2
Ngoµi ra cßn:
- LED b¸o hiÖu ch¬ng tr×nh ®ang ch¹y
- TÝn hiÖu cho phÐp ch¹y ®îc xö lý b»ng c¸ch dïng mét nót Ên Reset hÖ thèng.
- TÝn hiÖu b¸o ®éng, më cöa, ®ãng cöa ®îc ®a ra led
S¬ ®å khèi cña hÖ thèng nh sau:
Khèi vi xö lý AT89C51
Bµn phÝm
HiÓn thÞ LCD
B¸o ®éng
LED 1
LED 2
LED Lín
II. Vi ®iÒu khiÓn AT89C51:
H×nh 2.1: CÊu tróc cña vi ®iÒu khiÓn 8051.
Bé t¹o dao ®éng
CPU
§iÒu khiÓn
ng¾t
Nguån ng¾t trong.
8Kbytes
ROM trong
256byte
RAM
trong
2bé ®Õm / ®Þnh thêi
Khèi
®.khiÓn qu¶n lý Bus.
Port
0
Port
1
Port
2
Port
3
Giao diÖn nèi tiÐp.
XTAL 1.2
/PSEN/ALE
Cæng I/O
8 bit
Cæng I/O
§chØ cao D÷ liÖu 8 bit
Cæng I/O
§chØ thÊp
D÷ liÖu 8 bit
Cæng I/O
C¸c chøc n¨ng ®¾c biÖt
D÷ liÖu 8 bit
Nguån ng¾t
§Õm sù kiÖn.
Chøc n¨ng cña tõng khèi :
Khèi xö lý trung t©m CPU:
PhÇn chÝnh cña bé vi xö lý lµ khèi xö lý trung t©m (CPU=Central Processing Unit ), khèi nµy cã chøa c¸c thµnh phÇn chÝnh :
Thanh chøa ACC (ký hiÖu lµ A).
Thanh ghi chøa phô (ký hiÖu lµ B) thêng ®îc dïng cho phÐp nh©n vµ phÐp chia.
Khèi logic sè häc (ALU=Arithmetic Logical Unit).
Tõ tr¹ng th¸i ch¬ng tr×nh (PSW= Program Status Word).
Bèn b¨ng thanh ghi (Blank).
Con trá ng¨n xÕp (SP=Stack Point) còng nh con trá d÷ liÖu ®Ó ®Þnh ®Þa chØ cho bé nhí d÷ liÖu ë bªn ngoµi.
Ngoµi ra, khèi xö lý trung t©m cßn chøa:
Thanh ghi ®Õm ch¬ng tr×nh (PC= Progam Counter ).
Bé gi¶i m· lÖnh
Bé ®iÒu khiÓn thêi gian vµ logic.
Sau khi ®îc Reset, CPU b¾t ®Çu lµm viÖc t¹i ®Þa chØ 0000h, lµ ®Þa chØ ®Çu ®îc ghi trong thanh ghi chøa ch¬ng tr×nh (PC) vµ sau ®ã, thanh ghi nµy sÏ t¨ng lªn 1 ®¬n vÞ vµ chØ ®Õn c¸c lÖnh tiÕp theo cña ch¬ng tr×nh.
Bé t¹o dao ®éng:
Khèi xö lý trung t©m nhËn trùc tiÕp xung nhÞp tõ bé t¹o dao ®éng ®îc l¾p thªm vµo, linh kiÖn phô trî cã thÓ lµ mét khung dao ®éng lµm b»ng tô gèm hoÆc th¹ch anh. Ngoµi ra, cßn cã thÓ ®a mét tÝn hiÖu gi÷ nhÞp tõ bªn ngoµi vµo.
Khèi ®iÒu khiÓn ng¾t:
Ch¬ng tr×nh ®ang ch¹y cã thÓ cho dõng l¹i nhê mét khèi logic ng¾t ë bªn trong. C¸c nguån ng¾t cã thÓ lµ: c¸c biÕn cè ë bªn ngoµi, sù trµn bé ®Õm/bé ®Þnh thêi hay cã thÓ lµ giao diÖn nèi tiÕp. TÊt c¶ c¸c ng¾t ®Òu cã thÓ ®îc thiÕt lËp chÕ ®é lµm viÖc th«ng qua hai thanh ghi IE (Interrupt Enable) vµ IP (Interrupt Priority).
Khèi ®iÒu khiÓn vµ qu¶n lý Bus :
C¸c khèi trong vi ®iÒu khiÓn liªn l¹c víi nhau th«ng qua hÖ thèng Bus néi bé ®îc ®iÒu khiÓn bëi khèi ®iÒu khiÓn qu¶n lý Bus.
C¸c bé ®Õm/®Þnh thêi:
Vi ®iÒu khiÓn 8051 cã chøa hai bé ®Õm tiÕn 16 bit cã thÓ ho¹t ®éng nh lµ bé ®Þnh thêi hay bé ®Õm sù kiÖn bªn ngoµi hoÆc nh bé ph¸t tèc ®é Baud dïng cho giao diÖn nèi tiÕp. Tr¹ng th¸i trµn bé ®Õm cã thÓ ®îc kiÓm tra trùc tiÕp hoÆc ®îc xo¸ ®i b»ng mét ng¾t.
C¸c cæng vµo/ra:
Vi ®iÒu khiÓn 8051 cã bèn cæng vµo/ra (P0 … P3), mçi cæng chøa 8 bit, ®éc lËp víi nhau. C¸c cæng nµy cã thÓ ®îc sö dông cho nh÷ng môc ®Ých ®iÒu khiÓn rÊt ®a d¹ng. Ngoµi chøc n¨ng chung, mét sè cæng cßn ®¶m nhËn thªm mét sè chøc n¨ng ®Æc biÖt kh¸c.
Giao diÖn nèi tiÕp:
Giao diÖn nèi tiÕp cã chøa mét bé truyÒn vµ mét bé nhËn kh«ng ®ång bé lµm viÖc ®éc lËp víi nhau. B»ng c¸ch ®Êu nèi c¸c bé ®Öm thÝch hîp, ta cã thÓ h×nh thµnh mét cæng nèi tiÕp RS-232 ®¬n gi¶n. Tèc ®é truyÒn qua cæng nèi tiÕp cã thÓ ®Æt ®îc trong mét vïng réng phô thuéc vµo mét bé ®Þnh thêi vµ tÇn sè dao ®éng riªng cña th¹ch anh.
Bé nhí ch¬ng tr×nh:
Bé nhí ch¬ng tr×nh thêng lµ bé nhí ROM (Read Only Memory), bé nhí ch¬ng tr×nh ®îc sö dông ®Ó cÊt gi÷ ch¬ng tr×nh ®iÒu khiÓn ho¹t ®éng cña vi ®iÒu khiÓn.
Bé nhí sè liÖu:
Bé nhí sè liÖu thêng lµ bé nhí RAM (Ramdom Acces Memory), bé nhí sè liÖu dïng ®Ó cÊt gi÷ c¸c th«ng tin t¹m thêi trong qu¸ tr×nh vi ®iÒu khiÓn lµm viÖc.
Sù s¾p xÕp ch©n ra cña vi ®iÒu khiÓn 8051:
PhÇn lín c¸c bé vi ®iÒu khiÓn 8051 ®îc ®ãng vµo vá theo kiÓu hai hµng DIL (Dual In Line) víi tæng sè lµ 40 ch©n ra, mét sè Ýt cßn l¹i ®îc ®ãng vá theo kiÓu h×nh vu«ng PLCC (Plastic Leaded Chip Carrier) víi 44 ch©n vµ lo¹i nµy thêng ®îc dïng cho nh÷ng hÖ thèng cÇn thiÕt ph¶i tiÕt kiÖm diÖn tÝch.
Trong ch¬ng tr×nh ta sö dông lo¹i 89C51 kiÓu 2 hµng víi 40 ch©n ra.
III. Chi tiÕt tõng khèi:
III.1 Khèi phÝm sè:
HÖ thèng sö dông bµn phÝm 4x4 cã giao diÖn nh sau:
C¸c phÝm cña bµn phÝm.
Trong ®ã:
PhÝm 0-9 dïng ®Ó nhËp m·
C¸c phÝm chän chøc n¨ng: open(phÝm ON),®æi password(phÝm change),xãa ký tù võa nhËp(<--).
S¬ ®å nguyªn lý cña bµn phÝm theo h×nh vÏ sau:
Nguyªn lý ho¹t ®éng bµn phÝm:
Khi mét phÝm ®îc nhÊn sÏ lµm th«ng 2 transistor vµ cho ®Çu ra cña phÝm ®ã tõ +5V vÒ 0V tøc lµ tõ møc l«gic 1 vÒ møc l«gic 0. Sau ®ã ta ®a tÝn hiÖu ra qua hÖ thèng cæng NAND xö lÝ xung tõ bµn phÝm vµo P3.10.
Ta gi¶i m· bµn phÝm ®îc tÝn hiÖu cã 8 bÝt khi nhÊn bµn phÝm ta lÊy lu«n tÝn hiÖu nµy ®a vµo Port2 cña V§K.Trong vi ®iÒu khiÓn ta lËp tr×nh n¹p m· sè d¹ng 8 bit nh bµn phÝm m· ho¸ ®îc vµo lÇn lît s¸u thanh ghi trong ROM. Ta ®em so s¸nh m· bµn phÝm nhÊn víi m· ®îc n¹p. §Ó më réng ta cã thÓ gi¶i m· bµn phÝm vÒ d¹ng phøc t¹p h¬n ®Ó tÝnh b¶o mËt ®îc tèt h¬n.
B¶ng m· hãa tr¹ng th¸i bµn phÝm
.PhÝm
Tr¹ng th¸i khi Ên phÝm
ON
0
1
1
1
0
1
1
1
7
0
1
1
1
1
0
1
1
8
0
1
1
1
1
1
0
1
9
0
1
1
1
1
1
1
0
Change
1
0
1
1
0
1
1
1
4
1
0
1
1
1
0
1
1
5
1
0
1
1
1
1
0
1
6
1
0
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
2
1
1
0
1
1
1
0
1
3
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
1
<--
1
1
1
0
1
1
1
0
III.2 Khèi xö lý trung t©m:
NhiÖm vô cña khèi xö lý trung t©m:
§äc m· phÝm tõ bµn phÝm ®Ó kiÓm tra xem phÝm nµo ®· ®îc Ên vµ thùc hiÖn chøc n¨ng cña phÝm ®ã.
Lu gi¸ trÞ cña c¸c m· ®Ó më khãa.
Lu c¸c ch¬ng tr×nh xö lý phÝm Ên: më khãa, ®æi m·, b¸o ®éng…
Lu ch¬ng tr×nh ®iÒu khiÓn LCD.
Chøc n¨ng cña c¸c ch©n cña V§K trung t©m:
-Vcc: Ch©n cung cÊp nguån.
-GND: Ch©n nèi ®Êt.
-Port1:dïng lµm bus d÷ liÖu 8 bit tíi 8 ch©n d÷ liÖu cña LCD.
-Port 2:dïng ®Ó nhËn d÷ liÖu ®Çu vµo cña m· bµn phÝm.
-Port 3:
Ch©n 3.6 nèi víi ch©n 4 RS cña LCD
Ch©n 3.4 nèi víi ch©n 6 E cña LCD
Ch©n 3.5 nèi víi ch©n 4 RW cña LCD
Ch©n 3.5 nèi víi khèi t¹o tiÕng bÝp khi cã mét phÝm ®ù¬c nhÊn
-Ch©n sè 9 nèi víi m¹ch reset, ho¹t ®éng ë møc High(1).
-Ch©n sè 18,19:nèi víi bé dao ®éng th¹ch anh,tô 33p ®Ó t¹o dao ®éng cho vi AT89C51.
XTAL1, XTAL2 lµ bé t¹o tÝn hiÖu gi÷ nhÞp víi tÇn sè ®îc x¸c ®Þnh bëi bé céng hëng th¹ch anh ®îc l¾p thªm vµo, tÇn sè nµy x¸c ®Þnh tèc ®é lµm cña bé vi ®iÒu khiÓn. Th«ng thêng c¸c lÖnh ®îc thùc hiÖn b»ng 1/12 tÇn sè dao ®éng cña th¹ch anh.
-Ch©n sè 20: Vss nèi ®Êt
-Ch©n sè 31: EA §ãng vai trß quyÕt ®Þnh xem vi ®iÒu khiÓn lµm viÖc víi ch¬ng tr×nh bªn trong hay bªn ngoµi. Víi lo¹i 8051 kh«ng cã ROM trong th× ch©n nµy ph¶i ®îc nèi víi m¸t. Lo¹i th«ng thêng cã thÓ lµm viÖc tuú theo c¸ch lùa chän gi÷a ROM trong hay ROM ngoµi, khi ®ang ë chÕ ®é lµm viÖc víi bé nhí ROM trong, lo¹i cã chøa bé nhí ROM cã thÓ truy nhËp tù ®éng lªn bé nhí ch¬ng tr×nh bªn ngoµi.
Trong m¹ch ta nèi lªn nguån v× kh«ng sö dông ROM bªn ngoµi
-Ch©n sè 40: Vdd nguån d¬ng( +5V).
III.3 Khèi hiÓn thÞ LCD:
Víi c¸c u ®iÓm nh: tiªu thô dßng thÊp, hiÓn thÞ ®îc h×nh ¶nh/ký tù linh ho¹t tèt h¬n nhiÒu so víi LED ,mµn h×nh tinh thÓ láng LCD (Liquid Crystal Display) ®îc sö dông trong hÇu hÕt c¸c thiÕt bÞ ®iÒu khiÓn trong c«ng nghiÖp ®Ó hiÓn thÞ tr¹ng th¸i cña m¸y mãc. Ngµy nay víi c«ng nghÖ ph¸t triÓn gi¸ thµnh cña LCD còng gi¶m nhiÒu.
Do cã rÊt nhiÒu chñng lo¹i kh¸c nhau, nªn LCD ®îc sö dông rÊt réng r·i. TÊt c¶ c¸c LCD ®Òu ®îc s¶n xuÊt theo c¸c chuÈn chung, tÝch hîp lu«n c¸c module ®iÒu khiÓn (cho LCD) nªn viÖc sö dông nã kh«ng mÊy phøc t¹p. Bé ®iÒu khiÓn LCD cung cÊp mét tËp lÖnh dïng ®Ó diÒu khiÓn LCD.
Trong øng dông cô thÓ nµy, do kh«ng yªu cÇu hiÓn thÞ phøc t¹p nªn em chän lo¹i LCD kiÓu ký tù, víi 16 ký tù, 2 hµng (16characters x 2lines). LCD sö dông ma trËn ch÷ 5x8 (font 5x8), module ®iÒu khiÓn lµ HD44780. Tªn cña LCD nµy lµ DM1602B.
LCD : DM 1602B
Bảng : Chức năng của từng chân và ghép nối chi tiết LCD- 89C51 :
STT
Ký hiệu
Nối với vi xử lý
Mức logic
Chức năng
1
Vss
0 V (Ground)
2
Vcc
5 V (Supply)
3
Vee
điều khiển độ sáng tối cho LCD
4
RS
P3.7
H/L
H: chọn thanh ghi vào dữ liệu.
L: chọn thanh ghi cho lênh điều khiển.
5
R/W
P3.6
H/L
chọn chế độ đọc viết:
H: cho biết đọc từ LCD vào VXL.
L: cho biết đọc từ VXL vào LCD.
6
E
P3.5
xung L-H-L
t ín hiệu cho phép LCD hoạt động.
7
DB0
P1.0
H/L
Bit dữ liệu 0
8
DB1
P1.1
H/L
Bit dữ liệu 1
9
DB2
P1.2
H/L
Bit dữ liệu 2
10
DB3
P1.3
H/L
Bit dữ liệu 3
11
DB4
P1.4
H/L
Bit dữ liệu 4
12
DB5
P1.5
H/L
Bit dữ liệu 5
13
DB6
P1.6
H/L
Bit dữ liệu 6
14
DB7
P1.7
H/L
Bit dữ liệu 7
15
0 V (Ground)
16
5 V nguồn cấp cho đèn backline.
§iÒu khiÓn ho¹t ®éng cña LCD:
Ho¹t ®éng cña LCD ®îc ®iÒu khiÓn th«ng qua 3 tÝn hiÖu E, RS, RW.
-TÝn hiÖu E lµ tÝn hiÖu cho phÐp göi d÷ liÖu. §Ó göi d÷ liÖu ®Õn LCD, ch¬ng tr×nh ph¶i thiÕt lËp E=1, sau ®ã ®Æt c¸c tr¹ng th¸i ®iÒu khiÓn thÝch hîp lªn RS, RW vµ bus d÷ liÖu, cuèi cïng lµ ®a E vÒ 0. Ho¹t ®éng chuyÓn ®æi tõ cao-xuèng-thÊp cho phÐp LCD nhËn d÷ liÖu hiÖn thêi trªn c¸c ®êng ®iÒu khiÓn còng nh trªn bus d÷ liÖu vµ xem ®ã nh lµ mét lÖnh.
-TÝn hiÖu RS lµ tÝn hiÖu cho phÐp chän thanh ghi (Register Select ). Khi RS=0, d÷ liÖu ®îc coi nh lµ mét lÖnh hay mét chØ thÞ ®Æc biÖt (nh lµ xãa mµn h×nh, ®Æt vÞ trÝ con trá…). Khi RS=1, d÷ liÖu ®îc coi lµ d÷ liÖu d¹ng v¨n b¶n vµ sÏ ®îc hiÓn thÞ trªn mµn h×nh.
-TÝn hiÖu RW lµ tÝn hiÖu “§äc/Ghi”. Khi RW=1, th«ng tin trªn bus d÷ liÖu ®îc ghi vµo LCD. Khi RW=0, ch¬ng tr×nh sÏ ®äc LCD.
-Bus d÷ liÖu gåm 4 hoÆc 8 ®êng tïy thuéc vµo chÕ ®é ho¹t ®éng mµ ngêi sö dông lùa chän (ë ®©y ch¬ng tr×nh sö dông bus d÷ liÖu 8-bÝt).
M· lÖnh ®iÒu khiÓn cña LCD:
Command
Binary D7 D6 D5 D4 D3 D2 D1 D0
Hex
Clear Display
0
0
0
0
0
0
0
1
01
Display & Cursor Home
0
0
0
0
0
0
1
X
02 or 03
Chacractor Entry Mode
0
0
0
0
0
1
I/D
S
04 to 07
Display On/Off & Cursor
0
0
0
0
1
D
U
B
08 to 0F
Display/Cursor Shift
0
0
0
1
D/C
R/L
X
X
10 to1F
Funtion Set
0
0
1
8/4
2/1
10/7
X
X
20 to 3F
Set Ggram Address
0
1
A
A
A
A
A
A
40 to 7F
Set Display Address
1
A
A
A
A
A
A
A
80 to FF
I/D:1= Increment*, 0=Decrement R/L: 1 = Right Shift, 0 = Left Shift S : 1= Display Shift on, 0= Display Shift off* 8/4: 1 = 8 bit interface*, 0 = 4 bit interface D: 1= Display On, 0= Display Off* 2/1: 1 = 2 line mode, 0= 1 line mode D/C :1=Display Shift, 0=Cursor move 10/7 :1= 5x10 dot format, 0= 5x7 dot format x = Don’t care * = initialisation settings.
III.4. Khèi b¸o ®éng:
Khi ngêi sö dông nhËp m· sai 3 lÇn th× sÏ kÝch cho tÝn hiÖu b¸o ®éng. §Ó ®¬n gi¶n, tÝn hiÖu b¸o ®éng ®îc ®a ra ®Ìn led ®Ó chóng ta quan s¸t. Më réng thiÕt kÕ khi thêi gian nhiÒu h¬n chóng em sÏ m¾c r¬le ®iÒu khiÓn ®éng c¬....
III.5. S¬ ®å khèi toµn m¹ch:
IV.2. M· nguån:®îc viÕt vµ dÞch sang hex b»ng phÇn mÒn READS51
; ------------- READS51 generated header --------------
; -----------------------------------------------------
#include
;Cong P1 duoc ket noi voi LCD.
;Cong P2 dung de nhan du lieu gui tu ban phim.
;Chan P3.6 noi voi chan 6 ENcua LCD.
;Chan P3.4 noi voi chan 4 RS cua LCD.
;Chan P3.5 noi voi chan 5 RW cua LCD.
;Chan P3.7 noi voi khoi tao tin hieu nhay den khi LED khi nhan phim
ORG 0
;|-----------------------------------------------------------------|
;Chuong trinh phuc vu ngat cho ban phim
MAIN:
MOV 50,#4H
CLR P3.7
MAIN_ENABLE_LOOP:
LCALL INIT_LCD ;Khoi tao trang thai ban dau cho LCD
LCALL CLEAR_LCD
LCALL DELAY1S
;Viet "Password:------"
MOV A,#'P'
LCALL TEXT_LCD
MOV A,#'a'
LCALL TEXT_LCD
MOV A,#'s'
LCALL TEXT_LCD
MOV A,#'s'
LCALL TEXT_LCD
MOV A,#'w'
LCALL TEXT_LCD
MOV A,#'o'
LCALL TEXT_LCD
MOV A,#'r'
LCALL TEXT_LCD
MOV A,#'d'
LCALL TEXT_LCD
MOV A,#':'
LCALL TEXT_LCD
MOV A,#'-'
LCALL TEXT_LCD
MOV A,#'-'
LCALL TEXT_LCD
MOV A,#'-'
LCALL TEXT_LCD
MOV A,#'-'
LCALL TEXT_LCD
MOV A,#'-'
LCALL TEXT_LCD
MOV A,#'-'
LCALL TEXT_LCD
MOV A,R7
MOV R7,#06H ;Dich chuyen vi tri con tro doi ve vi tri dau
SHIFT_L6:
LCALL SHIFT_LEFT
LCALL DELAY
DJNZ R7,SHIFT_L6
MOV R7,A
LCALL SET_PASSWORD
;|-----------------------------------------------------------------|
;111111111111111111111111111111111111111111111111111
;Doan chuong trinh thuc hien viec nhap vao 6 ki tu ma
;Ghi du lieu nhan duoc vao cac thanh ghi tu R1 den R6 cua bang
;thanh ghi thu hai.
;Viet ra ki tu * moi khi du lieu tren cac dau vao P2 duoc ghi
;hoan chinh vao trong cac thanh ghi tuong ung;
;Lap lai qua trinh 6 lan, neu co xoa, an phim CLEAR, thi
;phai co xu li
;Moi khi mot phim duoc nhan thi chuong trinh se dung lai
;trong mot khoang thoi gian nhat dinh, de tranh tinh trang
;co nhung dot bien xung khong theo y muon
;xay ra trong mach
;Sau do no se nhan du lieu tu cong P2 dua vao thanh ghi tuong ung
;Ma thu nhat ghi vao thanh ghi R1;
;Ma thu hai ghi vao thanh ghi R2;
;...;
;Ma thu 6 ghi vao thanh ghi R6;
;Tat ca deu la thanh ghi bang 2
;Sau khi ghi xong thi se lien tuc kiem tra xem bit P3.0 da ve muc 1
;chua, neu van dang con nhan phim, tuc la van dang muc 0 thi doi,
;cho den khi bit P3.0 tro ve muc cao, khi do phat tin hieu len
;bit P3.7 de nguoi su dung biet la minh vua tha phim xong,
;va co the thuc hien viec nhap ma tiep theo
;Vi vay trong qua trinh su dung nguoi dung phai giu phim nhan
;trong mot thoi gian nhat dinh sau khi nha phim co tin hieu bao
;thi moi tien hanh nhap mot ma moi duoc, khong the nhap phim qua
;nhanh, dieu nay se khong dung nhu mong muon cua nguoi dung
-----------------------------------------------------------------------------
;CTC thiet lap password
SET_PASSWORD:
MOV R4,#6H
MOV R0,#35H
HERE:
LCALL DELAY1S ;Doi mot luc de tranh xung bat thuong, ngoai mong muon
;Dung bit P3.0 de kiem tra co phim nhan khong
SETB P3.0
JB P3.0,HERE ;Doi cho den luc nao phim duoc nhan, chan P3.0
;ve muc 0
MOV A,#FFH
MOV P2,A ;Dat cong P2 lam cong vao
MOV A,P2
;Kiem tra xem do co phai la phim Clear khong
;Neu phai thi xoa lui lai mot ki tu, va giam gia tri R0 xuong 1
CJNE A,#E7H,LABEL_CONTINUOUS
LCALL CLEAR_SHIFT_L
SJMP CONTINUOUS
LABEL_CONTINUOUS:
MOV @R0,A ;Tang dia chi cua thanh ghi len tuong ung voi thanh ghi R1 bang 1
WAIT_HERE:JNB P3.0,WAIT_HERE;Doi neu nhu chua nha phim ra
MOV A,#'*'
LCALL TEXT_LCD;Viet len LCD ki tu '*'
LCALL DELAY1S
INC R0
CONTINUOUS:DJNZ R4, HERE
LCALL DELAY1S
;So sanh mat khau nhap voi mat khau truoc
LCALL COMP_PASSWORD
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh xoa mot ki tu va giam R0 xuong 1
CLEAR_SHIFT_L:
CJNE R4,#6,CLEAR_CONTINUOUS
SJMP CONSTANT
CLEAR_CONTINUOUS:
LCALL SHIFT_LEFT
LCALL DELAY1S
MOV A,#'-'
LCALL TEXT_LCD
LCALL SHIFT_LEFT
DEC R0
INC R4
CONSTANT:
INC R4
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien viec so sanh ma nhap vao voi ma thuc
COMP_PASSWORD:
ORG 200H
MY_PASS_WORD: DB 7BH,7BH,7BH,7BH,7BH,7BH
MOV R1,#35H
MOV DPTR,#MY_PASS_WORD
MOV R6,#6
LOOP_COMP:
CLR A
MOVC A,@A+DPTR
XRL A,@R1
JNZ LABEL_ERROR
INC R1
INC DPTR
DJNZ R6, LOOP_COMP
LCALL WRITE_STRING_OPEN
SJMP CON
LABEL_ERROR:
LCALL WRITE_STRING_ERROR
CON:
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh viet len mot thong
WRITE_STRING_OPEN:
LCALL CLEAR_LCD;Xoa man hinh truoc khi viet
LCALL DELAY1S
MOV A,#'Y'
LCALL TEXT_LCD
MOV A,#'O'
LCALL TEXT_LCD
MOV A,#'U'
LCALL TEXT_LCD
MOV A,#' '
LCALL TEXT_LCD
MOV A,#'A'
LCALL TEXT_LCD
MOV A,#'R'
LCALL TEXT_LCD
MOV A,#'E'
LCALL TEXT_LCD
MOV A,#' '
LCALL TEXT_LCD
MOV A,#'W'
LCALL TEXT_LCD
MOV A,#'E'
LCALL TEXT_LCD
MOV A,#'L'
LCALL TEXT_LCD
MOV A,#'C'
LCALL TEXT_LCD
MOV A,#'O'
LCALL TEXT_LCD
MOV A,#'M'
LCALL TEXT_LCD
MOV A,#'E'
LCALL TEXT_LCD
SETB P3.7
DUNG:SJMP DUNG
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh viet len mot thong
WRITE_STRING_ERROR:
LCALL CLEAR_LCD
LCALL DELAY1S
MOV A,#'I'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'N'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'C'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'O'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'R'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'R'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'E'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'C'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'T'
LCALL TEXT_LCD
LCALL DELAY1S
LCALL DELAY1S
LCALL DELAY1S
LCALL CLEAR_LCD
LCALL DELAY1S
DEC 50
MOV A,50
CJNE A,#1,LOOP
SJMP CONTI;NEU QUA BA LAN THI VO HIEU HOA KHOA
LOOP:
LCALL CLEAR_LCD
LCALL DELAY1S
MOV A,#'T'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'R'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'Y'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#' '
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'A'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'G'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'A'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'I'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'N'
LCALL TEXT_LCD
LCALL DELAY1S
LCALL DELAY1S
LCALL CLEAR_LCD
LCALL DELAY1S
LJMP MAIN_ENABLE_LOOP;CHO PHEP NHAP TIEP
CONTI:
LCALL CLEAR_LCD
LCALL DELAY1S
MOV A,#'A'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'L'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'R'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'M'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'I'
CPL P3.7
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'N'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'G'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'!'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'!'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
SJMP CONTI ;VO HIEU HOA KHOA
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh tao tre doi LCD thuc hien lenh
WAIT_LCD:
SETB P3.4
SETB P3.5;Dat chan RW len muc cao de chi day la lenh doc LCD
CLR P3.6 ;Dat chan RS muc thap 'day la mot command'
MOV P1,#FFH
CLR P3.4
MOV P1,A
JB ACC.7,WAIT_LCD
SETB P3.4
CLR P3.5
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh khoi tao trang thai ban dau cho LCD
INIT_LCD:
MOV A,#00001111B;De khoi tao che do cho LCD
LCALL ACTION;Goi chuong trinh thuc hien lenh
RET
;111111111111111111111111111111111111111111111111111
;11111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien viec dich chuyen con tro sang trai
SHIFT_LEFT:
MOV A,#00010000B
LCALL ACTION;Goi chuong trinh thuc hien lenh
RET
;111111111111111111111111111111111111111111111111111
;11111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien viec dich chuyen con tro sang phai
SHIFT_RIGHT:
MOV A,#00010100B
LCALL ACTION;Goi chuong trinh thuc hien lenh
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien lenh xoa man hinh
CLEAR_LCD:
MOV A,#1H;
LCALL ACTION;Goi chuong trinh thuc hien lenh
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien lenh viet noi dung thanh ghi A lenh LCD
TEXT_LCD:
SETB P3.4
CLR P3.5
SETB P3.6;Dat chan RS muc cao "dung de viet ki tu len LCD"
MOV P1,A
CLR P3.4
LCALL WAIT_LCD
SETB P3.4
LCALL DELAY
RET
;111111111111111111111111111111111111111111111111111
;---------------------------------------------------
;11111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien viec thuc hien mot lenh nao do cua LCD
ACTION:
SETB P3.4
CLR P3.5;
CLR P3.6;
MOV P1,A
CLR P3.4
LCALL WAIT_LCD;
SETB P3.4
RET
;11111111111111111111111111111111111111111111111111
;22222222222222222222222222222222222222222222222222
;Chuong trinh tao tre cho Chuong Trinh
DELAY1S:
MOV R3,#20
DJNZ R3,DELAY1S1
DELAY1S1:
MOV R1,#245
NEXT1: MOV R2,#245
AGAIN :
NOP
DJNZ R2,AGAIN
DJNZ R1,NEXT1
RET
;222222222222222222222222222222222222222222222222222
;22222222222222222222222222222222222222222222222222
;Chuong trinh tao tre cho Chuong Trinh
DELAY:
MOV R3,#2
DJNZ R3,DELAYS
DELAYS:
MOV R1,#25
NEXT11: MOV R2,#25
AGAIN1 : DJNZ R2,AGAIN1
DJNZ R1,NEXT11
RET
;222222222222222222222222222222222222222222222222222
END
KÕt luËn
Trªn c¬ së lÝ thuyÕt ®· häc, chóng em ®· thiÕt kÕ hÖ thèng khãa víi ®é tin cËy cã thÓ chÊp nhËn ®îc dùa vµo chøc n¨ng qu¶n lÝ ch¬ng tr×nh b»ng password trong m¸y tÝnh víi quy m« ®¬n gi¶n h¬n. §Ó øng dông vµo thùc tÕ, hÖ thèng nµycßn cÇn ®îc chØnh söa ®Ó t¨ng tÝnh æn ®Þnh vµ kÕt nèi víi bé phËn c¬ khÝ ®ãng më cöa. Ngoµi ra hÖ thèng trªn cã thÓ ph¸t triÓn thªm chøc n¨ng gi÷ cho cöa më trong mét kho¶ng thêi gian tuú ý theo ngêi sö dông.
HiÖn nay, nh÷ng hÖ thèng kiÓm so¸t ra vµo theo m· ®· sö dông nh÷ng h×nh thøc qu¶n lÝ tiªn tiÕn h¬n nh: thÎ tõ, v©n tay... tuy nhiªn chi phÝ cßn rÊt cao. Mét hÖ thèng qu¶n lÝ nh chóng em tËp thiÕt kÕ vÉn cßn cã nh÷ng øng dông nhÊt ®Þnh.
Do lµ thiÕt kÕ ®Çu tiªn nªn kh«ng thÓ tr¸nh khái sai sãt nhÊt ®Þnh Chóng em xin ch©n thµnh c¶m ¬n sù gióp ®ì vµ híng dÉn cña c¸c thÇy gi¸o vµ c¸c b¹n trong thêi gian võa qua. Mong r»ng sÏ nhËn ®îc nhiÒu ®ãng gãp ý kiÕn ®Ó b¶n thiÕt kÕ nµy vµ nh÷ng b¶n thiÕt kÕ sau ngµy cµng ®îc hoµn thiÖn h¬n.
+ PhÇn mÒm sö dông :
- LËp tr×nh dÞch file ASM -->Hex : Reads51
- M« pháng : Proteus 6 Professional.
- VÏ m¹ch nguyªn lý vµ m¹ch in : Orcad,Protel
+ Tµi liÖu tham kh¶o :
1.Hä vi ®iÒu khiÓn 8051
T¸c gi¶ :Tèng v¨n On,Hoµng ®øc H¶i
2.CÊu tróc vµ lËp tr×nh hä V§K 8051
T¸c gi¶ :NguyÔn T¨ng Cêng vµ Phan Quèc Th¾ng.
3.CÈm nang thùc hµnh Vi m¹ch tuyÕn tÝnh TTL/LS,CMOS
T¸c gi¶ :Huúnh §¾c Th¾ng.
4.Kü thuËt sè - NguyÔn Thuý V©n
5.Kü thuËt m¹ch ®iÖn tö - Ph¹m Minh Hµ
C¸c tµi liÖu kh¸c ...