Đồ án Thiết kế mạng thu thập dữ liệu dùng vi điều khiển 8051

Trong nhiều lĩnh vực sản xuất công nghiệp hiện nay, nhất là ngành công Nghiệp luyện kim, chề biến thực phẫm vấn đề đo và khống chế nhiệt độ đặc biệt được chú trọng đến vì nó là một yếu tố quyết định chất lượng sản phẫm. Nắm đ−ợc tầm quan trọng của vấn đề trên nhóm thực hiện tiến hành nghiên cứu và thiết kế một hệ thống đo nhiệt độ kết hợp với ph−ơng thức truyền thông , với mong muốn là giải quyết những yêu cầu trên. Những kiến thức năng lực đạt được trong quá trình học tập ở trường sẽ được đánh giá qua đợt bảo vệ đồ án môn học. Vì vậy chúng em cố gắng tận dụng tất cả những kiến thức đã học ở trường cùng với sự tìm tồi nghiên cứu, để có thể hoàn thành tốt luận văn này. Những sản phẫm những kết quả đạt được ngày hôm nay tuy không có gì lớn lao. Nhưng đó là những thành quả của năm học tập. Là thành công đầu tiên của chúng em trước khi ra trường. Mặt dù chúng em rất cố gắng để hoàn thành tập luận văn này đúng thời hạn, nên không tránh khỏi những thiếu sót mong quí thầy cô thông cảm. Chúng em mong đ−ợc đón nhận những ý kiến đóng góp. Cuối cùng xin chân thành cảm ơn quí thầy cô và các bạn sinh viên.

