Đề tài Thiết kế mạch nạp cho 89Cxx

Ngày nay nền công nghệ ứng dụng vi xử lí và đời sống đang ngày trở nên phổ biến và không ngừng phát triển, hiện nay nó được phổ cập ở nhiều các truờng ĐH, CĐ và Trung cấp. Bên cạnh việc học ở trường về lí thuyết để mọi người hiểu sâu về vi xử lí và khám phá ứng dụng của nó vào thực tiễn. Mình giới thiệu với các bạn cuốn tài liệu " Thiết kế mạch nạp cho chíp cho 89Cxxx " với tài liệu này các bạn có thể tạo ra cho mình một mạch nạp chíp vô cùng đơn giản các bạn vừa học vừa làm bổ xung kiến thức cho mình.Với giá thành của sản phẩm mình rẻ hơn nhiều so với các bạn mua ở ngoài. Chúc các bạn thành công!!!

pdf77 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2277 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế mạch nạp cho 89Cxx, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ieän baèng caùc phaàn meàm thoâng duïng sau :Eagle, Orcad, Protel, Traxmat...v.v.v. (caùc baïn coù theå xem höôùng daãn töï thieát keá maïch in baèng phaàn meàm Eagle Version4.01 nhö höôùng daãn ôû muïc 2.6) . Giao dieän thieát keá maïch in cuûa phaàn meàm Eagle 4.01 : Sau khi baïn thieát keá , haõy löu noù laïi trong ñóa meàm vaø in ra baèng möïc laze leân giaáy photo thöôøng , moãi tôø photo giaù khoaõng 300ñ . Haõy löu yù: Phaõi in baèng möïc in Laser . Khoâng neân in leân giaáy scan vì giaáy scan moûng quaù khi uûi seõ bò chaùy , khoâng in leân giaáy kieáng vì möïc deã bò lem & raát toán keùm (1500ñ cho 1 tôø giaáy ). Nôi in giaù sinh vieân:Coång thöù 3 cuûa tröôøng ÑH BAÙCH KHOA –Tp HCM nhìn qua beân kia ñöôøng Böôùc 2: Ñaët tôø giaáy coù in maïch leân mieáng Cu. Sau ñoù uûi leân tôø giaáy(trong khoaûng töø 10à15 phuùt ) nhôù laø phaûi uûi ñeàu töø giöõa ra ñeán caùc ñöôøng vieàn (baøn uûi phaûi noùng ) PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 43 - +Sau khoaûng thôøi gian ñoù tôø giaáy coù veû bò naùm laïi .UÛi xong thì boû baûng Cu vaøo nöôùc à ñeå khoaûng 15 phuùt trôû leân cho lôùp giaáy muïc ra roài boùc nheï lôùp giaáy ra . Khi ñoù möïc laze seõ in leân baûng Cu toaøn boä nhö mình ñaõ thieát keá maïch Böôùc 3: Röûa maïch baèng boät FeCl3 pha vaøo nöôùc , tuyø vaøo löôïng boät baïn cho vaøo (thöôøng laø 2 bòch khi baïn muoán laøm nhanh vaø röûa nhieàu maïch cuøng luùc ). Sau khi röûa maïch thì lôùp Cu khoâng ñöôïc möïc laze baûo veä seõ bò tan heát ñeå laïi nhöõng ñöôøng möïc laze (ôû döôùi coù lôùp Cu). Sau ñoù baïn haõy röûa saïch baûng maïch baèng nöôùc laïnh thaät kyõ löôõng nhieàu laàn , roài duøng giaáy nhaùm chaø sô sô leân maïch Cu ñeå laøm bay heát lôùp möïc laze , nhö vaäy baïn ñaõ laøm ñöôïc baûn maïch maø baïn ñaõ töï thieát keá . Haõy löu yù : Laøm laàn ñaàu thöôøng hay bò ø hoûng do uûi khoâng ñeàu , khi ñoù baïn haõy laáy giaáy nhaùm chaø cho bay lôùp möïc roài laøm laïi nheù! III- LÔØI KEÁT : Ñaây chæ laø nhöõng kinh nghieäm cuûa chuùng toâi trong quaù trình laøm maïch ,cho neân sai soùt cuõng laø ñieàu coù theå xaõy ra .Do ñoù kính mong cuøng baïn ñoïc goùp yù & boå sung ñeå taäp saùch naøy ngaøy moät hoaøn thieän hôn . PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 44 - PHAÀN 3: HÖÔÙNG DAÃN SÖÛ DUÏNG CAÙC PHAÀN MEÀM VI XÖÛ LYÙ Vaán ñeà 8: MOÄT SOÁ PHAÀN MEÀM LAÄP TRÌNH - SOAÏN THAÛO ASSEMBLER I-GIÔÙI THIEÄU: Nhaân tieän vieát taäpsaùch naøy ,toâi xin giôùi thieäu cuøng caùc baïn sô löôïc veà moät soá phaànmeàm thoâng duïng giaønh cho Vi Xöû Lyù , caùc phaàn meàm maø toâi giôùi thieäu hieän ñang coù raát nhieàu taïicaùc tieâm baùn software , caùc baïn coù theå mua ôû ñoù hoaëc leân maïng vaøo trang web : “ vixuly.cjp.net” ñeå download veà söû duïng hoaøn toaønmieãn phí . Toâi cuõng xin noùi tröôùc laø taát caû nhöõng gì maø toâi höôùng daãn ôï ñaây hoaøn toaøn laø toâi ñaõ taûi nghieäm baèng thöïc teá roài neân caùc baïn cöù yeân taâmmaø söû duïng , ngoaøi ra coù moät soá phaàn meàm môùi khaùc raát hay nhöng toâi chöa beû khoaù ñöôïc hay chöa caäp nhaät k òp thì cuõng mong cacaù baïn thoâng caûm boû qua cho toâi . II-CAÙC PHAÀN MEÀM LAÄP TRÌNH- SOAÏN THAÛO VI XÖÛ LYÙASSEMBLER: 1) LAÄP TRÌNH ASSENBLER BAÈNG NOTEPAD: Töø menu Star baïn haõy vaøo muïc Program ñeå môû cöûa soå NOTEPAD nhö hình sau. Sau khi baïn ñaõ laäp trình xong thì löulaïi vôùi ñuoâi laø “chaám-asm” nhö sau: *** .asm Löu yù raèng : Daáu *** laø nôi ñeå cho baïn ñaët teân chöông trình cuûa baïn . Teân maø baïn ñaët daøi toái ña laø 8 kí töï maø thoâi . Ví duï teân hôïp leä: ledtest.asm , denchop.asm , leduyphi.asm NOÄI DUNG Vaán ñeà 8: MOÄT SOÁ PHAÀN MEÀM LAÄP TRÌNH / SOAÏN THAÛO ASSEMBLY Vaán ñeà 9: CAÙC PHAÀN MEÀM BIEÂN DÒCH FILE .ASM RA FILE .HEX Vaán ñeà 10 : CAÙC PHAÀN MEÀM MOÂ PHOÛNG VI XÖÛ LYÙ Vaán ñeà 11 : HÖÔÙNG DAÃN SÖÛ DUÏNG Ezdl4.0 CHO CAÙC MAÏCH NAÏP PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 45 - Hình : Môû cöûa soå NOTEPAD ñeå laäp trình ASM 2) LAÄP TRÌNH ASSENBLER BA ÈNG NC-EDIT ( NORTONCOMMANDER): Ngoaøi Notepad ra , baïn coøn coù theå laäp trình Assembler baèng chöùc naêng soaïn thaûo Edit cuûa Norton Commander chaïy treân Windows hoaëc Dos cuõng ñöôïc . Ñeå môû chöùc naêng naøy cuûa NC baïn haõy nhaán hai phím: “SHIFT + F4” Sau ñoù baïn cuõng löu laïi vôùi teân laø: ***.ASM PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 46 - VAÁN ÑEÀ 9: CAÙC PHAÀN MEÀM BIEÂN DÒCH FILE .ASM RA FILE .HEX I-GIÔÙI THIEÄU: Nhö cuùng ta bieát , muoán naïp ñöôïc noäi dung chöông trình maø chuùng ta ñaõ laäp trình vaøo cho con vi xöû lyù ñeå noù hoaït ñoäng thì chuùng ta phaûi naïp vaøo cho noù caùc file coù daïng laø file .HEX hoa ëc laø file .BIN , nhöng ña soá ngöôøi ta thöôøng naïp cho noù caùc file coù daïng laø file .HEX . Do ñoù toâi xin giôùi thieäu cuøng vôùi caùc baïn caùc phaàn meàm thöôøng duøng ñeå chuyeån caùc file coù daïng laø file .Asm sang daïng file .Hex ñoù laø ASM51 vaø TASM . II_CAÙC PHAÀN MEÀM PHIEÂN DÒCH .ASM SANG .HEX: (A) PHAÀN MEÀM ASM51 : 1-CAÙC FILE CAÀN COÙ TRONG BOÄ ASM51: Trong boä ASM51 goàm coù caùc file sau: ASM51.EXE The Cross Assembler program itself MOD152 Source file for the $MOD152 control MOD154 Source file for the $MOD154 control MOD252 Source file for the $MOD252 control MOD44 Source file for the $MOD44 control MOD451 Source file for the $MOD451 control MOD452 Source file for the $MOD452 control MOD51 Source file for the $MOD51 control MOD512 Source file for the $MOD512 control MOD515 Source file for the $MOD515 control MOD517 Source file for the $MOD517 control MOD52 Source file for the $MOD52 control MOD521 Source file for the $MOD521 control MOD552 Source file for the $MOD552 control MOD652 Source file for the $MOD652 control MOD751 Source file for the $MOD751 control MOD752 Source file for the $MOD752 control MOD851 Source file for the $MOD851 control To ång dung löôïng : 153Kb 2) CAÙCH SÖÛ DUÏNG: - Sau khi baïn laäp trình xong ( baèng Notepad hay NC-Edit nhö ñaõ noùi ôû treân) baïn haõy löu noù laïi vôùi teân laø: ***.asm , toâi giaû söû raèng laø : vidu.asm vaø file naøy baïn löu treân o å ñæa C:\ chaúng haïn, ñoàng thôøi toâi cuõng giaû söû raèng baïn cuõng ñeå boä ASM51 naøy treân oå ñæa C:\ thì khi ñoù chuùng ta coù nhö sau: C:\ vidu.asm ASM51.EXE The Cross Assembler program itself MOD152 Source file for the $MOD152 control MOD154 Source file for the $MOD154 control MOD252 Source file for the $MOD252 control MOD44 Source file for the $MOD44 control MOD451 Source file for the $MOD451 control MOD452 Source file for the $MOD452 control MOD51 Source file for the $MOD51 control MOD512 Source file for the $MOD512 control MOD515 Source file for the $MOD515 control MOD517 Source file for the $MOD517 control MOD52 Source file for the $MOD52 control MOD521 Source file for the $MOD521 control MOD552 Source file for the $MOD552 control MOD652 Source file for the $MOD652 control MOD751 Source file for the $MOD751 control MOD752 Source file for the $MOD752 control PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 47 - MOD851 Source file for the $MOD851 control Sau ñoù baïn haõy môû cöøa soå MS-DOS vaø goõ doøng leänh y nhö sau thì baïn seõ ñöôïc moät file coù teân laø: vidu.hex , doøng leânh nhö sau : C:\asm51 vidu.asm hoaëc C:\asm51 vidu Nhö vaäy laø baïn ñaõ hoaøn thaønh xong coâng vieäc bieân dòch file >ASM sang file >HEX roài , baây giôøi baïn coù rheå laáy file naøy naïp vaøo cho con chip vi xöû lyù cuûa baïn ñöôïc roài ñaáy . 3) Phaàn Meàm Na øy Kieám ÔÛ Ñaâu : Caùc baïn coù theå vaøo trang Web cuûa toâi ñe å taûi veà söû duïng mieån phí hoaøn toaøn : hay baïn cuõng coù the å lieân heä taïi phoøng Photo B1 (döôùi caàu thang) tröôøng ÑH.Baùch Khoa Tp.HCM toâi coù cheùp saên trong ñæa meàm 1,44Mb. B) PHAÀN MEÀM TASM Tieáp theo toâi xin giôùi thieäu cuøng caùc baïn moät phaàn meàm khaùc cuõng bieân dòch file .ASM sang file.HEX raát hay khaùc ñoù laø phaàn meàm : TASM 1) Noäi Dung Caùc File Coù Trong Boä TASM Boä Tasm chöùa trong moät file coù teân laø Tasminst coù nghóa laø Tasm instal ( teäp tin ñe å caøi ña ët) baïn click chuoät leân teäp tin naøy thì töï ñoâng noù seõ töï giaûi neùn vaø caøi ña ët luoân dung löôïng cuûa teäp tin Tasminst laø 126Kb , caùc baïn coù theå vaøo trang Web cuûa toâi ñe å taûi veà söû duïng mie ån phí hoaøn toaøn : hay baïn cuõng coù the å lieân heä taïi phoøng Photo B1 (döôùi caàu thang) tröôøng ÑH.Baùch Khoa Tp.HCM 2) CAÙCH SÖÛ DUÏNG : Baïn haõy thoaùt khoûi windows –ra moâi tröông DOS baèng caùch töø moâi tröôøng Windows98 , baïn click chuoät vaøo Star menu à choïn muïc Program à roài choïn tieáp MS-DOS prompt , nhö vaäy laø baïn ñaõ ra ngoaøi moâi tröôøng DOS roài ñoù . PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 48 - Sau ñoù baïn haõy thay ñoåi laïi ñöôøng daãn , cuøng thö muïc ñeå ñeán nôi chuùa file TASM ñeå baét ñaàu bieân dòch baèng caùh söû duïng doøng leänh sau : tasm -51 *.asm *.hex Toâi giaû söû , baïn ñeå file phaàn meàmTASM vaø file ledtest.asm taïi oå ñæa C:\ chaúng haïn , thì khi ñoù baïn seõ goõ ñuùng doøng leän sau ñeå bieân dòch file ledtest.asm : C:\ tasm -51 ledtest.asm ledtest.hex Keát quaû cuûa vieäc laøm naøy baïn seõ taïo ra ñöôïc file : ledtest.hex. Xong , baây giôøi thì baïn haõy ñoùng cöûa soå: DOS prompt ñe å trôû laïi vôùi windows. Haõy löu yù raèng : Baïn cuõng coù the å taïo ra teäp tin kie åm tra lo åi laäp trình tröôùc khi taïo ra teäp tin naïpcho vi xöû lyù , baèng caùch baïn taïo ra file coù ñuoâi laø .Lst , teäp tin naøy seõ kie åm tra loåi cuù phaùp leänh trong chöông trình cuûa baïn , noù seõ chæ cho baïn thaáy nhöõng lo åi sai ñe å baïn kòp thôøi söûa chöõa .Khi ñoù baïn haõy goõ caâu leänh sau: tasm -51 *.asm *.obj Keát quaû ta seõ ñöôïc 2 teäp tin :*.Obj vaø *.Lst . Cuõng vôùi giaû söû nhö treân ta seõ goõ nhö sau : C:\ tasm -51 ledtest.asm ledtest.obj Sau ñoù baïn ñöôïc hai teäp tin : ledtest.obj vaø ledtest.Lst baïn haõy môû file Ledtest.Lst naøy baèng Notepad hay Word ñeå xem keát quaû kie åm tra.! PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 49 - Ngoaøi ra phaàn meàm Tasm naøy coøn hoã trôï cho moät soá loaïi Vi Xöû Lyù khaùc nöõa , khi ñoù tuyø theo loaïi maø baïn seõ goõ caùc doøng leänh cho phuø hôïp , toâi xin cheùp nguyeân baûn tieáng anh hhö sau : TASM - Table Driven Assembler Version 2.8 assemble the code in a file called source.asm, one would enter: tasm -48 source.asm for an 8048 assembly tasm -65 source.asm for a 6502 assembly tasm -51 source.asm for an 8051 assembly. tasm -85 source.asm for an 8085 assembly. tasm -80 source.asm for a Z80 assembly. tasm -05 source.asm for a 6805 assembly. tasm -68 source.asm for a 6800/6801 assembly. tasm -70 source.asm for a TMS7000 assembly. tasm -32 source.asm for a TMS32010 assembly. The file name that the tables are read from is formed by taking the digits specified after the '-' and appending it to 'TASM' then appending the '.TAB' extension. Thus, the '-48' flag would cause the tables to be read from the file 'TASM48.TAB'. It is possible to designate tables by non numeric part numbers if the '-t' flag is used. For example, if a user built a table called TASMF8.TAB then TASM could be invoked as follows: tasm -tf8 source.asm Each option flag must be preceded by a dash. Options need not precede the file names, however. The various options are described below: C- MOÄT PHAÀN MEÀM BIEÂN DÒCH KHAÙC : Trong ñæa SoftWare cô ñieän 2003 cuûa boä moân cô ñieän töû toâi thaáy coù giôùi thieäu moät boä dòch –nhöng khoâng bieát laø teân gì , nhöng coù ñaày ñuû caùc teäp tin caàn duøng trong thö muc DichASM , caùc baïn coù theå mua vaø söû duïng noù : Caùch söû duïng : Day la mot so phan mem de bien dich asm sang hex hoac bin Cho ho ic intel. Chay tren moi truong dos Cac ban phai su dung ket hop cac phan mem voi nhau. 1/ ban lap trinh assembler bang notepad hoac nc-edit (nhan shift +f4). 2/ sau do luu lai thanh file : *.asm 3/ su dung "x8051" de kiem tra loi va bien dich thanh : *.obj 4/ su dung "link" de bien dich *.obj thanh *.hex 5/ nhu vay ban da co file *.hex de nap vao ic hay rom. Neu may nap cua ban can file *.bin thi ban dung "hexbin2" de chuyen doi. Ngoaøi ra coøn phaàn meàm Assemblers vs dung löôïng chæ 40 kb vaø nhieàu phaàn meàm bieân dòch raát hay khaùc toâi seõ giôùi thieäu cuøng caùc baïn trong taäp 2” Höôùng daãn giao tieáp vi xöû lyù vôùi maùy tính “ , xin môøi caùc baïn ñoùn ñoïc! Xin chuùc caùc baïn vaïn söï thaønh coâng ! PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 50 - VAÁN ÑEÀ 10: CAÙC PHAÀN MEÀM MOÂ PHOÛNG VI XÖÛ LYÙ 1) Phaàn meàm moâ phoûng 8051 JSIM-51 mie ån phí hoaøn toaøn bôûi Jens Altmann. Dung löôïng : 395 kb 3) PHAÀN MEÀM MOÂ PHOÛNG Emulator 8051 V1.0 Phaàn meàm Emulator 8051 V1.0 bôûi TS Controls laø moät phaàn meàm moâ phoûng cho 8051 Hieän nay noù coù nhieàu treân caùc ñæa Software ñieän töû, caùc baïn coù theå mua noù, thoâng thöông noù coù teân laø Ts_Contols 8051. Dung löôïng: 963kb Löu yù : Moät soá phaàn meàm lôùn toâi khoâng theå ñöa leân maïng , vaø moät soá phaàn meàm ñaõ coù baùn ôû caùc tieäm Software thì toâi cuõng chæ giôùi thieäu , caùc baïn haõy chòu khoù mua , hoaëc coù the å lieân heä rieâng vôùi toâi neáu ñöôïc toâi seõ gôûi cho caùc baïn ! Giao dieän cuûa phaàn meàm naøy nhö sau : PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 51 - 3) Ngoaøi ra coøn moät phaàn meàm moâ phoûng khaùc chaïy treân moâi trö6ôøng Dos nhö sau: Emily 8051/8052 V1.7 cuûa Dunfield Development Systems laø moät phaàn meàm moâ phoûng cho 8051 for DOS. Dung löôïng : 357 kb PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 52 - Vaán ñeà 11: HÖÔÙNG DAÃN SÖÛ DUÏNG PHAÀN MEÀM EZ4.0 CHO MAÏCH NAÏP VI XÖÛ LYÙ I-Giao dieän cuûa EZ4.0 nhö sau: II - CAÙCH SÖÛ DUÏNG: Optin 1: Khi baïn nuùt naøy thì con chip cuûa baïn noù seõ khoaù laïi , sau naøy baïn khoâng theå naøo naïp laïi ñöôïc nöõa do ñoù raát ít ai choïn option naøy , theo toâilaø khoâng choïn thì toát hôn ñeå coù theå naïp nhieàu laàn ! Option 2: Khi baïn nuùt naøy vieäc kie åm tra sau khi naïp xong seõ dieãn ra raát nhanh , baïn coù choïn hay khoâng tuyø yù chaúng heà haén gì caû ! Command 1: Chöùc naêng cuûa Command naøy laø naïp chöông trình file.Hex vaøo cho vi xöû Lyù .Baïn haõy nhaán vaøo command naøy ñeå chæ ñeán nôi chöùa file ,Hex caàn naïp ñeå tieán haønh quaù trình naïp . Löu yù laø : Khi baïn choïn Command naøy thì ñieàu ñaàu tieân noù seõ xoaù noäi dung cuõ treân con vi xöû lyù neáu coù , ñeå doïn ñöôøng chuaån bò naïp noäi dung môùi vaøo , coâng vieäc naøy ñöôïc noù laøm töï ñoäng hoaøn toaøn . Command 2: Chöùc naêng naøy seõ ñoïc ngöôïc noäi dung coù trong con vi xöû lyù cuûa baïn ra ngoaøi laïi döôùi daïng file .Hex . Haõy nhôù raèng : Phaàn meàm naøy duøng chung cho ca û hai maïch naïp AT89C51 vaø At89C2051 , vieäc nhaän daïng seõ ñöôïc noù laøm töï ñoäng hoaøn toaøn . Option 2 Option 1 Command 1 Command 2 PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 53 - PHAÀN 4: CAÙC MAÏCH ÑIEÄN VI XÖÛ LYÙ - LYÙ THUÙ- ÑÔN GIAÛN CHO NGÖÔØI MÔÙI BAÉT ÑAÀU HOÏC LAÄP TRÌNH CUØNG VI XÖÛ LYÙ Vaán ñeà 12 – MAÏCH 1: Haõy Laøm Moät Ñeøn Led Chôùp Vôùi- 8951 Böôùc 1) Böôùc ñaàu tieân laø laøm maïch ñieän . Taïi thôøi ñieåm naøy baïn phaûi laøm quen vôùi vieäc söû duïng caùc linh kieän .( ÔÛ ñaây coù 2 ñieän trôû , 3 caùi tuï , 1 thaïch anh 12Mhz vaø 1 ñeøn Led , taát caû ñeàu coù baùn ôû chôï Nhaät Taûo caû ). Baïn coù the å ñaët caùc linh kieän naøy leân treân moät breakboard roài duøng daây ñieän noái chuùng laïi ( breakboard baøy baùn raát nhieàu ôû chôï Nhaät Taûo baïn haõy mua moät caùi ñeå laøm caùc thí nghieäm !) . Söï thieát keá naøy duøng vôùi con vi ñieàu khie ån 89c51 . Ñieàu duy nhaát maø chuùng toâi muoán laøm maïch naøy laø :Laøm cho Led chôùp . Baèng vieäc laøm naøy baïn seõ coù theå ñöôïc hoïc moät chöông trình xöû lyù ñöôïc vieát baèng ngoân ngöõ Assembly vaø sau ñoù baïn seõ bieát caùch naïp file chöông trình vaøo cho con Chip vi ñieàu khie ån . PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 54 - Laàn Ñaàu tieân naøy chuùng toâi saün saøn vieát saün caùc doøng code cho baïn baèng ngoân ngöõ Assembly , file naøy seõ coù teân laø : ledtest.asm , chuùng ta seõ söû duïng noù cho maïch naøy . Maû code nhö sau : ORG 0030H LOOP: CLR P1.0 ;P1.0 SANG CALL DELAY_1S SETB P1.0 ;P1.0 TAT CALL DELAY_1S LJMP LOOP DELAY_1S: MOV R1,#20 LOOP1: MOV R2,#200 LOOP2: MOV R3,#255 LOOP3: DJNZ R3,LOOP3 DJNZ R2,LOOP2 DJNZ R1,LOOP1 RET END Haõy nhôù raèng : Doøng Code naøo baét ñaàu baèng daáu “ ; ” thì ñoù laø doøng chuù thích , do ño chuùng ta coù theå boû qua maø khoâng aûnh höôûng gì ñeán chöông trình caû. Sau khi vieát xong baïn haõy löu laïi vôùi teân laø : ledtest.asm BÖÔÙC 2 : BIEÂN DÒCH CHÖÔNG TRÌNH Haõy MOVE file ledtest.asm naøy ñeán thö muïc – nôi ma baïn ñaõ chöùa phaàn meàm TASM . Tieáp theo baïn haõy thoat khoûi windows –ra moâi tröông DOS baèng caùch töø moâi tröôøng Windows98 , baïn click chuoät vaøo Star menu à choïn muïc Program à roài choïn tieáp MS-DOS prompt , nhö vaäy laø baïn ñaõ ra ngoaøi moâi tröôøng DOS roài ñoù . PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 55 - Sau ñoù baïn haõy thay ñoåi laïi ñöôøng daãn , cuøng thö muïc ñeå ñeán nôi chuùa file TASM ñeå baét ñaàu bieân dòch baèng caùh söû duïng doøng leänh sau : tasm -51 ledtest.asm ledtest.hex Toâi giaû söû , baïn ñeå file phaàn meàmTASM vaø file ledtest.asm taïi oå ñæa C:\ chaúng haïn , thì khi ñoù baïn seõ goõ ñuùng doøng leän sau ñeå bieân dòch file ledtest.asm : C:\ tasm -51 ledtest.asm ledtest.hex Keát quaû cuûa vieäc laøm naøy baïn seõ taïo ra ñöôïc file : ledtest.hex. Xong , baây giôøi thì baïn haõy ñoùng cöûa soå: DOS prompt ñe å trôû laïi vôùi windows. Böôùc 3 ) Naïp chöông trình vaøo cho con Chip Vi Xöû Lyù Baây giôøi baïn haõy ñem “Maïch Naïp AT89C51” ra, naïp file ledtest.hex vaøo cho con vi xöû lyù . Löu yù : Haõy laøm caån thaän moïi thöù nhö nguoàn cung caáp vaø daây noái coång COM Baïn haõy ñaët con chip Vi Xöû Lyù 89c51 caàn naïp vaøo Socket – Chip Slave Haõy nhô :ù ñaët ñuùng chaân- haõy nhìn kyõ soá 1 treân hình ñaáy nheù, toâi cuõng ñaõ laàn ñaët loän roài ñoù !). PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 56 - Tieáp ñeán , baïn môû phaàn meàm EZ4.0 , phaàn meàm naøy noù seõ töï nhaän bieát söï hieän dieän “Maïch Naïp AT89c51” , roài sau ñoù baïn haõy ñoåi ñöôøng daãn ñe å chæ ñeán nôi chöùa file lesdtest.hex ñeå naïp vaøo cho 89c51. Taát caû moïi vieäc sau ñoù seõ ñöôïclaøm töï ñoäng . Sau khi naïp xong , baïn haõy thaùo con chip ra , gaén noù vaøo breakboard maø hoài naõy ôû ” Böôùc 1” baïn laép raùp , roài cung caáp ñieän cho maïch ( haõy nhôù laø 5V thoâi nheù !). Xong baïn haõy xem hieän töôïng cuûa ñeøn Led nhö theá naøo nheù ! Vaâng !Raát ñeïp ! Boä nguoàn 5V baïn coù theå laép raùp nhö sau : Nhö baïn thaáy phía goùc phaûi cuûa breakborad laø ngoõ vaøo 9VDC . Ñeán ñaây xem nhö ñaõ xong baøi thöïc haønh ñaàu tieân : Chuùc Caùc Baïn Laøm Ngay Ñöôïc Lieàn Vaø Luoân Vui Veû Vôùi Caùc Maïch Ñieän Sau ! Leâ Duy phi PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 57 - Vaán ñeà 13 - Maïch 2: BOÄ ÑIEÀU KHIEÅN NHUÙNG ÑÔN GIAÛN Böôùc 1: Böôùc ñaàu tieân laø xaây döïng maïch ñieän ÔÛ ñaây baïn caàn laøm quen vôùi moät soá linh kieän ñieän töû maø chuùng ta seõ duøng ñeán . Baïn coù theå laép ñaët chuùng leân treân moät breadboard roài duùng daây ñieän noái laïi ñeå taïo thaønh maïch ñieän nhö sau nheù. Maïch naøy ñöôïc thieát keá daønh cho con chip 89C2051-(loaïi 20chaân Ña soá caùc boä vi xöû lyù thì khoâng the å naøo ñieàu khie ån tröïc tieáp caùc Led ngoaïi tröø hoï ATMEL maø tieâu bie åu laø 89c2051 vaø 89c51 , ñoù laø lyù do maø toâi coù the å thieát keát ñöôïc maïch naøy heát söùc ñôn giaûn nhö baïn coù theå thaáy trong sô ñoà sau : Löu yù : Nguoàn cung caáp cho maïch laø Vcc=5V vaø GND=0 V PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 58 - Caùc linh kieän caàn duøng cho maïch naøy laø : 1- AT89C2051 1-thaïch anh 11.0592 Mhz 2-tuï 33p 1-tuï 10mF 1- ñieän trôû 8k2 vaø 10 con 330 ohm 10-daây ñieän ñeå noái maïch . Ñaây la ø hình aûnh cuûa caùc linh kieân nhö ñaõ noùi ô û treân : Maïch naøy seõ laøm cho 8 Led laàn löôït saùng leân baét ñaàu töø chaân P1.0 ñeán P1.7 vôùi nhieàu kie åu ñeám raát hay vaø raát lyù thuù seõ laøm baïn haøi loøng vaø thích thuù noù . Sau ñaây la ø chöông trình cu ûa maïch ñieän vieát baèng Assembly: CHÖÔNG TRINH VERSION 1 : SAÙNG DAÀN –TAÉT DAÀN ORG 0030H LOOP: MOV P1,#0FFH CLR P1.7 ;P1.7 SANG CALL DELAY_1S SETB P1.7 ;P1.7 TAT CLR P1.6 CALL DELAY_1S SETB P1.6 CLR P1.5 CALL DELAY_1S SETB P1.5 CLR P1.4 CALL DELAY_1S PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 59 - SETB P1.4 CLR P1.3 CALL DELAY_1S SETB P1.3 CLR P1.2 CALL DELAY_1S SETB P1.2 CLR P1.1 CALL DELAY_1S SETB P1.1 CLR P1.0 CALL DELAY_1S SETB P1.0 CLR P1.0 ;nguoc lai CALL DELAY_1S SETB P1.0 CLR P1.1 CALL DELAY_1S SETB P1.1 CLR P1.2 CALL DELAY_1S SETB P1.2 CLR P1.3 CALL DELAY_1S SETB P1.3 CLR P1.4 CALL DELAY_1S SETB P1.4 CLR P1.5 CALL DELAY_1S SETB P1.5 CLR P1.6 CALL DELAY_1S SETB P1.6 CLR P1.7 CALL DELAY_1S SETB P1.7 LJMP LOOP DELAY_1S: MOV R1,#20 LOOP1: MOV R2,#200 LOOP2: MOV R3,#255 LOOP3: DJNZ R3,LOOP3 DJNZ R2,LOOP2 DJNZ R1,LOOP1 RET END PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 60 - CHÖÔNG TRÌNH VERSION 2: SAÙNG DAÀN –THAY ÑOÅI KIEÅU ROÀI TAÉT ;************************************************************* ;* ;* LED Blinker ;************************************************************* ; ; RESET ;reset routine ORG 0H ;locate routine at 00H AJMP START ;jump to START ; ;************************************************************* ; INITIALIZE: ;set up control registers ; MOV TCON,#00H MOV TMOD,#00H MOV PSW,#00H MOV IE,#00H ;disable interrupts RET ; ;************************************************************* ; ; Real code starts below. The first two routines are for delays so we ; can slow down the blinking so we can see it. (Without a delay, it ; would blink so fast it would look like it was always on. ; ;************************************************************* ; DELAYMS: ;millisecond delay routine ; ; MOV R7,#00H ;put value of 0 in register R7 LOOPA: INC R7 ;increase R7 by one (R7 = R7 +1) MOV A,R7 ;move value in R7 to Accumlator (also known as A) CJNE A,#0FFH,LOOPA ;compare A to FF hex (256). If ;not equal go to LOOPA RET ;return to the point that this ;routine was called from ;************************************************************* DELAYHS: ;half second delay above ;millisecond delay MOV R6,#00H ;put 0 in register R6 (R6 = 0) LOOPB: INC R6 ;increase R6 by one (R6 = R6 +1) ACALL DELAYMS ;call the routine above. It will run and return to here. MOV A,R6 ;move value in R6 to A JNZ LOOPB ;if A is not 0, go to LOOPB RET ; PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 61 - ;************************************************************* START: ;main program (on power up, ; ;program starts at this point) ACALL INITIALIZE ;set up control registers LOOP: INC P1 ;INCrement P1. Adds 1 to the 8 ;bit register for Port 1. ACALL DELAYHS ;go to above routine that ;causes a delay AJMP LOOP ;go to LOOP(jump back to point ;labeled LOOP) END ;end program Haõy nhôù raèng : Doøng Code naøo baét ñaàu baèng daáu “ ; ” thì ñoù laø doøng chuù thích , do ño chuùng ta coù theå boû qua maø khoâng aûnh höôûng gì ñeán chöông trình caû. Sau khi vieát xong baïn haõy löu laïi vôùi teân laø : ledproj .asm BÖÔÙC 2 : BIEÂN DÒCH CHÖÔNG TRÌNH Haõy MOVE file ledproj2.asm naøy ñeán thö muïc – nôi ma baïn ñaõ chöùa phaàn meàm TASM . Tieáp theo baïn haõy thoat khoûi windows –ra moâi tröông DOS baèng caùch töø moâi tröôøng Windows98 , baïn click chuoät vaøo Star menu à choïn muïc Program à roài choïn tieáp MS-DOS prompt , nhö vaäy laø baïn ñaõ ra ngoaøi moâi tröôøng DOS roài ñoù . PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 62 - Sau ñoù baïn haõy thay ñoåi laïi ñöôøng daãn , cuøng thö muïc ñeå ñeán nôi chuùa file TASM ñeå baét ñaàu bieân dòch baèng caùh söû duïng doøng leänh sau : tasm -51 ledproj2.asm ledproj2.hex Toâi giaû söû , baïn ñeå file phaàn meàmTASM vaø file ledproj2.asm taïi oå ñæa C:\ chaúng haïn , thì khi ñoù baïn seõ goõ ñuùng doøng leän sau ñeå bieân dòch file ledproj2.asm : C:\ tasm -51 ledproj2.asm ledproj2.hex Keát quaû cuûa vieäc laøm naøy baïn seõ taïo ra ñöôïc file : ledproj2.hex. Xong , baây giôøi thì baïn haõy ñoùng cöûa soå: DOS prompt ñe å trôû laïi vôùi windows. Böôùc 3 ) Naïp chöông trình vaøo cho con Chip Vi Xöû Lyù Baây giôøi baïn haõy ñem “Maïch Naïp AT89C2051” ra, naïp file ledtest.hex vaøo cho con vi xöû lyù . Löu yù : Haõy laøm caån thaän moïi thöù nhö nguoàn cung caáp vaø daây noái coång COM Baïn haõy ñaët con chip Vi Xöû Lyù 89c2051 caàn naïp vaøo Socket – Chip Slave Haõy nhôù : ña ët ñuùng chaân- haõy nhìn kyõ soá 1 treân hình ñaáy nheù , toâi cuõng ñaõ laàn ñaët loän roài ñoù !). Tieáp ñeán , baïn môû phaàn meàm EZ4.0 , phaàn meàm naøy noù seõ töï nhaän bieát söï hieän dieän “Maïch Naïp AT89c2051” , roài sau ñoù baïn haõy ño åi ñöôøng daãn ñeå chæ ñeán nôi chöùa file lesdtest.hex ñeå naïp vaøo cho 89c2051. Taát caû moïi vieäc sau ñoù seõ ñöôïclaøm töï ñoäng . Sau khi naïp xong , baïn haõy thaùo con chip ra , gaén noù vaøo breakboard maø hoài naõy ôû ” Böôùc 1” baïn laép raùp , roài cung caáp ñieän cho maïch ( haõy nhôù laø 5V thoâi nheù !). Xong baïn haõy xem hieän töôïng cuûa ñeøn Led nhö theá naøo nheù ! Vaâng !Raát ñeïp ! PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 63 - Boä nguoàn 5V baïn coù theå laép raùp nhö sau : Nhö baïn thaáy phía goùc phaûi cuûa breakborad laø ngoõ vaøo 9VDC . Ñeán ñaây xem nhö ñaõ xong baøi thöïc haønh thöù 2. Xin Chuùc Caùc Baïn Thaønh Coâng Khi Laøm Maïch Naøy Vaø Toâi Hy Voïng Noù Seõ Mang Laïi Cho Baïn Nhieàu Nieàm Say Me â Môùi !… Leâ Duy Phi Xin môøi caùc baïn ñoùn ñoïc ví duï naøy trong quyeån thöù 2 saép vieát xong: “ Höôùng Daãn Giao Tieáp Vi Xöû Lyù Vôùi Maùy Tính” trong quyeån naøy toâi seõ giuùp baïn bieát caùh giao tieáp giöõa vi xöû lyù vaø maùy tính thoâng qua phaàn meàm Visual Basic , ñoâng thôøi toâi cuõng coù ñeà ca ëp nhieàu ví duï maïch ñieän raát lyù thuù nhö “ Maùy ño nhieät ñoä hieån thò treân Led , Maùy ño nhieät ñoä hieån thò treân Maùy Tính , Laøm baûng ñeøn chöõ chaïy ñôn giaûn , Laøm baûng ñeøn chöõ chaïy giao tieáp vôùi Maùy Tính , Maïch ño ñieän aùp giao tieáp maùy tính ( ñaây la ø ñeà taøi maø toâi ñaõ ñaït giaûi 3 trong ” cuoäc thi sinh vieân saùng taïo laàn 1” , vaø nhöõng maïch ñieän vi xöû lyù khaùc toâi seõ giôùi thieäu sau , xin caùc baïn ñoùn ñoïc ! Caùc taøi lieäu lieân quan cuûa toâi xin caùc baïn haõy ñeán phoøng Photo B1- ñh.Baùch Khoa. PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 64 - Vaán ñeà 14 - MAÏCH 3: LAØM COØI HUÏ VÔÙI HAI MÖÙC AÂM ÑIEÄU KHAÙC NHAU Haõy löu yù : Raèng , moïi thao taùc toâi ñaõ höôùng daãn kyõ ôû caùc ví duï treân –ôû ñaây toâi chæ giôùi thieäu coâ ñoïng caùc vaán ñeà maø chuû yeáu laø sô ñoà vaø giaûi thuaät cho caùc baïn maø thoâi ! I-SÔ ÑOÀ MAÏCH: Löu yù : Loa maéc noái tieáp vôùi ñieän trô û 500 ohm baïn coù theå mua loaïi loa Buze ma øu ñen –troøn ôû chôï Nhaät Taûo PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 65 - II- CHÖÔNG TRÌNH CHO MAÏCH ÑIEÄN : ;************************************************************************** ;* ;* Speaker Sounds - Weird * ;* ;************************************************************************** ; ; VARIABLES AND CONSTANTS ; ; ;************************************************************************** ; ; RESET ;reset routine ORG 0H ;locate routine at 00H AJMP START ;jump to START ; ;************************************************************************** ; INITIALIZE: ;set up control registers ; MOV TCON,#00H MOV TMOD,#00H MOV PSW,#00H MOV IE,#00H ;disable interrupts RET ; ;************************************************************************** ; Real code starts below. The first two routines are for delays. ;************************************************************************** ; DELAYMS: ;millisecond delay routine ; ; MOV R7,#00H ;put value of 0 in register R7 LOOPA: INC R7 ;increase R7 by one (R7 = R7 +1) MOV A,R7 ;move value in R7 to Accumlator (also known ;as A) CJNE A,#0FFH,LOOPA ;compare A to FF hex (256). If not equal go ;to LOOPA RET ;return to the point that this routine was ;called from ; ;************************************************************************** ; DELAYHS: ;half second delay above millisecond delay ; ; MOV R6,#080H ;put 0 in register R6 (R6 = 0) MOV R5,#002H ;put 2 in register R5 (R5 = 2) LOOPB: INC R6 ;increase R6 by one (R6 = R6 +1) ACALL DELAYMS ;call the routine above. It will run and ;return to here. MOV A,R6 ;move value in R6 to A JNZ LOOPB ;if A is not 0, go to LOOPB DEC R5 ;decrease R5 by one. (R5 = R5 -1) MOV A,R5 ;move value in R5 to A JNZ LOOPB ;if A is not 0 then go to LOOPB. RET PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 66 - ; ;************************************************************************** ; TONE_ONE: ; MOV R4, #00H MOV R3,#002H ;put 2 in register R3 LOOPC: INC R4 ;increase R4 by one ACALL DELAY ;Delay ACALL DELAYMS DEC R2 ; This time decrement R2 to make tone go ;down in frequency CPL P1.0 MOV A,R4 ;move value in R4 to A JNZ LOOPC ;if A is not 0, go to LOOPC DEC R3 ;decrease R3 by one. MOV A,R3 ;move value in R3 to A JNZ LOOPC ;if A is not 0 then go to LOOPC. RET ; ;************************************************************************** ; TONE_TWO: ; MOV R4, #00H MOV R3,#002H ;put 2 in register R3 LOOPD: INC R4 ;increase R4 by one ACALL DELAY ;Delay ACALL DELAYMS INC R2 ; INCrement R2 to make frequency go up CPL P1.0 MOV A,R4 ;move value in R4 to A JNZ LOOPD ;if A is not 0, go to LOOPC DEC R3 ;decrease R3 by one. MOV A,R3 ;move value in R3 to A JNZ LOOPD ;if A is not 0 then go to LOOPC. RET ; ;************************************************************************** ; DELAY: ; MOV A, R2 MOV R7,A ;put value of R2 in register R7 LOOPE: INC R7 ;increase R7 by one (R7 = R7 +1) MOV A,R7 ;move value in R7 to Accumlator (also known ;as A) CJNE A,#0FFH,LOOPE ;compare A to FF hex (256). If not equal go ;to LOOPA RET ;return to the point that this routine was ;called from ; ;************************************************************************** START: ;main program (on power up, program starts ;at this point) ACALL INITIALIZE ;set up control registers LOOP: ACALL TONE_ONE ACALL TONE_TWO AJMP LOOP ;go to LOOP(always jump back to point ;labeled LOOP) END ;end program PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 67 - Vaán ñeà 15 - MAÏCH 4: HAÕY LAØM : ÑOÀNG HOÀ BAÙO GIÔØ ÑIEÄN TÖÛ Û I-GIÔÙI THIEÄU: Hieän nay coù raát nhieàu döï aùn öùng duïng Led 7 ñoaïn vaø ñang trôû neân khaù pho å bieán , do ñoù toâi xin giôùi thieäu moät trong nhöõng öùng duïng Led 7 ñoaïn cho baïn tham khaûo maø baûn thaân toâi cuõng ñaõ töøng laøm , noù raát deã laøm neáu caùc baïn khoâng ngaïi khoù khaên .Sau khi raùp xong vaø kie åm tra kyõ laø noù seõ chaïy ñöôïc ngay . II- SÔ ÑOÀ MAÏCH NHÖ SAU: Hình naøy mieâu taû sô ñoà maïch ñieän cuûa moät ñoàng hoà baùo giôø . ÔÛ ñaây Port1 (töø P1.0àP1.7) seõ ñieàu khie ån caùc cöïc döông cuûa Led 7 ñoaïn . Coøn caùc chaân P3.0àP3.3 seõ ñieàu khie ån caùc cöïc aâm chung cuûa Led 7 ñoaïn . Haõy löu yù raèng: Caû 4 Led treân ñeàu laø loaïi aâm chung ( hay goïi laø Catod chung). Do ñoù khi ñi mua , baïn nhôù noùi roõ laø caàn mua “ Led Catod chung” theá môùi laø daân chuyeân nghieäp . ( Ñoâi khi baïn noùi Led aâm chung seõ coù ngöôøi khoâng nhôù laø Led loaïi gì ñaâu ñaáy nheù , haõy nhôù vôùi Led ngöôøi ta hay goïi laø “Led Catod chung” hay ” Anod chung” , maëc duø hai caùch goïi catod vaø aâm cöïc laø nhö nhau!) . III- TOÙM TAÉT SÖÏ HOAÏT ÑOÂNG CUÛA MAÏCH: PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 68 - Baïn thaáy treân caùc chaân P3.0 tôùi P3.3 coù hai ñöôøng noái vaøo ñoù : Moät ñöôøng noái ñeán transistor vaø moät ñöông noái ñeán khoaù nhaán (switch ) vôùi chaân P3.4 . Ñieàu ñoù coù nghóa laø trong quaù trình hieån thò thì ñoàng thôøi vi xöû lyù noù cuõng kie åm tra xem coù khoaù naøo ñöôïc nhaán hay khoâng . Neáu coù thì chaân P3.4 seõ xuoáng möùc “thaáp” .Luùc ñoù vi xöû lyù seõ xöû lyù theo chöùc cuûa phím maø chuùng ta ñaõ nhaán . Trong 4 khoaù ñoù coù 2 khoaù ñieàu chænh giôø vaø ñieàu chænh phuùt, moät khoaù duøng ñeå taét môû ñeøn maø noù ñöôïc ñieàu khieån bôûi chaân P3.7 thoâng qua caùi rôø le-vaø ñie åm L vaø N baïn noái vaøo nguoàn ñieän xoay chieàu 220 V, dó nhieân boùng ñeøn cuõng laø loaïi 220 V. IV - SAU ÑAÂY LAØ CHÖÔNG TRÌNH ÑÖÔÏCVIEÁT BA ÈNG NGOÂN NGÖ Õ C /* CLOCK V1.0 89C2051 + 4-digit 7-SEG led + 4-key switch Simple Digital Clock demostrates scanning LED and key switch. The clock has 1-bit output port P3.7 for driving AC load through MOC3040+triac. The source program was compiled by Micro-C with optimize option. * **** **** **** * * * * * * * * * * * * * * * * **** * * * * * * * * * * * * * * * * * * * * **** **** **** set set time manual HOUR MIN ON/OFF ON/OFF Copyright (c) 1999 W.SIRICHOTE */ #include c:\mc51\8051io.h #include c:\mc51\8051reg.h extern register char cputick; unsigned register char sec100,sec,sec5,min,hour,flag1,command,ACC,temp,opto; /* above must be defined as register for tiny model */ unsigned register char i,digit,buffer[4],onHour1,onMin1,offHour1,offMin1; register char key,delay,count1; char convert[10] = {0x3F,0x0c,0x76,0x5e,0x4d,0x5b,0x7b,0x0e,0x7f,0x5f}; main() { opto = 0xff; cputick = 0; hour = 18; min = 0; sec = 0; key = -1; flag1 = 0; onHour1 = 18; /* 18:30 turn lamp on */ onMin1 = 01; offHour1 = 18; /* 21:30 turn off */ offMin1 = 02; count1 = 0; buffer[0] = 0x40; buffer[1] = 0x40; buffer[2] = 0x40; PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 69 - buffer[3] = 0x40; serinit(9600); /* must be invoked for tiny model */ while(1) { while ( cputick < 1) scanLED(); cputick = 0; /*------------- the following tasks execute every 10ms ------*/ time(); timeToBuffer(); blink(); offmsd(); keyexe(); keydelay(); comparetime(); /*-----------------------------------------------------------*/ } } /* ****************** change constant below for other X-tal ********/ time () /* update real-time clock */ { sec100++; if (sec100 >= 100) /* 100 * 10 ms = 1 s */ {sec100 = 0; flag1 |= 0x05; /* set bit 0, bit 2 */ temp = 50; sec++; if (sec >= 60) {sec = 0; flag1 |= 0x02; /* set bit 1 */ min++; if (min >= 60) {min = 0; hour++; if (hour >= 24) {hour = 0; } } } } } scanLED() /* scan 4-digit LED and 4-key switch, if key pressed key = 0-3 else key = -1 */ { int i; digit = 0x08; key = -1; for( i = 0; i < 4; i++) /* 4-DIGIT scanning */ { P3 = ~digit & opto; /* send complement[digit] */ P1 = ~buffer[i]; /* send complement[segment] */ pause(1); /* delay a while */ P1 = 0xff; /* off LED */ if ((P3 & 0x10) == 0) /* if key pressed P3.4 became low */ PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 70 - key = i; /* save key position to key variable */ digit>>=1; /* next digit */ } } timeToBuffer() { buffer[0] = convert[min%10]; buffer[1] = convert[min/10]; buffer[2] = convert[hour%10]; buffer[3] = convert[hour/10]; } blink() { if((flag1 & 0x04) != 0) /* check bit 2 if set decrement temp until zero */ {temp--; if (temp != 0) { buffer[1] |= 0x80; buffer[2] |= 0x80; } else( flag1 &= ~0x04); } } keyexe() { if (key != -1) { if ((flag1 & 0x80) == 0) /* within 0.5 sec after 1st press the following execution is not allowed */ { flag1 |= 0x80; delay = 50; switch(key){ case (0): /* key position 0 */ manualOnOff(); /* service key 0 */ break; case (1): /* key position 1 */ savetimeOnOff1(); /* service key 1 */ break; case (2): /* key position 2 */ setmin(); /* service key 2 */ break; case (3): /* key position 3 */ sethour(); } } } } sethour() { hour++; if ( hour== 24) hour = 0; PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 71 - } setmin() { min++; sec = 0; if( min == 60 ) min = 0; } savetimeOnOff1() { count1++; if (count1 == 1) { onHour1 = hour; onMin1 = min; buffer[0] = 0x00; buffer[1] = 0x68; buffer[2] = 0x78; buffer[3] = 0x71; showOnce(); } else { count1 = 0; savetimeOff1(); } } savetimeOff1() { offHour1 = hour; offMin1 = min; buffer[0] = 0x63; buffer[1] = 0x63; buffer[2] = 0x78; buffer[3] = 0x71; showOnce(); } manualOnOff() { opto= ~opto | 0x7f; /* complement bit 7 which in turn activates P3.7 */ if ((opto & 0x80) == 0) { buffer[0] = 0; buffer[1] = 0; buffer[2] = 0x68; buffer[3] = 0x78; showOnce(); } else { buffer[0] = 0; buffer[1] = 0x63; buffer[2] = 0x63; buffer[3] = 0x78; showOnce(); } } showOnce() { PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 72 - int i; for(i=0;i<500;i++) scanLED(); } keydelay() { if ((flag1 & 0x80) !=0) { delay--; if(delay == 0) flag1 &= ~0x80; } } comparetime() { if((flag1 & 0x01) != 0 ) { flag1 &= ~0x01; if(hour == onHour1 && min == onMin1) opto = 0x7f; /* clear P3.7 turning opto on */ if(hour == offHour1 && min == offMin1) opto = 0xff; /* set bit P3.7 turning opto off */ } } offmsd() { if (buffer[3] == 0x3f) /* if msd = '0' then put blank unstead */ buffer[3] = 0x00; } pause(j) int j; { int i; for (i = 0; i < j; i++) ; } V- MAÕ FILE HEX CUÛA NOÙ -SAU KHI ÑA Õ ÑÖÔÏC BIEÂN DÒCH Neáu caùc baïn raõnh roãi thì haõy goõ y nguyeân maõ HEX naøy trong NotePad roài löu laïi vôùi ñuoâi laø .HEX ñeå naïp cho 89c2051 hoaëc baïn coù theå tôùi phoøng Photo B1 tröôøng ñh.Baùch Khoa ñeå laáy file naøy veà naïp chaïy thöû ( toâi coù cheùp sa ün trong ñæa meàm 1,44Mb). :0300000002000EED :0300030002019F58 :20000B0002019675811FD2AFD2A91201A280FE12001B80FBC82581C822C92 581C97A002224 :20002B00D083D082CF2581F581CFC082C08322CF2581F581CF22FBE493CB2 2FCE493FB7492 :20004B000193CC22FAE493F9740193CA2229F9E5F03AFA227C00CB30E7011 CCB2275F0009B :20006B0030E70215F022FDE493FF7401934F7004A3A3800C740293B505107 40393B5F00A99 :20008B00E493C0E0740193C0E022A3A3A3A380D7FEEBA4FD8EF0ECA4FCEB8 EF0A4C5F02C0F :2000AB002DC5F02211B58EF0ED22C002C001AAF0F97E007D007F11C3E933F 9EA33FADF0867 :2000CB00F5F0E9D001D00222ED33FDEE33FEC3ED9BF5F0EE9C40E0ADF0FED 380DBBB0001E7 PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 73 - :2000EB0022C333C5F033C5F0DBF722BB000122C3C5F013C5F013DBF722240 280022401C595 :20010B00F03400C5F022C394028003C39401C5F09400C5F0223116F4C5F0F 4C5F02245F095 :20012B007022042231784024801A3178401E7014801A3178400E7014800A3 178500E8004A0 :20014B00318C6008E4F5F022318C60F8E4F5F00422318C40F780ED318C40F 170E780ED313C :20016B008C40E170E780DD318C50E180D7C39BC5F09C20E70720D207C345F 02220D2F9D340 :20018B0022C5F0C39C7003E5F09B22758CDC758A0005083205083274FFF51 2E4F5087412DE :2001AB00F50DE4F50CE4F50A74FFF51DE4F50E7412F5197401F51A7412F51 B7402F51CE4E5 :2001CB00F51FE4F5F079157A001200587440F7740175F00079157A0012005 87440F77402AD :2001EB0075F00079157A001200587440F7740375F00079157A00120058744 0F7748075F020 :20020B0025C0E0C0F012079E15811581740175F00045F07003020256E5081 200687B0112AA :20022B00005F12012F700302023B1202C8020223E4F50812025712036F120 42612072A12FC :20024B0004781206961206C602021722E5090509E50975F0007B647C00120 17270030202A8 :20026B00C7E4F509E50E4405F50E7432F511E50A050AE50A75F0007B3C7C0 0120172700362 :20028B000202C7E4F50AE50E4402F50EE50C050CE50C75F0007B3C7C00120 17270030202E2 :2002AB00C7E4F50CE50D050DE50D75F0007B187C0012017270030202C7E4F 50D22058105C7 :2002CB00817408F51474FFF51DE4F5F078FD12001FF608A6F078FD12001FE 60886F07B04FC :2002EB007C0012012F701902036A78FD12001FE60886F012010818F608A6F 012011680D5EE :20030B00E514F45512F5B078FD12001FE60886F079157A00120058E7F4F59 0740175F00023 :20032B00C0E0C0F01207551581158174FFF590E5B054101200687B0012005 F12014B7003A0 :20034B0002035978FD12001FE60886F0F51DE51475F0007B017C001200F6F 5140202F515A3 :20036B0081158122E4F5F079157A00120058E50C75F0007B0A7C001200AFC 001C00279C129 :20038B007A0712005889828A83E493D007D000F6740175F00079157A00120 058E50C75F099 :2003AB00007B0A7C001200B5C001C00279C17A0712005889828A83E493D00 7D000F6740220 :2003CB0075F00079157A00120058E50D75F0007B0A7C001200AFC001C0027 9C17A071200D2 :2003EB005889828A83E493D007D000F6740375F00079157A00120058E50D7 5F0007B0A7CC8 :20040B00001200B5C001C00279C17A0712005889828A83E493D007D000F62 2E50E54047554 :20042B00F0007B007C001201537003020477E5111511E51175F0007B007C0 012015370032D PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 74 - :20044B00020471740175F00079157A00120058E74480F7740275F00079157 A00120058E7F8 :20046B004480F7020477E50E54FBF50E22E51D1200687BFF12005F1201537 0030204DEE5C9 :20048B000E548075F0007B007C0012014B70030204DEE50E4480F50E7432F 51EE51D1200D7 :2004AB00689004CA0200711205BD0204DE1205140204DE1204F80204DE120 4DF0204DEC4A2 :2004CB00040300BE040200B8040100B20400000000DE0422E50D050DE50D7 5F0007B187C65 :2004EB000012014B70030204F7E4F50D22E50C050CE4F50AE50C75F0007B3 C7C0012014B4F :20050B007003020513E4F50C22E51F051FE51F1200687B0112005F12014B7 003020571E57B :20052B000DF519E50CF51AE4F5F079157A00120058E4F7740175F00079157 A0012005874BF :20054B0068F7740275F00079157A001200587478F7740375F00079157A001 200587471F7D7 :20056B00120650020577E4F51F12057822E50DF51BE50CF51CE4F5F079157 A00120058742E :20058B0063F7740175F00079157A001200587463F7740275F00079157A001 200587478F7AC :2005AB00740375F00079157A001200587471F7020650E512F4447FF512548 075F0007B0045 :2005CB007C0012014B7003020613E4F5F079157A00120058E4F7740175F00 079157A00129E :2005EB000058E4F7740275F00079157A001200587468F7740375F00079157 A0012005874DB :20060B0078F712065002064FE4F5F079157A00120058E4F7740175F000791 57A001200583F :20062B007463F7740275F00079157A001200587463F7740375F00079157A0 012005874788C :20064B00F71206502205810581E4F5F078FD12001FF608A6F078FD12001FE 60886F07BF486 :20066B007C0112012F701902069178FD12001FE60886F012010818F608A6F 012011680D53F :20068B001202C80206751581158122E50E548075F0007B007C00120153700 30206C5E51EDC :2006AB00151EE51E1200687B0012005F12014B70030206C5E50E547FF50E2 2E50E5401754D :2006CB00F0007B007C001201537003020729E50E54FEF50EE50D75F000AB1 97C0012014BE0 :2006EB00600CE50C75F000AB1A7C0012014B45F07003020704747FF512E50 D75F000AB1BC2 :20070B007C0012014B600CE50C75F000AB1C7C0012014B45F070030207297 4FFF5122274A7 :20072B000375F00079157A00120058E775F0007B3F7C0012014B700302075 4740375F00048 :20074B0079157A00120058E4F72205810581E4F5F078FD12001FF608A6F07 8FD12001FE684 :20076B000886F078F912001F860308860412012F701902079978FD12001FE 60886F01201A9 :20078B000818F608A6F012011680CF020780158115812278FB12001F86030 8860474807523 PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 75 - :2007AB00F0701200B5120120758921F58DF58B758859759852223F0C765E4 D5B7B0E7F5FAE :00000001FF V-HÌNH AÛNH CUÛA ÑOÀNG HOÀ BAÙO GIÔØ ÑAÕ ÑÖÔÏC RUÙT GOÏN ÔÛ ñaây toâi chæ duøng hai khoaù : Chænh giôø vaø chænh phuùt thoâi. Vaø toâi cuõng boû luoân phaàn ñieàu khieån boùng ñeøn –rôø le, vaø moät vaøi thöù khoâng caàn thieát khaùc . Raát ñôn giaûn quaù phaûi khoâng baïn !? Vaâng ! ñoàng hoà -giôø raát deã laøm thoâi! Sau ñaây laø moä loaïi ñoàng hoà baùo giôø khaùc , noù coù theå chaïy töø phaûi sang traùi keøm theo moät doøng chöõ raát xinh xaén chaúng haïn nhö baây”BAY GIO LAø 1:23 “. Xin môøi caùc baïn ñoùn ñoïc ví duï naøy trong quyeån thöù 2 saép vieát xong: “ Höôùng Daãn Giao Tieáp Vi Xöû Lyù Vôùi Maùy Tính” trong quyeån naøy toâi seõ giuùp baïn bieát caùh giao tieáp PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 76 - giöõa vi xöû lyù vaø maùy tính thoâng qua phaàn meàm Visual Basic , ñoâng thôøi toâi cuõng coù ñeà caëp nhieàu ví duï maïch ñieän raát lyù thuù nhö “ Maùy ño nhieät ñoä hieån thò treân Led , Maùy ño nhieät ñoä hieån thò treân Maùy Tính , Laøm baûng ñeøn chöõ chaïy ñôn giaûn , Laøm baûng ñeøn chöõ chaïy giao tieáp vôùi Maùy Tính , Maïch ño ñieän aùp giao tieáp maùy tính ( ñaây laø ñeà taøi maø toâi ñaõ ñaït giaûi 3 trong ” cuoäc thi sinh vieân saùng taïo laàn 1” , vaø nhöõng maïch ñieän vi xöû lyù khaùc toâi seõ giôùi thieäu sau , xin caùc baïn ñoùn ñoïc ! Caùc taøi lieäu lieân quan cuûa toâi xin caùc baïn haõy ñeán phoøng Photo B1- ñh.Baùch Khoa. PDF created with FinePrint pdfFactory Pro trial version Leâ Duy Phi - duyphi@yahoo.com - 77 - Lôøi keát : Quyeån saùch cuoái cuøng ñaõ hoaøn thaønh ñuùng vaøo luùc caùc baïn ñang hoïc veà vi xöû lyù . Nhö vaäy sau gaàn hôn moät thaùng bieân saïan-keå töø luùc khôûi thaûo , trong thôøi gian ngaén aáy , taäp saùch chæ chuù troïng phaàn nhieàu vaøo maët thöïc haønh , khoâng ñeà caëp quaù saâu vaøo lyù thuyeát . Muïc ñích maø toâi vieát quyeån saùch naøy khoâng mong gì hôn laø noù seõ goùp phaàn phuïc vuï cho caùc baïn trong vieäc hoïc vi xöû lyù ñaït ñöôïc nhieàu lôïi ích vaø ñam meâ hôn bôûi söï keát hôïp haøi hoaø giöõa lyù thuyeát vaø thöïc haønh ! Trong quaù trình töï laép raùp , neáu caùc baïn gaëp söï coá thì haõy lieân heä vôùi chuùng toâi, baèng kinh nghieäm ñaõ töøng laép raùp loaïi naøy toâi nghó seõ coù nhöõng lôøi phuùc ñaùp raát thieát thöïc , ngoõ haàu seõ ñemlaïi nieàm vui cho caùc baïn , ñòa chæ lieân heä : duyphi@yahoo.com hoaëc duong_phi_vxl@yahoo.com , neáu ñöôïc caùc baïn coù theå vieát thö cho toâi theo ñòa chæ 67/30/10/25 ñöôøng Phuù Trung –F10-Q.Taân Bình Tp.HCM . Caùc baïn cuõng coù theå xem noäi dung cuûa quyeån saùch naøy , cuøng caùc taøi lieäu khaùc khoâng nhöõng veà vi xöû lyù , maø coøn nhieàu moân khaùc nhö ñieän töû , kyõ thuaät soá , ñieän coâng nghieäp , ñieän töû cô baûn ….taïi ñòa chæ website sau cuûa toâi : Dó nhieân ñaây laø laàn ñaàu toâi laøm coâng vieäc naøy , neân sai xoùtvaø nhieàu khyeám khuyeát laø ñieàu seõ coù theå xaûy ra , toâi xin traân troïng laéng nghe söï ñoùng goùp yù kieán cuûa caùc baïn cuøng cuûa caùc sö huynh vaø cuûa thaày co treân tinh thaàn goùp yù , söûa chöõa ñeå ngaøy moät cuøng nhau hoaøn thieän hôn ! Treân tinh thaàn aáy toâi xin voâ cuøng caùm ôn quyù vò , vaø toâi seõ coá gaéng hôn nöõa ñeå sôùm giôù thieäu vôùi baïn ñoïc taäp 2: “Höôùng daãn gioa tieáp vi xöû lyù vôùi maùy tính ” baèng Visual Basic Cuoái cuøng toâi xin coù lôøi tri ôn saâu saéc ñeán caùc baïn trong tröôøng , caùc sö huynh cuøng quyù thaày coâ ñaõ coù lôøi ñoäng vieân , coù lôøi goùp yù trong suoát thôøi gian toâi vieát quyeån saùch naøy . Moät laàn nöõa toâi xin raát caùm ôn caùc baïn ñaõ ñoïc quyeån saøch naøy ! Xin chuùc caùc baïn luoân vui veû vaø gaët haùi ñöôïc nhieàu thaønh coâng töø quyeån saùch nhoû naøy! Sinh vieân thöïc hieän: Leâ Duy Phi 10-02-2004 Tp.HCM PDF created with FinePrint pdfFactory Pro trial version

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

  • pdfThiết kế mạch nạp cho 89Cxx ( Tài liệu khá là hay ).pdf