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!!!
77 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2383 | Lượt tải: 1
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:
- Thiết kế mạch nạp cho 89Cxx ( Tài liệu khá là hay ).pdf