doc68 trang | Chia sẻ: ngtr9097 | Lượt xem: 1753 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế mạng thu thập dữ liệu dùng vi điều khiển 8051, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ LAO ĐỘNG THƯƠNG BINH VÀ Xà HỘI TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH KHOA: ĐIỆN - ĐIỆN TỬ HK’gI ĐỒ ÁN MÔN HỌC KỸ THUẬT VI ĐIỀU KHIỂN ỨNG DỤNG VI ĐIỀU KHIỂN HỌ 8051 Sinh viên thực hiện: ĐINH NGỌC CƯỜNG Giáo viên hướng dẫn: TRẦN VĂN HẠNH Lớp: ĐL ĐIỆN - ĐIỆN TỬ K3 Nam Định - năm 2010 PHẦN I. GIỚI THIỆU VỀ ĐỀ TÀI LỜI NÓI ĐẦU Trong nhiều lĩnh vực sản xuất công nghiệp hiện nay, nhất là ngành công Nghiệp luyện kim, chề biến thực phẫm vấn đề đo và khống chế nhiệt độ đặc biệt được chú trọng đến vì nó là một yếu tố quyết định chất lượng sản phẫm. Nắm đ−ợc tầm quan trọng của vấn đề trên nhóm thực hiện tiến hành nghiên cứu và thiết kế một hệ thống đo nhiệt độ kết hợp với ph−ơng thức truyền thông , với mong muốn là giải quyết những yêu cầu trên. Những kiến thức năng lực đạt được trong quá trình học tập ở trường sẽ được đánh giá qua đợt bảo vệ đồ án môn học. Vì vậy chúng em cố gắng tận dụng tất cả những kiến thức đã học ở trường cùng với sự tìm tồi nghiên cứu, để có thể hoàn thành tốt luận văn này. Những sản phẫm những kết quả đạt được ngày hôm nay tuy không có gì lớn lao. Nhưng đó là những thành quả của năm học tập. Là thành công đầu tiên của chúng em trước khi ra trường. Mặt dù chúng em rất cố gắng để hoàn thành tập luận văn này đúng thời hạn, nên không tránh khỏi những thiếu sót mong quí thầy cô thông cảm. Chúng em mong đ−ợc đón nhận những ý kiến đóng góp. Cuối cùng xin chân thành cảm ơn quí thầy cô và các bạn sinh viên. I. ĐẶT VẤN ĐỀ PHẦN II: NỘI DUNG CHƯƠNG 1:DẪN NHẬP Ngày nay với sự phát triển của công nghiệp vi điện tử, kỹ thuật số các hệ thống điều khiển dần dần được tự động hóa. Với những kỹ thuật tiên tiến nh− vi xử lí, vi mạch số đựơc ứng dụng vào lỉnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ, với tốc độ xử lí chậm chạp ít chính xác được thay thế bằng các hệ thống điều khiển tự động với các lệnh chương trình đã được thiết lập tr−ớc. Trong quá trình sản xuất ở các nhà máy, xí nghiệp hiện nay, việc đo nhiệt độ tự động là một yêu cầu hết sức cần thiết và quan trọng. Vì nếu nắm bắt được nhiệt độ làm việc của các hệ thống. Dây chuyền sản xuất giúp ta biết được tình trạng làm việc của các yêu cầu. Và có những xử lý kịp thời tránh được những hư hỏng và sự cố có thể xảy ra. Để đáp ứng được yêu cầu đo nhiệt độ tự động, thì có nhiều ph−ơng pháp để thực hiện, nghiên cửu khảo sát vi điều khiển 8051 nhóm thực hiện nhận thấy rằng: ứng dụng vi điều khiển 8051 vào việc đo và khống chế nhiệt độ tự động là ph−ơng pháp tối ưu nhất. Đồng đ−ợc sự đồng ý của khoa Điện Tr−ờng Đại Học S− Phạm Kỹ Thuật. Nhóm chúng em tiến hành thực hiện đề tài “ thiết kế mạng thu thập dữ liệu dùng vi điều khiển 8051”. II.GIỚI HẠN ĐỀ TÀI : Với thời gian có hạn cũng nh− trình độ có hạn chúng em đã cố gắng hoàn thành tập đồ án này nh−ng chỉ giải quyết đ−ợc một số vấn đề sau: - Thiết kế mạch đo nhiệt độ trong phòng - Thiết kế 1 hệ thống thu thập nhiệt độ phòng gồm 1 vi điều khiển master và 1 vi điều khiển slave. - Viết ch−ơng trình cho vi điều khiển 8051 để đáp ứng các yêu cầu trên III. MỤC ĐÍCH NGHIÊN CỨU Mục đích tr−ớc hết khi thực hiện đề tài này là để hoàn tất ch−ơng trình môn học để đủ điều kiện ra tr−ờng. Cụ thể khi nghiên cứu thực hiện đề tài là chúng em muốn phát huy những thành quả ứng dụng của vi điều khiển nhằm tạo ra những sản phẩm, những thiết bị tiên tiến hơn, và đạt hiệu quả sản xuất cao hơn. Mặt khác tập đồ án này cũng có thể làm tài liệu tham khảo cho những sinh viên khóa sau. Giúp họ hiểu rõ hơn về những ứng dụng của vi điều khiển . Ngòai ra quá trình nghiên cứu thực hiện đề tài là một cơ hội để chúng em tự kiểm tra lại những kiến thức đã đ−ợc học ở tr−ờng, đồng thời phát huy tính sáng tạo, khả năng giải quyết một vấn đề theo yêu cầu đặt ra. Và đây cũng là dịp để chúng em tự khẳng định mình tr−ớc khi ra tr−ờng để tham gia vào các hoạt động sản xuất của xã hội. CH−ƠNG 2: GIỚI THIỆU CHUNG VỀ BỘ VI ĐIỀU KHIỂN I. GIíI THIÖU Bé vi ®iÒu khiÓn viÕt t¾t lµ Micro-controller, lµ m¹ch tÝch hîp trªn mét chip cã thÓ lËp tr×nh ®−îc, dïng ®Ó ®iÒu khiÓn ho¹t ®éng cña mét hÖ thèng. Theo c¸c tËp lÖnh cña ng−êi lËp tr×nh, bé vi ®iÒu khiÓn tiÕn hµnh ®äc, l−u tr÷ th«ng tin, xö lý th«ng tin, ®o thêi gian vµ tiÕn hµnh ®ãng më mét c¬ cÊu nµo ®ã. Trong c¸c thiÕh bÞ ®iÖn vµ ®iÖn vµ ®iÖn tö d©n dông, c¸c bé vi ®iÒu khiÓn, ®iÒu khiÓn ho¹t ®éng cña TV, m¸y giÆt, ®Çu ®äc laser, ®iÖn thäai, lß vi-ba. Trong hÖ thèng s¶n xuÊt tù ®éng, bé vi ®iÒu khiÓn ®−îc sö dông trong Robot, d©y chuyÒn tù ®éng. C¸c hÖ thèng cµng “th«ng minh” th× vai trß cña hÖ vi ®iÒu khiÓn cµng quan träng. II. LÞCH Sö PH¸T TRIÓN CñA Bé VI §IÒU KHIÓN : Bé vi ®iÒu khiÓn thùc ra, lµ mét lo¹i vi xö lÝ trong tËp hîp c¸c bé vi xö lý nãi chung. Bé vi ®iÒu khiÓn ®−îc ph¸t triÓn tõ bé vi xö lÝ, tõ nh÷ng n¨m 70 do sù ph¸ttriÓn vµ hoµn thiÖn vÒ c«ng nghÖ vi ®iÖn tö dùa trªn kü thuËt MOS (Metal- Oxide-Semiconductor) , møc ®é tÝch hîp cña c¸c linh kiÖn b¸n dÉn trong mét chip ngµy cµng cao. N¨m 1971 xuÊt hiÖn bé vi xö lÝ 4 bit lo¹i TMS1000 do c«ng ty texas Instruments võa lµ n¬i ph¸t minh võa lµ nhµ s¶n xuÊt. Nh×n tæng thÓ th× bé vi xö lÝ chØ cã chøa trªn mét chip nh÷ng chøc n¨ng cÇn thiÕt ®Ó xö lÝ ch−¬ng tr×nh theo mét tr×nh tù, cßn tÊt c¶ bé phËn phô trî kh¸c cÇn thiÕt nh− : bé nhí d÷ liÖu , bé nhí ch−¬ng tr×nh , bé chuÓn ®æi AID, khèi ®iÒu khiÓn, khèi hiÓn thÞ, ®iÒu khiÓn m¸y in,hèi ®ång hå vµ lÞch lµ nh÷ng linh kiÖn n»m ë bªn ngoµi ®−îc nèi vµo bé vi xö lÝ. M·i ®Õn n¨m 1976 c«ng ty INTEL (Interlligen-Elictronics). Míi cho ra ®êi bévi ®iÒu khiÓn ®¬n chip ®Çu tiªn trªn thÕ giíi víi tªn gäi 8048. Bªn c¹nh bé xö lÝ trung t©m 8048 cßn chøa bé nhí d÷ liÖu, bé nhí ch−¬ng tr×nh, bé ®Õm vµ ph¸t thêi gian c¸c cæng vµo vµ ra Digital trªn mét chip.C¸c c«ng ty kh¸c còng lÇn l−îc cho ra ®êi c¸c bé vi ®iÒu khiÓn 8bit t−¬ng tù nh− 8048 vµ h×nh thµnh hä vi ®iÒu khiÓn MCS-48 (Microcontroller-sustem-48).§Õn n¨m 1980 c«ng ty INTEL cho ra ®êi thÕ hÖ thø hai cña bé vi ®iÒu khiÓn ®¬n chip víi tªn gäi 8051. Vµ sau ®ã hµng lo¹t c¸c vi ®iÒu khiÓn cïng lo¹i víi 8051 ra ®êi vµ h×nh thµnh hä vi ®iÒu khiÓn MCS-51 . §Õn nay hä vi ®iÒu khiÓn 8 bit MCS51 ®· cã ®Õn 250 thµnh viªn vµ hÇu hÕt c¸c c«ng ty hµng dÉn hµng ®Çu thÕ giíi chÕ t¹o. §øng ®Çu lµ c«ng ty INTEL vµ rÊtnhiÒu c«ng ty kh¸c nh− : AMD, SIEMENS, PHILIPS, DALLAS, OKI Ngoµi ra cßn cã c¸c c«ng ty kh¸c còng cã nh÷ng hä vi ®iÒu khiÓn riªng nh−: -Hä 68hcos cña c«ng ty Motola -Hä st62 cña c«ng ty sgs-thomson -Hä h8 cña c«ng ty Hitachi -Hä pic cña c«ng ty Micro chip III.KH¶O S¸T Bé VI §IÒU KHIÓN 8051 Vμ 8031 1. C¸c th«ng sè c¬ b¶n IC vi ®iÒu khiÓn 8051/8031 thuéc hä MCS51 cã c¸c ®Æt ®iÓm sau : - 4kbyte ROM (®−îc lËp tr×nh bëi nhµ s¶n xuÊt chØ cã ë 8051) - 128 bóyt RAM - 4port I10 8bit - Hai bé ®Þnh thêi 16bit - Giao tiÕp nèi tiÕp - 64KB kh«ng gian bé nhí ch−¬ng tr×nh më réng - 64 KB kh«ng gian bé nhí d÷ liÖu më réng - mét bé xö lÝ luËn lÝ (thao t¸c trªn c¸c bit ®¬n) - 210 bit ®−îc ®Þa chØ hãa - bé nh©n / chia 40s 2.CÊU TRóC B£N TRONG CñA 8051 / 8031 H×nh 2.1 CÊu tróc bªn trong cña 8051/ NhiÖm vô c¸c khèi - CPU: thùc hiÖn c¸c phÐp to¸n sè häc vµ l« gÝc, ®−a ra c¸c chØ thÞ lÖnh - Bé t¹o dao ®éng: t¹o ra tÝn hiÖu xung nhÞp cho CPU , t¹o xung nhÞp cho timer/couter - BUS ®iÒu khiÓn: tËp chung tÝn hiÖu®iÒu khiÓnho¹t ®éng cña vi ®iÒu khiÓn - PSEN: ( Program store enable) dïng ®Ó truy suÊt bé nhí ngoµi ( bé nhí trong cña 8051: ROM 4 kbyte, RAM 128 byte) + Khi PSEN= 0: cho phÐp truy suÊt bé nhí ngoµi + Khi PSEN= 1: cho phÐp truy suÊt bé nhí trong - EA: dïng ®Ó truy suÊt bé nhí d÷ liÖu hoÆc bé nhí ch−¬ng tr×nh ngoµi - RST: reset - ALE: (Adress Latch Enable) dïng ®Ó t¸ch tÝn hiÖu ®Þa chØvµ tÝn hiÖu ë cæng P0 - Khèi vµo ra song song: dïng ®Ó truy suÊt d÷ liÖu 8 bit - Khèi vµo ra nèi tiÕp: dïng ®Ó truy suÊt d÷ liÖu nèi tiÕp theo tiªu chuÈn RS232 - Khèi sö lý ng¾t: tiÕp nhËn ng¾t vµ thùc hiÖn ch−¬ng tr×nh phôc vô ng¾t - Timer/ couter: t¹o kho¶ng thêi gian hoÆc ®Õm c¸c sù kiÖn - ROM on chip: (4 kbyte) l−u gi÷ ch−¬ng tr×nh - RAM on chÝp: (128 byte) l−u gi÷ ch−¬ng tr×nh t¹m thêi 3.S¬ §å CH¢N VI §IÒU KHIÓN P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST (RXD) (TXD) (NT0) (NT1) (T0) (WR) (RD) XTAL XTAL1 (T1) GND 1 40 2 39 3 38 4 37 5 36 6 35 7 34 8 8051 33 9 (89C51) 32 10 31 11 30 12 29 13 28 14 27 15 26 16 25 17 24 18 23 19 22 20 21 Vcc P0.0 P0.1 P0.2 P0.3 P0.4 P0.6 P0.6 EA/CP ALE/PRO P0.5 PSEN P2.7 P2.6 P2.5 P2.4(A12) P2.3 P2.2 P2.1 (A9) P2.0 (AB) H×nh 2.2 S¬ ®å ch©n cña IC 89C51 Chøc n¨ng c¸c ch©n Ch©n 32 Æ 39 thuéc cæng P0 thùc hiÖn truy suÊt d÷ liÖu hoÆc lµm ch©n ®Þa chØ trong tr−êng hîp cã thiÕt kÕ më réngbé nhí Ch©n 1 Æ 8 thuéc cæng P1 chØ dïng ®Ó truy suÊt d÷ liÖu Ch©n 21Æ 28 thuéc cæng P2cã chøc n¨ng c¬ b¶n dïng ®Ó vµo ra d÷ liÖu trong tr−êng hîp cã thiÕt kÕ më réng bé nhí th× nã ®−îc dïng lµm ch©n ®Þa chØ cho c¸c bÝt cao cña ®Þa chØ 16 bit Ch©n 10 Æ 17 thuéc cæng P3 ë tr¹ng th¸i b×nh th−¬ng ta cã thÓ dïng ®Ó vµo ra d÷ liÖu, ngoµi ra cæng P3 cßn l−u gi÷ c¸c chøc n¨ng ®Æc biÖt P3.I Tªn Chøc n¨ng P3.0 RXD NhËp d÷ liÖu trong tr−êng hîp truyÒn nèi tiÕp P3.1 TXD Ph¸t d÷ liÖu trong tr−êng hîp truyÒn song song P3.2 INT0 §Çu vµo ng¾t 0 P3.3 INT1 §Çu vµo ng¾t 1 P3.4 T0 §Çu vµo cho bé timer/couter 0 P3.5 T1 §Çu vµo cho bé timer/couter 1 P3.6 WR §−êng ®iÒu khiÓn ghi bé nhí ngoµi P3.7 RD §−êng ®iÒu khiÓn ®äc bé nhí ngoµi Ch©n 18, 19: §Çu vµo cña bé dao ®éng Ch©n 20: ch©n Mass Ch©n 40: ch©n d−¬ng nguån 4.Tæ chøc bé nhí C¸c vi ®iÒu khiÓn thuéc ho 8051 ®Òu tæ chøc thµnh 2 kh«ng gian ch−¬ng tr×nh vµ d÷ liÖu. KiÕn tróc vi xö lý 8 bit cña 8051 nµy cho phÐp truy nhËp vµ tÝnh to¸n nhanh h¬n ®èi víi kh«ng gian d÷ liÖu nhê viÖc ph©n kh«ng gian bé nhí ch−¬ng tr×nh vµ d÷ liÖu nh− trªn. Tuy nhiªn bé nhí ngoµi ®−îc truy nhËp bëi hÖ thèng 16 bit ®Þa chØ vÉn cã thÓ thùc hiÖn nhê thanh ghi con trá Bé nhí ch−¬ng tr×nh ( ROM, EFROM) lµ bé nhí chØ ®äc, cã thÓ më réng tèi ®a 64kbyte. Víi hä vi ®iÒu khiÓn 89xx, bé nhí ch−¬ng tr×nh ®−îc tÝch hîp s½n trong chip cã kich th−íc nhá nhÊt lµ 4Kbyte. Víi c¸c vi ®iÒu khiÓn kh«ng tÝch hîp s½n bé nhí ch−¬ng tr×nh trªn chip, buéc ph¶i thiÕt kÕ bé nhí ch−¬ng tr×nh bªn ngoµi. VÝ dô sö dông EFROM: 2746(64Kbyte) khi ®ã ch©n PSEN ph¶i ®Æt ë møc cao (5V). Bé nhí d÷ liÖu (RAM) tån t¹i ®éc lËp so víi bé nhí ch−¬ng trinh. Hä vi ®iÒu khiÓn8051 cã bé nhí d÷ liÖu tÝch hîp trªn chip nhá nhÊt lµ 128 Byte vµ cã thÓ më réng d÷ liÖu ngoµi lªn tíi 64Kbyte. Víi nh÷ng vi ®iÒu khiÓn kh«ng tÝch hîp Rom trªn chip th× vÉn cã RAM treenc chip lµ 128 byte. Khi sö dông RAM ngoµi Cpu ®äc vµ ghi d÷ liÖu nhê tÝn hiÖu trªn c¸c ch©n RD vµ WR. Khi sö dông c¶ bé nhí ch−¬ng tr×nh vµ bé nhí d÷ liÖu bªn ngoµi th× buéc ph¶o kÕt hîp ch©n RD vµ PSEN bëi cæng logic AND ®Õ ph©n biÖt tÝn hiÖu truy xuÊt d÷ liÖu trªn ROM hay trªn RAM 4.1 Bé nhí ch−¬ng tr×nh H×nh 2.3 CÊu tróc bé nhí ch−¬ng tr×nh H×nh 2.4 §Þa chØ ng¾t trªn bé nhí ch−¬ng tr×nh Sau khi khëi ®éng CPU b¾t ®Çu thùc hiÖn ch−¬ng tr×nh ë vÞ trÝ 0000h. Mâi khi cã ng¾t x¶y ra con trá cña CPU sÏ nh¶y ®Õn ®óng ®Þa chØ ng¾t t−¬ng øng vµ thùc thi ch−¬ng tr×nh t¹i ®ã 4.2 Bé nhí d÷ liÖu H×nh 2.5 CÊu tróc bé nhí d÷ liÖu H×nh trªn m« t¶ cÈu tróc bé nhí d÷ liÖu trong vµ bé nhí d÷ liÖu ngoµi cña hä vi ®iÒu khiÓn 8051. CPU sÏ dïng ®Õn c¸c ch©n RD vµ WR khi truy cËp ®Õn bé nhí d÷ liÖu ngoµi. D−íi ®©y lµ cÊu tróc bé nhí d÷ liÖu trong chip, ®−îc chia lµm 3 khèi lµ 128 byte thÊp, 128 byte cao vµ 128 byte ®Æc biÖt H×nh 2.6 CÊu tróc bé nhí d÷ liÖu trªn chip H×nh d−íi ®©y m« t¶ cÊu tróc 128 byte thÊp cña bé nhí d÷ liÖu cña hä vi ®iÒu khiÓn 8051. 32byte ®Çu tiªn ( 00H - 1FH) ®−îc sö dông cho 4 bé bank thanh ghi R0 - R7. Hai bit cña thanh ghi ®Æc biÖt PSW sÏ lùa chon 1 trong 4 bé thanh ghi mµ vi ®iÒu khiÓn sÏ dïng trong khi thùc hiÖn ch−¬ng tr×nh H×nh 2.7 CÊu tróc 128 byte thÊp cña bé nhí d÷ liÖu trong 8051 chøa 210 vÞ trÝ bit ®−îc ®Þnh ®Þa chØ trong ®ã 128 bit chøa c¸c byte ë ®Þa chØ tõ 20H ®Õn 2FH vµ phÇn cßn l¹i chøa trong c¸c thanh ghi chøc n¨ng ®Æc biÖt. Ngoµi ra 8051 cßn cã c¸c port xuÊt/nhËp cã thÓ ®Þnh ®Þa chØ bit, ®iÒ nµy lµm ®¬n gi¶n viÖc giao tiÕp b»ng phÊn mÒm víi c¸c thiÕt bÞ xuÊt/nhËp ®¬n bit. Vïng RAM ®a môc ®Ých cã 80 byte ®Æt ë ®Þa chØ 30H ®Õn 7FH, b©n d−íi vïng nµy tõ ®Þa chØ 00H ®Õn 20Fh lµ vïng nhí cã thÓ sö dông t−¬ng tù. BÊt kú ë vÞ trÝ nµo trªn Ram ®a môc ®Ých ®Òu cã thÓ ®−îc truy xuÊt tù do b»ng c¸ch sö dông c¸c kiÓu ®Þnh ®Þa chØ trùc tiÕp hay gi¸n tiÕp. Còng nh− c¸c thanh ghi tõ R0 ®Õn R7 ta cã 21 thanh ghi chøc n¨ng ®Æc biÖt SFR chiÕp phÇn trªn cña Ram néi tõ ®Þa chØ 80H ®Õn FFH. ( CÇn l−u ý lµ kh«ng ph¶I tÊt c¶ 128 byte ®Þa chØ tõ 80H ®Õn FFH ®Òu ®−îc ®Þnh nghÜa mµ chØ cã 21 ®Þa chØ ®−îc ®Þnh nghÜa ) H×nh 2.8 128 byte cao cña bé nhí d÷ liÖu 4.3 C¸c chÕ ®é ®Þnh ®Þa chØ 4.3.1 ChÕ ®é ®Þnh ®Þa chØ tøc thêi ChÕ ®é ®Þnh ®Þa chØ tøc thêi th−¬ng dïng ®Ó n¹p d÷ liÖu cho thanh ghi, d÷ liÖu lµ mét h¨ng sè cô thÓ, d÷ liÖu ®−îc gäi qua tªn nh·n ûtong chÕ ®ä ®Þnh ®Þa chØ tøc thêi th× ®»ng tr−íc d÷ liÖu cã ký hiÖu ‘#’ Vd: N¹p gi¸ tri 25H vµo thanh ghi A (Reg A) MOV A,#25H Sè liÖu ®−îc ®Æt tªn lµ data equ 25H MOV A,#data (N¹p gi¸ tri 25H vµo thanh ghi A) Chó ý: chÕ ®é ®Þnh ®Þa chØ nµy sè liÖu th−êng lµ mét h»ng sè kh«ng thay ®æi trong suèt ch−¬ng tr×nh ho¹t ®éng, vµ gi¸ trÞ n¹p vµo ph¶i cã kÝch th−íc phï hîp víi thanh ghi (thanh ghi A, B, R lµ thanh ghi 8 bit, thanh ghi DPTR lµ thanh ghi 16 bit) 4.3.2 ChÕ ®é ®Þnh ®Þa chØ thanh ghi Trong chÕ ®é nµy d÷ liÖu ®−îc l−u tr÷ trong c¸c thanh ghi va CPU truy xuÊt tíi d÷ liÖu th«ng qua tªn cña thanh ghi. Trong c©u lÖnh dÞch chuyÓn d÷ liÖu sö dông ph−¬ng ph¸p ®Þng ®Þa chØ thanh ghi th× c¸c to¸n h¹ng trong c©u lÖnh ph¶i cã kÝch th−íc phï hîp nhau, vµ kh«ng ®−îc sö dông 2 thanh ghi Ri trng 1 c©u lÖnh Vd: di chuyÓn néi dung thanh ghi R0 vµo thanh ghi A MOV A,R0 4.3.3 ChÕ ®é ®Þnh ®Þa chØ trùc tiÕp Trong ph−¬ng ph¸p ®Þnh ®Þa chØ trùc tiÕpto¸n h¹ng trong c©u lÖnh thÓ hiÖn ®Þa chØ cña nguån nhí chøa d÷ liÖu (ng¨n nhí cña Ram on chip) chÕ ®é ®Þnh ®Þa chØ nµy th«ng th−êng dïng ®Ó chá tíi vïng kh«ng gian nhí30 Æ 7F h. Ph−¬ng ph¸p nµy ®−îc øng dông nhiÒu trong c©u lÖnh thao t¸c ng¨n xÕp - PUSH ®Þa chØ trùc tiÕp (cÊt d÷ liÖu trong « nhí cã ®Þa chØ trùc tiÕp vµo ng¨n xÕp) - POP ®Þa chØ trùc tiÕp (lÊy d÷ liÖu trong ng¨n xÕp ®−a ra « nhí cã ®Þa chØ trùc tiÕp) Vd: PUSH 7 4.3.4 ChÕ ®é ®Þnh ®Þa chØ gi¸n tiÕp Trong chÕ ®é ®Þnh ®Þa chØ nµy th× thanh ghi d÷ liÖu R0 vµ R1 lµm con chá ®Ó chá tíi d÷ liÖu trong bé nhí. Trong c©u lÖnh nÕu R0 vµ R1 lµm con cháth× cã ký hiÖu ‘@’ phÝa tr−íc . Vd: MOV R0,#30H (N¹p thanh ghi d÷ liÖu R0 gi¸ trÞ 30h) MOV a,@R0 (N¹p néi dung « nhí cã ®Þa chØ trong R0 ‘30H’ vµo thanh ghi A 4.3.5 ChÕ ®é ®Þnh ®Þa chØ chÞ sè thanh ghi Trong ph−¬ng ph¸p ®Þnh ®Þa chØ gi¸n tiªpth× thanh ghi con trá 8 bit (R0 R1) chØ cã thÓ chá tíi ®Þa chØ tèi ®a lµ FFh trong tr−êng hîp muèn trá tíi c¸c ®Þa chØ lín h¬n ta sÏ sö dông ph−¬ng ph¸p ®Þnh ®Þa chØ chØ sè. Trong ph−¬ng ph¸p nµy ta dïng thanh ghi chøa A vµ thanh ghi con chá d− liÖu DPTR ®Ó x¸c ®Þnh ®Þa chØ. Chó ý: thanh ghi A bao giê còng kÕtt hîp víi DPTR ®Ó t¹o ®Þa chØ nh−ng DPTR cã thÓ ®i riªng. Ph−¬ng ph¸p ®Þnh ®Þa chØnµy dïng ®Ó chá tíi ROM on chip vµ ROM RAM ngoµi Vd: MOVC A,@A+DPTR (8051 lÊy néi dung thanh ghi A + néi dung cña DPTR lµm ®Þ chØ cña ROM on chip sau ®ã sao d÷ liÖu ë ®Þa chØ A+DPTR vµo thanh ghi A MOVX A,@DPTR (8051 lÊy d÷ liÖu trong RAM ngoµi cã ®Þa chØ ë DPTR sao vµo thanh ghi A) 4.4 TËp lÖnh cña hä vi ®iÒu khiÓn 8051 Quy −íc: # Data: to¸n hang ®Þnh ®Þa chØ tøc thêi Direct : To¸n h¹ng ®Þnh ®Þa chØ trùc tiÕp @Ri : To¸n h¹ng ®Þnh ®ia chØ gi¸n tiÕp Rn : To¸n h¹ng ®Þnh ®Þa chØ thanh ghi 4.4.1 Nhãm lÖnh di chuyÓn d÷ liÖu a. LÖnh Mov: * Tr−êng hîp 1:  Mov A, Data Mov A, direct Mov A, @Ri Mov A, Rn *Tr−êng hîp 2: Mov Direct, A Mov Direct, #Data Mov Direct, @Ri Mov D * Tr−êng hîp 3: Mov Rn, #Data Mov Rn, A Mov Rn, Direct * Tr−êng hîp 4: Mov @Ri, #data Mov @Ri, A b, LÖnh Movx: Mov Direct c, LÖnh Movc Movx A,@Ri Movx @ Ri,A Movc A,@A+DPTR Movc A,@A+PC d, LÖnh trao ®æi néi dung thanh ghi A víi to¸n h¹ng 2 XCH A, Direct XCH A, @Ri XCH A, Rn e, LÖnh XCHD f, LÖnh PUSH g, LÖnh POP 4.4.2 Nhãm lÖnh sè häc: a, LÖnh céng kh«ng nhí ADD b, LÖnh céng cã nhí ADDC c, LÖnh t¨ng to¸n h¹ng mét ®¬n vÞ:  XCHD mailto:@Ri,@Ri PUSH Direct POP Direct ADD A, # data ADD A, Direct ADD A, @Ri ADD A, Rn ADDC A, # data ADDC A, Direct ADDC A, @Ri ADDC A, Rn d, LÖnh trõ INC A INC Direct INC @Ri INC Rn SUBB # data SUBB Direct SUBB @Ri SUBB Rn e, LÖnh gi¶m néi dung thanh ghi mét gi¸ trÞ: DEC A DEC Divect DEC @Ri DEC Rn g, LÖnh nh©n MUL:  MUL AB Th−c hiÖn nh©n néi dung thanh ghi A víi néi dung thanh ghi B KÕt qu¶: Byte thÊp l−u trªn thanh ghi A Byte cao l−u trªn thanh ghi B f, LÖnh chia DIV: DIV AB Th−c hiÖn chia néi dung thanh ghi A víi néi dung thanh ghi B KÕt qu¶: PhÇn nguyªn l−u trªn thanh ghi A PhÇn d− l−u trªn thanh ghi B 4.4.3 Nhãm lÖnh logic: a, LÖnh ANL: Có ph¸p: ANL A, # Data ANL A, Direct ANL A, @Ri ANL A, Rn ANL Direct, #Data ANL Direct, A LÖnh thùc hiÖn gi÷a c¸c bÝt t−¬ng øng cña to¸n h¹ng thø nhÊt víi c¸c bÝt cña to¸n h¹ng hai B¶ng ch©n lÝ : IN OUT 0 0 0 0 1 0 1 0 0 1 1 1 b, LÖnh ORL: B¶ng ch©n lý: B¶ng 1.8 B¶ng ch©n lý lÖnh ANL Có ph¸p: ORL A, #Data ORL A, Direct ORL A, @Ri ORL A, Rn ORL Direct, #Data ORL Direct, A IN OUT 0 0 0 0 1 1 1 0 1 1 1 1 c,LÖnh hoÆc tuyÖt ®èi B¶ng ch©n lÝ:  XRL A, #Data XRL A, Direct XRL A, @Ri XRL A, Rn XRL Direct, #Data XRL Direct, A IN OUT 00 0 01 1 10 1 11 0 d, LÖnh xo¸ thanh ghi A Có ph¸p : CLR A A ¬ 0 LÖnh lÊy phÇn bï thanh ghi A CPL A A ¬ A e, LÖnh quay ph¶i néi dung thanh ghi A Có ph¸p: RR A - LÖnh nµy di chuyÓn ®−îc tÊt c¶ c¸c bÝt cña thanh ghi A sang ph¶i 1 bÝt f, LÖnh quay tr¸i néi dung thanh ghi A Có ph¸p: RL A - LÖnh nµy di chuyÓn tÊt c¶ c¸c bÝt cña thanh ghi A sang tr¸i 1 bit g, LÖnh quay ph¶i néi dung thanh ghi A qua cê C Có ph¸p: RRC A h, LÖnh quay tr¸i néi dung thanh ghi A qua cê C Có ph¸p: RLC A k,LÖnh trao ®æi 4 bit cao víi 4 bÝt thÊp cña thanh ghi A Có ph¸p: SWAP A 4.4.4 Nhãm lÖnh rÏ nh¸nh ch−¬ng tr×nh Nhãm lÖnh rÏ nh¸nh kh«ng ®iÒu kiÖn a, LÖnh nh¶y JMP Có ph¸p: JMP nh·n Thùc hiÖn rÏ nh¸nh ch−¬ng tr×nh ®Õn ®Þa chØ ®−îc x¸c ®inh bëi to¸n h¹ng nh·n *Kh¸i niÖm vÒ nh·n: Nh·n lµ tªn h×nh thøc ®¹i diÖn cho mét ®Þa chØ vËt lý x¸c ®inh trong bé nhí *Quy t¾c ®Æt tªn nh·nP: -Tªn nh·n bao giê còng bao gåm c¸c ch÷ c¸i tõ A ¸ Z; a ¸ z; c¸c sè tõ 0 ¸ 9 -KÕt thóc tªn cña nh·n lµ dÊu “:” -Gi÷a c¸c ký tù trong nh·n kh«ng ®−îc ®Æt dÊu c¸ch -Tªn nh·n ph¶i ®−îc b¾t ®Çu b»ng mét ch÷ c¸i -Tªn nh·n kh«ng ®−îc trïng víi c¸c tõ ®· ®−îc ®Þnh nghÜa tr−íc -Tªn nh·n kh«ng dai qu¸ 32 ký tù b, LÖnh gäi ch−¬ng tr×nh con *LÖnh CALL Có ph¸p: CALL tªn ch−¬ng tr×nh con *LÖnh ACALL Có ph¸p: ACALL ®Þa chØ 11bÝt *LÖnh LCALL Có ph¸p: LCALL ®Þa chØ 16 bÝt c.LÖnh AJMP  Có ph¸p: AJMP ®Þa chØ 11 d,LÖnh nh¶y kh«ng ®iÒu kiÖn *LÖnh nh¶y dµi LJMP Có ph¸p: LJMP ®Þa chØ 16 *LÖnh nh¶y ng¾n SJMP Có ph¸p: SJMP Rel e, LÖnh JZ *A áñ 0  Có ph¸p: JZ nh·n Thùc hiÖn kiÓm tra néi dung thanh ghi A NÕu A=0 rÏ nh¸nh ®Õn nh·n NÕu A ¹ 0 thùc hiÖn lÖnh tiÕp theo Nhãm lÖnh rÏ nh¸nh cã ®iÒu kiÖn e, LÖnh JNZ Thùc hiÖn kiÓm tra néi dung thanh ghi A *A áñ 0 NÕu A=0 thùc hiÖn lÖnh tiÕp theo NÕu A ¹ 0 rÏ nh¸nh ®Õn nh·n b, LÖnh CJNE: So s¸nh néi dung cña to¸n h¹ng1 Có ph¸p: CJNE TH1, TH2, nh·n So s¸nh néi dung cña TH1 áñ TH2 -NÕu TH1 ¹ TH2 rÏ nh¸nh ®Õn nh·n -NÕu TH1=TH2 thùc hiÖn lÖnh tiÕp theo CJNE A, #data, nh·n CJNE A, Direct, nh·n c, LÖnh DJNZ Có ph¸p: DJNZ TH,nh·n DJNZ Rn,nh·n DJNZ Direct, nh·n nh·n Gi¶m néi dung cña to¸n h¹ng(TH)®i mét ®¬n vÞ vµ so sanh víi 0 NÕu TH ¹ 0 th× rÏ nh¸nh ch−¬ng tr×nh ®Õn ®Þa chØ x¸c ®Þnh bëi to¸n h¹ng NÕu TH=0 th× thùc hiÖn lÖnh tiÕp theo 1, TH ¬ TH-1 2, TH áñ 0 TH ¹ 0 rÏ nh¸nh nh·n TH=0 thùc hiÖn lÖnh tiÕp theo d, LÖnh NOP 4.4.5 Nhãm lÖnh xö lý to¸

Các file đính kèm theo tài liệu này:

  • docThiet ke mang du lieu.doc
  • pdfThiet ke mang du lieu.pdf
Luận văn liên quan