Báo cáo Thiết kế bảng quảng cáo, hiển thị một dòng chữ chạy

3. 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

doc19 trang | Chia sẻ: ngtr9097 | Lượt xem: 1825 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Báo cáo Thiết kế bảng quảng cáo, hiển thị một dòng chữ chạy, để 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ã