Báo cáo Bài tập vxl

Tài liệu Báo cáo Bài tập vxl: Trường đại học bách khoa hà nội Khoa Điện Tử Viễn Thông ----- & ----- Báo cáo BàI TậP VXL GV Hướng Dẫn : Thầy Phạm Ngọc Nam Nhóm Sinh viên: Trần Văn Thông Nguyễn Thị Thanh Thuý Nguyễn Công Chiến Đào Xuân Vũ Nguyễn Vũ Lớp : ĐT09-K47 Hà Nội 11/2005 Chủ đề: Thiết kế bảng quảng cáo, hiển thị một dòng chữ chạy Phần I:Giới Thiệu Linh Kiện Sử Dụng Vi Xử Lí AT89C51 1. Các đặc điểm của hệ Vi Xử Lý 89C51 : - Là IC có tích hợp trên đó hệ vi xử lý - Có 40 chân. - 4KB ROM trong , có thể ghi xoá được 1000 lần - Dải tần số hoạt động từ 0MHz đến 24Mhz - 128x8 bit RAM trong . - 4 cổng vào ra 8 bit - 2 bộ định thời 16 bit - Có 6 nguyên nhân ngắt - Có thể lập trình được qua cổng nối tiếp - 210 bit được địa chỉ hoá - Giao Tiếp nối tiếp 2. Cơ bản về cấu tạo của AT89C51: Hình : Sơ đồ chân của 89C51 Hình2 : Sơ đồ khối của 89C51 Cấu Tạo Chân của AT89C51 : GND(chân 20) Chân nối với 0v potr 0(chân 32 – chân 29) port 0 là port xuất nhập 8 bit hai...

doc19 trang | Chia sẻ: hunglv | Lượt xem: 1337 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Báo cáo Bài tập vxl, để tải tài liệu về máy 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¸o c¸o BµI TËP VXL GV H­íng DÉn : ThÇy Ph¹m Ngäc Nam Nhãm Sinh viªn: TrÇn V¨n Th«ng NguyÔn ThÞ Thanh Thuý NguyÔn C«ng ChiÕn §µo Xu©n Vò NguyÔn Vò Líp : §T09-K47 Hµ Néi 11/2005 Chñ ®Ò: ThiÕt kÕ b¶ng qu¶ng c¸o, hiÓn thÞ mét dßng ch÷ ch¹y PhÇn I:Giíi ThiÖu Linh KiÖn Sö Dông Vi Xö LÝ AT89C51 1. C¸c ®Æc ®iÓm cña hÖ Vi Xö Lý 89C51 : - Lµ IC cã tÝch hîp trªn ®ã hÖ vi xö lý - Cã 40 ch©n. - 4KB ROM trong , cã thÓ ghi xo¸ ®­îc 1000 lÇn - D¶i tÇn sè ho¹t ®éng tõ 0MHz ®Õn 24Mhz - 128x8 bit RAM trong . - 4 cæng vµo ra 8 bit - 2 bé ®Þnh thêi 16 bit - Cã 6 nguyªn nh©n ng¾t - Cã thÓ lËp tr×nh ®­îc qua cæng nèi tiÕp - 210 bit ®­îc ®Þa chØ ho¸ - Giao TiÕp nèi tiÕp 2. C¬ b¶n vÒ cÊu t¹o cña AT89C51: H×nh : S¬ ®å ch©n cña 89C51 H×nh2 : S¬ ®å khèi cña 89C51 CÊu T¹o Ch©n cña AT89C51 : GND(ch©n 20) Ch©n nèi víi 0v potr 0(ch©n 32 – ch©n 29) port 0 lµ port xuÊt nhËp 8 bit hai chiÒu. Port 0 cßn ®­îc cÊu h×nh lµm bus ®Þa chØ( byte thÊp) vµ bus d÷ liÖu ®a hîp trong khi truy xuÊt bé nhí d÷ liÖu ngoµi vµ bé nhí ch­¬ng tr×nh ngoµi. Port còng nhËn c¸c byte m· trong khi lËp tr×nh cho Flash vµ xuÊt c¸c byte m· trong khi kiÓm tra ch­¬ng tr×nh ( c¸c ®iÖn trë kÐo lªn bªn ngoµi ®­îc cÇn ®Õn trong khi kiÓm tra ch­¬ng tr×nh). Port 1( ch©n 1- 8) port 1 lµ port xuÊt nhËp 8 bit hai chiÒu. Port1 còng nhËn byte ®Þa chØ thÊp trong thêi gian lËp tr×nh cho Flash. Port 2 ( ch©n 21 – 28) Port 2 lµ port xuÊt nhËp 8 bit hai chiÒu. Port 2 t¹o ra c¸c byte cao cña bus ®Þa chØ trong thêi gian t×m n¹p lÖnh tõ bé nhí ch­¬ng tr×nh ngoµi vµ trong thêi gian truy xuÊt bé nhí d÷ liÖu ngoµi, sö dông c¸c ®Þa chØ 16 bit. Trong thêi gian truy xuÊt bé nhí d÷ liÖu ngoµi sö dông c¸c ®Þa chØ 8 bit, port 2 ph¸t c¸c néi dung cña c¸c thanh ghi ®Æc biÖt, port 2 còng nhËn c¸c bits ®Þa chØ cao vµ vµi tÝn hiÖu ®iÒu khiÓn trong thêi gian lËp tr×nh cho Flash vµ kiÓm tra ch­¬ng tr×nh. Port 3 ( ch©n 10- 17) Port 3 lµ port xuÊt nhËp 8 bit hai chiÒu, port 3 còng cßn lµm c¸c chøc n¨ng kh¸c cña AT89C51. c¸c chøc n¨ng nµy ®­îc nªu nh­ sau: Ch©n Tªn Chøc n¨ng P3.0 RxD Ngâ vµo port nèi tiÕp P3.1 TxD Ngâ ra port nèi tiÕp P3.2 INT0 Ngâ vµo ng¾t ngoµi 0 P3.3 INT1 Ngâ vµo ng¾t ngoµi 1 P3.4 T0 Ngâ vµo bªn ngoµi cña bé ®Þnh thêi 1 P3.5 T1 Ngâ vµo bªn ngoµi cña bé ®Þnh thêi 0 P3.6 WR §iÒu khiÓn ghi bé nhí d÷ liÖu ngoµi P3.7 RD §iÒu khiÓn ®äc bé nhí d÷ liÖu ngoµi Port 3 còng nhËn mét vµi tÝn hiªu ®iÒu khiÓn cho viÖc lËp tr×nh Flash vµ kiÓm tra ch­¬ng tr×nh. RST ( ch©n 9) Ngâ vµo reset. Møc cao trªn ch©n nµy trong hai chu kú m¸y trong khi bé dao ®éng ®ang ho¹t ®éng sÏ reset AT89C51 . ALE/PROG( ch©n 30) ALE lµ mét xung ngâ ra ®Ó chèt byte thÊp cña ®Þa chØ trong khi xuÊt bé nhí ngoµi. Ch©n nµy còng lµm ngâ vµo ch©n lËp tr×nh (PROG) trong thêi gian l¹p tr×nh cho Flash. Khi ho¹t ®éng b×nh th­êng xung ngâ ra lu«n cã tÇn sè kh«ng ®æi lµ 1/6 tÇn sè cña m¹ch dao ®éng, cã thÓ ®­îc dïng cho c¸c môc ®Ých ®Þnh thêi bªn ngoµi. Khi cÇn, ho¹t ®éng ch©n ALE cã thÓ ®­îc v« hiÖu ho¸ b»ng c¸ch set bit 0 cña thanh ghi chøc n¨ng ®Æc biÖt cã ®Þa chØ 8Eh. Khi bit nµy ®­îc set, ALE chØ tÝch cùc trong thêi gian thùc hiÖn lÖnh MOVX hoÆc MOVC. Ng­îc l¹i ch©n nµy sÏ ®­îc kÐo lªn cao. ViÖc set bit kh«ng cho phÐp ho¹t ®éng ch«t byte thÊp cña ®Þa chØ sÏ kh«ng cã t¸c dông nÕu bé vi ®iÒu khiÓn ®ang ë chÕ ®é thùc thi ch­¬ng tr×nh ngoµi. PSEN(ch©n 29) PSEN (program Store Enable) lµ xung ®iÒu khiÓn truy xuÊt ch­¬ng tr×nh ngoµi. Khi AT89C51 ®ang thùc thi ch­¬ng tr×nh tõ bé nhí ch­¬ng tr×nh ngoµi, PSEN ®­îc kÝch ho¹t hai lÇn mçi chu kú m¸y, nh­ng hai ho¹t ®éng PSEN sÏ bÞ bá qua mçi khi truy cËp bé nhí d÷ liÖu ngoµi. EA vpp(ch©n 31) Lµ ch©n cho phÐp truy xuÊt bé nhí ch­¬ng tr×nh ngoµi ( ®Þa chØ tõ 0000h tíi ffffh) EA = 0 cho phÐp truy xu¸t bé nhí ch­¬ng tr×nh ngoµi, ng­îc l¹i EA = 1 sÏ thùc thi ch­¬ng tr×nh bªn trong chip Tuy nhiªn, l­u ý r»ng nÕu bÝt kho¸ 1 ®­îc lËp tr×nh EA ®­îc chèt bªn trong khi reset XTAL1& XTAL2 Lµ hai ngâ vµo ra cña hai bé khuyÕch ®¹i ®¶o cña m¹ch dao ®éng, ®­îc cÊu h×nh ®Ó dïng nh­ mét bé t¹o dao ®éng trªn chip 3. Tæ chøc bé nhí cña 89C51: 7F RAM ÑA DUÏNG 30 2F 7F 7E 7D 7C 7B 7A 79 78 2E 77 76 75 74 73 72 71 70 2D 6F 6E 6D 6C 6B 6A 69 68 2C 67 66 65 64 63 62 61 60 2B 5F 5E 5D 5C 5B 5A 59 58 2A 57 56 55 54 53 52 51 50 29 4F 4E 4D 4C 4B 4A 49 48 28 47 46 45 44 43 42 41 40 27 3F 3E 3D 3C 3B 3A 39 38 26 37 36 35 34 33 32 31 30 25 2F 2E 2D 2C 2B 2A 29 28 24 27 26 25 24 23 22 21 20 23 1F 1E 1D 1C 1B 1A 19 18 22 17 16 15 14 13 12 11 10 21 0F 0E 0D 0C 0B 0A 09 08 20 07 06 05 04 03 02 01 00 1F BANK 3 18 17 BANK 2 10 0F BANK 1 08 07 Bank thanh ghi 0 ( maëc ñònh cho R0-R7) 00 CAÁU TRUÙC RAM NOÄI F0 F7 F6 F5 F4 F3 F2 F1 F0 E0 E7 E6 E5 E4 E3 E2 E1 E0 D0 D7 D6 6D 6C 6B 6A 69 68 B8 - - - BC BB BA B9 B8 B0 B7 B6 B5 B4 B3 B2 B1 B0 A8 AF AE AD AC AB AA A9 A8 A0 A7 A6 A5 A4 A3 A2 A1 A0 99 Khoâng coù ñòa chæ hoùa töøng bit 98 9F 9E 9D 9C 9B 9A 99 98 90 97 96 95 94 93 92 91 90 8D Khoâng ñöôïc ñòa chæ hoùa töøng bit 8C Khoâng ñöôïc ñòa chæ hoùa töøng bit 8B Khoâng ñöôïc ñòa chæ hoùa töøng bit 8A Khoâng ñöôïc ñòa chæ hoùa töøng bit 89 Khoâng ñöôïc ñòa chæ hoùa töøng bit 88 8F 8E 8D 8C 8B 8A 89 88 87 Khoâng ñöôïc ñòa chæ hoùa töøng bit 83 Khoâng ñöôïc ñòa chæ hoùa töøng bit 82 Khoâng ñöôïc ñòa chæ hoùa töøng bit 81 Khoâng ñöôïc ñòa chæ hoùa töøng bit 80 87 86 85 84 83 82 81 80 THANH GHI CHÖÙC NAÊNG ÑAËC BIEÄT Bé ph©n kªnh 74LS154 Lµ mét bé gi¶i m· ph©n kªnh tÝch cùc møc thÊp, víi bèn ngâ vµo vµ 16 ngâ ra, s¬ ®å s¾p xÕp ch©n nh­ trªn h×nh top view Dùa vµo bèn bit ®Çu vµo A,B,C,D ®­a ra ®Çu ra 16 bit ë møc thÊp Mçi khi cã mét ®Çu ra trong 16 ®Çu ra ®­îc chän th× chØ cã ®Çu ra ®­îc chän ë møc thÊp cßn c¸c ®Çu ra kh¸c ®Òu ®Æt ë møc cao. Dùa vµo b¶ng ch©n lý d­íi ®©y ta cã thÓ x¸c ®Þnh ®­îc tr¹ng th¸i ®Çu ra t¹i tõng thêi ®iÓm, cô thÓ ta cã thÓ xem qua s¬ ®å logic III. Gi¶i m· ®Þa chØ 74LS139 : Lµ vi m¹ch gi¶i m· 16 ch©n , gåm hai khèi gi¶i m· riªng rÏ ,dïng 74139 sÏ cã Ýt ®Çu vµo h¬n so víi 74138 d­íi ®©y la s¬ ®å ch©n linh kiÖn B¶ng sù thËt : IV. Ma trËn LED 1588AB : Sö dông ma trËn led 8x8 víi c¸c hµng cét ®­îc kÕt nèi víi nhau ,trong trõong hîp bµi lµm ,cã bèn ma trËn led ®­îc kÕt nèi ®Ó t¹o thµnh 8 hµng vµ 32 cét . ma trËn 1588AB lµ ma trËn lo¹i catot PhÇn ii. S¬ ®å khèi vµ chøc n¨ng c¸c khèi Nguån HiÓn thÞ VDK 89C51 KhuÕch ®¹i dßng Chän chip Gi¶I m· ®Þa chØ 1.Khèi nguån :sö dông nguån m¸y tÝnh ®Ó ®¶m b¶o kh¶ n¨ng æn ®Þnh cao 2.Khèi VDK 89C51 :bao gåm c¸c linh kiÖn kÌm víi VDK nh­ dao ®éng TA ,tô ,reset 3.Khèi chän chip :do 74LS139 ®¶m nhËn ,nã sÏ nhËn tÝn hiÖu tõ VDK ®Ó chän 1 trong hai IC 74154 phôc vô cho gi¶I m· 4. Khèi gi¶i m· : gåm 2 IC 74154 gi¶i n· ®Þa chØ 16 ®Çu ra sÏ chän 1 tron 32 cét cña khèi hiÓn thÞ ®Ó VDK xuÊt d÷ liÖu ra (hiªn thÞ ) 5 Khèi hiÓn thi :gåm 4 ma trËn 8*8 møc thµnh 8 hµng vµ 32 cét sÏ hiÓn thÞ ch÷ mµ ta muèn 6 .Khèi khuÕch ®¹i : ®Ó ®¶m b¶o cho ®Òn s¸ng b×nh th­êng ,ph¶i cung ®ñ dßng cho nã ,dßng ra tõ c¸c ch©n cña c¸c IC ,VDK nãi chung ®Òu nhá vi v¹y ph¶i khuÕch ®¹i chóng tr­íc khi ®­a qua ®Ìn viÖc nµy ®¶m nhËn bëi c¸c Transitor PHÇN 3: S¬ ®å nguyªn lÝ vµ nguyªn lÝ ho¹t ®éng : I.S¬ ®å nguyªn lÝ : thùc hiÖn b»ng phÇn mÒm Proteus : II. M« t¶ nguyªn lÝ ho¹t ®éng : TÝn hiÖu chän chip tõ VDK ®Õn 74139 ®­îc gi¶I m· sÏ chän 1 trong hai Ic 74154 sau ®ã tÝn hiÖu chän cét ®­îc VDK ®­a vµo bèn ®Çu vµo cña 74154 , sÏ gi¶I m· ®Ó chän mét cét trong 32 cét Khi mét cét ®· ®­îc chän ,d÷ liÖu tõ cæng P0 ®Ðn c¸c Baz¬ cña c¸c ®Ìn khuÕch ®¹i ë ®ã dßn g®­îc khuch ®¹i vµ ra ë Emit¬ cña ®Ìn ,ch¶y qua ®Ìn vÒ ®Êt (cét ®­îc chän HiÓn thÞ ®éng : nh­ ®· biÕt , khi cã dßng ch¶y qua led sÏ s¸ng ,tïy theo vi trÝ c¸c led s¸ng phèi hîp víi nhau t¹o thµnh h×nh ¶nh ch÷ . Nh­ng mét htêi ®iÓm ta kh«ng thÓ cho bao nhiªu led s¸ng còng ®­îc v× : + Dßng cung rÊt tèn kÐm :mçi led 10 mA cã tÊt c¶ 32*8=256 led th× cùc ®¹i cÇn 2,56 A +Dßng qu¸ lín sÏ g©y háng IC do mçi IC chØ cho phÐp dßng vµo giíi h¹n +ph¶i dïng nhiÒu VDK phèi hîp víi nhau rÊt phøc t¹p MÆt kh¸c do ®Æc ®iÓm thi gi¸c cña con ng­êi kh«ng thÓ ph©n biÖt sù ®øt ®o¹n cña h×nh ¶nh nÕu nã d­îc quÐt >= 24 lÇn /gi©y .ChÝnh v× vËy viÖc hiÓn thÞ ®ång lo¹t lµ ®IÒ kh«ng cÇn thiÕt ,thay vµo ®ã c¸c cét ®Ìn sÏ lu©n phiªn nhau nhËn d÷ liÖu hiÓn thi ,vµ nh­ vËy viÖc sö dông c¸c ch©n cña VDK vµ viÖc lËp tr×nh sÏ ®on gi¶n h¬n *Qu¸ tr×nh truy xuÊt d÷ liÖu ë 89C51 : III. M· ch­¬ng tr×nh : *M« t¶ ch­¬ng tr×nh :ch­¬ng tr×nh ®­îc thùc hiÖn b»ng phÇn mÒm Reads51 c¸c ch÷ m· hãa dùa trªn b¶ng sau cæng p2 qu¶n lÝ viÖc chän chip vµ d÷ liÖu ®Çu vµo cña 74154 ,cæng p0 qu¶n lÝ viÖc xuÊt d÷ liÖu ,d÷ liÖu tr­íc khi ®ua ra ®­îc ®Èy vµo c¸c thanh ram cña bank 0 Code: #include org 0h MOV tmod,#01 MOV p2,#10100000B;dia chi bat dau cua chuoi tu ngoai cung ben phai lap1: MOV R7,#24;so lan quet chuoi lap: ACALL chuoi MOV A,p2 SUBB A,#64 MOV p2,A DJNZ R7,lap DEC p2 CLR p2.7 LJMP lap1 delay2: MOV tl0,#09Bh ;nap gia tri can tre MOV th0,#0ffh SETB tr0 here2: JNB tf0,here2 CLR tr0 CLR tf0 RET goi: ;dua du lieu tu ram ra cong P0 INC p2 MOV p0,R0 acall delay2 INC p2 MOV p0,R1 acall delay2 INC p2 MOV p0,R2 acall delay2 INC p2 MOV p0,R3 acall delay2 INC p2 MOV p0,R4 acall delay2 INC p2 MOV p0,R5 acall delay2 INC p2 MOV p0,R6 acall delay2 RET napd: MOV R0,#01001001B MOV R1,#01111111B MOV R2,#01111111B MOV R3,#01001001B MOV R4,#01100011B MOV R5,#00111110B MOV R6,#00011100B RET napi: MOV R0,#01000100B MOV R1,#01111101B MOV R2,#01111101B MOV R3,#01000000B MOV R4,#00111000B MOV R5,#01111110B MOV R6,#11010101B RET nape: MOV R0,#11010101B MOV R1,#01011110B MOV R2,#00011000B MOV R3,#00000000B MOV R4,#01111100B MOV R5,#01111100B MOV R6,#00000100B RET napn: MOV R0,#00000100B MOV R1,#01111100B MOV R2,#01111000B MOV R3,#00000011B MOV R4,#01000001B MOV R5,#01111111B MOV R6,#01111111B RET napt: MOV R0,#01000001B MOV R1,#00000011B MOV R2,#00111100B MOV R3,#01111100B MOV R4,#01000101B MOV R5,#01000011B MOV R6,#01111100B RET napu: MOV R0,#01111100B MOV R1,#00000110B MOV R2,#00000000B MOV R3,#00000110B MOV R4,#01001111B MOV R5,#01001001B MOV R6,#00101001B RET nap9: MOV R0,#00111111B MOV R1,#00011110B MOV R2,#01000001B MOV R3,#01111111B MOV R4,#01111111B MOV R5,#00001000B MOV R6,#00011100B RET napk: MOV R0,#01110111B MOV R1,#01100011B MOV R2,#00011000B MOV R3,#00011100B MOV R4,#01010110B MOV R5,#01111111B MOV R6,#01111111B RET nap4: MOV R0,#01010000B MOV R1,#00000011B MOV R2,#00000011B MOV R3,#01110001B MOV R4,#01111001B MOV R5,#00001111B MOV R6,#00000111B RET chuoi: ;dua cac chu ra P0 ACALL napd ACALL goi ACALL napi ACALL goi ACALL nape ACALL goi ACALL napn ACALL goi ACALL napt ACALL goi ACALL napu ACALL goi ACALL nap9 ACALL goi ACALL napk ACALL goi ACALL nap4 ACALL goi inc p2 mov p0,#0B RET END Thời gian trễ của delay2: 0ffffh-0ff37h=200d khoảng trễ sẽ là 0. 2ms Để tạo chữ chạy ta chọn các bộ định thời để tạo trễ sao cho 1 chuỗi ( 50 cột: 10 kí tự ) được quét ít nhất 24 lần trong 1s sau đó trễ 1 rồi dịch sang vị trí tiếp (đặt thời gian quét 1 lần chuỗi là T1=1/ 24 Trong một lần quét chuỗi mỗi cột sẽ được quét trong T1/ ( 50x2 ) do giữa mỗi lần quét có một khoảng nghỉ àNhư vậy khoảng trễ của một lần quét cột là 1/2400 khoảng 0. 4ms ( 370 chu kì máy ) Một lần quét chuỗi khoảng 40ms ( 38000 chu kì máy ) Tuy nhiên khi tính đến trễ gây ra bởi bản thân các lệnh thì ta được kết quả như phần mã

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

  • docBAOCAO(bangquangcao).DOC