Đồ án Lập trình C cho họ vi điều khiển 8051

BCÔNG NGHIP  
TRƯỜNG ĐẠI HC CÔNG NGHIP TP HCM  
KHOA CÔNG NGHỆ ĐIN TỬ  
#ꢀ"  
Đồ Án Tt nghip  
Đề Tài:  
LP TRÌNH C CHO HVI ĐIU KHIN 8051  
Đồ Án Tt Nghip  
PHN I  
TNG QUAN về ĐỀ TÀI  
I. ĐẶT VN ĐỀ:  
Ngày nay, nhng ng dng ca Vi điu khin đã đi sâu vào đời sng sinh hot và  
sn xut ca con người. Thc tế hin nay là hu hết các thiết bị đin dân dng hin nay  
đều có sgóp mt ca Vi Điu Khin và vi xlí . ng dng vi điu khin trong thiết kế  
hthng làm gim chi phí thiết kế và hgiá thành sn phm đồng thi nâng cao tính n  
định ca thiết bvà hthng.Trên thtrường có rt nhiu hvi điu khin: h8051 ca  
Intel, 68HC11 ca Motorola, Z80 ca hãng Zilog, PIC ca hãng Microchip, H8 ca  
Hitachi,vv…  
Vic phát trin ng dng các hvi xđòi hi nhng hiu biết cvphn cng  
cũng như phn mm, nhưng cũng chính vì vy mà các hvi xđược sdng để gii  
quyết nhng bài toán rt khác nhau. Tính đa dng ca các ng dng phthuc vào vic  
la chn các hvi xlý cthcũng như vào kthut lp trình.  
Ngày nay các bvi xlý có mt trong rt nhiu thiết bị đin thin đại: từ đầu  
đĩa CD, máy thu hình, máy ghi hình, dàn âm thanh HiFi, bộ điu khin lò sưởi cho đến  
các thiết bị điu khin dùng trong công nghip. Lĩnh vc ng dng ca các hvi xlý  
cũng rt rng ln: tnguyên cu khoa hc, truyn dliu, đến công nghip, năng lượng,  
giao thông và y tế…  
Tùy theo kinh nghim và mc độ thông tho mà chúng ta có thsdng các ngôn  
ngkhác ngoài hp ngnhư: C, C++, Visual basic để có nhng chương trình cht lượng  
cao hơn.  
II. NI DUNG CA ĐỀ TÀI:  
9 Sơ lược vvi điu khin AT89C51.  
9 Kho sát vi điu khin AT89C2051 ca hãng ATMEL.  
Gm sơ đồ chân linh kin.  
Sơ đồ khi ca AT89C2051.  
Các ni dng ng dng ca AT89C2051.  
9 Gii thiu phn mm Keil Software µViSion 2  
9 ng dng ngôn ngC và Assembly điu khin lp trình led.  
ng dng cho led đơn, led 7 đon, led ma trn…  
9 Kết lun và hướng phát trin ca đề tài.  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
2
Đồ Án Tt Nghip  
PHN II  
NI DUNG ĐỀ TÀI  
CHƯƠNG 1: GII THIU BVI ĐIU KHIN 89C2051 và 89C51  
I.GII THIU BVI ĐIU KHIN 89C2051  
I.1 CÁC ĐẶC ĐIM  
9 Tương thích vi các sn phm ca hMSC-51.  
9 2K byte bnhFlash lp trình được.  
9 Khnăng :1000 chu kì ghi/xóa.  
9 Tm đin áp hot động t2,7 V đến 6V  
9 Tm tn shot động t0 Hz đến 21 MHz  
9 2 mc khóa bnhchương trình (program memory).  
9 RAM bên trong (internal RAM) có dung lượng 128 x 8 bit.  
9 15 đường I/O lp trình được.  
9 2 bộ định thi /đếm 16 bit.  
9 6 ngun (nguyên nhân ) ngt.  
9 Kênh ni tiếp UART lp trình được.  
9 Các ngõ ra kích LED trc tiếp.  
9 Mch so sánh tương ttrên chip (on-chip analog comparator).  
9 Các chế độ nghcông sut thp và chế độ gim công sut.  
I.2 MÔ TẢ  
Chip AT89C2051 là chip vi điu khin CMOS 8 bit đin áp thp, hiu sut cao có 2K  
byte bnhFlash chỉ đọc, xóa được và lp trình được PEROM (Flash programmable and  
erasable readonly memory). Linh kin này được sn xut bng cách sdng công nghbnhớ  
không thay đổi mt độ cao ca Atmel và tương thích vi tp tp ca MCS-51 chun công  
nghip. Bng cách kết hp mt CPU 8-bit đa năng và linh hot vi Flash trên chip đơn tinh th,  
Atmel AT89C2051 là chip vi điu khin mnh cung cp gii pháp linh động cao và mang li  
hiu quvgiá thành cho nhiu ng dng điu khin nhúng (embedded control application).  
AT89C2051 cung cp các đặc tính chun sau đây : bnhFlash 2K byte , 128 byte  
RAM , 15 đường I/O, 2 bộ định thi/đếm 16-bit , kiến trúc ngt hai mc 5 vector, port ni tiếp  
hoàn toàn song công , mch so sánh tương tchính xác, mch dao động và to xung clock trên  
chip . Ngoài ra AT89C2051 được thiết kế có mch logic tĩnh cho hot động gim đến tn s0  
Hz và htr2 chế độ tiết kim công sut la chn được bng phn mm.  
Chế dnghĩ ( idle mode ) sdùng CPU nhưng vn cho phép RAM, các bộ định  
thi/đếm, port ni tiếp và hthng ngt tiếp tc hot động. Chế độ gim công sut duy trì ni  
dung ca RAM nhưng làm dng mch dao động, không cho phép mi chc năng khác ca chip  
hot động cho đến ln reset cng kế tiếp (nghĩa là ta thiết lp li trng thái ban đầu [reset] cho  
chiop bng mch đin bên ngoài).  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
3
Đồ Án Tt Nghip  
I.3 CU HÌNH CHÂN  
Hình 1.1  
I.4 SƠ ĐỒ KHI  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
4
Đồ Án Tt Nghip  
Hình 1.2  
9RAM ADDR. REGISTER: thanh ghi địa chRAM .  
9RAM: vùng nhtruy cp ngu nhiên (RAM).  
9FLASH: vùng nhFLASH.  
9B REGISTER:thanh ghi B.  
9ACC: thanh cha.  
9STACK POINTER: con trvùng nhxếp chng.  
9PROGRAM ADDRESS REGISTER: thanh ghi địa chchương trình.  
9TMP1: thanh ghi tm 1  
9TMP2: thanh ghi tm 2  
9ALU: đơn vshc/logic.  
9BUFFER: bộ đm.  
9PC INCREMENTER: btăng thanh ghi đếm chương trình PC.  
9INTERRUPT, SERIAL PORT AND TIMER BLOCKS: các khi ngt, port ni tiếp  
định thi.  
9PROGRAM COUNTER: bộ đếm chương trình PC.  
9PSW: ttrng thái chương trình .  
9TIMING AND CONTROL:mch logic điu khin và định thi.  
9INSTRUCTION REGISTERED: thanh ghi lnh.  
9DPTR: con trdliu .  
9PORT1 LATCH: bcht port 1.  
9PORT3 LATCH: bcht port 3.  
9ANALOG COMPARTOR:bso sánh tương t.  
9OSC:mch dao động.  
9PORT 1 DRIVERS: các mch kích port 1.  
9PORT 3 DRIVERS: các mch kích port 3.  
I.5 MÔ TCHÂN  
VCC  
Chân cp đin áp Vcc cho chip.  
GND  
Chân ni đất.  
Port 1  
Port 1 là port I/O (port nhp/xut: input/output port) hai chiu 8-bit. Các chân ca port từ  
P1.2 đến P1.7 cung cp các mch kéo lên bên trong (internal pull-ups). Các chân P1.0 và P1.1  
yêu cu các mch kéo lên bên ngoài . P1.0 và P1.1 cũng còn được sdng làm ngõ vào dương  
(AIN0) và ngõ vào âm (ÁIN), theo tht, ca mch so sánh tương tchính xác trên chip (on –  
chip precision analog comparator).  
Các mch đệm ngõ ra (output buffer) ca port 1 có thhút dòng 20mA và kích trc tiếp  
các bhin thLED. Khi các logic 1 được ghi đến các chân ca port 1, các chân này có thể được  
sdng làm các ngõ vào. Khi các chân tP1.2 đến P1.7 được sdng làm các ngõ vào và được  
kéo xung mc thp tbên ngoài, chúng scung cp dòng (IIL) do các mch kéo lên bên trong.  
Port 1 cũng nhn dliu chương trình hay dkiu mã (code data) trong thi gian lp trình  
và kim tra bnhFlash.  
Port 3  
Các chân ca port 3 tP3.0 đến P3.5, P3.7 là chân I/O hai chiu vi các mch kéo lên bên  
trong. P3.6 được ni dây cng làm ngõ vào ni đến ngõ ra ca mch so sánh trên chip và không  
thtruy cp như mt chân I/O có mc đích tng quát. Các mch đệm ngõ ra ca port 3 có thhút  
dòng 20mA.Khi các logíc được ghi đến các chân ca port 3, các chân này được kéo lên mc cao  
bi các mch kéo lên bên trong và có thể được sdng làm các ngõ vào. Khi là các ngõ vào, các  
chân nào ca port 3 được kéo xung mc thp bi mch bên ngoài scung cp dòng (IIL) do các  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
5
Đồ Án Tt Nghip  
mch kéo lên. Các chân ca port 3 còn được sdng cho các chc năng đặc bit khác ca  
AT89C2051 như được lit kê dưới đây ( bng 11,1). Port 3 cũng nhn mt stín hiu điu khin  
để lp trình và kim tra bnhFlash.  
Bng 1.1  
RST  
Ngõ vào reset (thiết lp li trng thái ban đầu). Tt ccác chân I/O được reset đến mc  
logíc ngay sau khi RST lên mc cao. Vic duy trì chân RST mc cao trong 2 chu kmáy trong  
khi mch dao động đang hot động sreset chip.  
XTAL 1  
Ngõ vào đến mch khuếch đại dao động đảo và ngõ vào đến mch to xung clock bên  
trong.  
XTAL 2  
Ngõ ra tmch khuếch đại dao động đảo.  
I.6 CÁC ĐẶC TÍNH CA MCH DAO ĐỘNG.  
XTAL 1 và XTAL 2 là ngõ vào và ngõ ra, theo tht, ca  
mch khuếch đại đảo có thể được cu hình để trthành mch dao  
động trên chip như được trình bày hình 1.3. Mt tinh ththch  
anh hoc mch cng hưởng gm đều có thsdng được. Để kích  
chip tngunxung clock bên ngoài, chân XTAL 2 skhông kết  
ni trong khi chân ATAL 1 được kích như được trình bày hình  
1.4. Không có yêu cu nào vchu knhim v(duty cycle) ca  
tín hiu xung clock bên ngoài vì ngõ vào đến mch vì ngõ vào đến  
mch to xung clock bên trong sẽ đi qua mt flipflop làm nhim  
vchia 2 tn s, nhưng các đặc tính về đin áp ti thiu và ti đa  
ca mc cao và mc thp phi được xem xét.  
Hình 1.3 các kết ni ca mch dao động.  
Lưu ý: C1,C2=30pF ± 10pF đối vi các thch anh ; C1,C2=40pF ± 10pF đối vi các bộ  
cng hưởng gm.  
Hình 1.4: Cu hình kích xung clock bên ngoài.  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
6
Đồ Án Tt Nghip  
I.7CÁC THANH GHI CHC NĂNG ĐẶC BIT SFR  
Bng 1.2 Các giá trkhi reset và bn đồ các SFR ca AT89C2051  
Mt bn đồ vùng nhtrên chip được gi là không gian thanh ghi chc năng đặc bit SFR  
(special function registor) được trình bày bn trên đây (bng 1.2). Lưu ý rng không phi tt cả  
địa chỉ đều bchiếm bi các thanh ghi này, các địa chkhông bchiếm có thkhông được thc  
hin trên chip. Các truy cp đọc đến các địa chnày trong trường hp tng quát, strvdliu  
ngu nhiên và các truy cp ghi scó tác động không rõ ràng.  
Phn mêm ca người sdng không nên ghi các logic 1 đến các vtrí nhkhông được lit  
kê vì chúng có thể được sdng trong các sn phm tương lai để đáp ng các đặt tính mi.  
Trong trường hp đó, các giá trdo reset hoc các giá trkhông tích cc ca các bit mi sluôn  
luôn bng 0.  
I.8 CÁC GII HN TRÊN MT SLNH  
AT89C2051 là mt thành viên tiết kim và có hiu quvgiá thành ca hvi đièu khin  
đang phát trin ca Atmel. Chip này cha 2K bnhchương trình Flash. Chip này hoàn toàn  
tương thích vi kiến trúc MCS-51và có thể được lp trình bng cch sdng tp lnh MCS-51.  
tuy nhiên, có vài cân nhc mà ta ohi chú ý khi sdng mt slp trình ca chip này.  
Tt ccác lnh liên quan đến các hot động nhy và rnhánh sbgii hn, chn hn như địa  
chỉ đíh rơi vào trong không gian nhca chip, không gian này là 2K byte vi AT89C2051. Vn  
đề này là trách nhim ca nguowif lp trình phn mm.  
Thí d, lnh LJMP 7E0H slà lnh hp lệ đối vi AT89C2051 (có 2K byte bnhchương  
trình)trong khi đó lnh LJMP 900H là lnh không hp l.  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
7
Đồ Án Tt Nghip  
Các lnh rnhánh  
LCALL,LMJP, ACALL, AJMP,SJMP ,JMP@A+DPTR- Các lnh rnhánh không điu  
kin này sthc thi đúng min là người lp trình lưu ý rng địa chỉ đích rnhánh phi nm trong  
gii hn vt lý ca kích thước bnhchương trình (các vtrí nht00H đến 7FFH đối vi  
AT89C2051). Vic vi phm các gii hn khong gian vt lý có thgây ra hành vi không biết  
được ca chương trình  
CJNE [. . . ], DJNZ [. . . ], JB, JNB, JC, JNC, JBC, JZ, JNZ - Vi các lnh rnhánh có  
điu kin này, các quy lut ging như ở trên cũng được áp dng. Mt ln na, vic vi phm các  
giơis hn bnhvt lý slàm cho chương trình thc hti không đúng.  
Đối vi các ng dng bao gm các cách ngt, các vtrí địa chca chương trình phc vngt  
(interrupt service rountine) bình thường ca cu trúc h89C2051 được bo toàn.  
Các lnh liên quan đến MOVX, bnhdliu  
AT89C2051 cha 128 byte bnhdliu bên trong (intenal data memory). Như vy  
trong AT89C2051,kích thước ca bxếp chng (stack depth) được gii hn ti 128 byte, đay là  
dung lượng ca RAM có sn. Vic truy cp bnhbên ngoài không được htrtrong chip này  
và vic thưc thi chương trình bên ngoài cũng không được htr.  
Như vy không có lnh MOVX [. . . ] nào cha trong chương trình.  
Mt trình dch hp ng(assembler) đin hình ca 89C51 vn dch các lnh này,ngay cả  
khi chúng được viết dưới dng vi phm các gii hn đã đề cp trên. Người sdng bvi điu  
khin phi có trách nhim phi biết các tính cht vt lý và gii hn ca linh kin đang được sử  
dng và điu chnh các lnh được sdng mt cách thích hp.  
Các gii hn trên đây cho ta thy các khuyết đim ca At89C2051.  
I.9 CÁC BIT KHOÁ BNHCHƯƠNG TRÌNH  
Vi chip AT89C2051 ta có 2 bit khoá (lock bit), các bit này có thể để li không lp trình  
(U) hoc có thlp trình (P) đẻ nhn thêm được các tính cht được lit kê bng 11.3.  
Các bit khoá chương trình  
Loi bo vệ  
LB1 LB2  
1
2
3
U
P
U
U
U
U
Không có tính cht khoá chương trình.  
Vic lp trình thêm na cho bnhFlash bcm.  
Tương tchế độ 2, vic kim tra cũng bcm.  
Lưu ý: các bit khoá chcó thbxoá bng thao tác xoá chip  
Bng 1.3:Các chế độ bo vca bit khoá.  
I.10 CHẾ ĐỘ NGHỈ  
Trong chế đọ nghCPU stng, trong khi tt ccác ngoi vi khác trên chip điu hot  
động và điu duy trì trng thái chế độ tích cc. Chế đọ này được yêu cu bi phn mm. Ni  
dung ca RAM trên chip và tt ctren các thanh ghi chc năng đặc bit điu ginguyên không  
thay đổi trong thi gian chế độ này. Chế độ nghcó thể được kết thúc bi cách ngt bt kì được  
phép hoăc bng cách reset phn cng.  
Các chân P1.0 và P1.1 sẽ được thiết lp bng 0 nếu không sdng các mch kéo lên  
bên ngoài hoc được thiết lp bng 1 nếu có mch kéo lên bên ngoài.  
Cũng cn lưu ý rng khi chế độ nghỉ được kết thúc bi mt reset cng, chip stiếp tc  
thc thi chương trình bình thường tnơi chương trình bri b, đến 2 chu kmáy trước gii  
thut reset bên trong ly quyn điu khin. Phn cng trên chip ngăm cn vic truy cp đến  
RAM bên trong chế độ này nhưng không cm vic truy cp đến cá chân ca port. Để lai bỏ  
khnăng có mt thao tác không mong đợi đến mt chân ca port khi chế độ nghỉ được kết thúc  
bng reset, lnh theo sau lnh yêu cu chế nghskhông thlà lnh ghi đến mt chân port hoc  
bnhngoài.  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
8
Đồ Án Tt Nghip  
I.11 CHẾ ĐỘ GIM CÔNG SUT  
Trong chế độ gim công sut, mch dao động bdng và lnh yêu cu chế độ gim công  
sut là lnh sau cùng được thc thi. RAM trên chip và các thanh ghi chc năng đặc bit gili  
các giá trca chúng cho đén khi các chế độ gim công sut được kết thúc.Li thoát duy nht ra  
khi chế độ gim công sut là sdng reset cng. Reset sẽ định nghĩa li các thanh ghi chua\cứ  
năng đặc bit nhưng không làm thay đổi Ram trên chip. Reset không nên được kích hot trươc  
khi đin áp VCC được khôi phc đến mc hot động bình thường và reset phi duy trì tích cc đủ  
lâu để cho phép mch hot động trli và trnên n định.  
Các chân P1.0 và P1.1 sẽ được thiết lp bng 0 nếu không sdng các mch kéo lên bên  
ngoài hoc được thiết lp bng 1 nếu có mch kéo lên bên ngoài.  
I.12 LP TRÌNH FLASH  
AT89C2051 trên thtrường có di nhchương trình PEROM trên chip la 2K byte ở  
trng thái đã được xóa (nghĩa là toàn bni dung ca các byte là FFH) và sn sàng được lp  
trình. Di nhchương trình được lp trình mt byte cho mi thi đim. Mt khi dãi này đã được  
lp trình, để lp trình li bt kì byte nào không trng, toàn bdi nhớ đưc xóa bng đin.  
Bộ điếm địa chbên trong  
AT89C2051 có mt bộ đếm địa chPEROM bên trong, bộ đếm này luôn luôn được thiết  
lp là 00H cnh lên ca RST và được tăng lên bng cách áp dng xung đang trthành mc  
dương (positve going pluse) đến chân XTAL1.  
Gii thut chương trình  
Để lp trình AT89C2051, theo trình tsau đây.  
1. Trình tcp đin:  
Cp đin gia các chân VCC và GND  
Thiêt lp RST và XTLA1 đến mc thp (GND)  
2. Thiết lâp RST lên mc cao (‘H’)  
Thiết lp chân P3.2 lên mc cao (‘H’)  
3. Áp dng thp các mc logic ‘H’ và ‘L’ thích hp đên các chân P3.3, P3.4, P3.5 và P3.7 để  
chn 1 trong các thao tác lp trình được trình bày trong bng các chế độ lp trình PEROM  
(PEROM proramming modes table).  
Để lp trình và kim tra di nhchương trình:  
4. Đặt dliu ca byte chhương trình ( hay còn gi là byte mã) vtrí 00h đến các chân tP1.0  
đến P1.7.  
5. Tăng RST lên 12V để cho phép lp trình.  
6. Đưa mt xung đến chân P3.2 để lp trình mt byte trong di PEROM hoc các bit khóa. Chu  
kghi byte được tự định thi và đin hình chiếm 1.2ms.  
7. Để kim tra dliu đã lp trình, gim thp RST t12V xung mc logic cao ‘H’ và thiết lp  
các chân tP3.3 đến P3.7 đến các mc logic thích hp. Dliu xut có thể được đọc các chân  
ca port 1.  
8. Để lp trình mt byte vtrí địa chkế tiếp, đưa mt xung đến XTAL1 để tăng bộ đếm địa  
chbên trong (internal address counter). đặt dliu mi đến các chân ca port 1.  
9. Lp li các bước t6 đến 8, thay đổi dliu và tăng bộ đếm địa chcho toàn bdi byte  
hoăc cho đến khi kết thúc tp tin đối tượng (object file).  
10.Trình tngt ngun đin.  
Thiết lp XTLA1 đến mc thp (‘L’)  
Thiết lp RST đến mc thp (‘L’)  
Tt ngun cp đin cho VCC.  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
9
Đồ Án Tt Nghip  
Data Polling: AT89C2051 có Data Polling để chra vic kết thúc mt chu kghi.  
Trong thi gian ca mt chu kghi, vic thử đọc byte sau cùng được ghi sdn đến vic ly bù  
dliu được ghi trên chân P1.7. Mt khi chu kghi đã kết thúc, dliu scó hiu lc trên tt cả  
các ngõ ra và chu kkế tiếp có thbt đầu. Data Polling có thbt đầu bt clúc nào sau khki  
mt chu kghi được khi động.  
Ready/Busy: Tiến trình lp trình byte cũng có thgiám sát bng tín hiu ngõ ra RDY/  
BSY. Chân P3.1 được kéo xung mc thp sau khi chân P3.2 trthành mc cao trong thi gian  
lp trình schra trng thái bn (BUSY).  
Chân P3.1 được kéo lên mc cao ln na khi vic lp trình kết thúc schhra trng thái  
sn sàng (READY).  
Program verify ( kim tra chưong trình ): Nếu các bit khóa LB1 và LB2 đã không được  
lp trình, dliu chương trình có thể đọc ngược vthông qua các đường dliu để kim tra:  
1. Reset bộ đếm địa chbên trong v00H để mang RST t‘L’ lên ‘H’.  
2. Đặt các tín hiu thích hp để đọc dliu chương trình và đọc dliu ngõ ra các chân ca  
port 1.  
3. Đưa mt xung đến chân XTAL 1 để tăng bộ đếm địa chbên trong.  
4. Đọc byte dliu kế tiếp các chân ca port 1.  
5. Lp li các bước 3 và 4 cho đến khi toàn bdi nhchương trình được đọc.  
Các bit khóa khong thể được kim tra trc tiếp. Vic kim tra các bit khóa snhn được bng  
cách tuân theo các tính cht được cho phép ca chúng.  
Chip erase (xóa chip): Toàn bdi PEROM (2K byte) và hai bit khóa đựơc xóa bng  
đin bng sdng thp thích hp các tín hiu điu khin và bng cách gicho chân P3.2 ở  
mc thp trong 10ms. Di nhchương trinhd được ghi vi tt ccác bit điu là 1 trong thao tác  
xóa chip va phi được thc hin trước khi bt kbyte nhkhông trng nào có thể được lp trình  
li.  
Reading the signature bytes (đọc các byte chký ): Các byte chđược đọc vi cùng  
thtc như viêc kim tra bình thường các vtrí nh000H, 001H, 002H, ngoi trcác chân P3.3  
và chân P3.5 phi được kéo xung mc logic thp. Các giá trị được trvnhư sau:  
(000H) = 1EH chra được sn xut bi Atmel.  
(001H) = 21H chra 89C2051.  
I.13CÁC CHẾ ĐỘ LP TRÌNH FLASH  
Các chế độ lp trình Flash được tóm tt bng 1.4.  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
10  
Đồ Án Tt Nghip  
Lưu ý: 1. Bộ đếm địa chPEROM bên trong được reset v000H cnh lên ca RST và được  
tăng bi xung dương chân XTAL 1.  
2. vic xóa chip yêu cu xung PROG kéo dài 10ms.  
3. Chân P3.1 được kéo xung mc thp trong thi gian lp trình để chra RDY/BSY  
Write code data: ghi dliu chương trình.  
Read code data: đọc dliu chương trình.  
Write lock : ghi các bit khóa.  
Chip erase : xóa chip.  
Read signature byte : đọc byte chký  
SEE FLASH PROGRAMMING MODE TABLE:xem bng chế độ lp trình Flash.  
PGM DATA: dliu chương trình.  
TO INCREMENT ADDRESS COUTER: để tăng bộ đếm địa ch.  
I.14 CÁC ĐẶC ĐIM LP TRÌNH FLASH  
Ký  
hiu  
VPP  
Đơn  
vị  
V
Thông số  
Đin áp cho phép lp trình.  
Min Max  
11.5 12.5  
IPP  
Dòng đin cho phép lp trình.  
250 µA  
tDVGL  
tGHDX  
t EHSH  
tSHGL  
tGHSL  
tGLGH  
tELQV  
Thi gian tlúc dliu đến khi PROG mc thp.  
Thi gian gidliu sau khi PROG tích cc.  
Thi gian P3.4 ( NABLE ) t‘H’ lên VPP.  
Thi gian tlúc thiết lp VPP đến khi PROG mc thp.  
Thi gian gia VPP sau khi PROG tích cc.  
Độ rng ca PROG.  
1.0  
1.0  
1.0  
10  
10  
1
µs  
µs  
µs  
µs  
µs  
110 µs  
Thi gian tlúc ENABLE mc thp cho đến khi dliu có  
1.0  
µs  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
11  
Đồ Án Tt Nghip  
hiu lc.  
tEHQZ  
tGHBL  
Thi gian thni dliu sau khi ENABLE tích cc.  
Thi gian tkhi PROG mc cao cho đén khi BUSY o mc  
thp.  
0
1.0  
50  
µs  
ns  
tWC  
tBHIH  
tHIL  
Thi gian ca chu kghi byte.  
Trì hoãn tRDY/BSY đến khi clock tăng.  
Thi gian c0lock mc cao.  
2.0  
ms  
µs  
ns  
1.0  
200  
Bng 11.5 Các đặt đim lp trình và kim tra Flash.  
TA = 00C đến 700 C, VCC = 5.0 ± 10%.  
Chsdng chế độ lp trình 12 V.  
I.15 CÁC ƯỚC LƯỢNG CC ĐẠI TUYT ĐỐI  
Tm nhit độ hot động:  
Tm nhit độ tích tr:  
t-550C đến +1250C.  
t-660C đến +1500C.  
Đin áp trên bt kì chân nào so vi đất (GND): -1.0 V đến +7 V.  
Đin áp cp đin cc đại:  
6.6 V.  
Dòng DC ngõ ra:  
25.0 mA.  
CÁC DNG SÓNG LP TRÌNH VÀ KIM TRA FLASH  
Hình 1.5 Các dng sóng lp trình và kim tra Flash.  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
12  
Đồ Án Tt Nghip  
DNG SÓNG MCH KÍCH XUNG CLOCK BÊN NGOÀI  
Hình 1.6:Dng sóng mch kích xung clock bên ngoài.  
MCH KÍCH XUNG CLOCK BÊN NGOÀI  
Ký hiu Thông sVCC=2.7V đến 6.0V  
VCC=4.0V đến 6.0V  
Đơn vị  
Min  
Max  
Min  
Max  
1/tCLCL Tn sdao động.  
0
83.3  
30  
12  
0
41.6  
15  
24  
MHZ  
ns  
ns  
ns  
ns  
tCLCL  
tCHCX  
tCLCX  
tCLCH  
tCHCL  
Chu kxung clock.  
Thi gian mc cao.  
Thi gian mc thp.  
Thi gian tăng (cnh lên).  
Thơi gian gim (cnh xung).  
30  
15  
20  
20  
20  
20  
ns  
Bng 1.5 Các thông sca mch kích xung clock bên ngoài.  
ĐỊNH THI PORT NI TIP: ĐIU KIN KIM TRA CHẾ ĐỘ THANH GHI DCH  
V
Ký  
hiu  
CC = 5.0 ± 20%; đin dung ti = 80 pF.  
Thông số  
Dao động 12 MHZ  
Min Max  
1.0  
Dao động thay đổi  
Đơn  
vị  
Min  
Max  
Thi gian chu kxung clock port  
ni tiếp.  
Thi gian tlúc thiết lp dliu  
xut đến cnh lên ca xung clock  
Thi gian gidliu xut sau cnh  
lên ca xung clock.  
Thi gian gidliu nhp sau cnh  
lên ca xung clock  
Thi gian tcnh lên xung clock  
đến khi dliu nhpcó hiu lc.  
12tCLCL  
µs  
ns  
ns  
ns  
ns  
700  
50  
0
10tCLCL  
– 133  
2tCLCL  
177  
0
700  
10tCLCL  
– 133  
Bng 1.6 Các điu kin kim tra chế độ định thi thanh ghi dch  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
13  
Đồ Án Tt Nghip  
CÁC DNG SÓNG ĐỊNH THI CHẾ ĐỘ THANH GHI DCH  
Hình 1.7 Dng sóng định thi chế độ thanh ghi dch.  
DNG SÓNG NGÕ VÀO/NGÕ RA KIM TRA AC1  
Hình 1.8:Dng sóng ngõ vào/ngõ ra kim tra AC.  
Lưu ý: 1. Các ngõ vào AC trong thi gian kim tra được kích (VCC – 0.5) V đối vi logic 1 và  
0.45 V đối vi logic 0. Các phép đo định thi được thc hin VIHmin đối vi logic 1và VILmax  
đối vi logic 0.  
DNG SÓNG THNI1  
Hình 1.9 Dng sóng thni.  
Timing reference points: các đim tham chiếu định thi.  
Lưu ý: 1. Đối vi mc đích định thi, mt chân port skhông còn thni kho có sthay đổi  
100mV từ đin áp trên ti. Mt chân port bt đầu thni khi có sthay đổi 100mV tmc  
VOH/VOL (có ti).  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
14  
Đồ Án Tt Nghip  
ICC CHẾ ĐỘ TÍCH CC  
Hình 1.10: ICC chế độ tích cc.  
ICC CHẾ ĐỘ NGHVÀ CHẾ ĐỘ GIM CÔNG SUT  
Hình 1.11: (a) ICC chế độ ngh,(b) ICC chế độ gim công sut.  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
15  
Đồ Án Tt Nghip  
Packaging Information  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
16  
Đồ Án Tt Nghip  
II.Gii thiu vVi Điu Khin AT89C51  
™ MSC51 là mt hVi Điu Khin (Microcontroller) do hãng Intel sn  
xut.Các IC ca hMSC51 tiêu biu là 8051 và 8031. Đặc bit, vi điu  
khin 89C51 sn xut gn đây mang các đặc đim sau:  
9 4Kbytes EEPROM.  
9 128 bytes RAM.  
9 4 Port I/O (Input/Output).  
9 2 bộ định thi Timer 16 bits.  
9 Giao tiếp ni tiếp.  
9 64Kbytes không gian bnhchương trình mrng.  
9 64Kbytes không gian bnhdliu mrng.  
9 Mt bxlý lun lí (thao tác trên các bits đơn).  
9 210 bits được địa chhóa.  
9 Bnhân chia 4µs.  
™ HTHNG GIAO TIP PORT.  
Port 0: port 0 là mt port hai chc năng trên các chân 32-39.  
Hãy nhrng : trên các chân này chưa có đin trkéo dương, do đó khi  
cn chúng ta cn nhớ đến đặc đim này.  
Port 1: port 1 là mt port I/O trên các chân 1-8.  
Port 2: port 2 là mt port công dng kép trên các chân 21-28.  
Port 3: port 3 là mt port công dng kép trên các chân 10-17. Các  
chân này đều có nhiu chc năng, các công dng chuyn đổi có liên  
hti các đặc tính đặc bit ca 8051 bng sau:  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
17  
Đồ Án Tt Nghip  
™ CÁC TÍN HIU ĐIU KHIN:  
Chip AT89C51 có các tín hiu điu khin cn phi lưu ý như sau:  
Tín hiu vào EA\ trên chân 31 thường đặt lên mc cao ( +5V) hoc  
mc thp (GND)  
Nếu mc cao, 8951 thi hành chương trình tROM ni trong  
khong địa chthp (4K hoc ti đa 8k đối vi 89C52).  
Nếu mc thp, chương trình được thi hành tbnhmrng (ti  
đa đến 64Kbyte).  
Ngoài ra người ta còn dùng EA\ làm chân cp đin áp 12V khi lp  
trình EEPROM trong 8051.  
CHÂN PSEN (Program store enable):  
PSEN là chân tín hiu ra trên chân 29. Nó là tín hiu điu khin cho  
phép chương trình mrng, PSEN thường được ni đến chân OE\  
(Output Enable) ca mt EPROM hoc ROM để cho phép đọc các  
bytes mã lnh.  
Hãy nhrng : bình thường chân PSEN\ sẽ được thtrng ( No  
Connect).Chkhi nào cho EA\ mc thp thì lúc đó:  
PSEN\ sẽ ở mc thp trong thi gian ly lnh. Các mã nhphân ca  
chương trình được ly tEPROM qua bus dliu và được cht vào  
thanh ghi lnh ca 8951 để gii mã lnh.  
PSEN\ mc thụ động (mc cao) nếu thi hành chương trình trong  
ROM ni ca 8951.  
™ CÁC CHÂN NGUN:  
AT8951 hot động ngun đơn +5V.Vcc được ni vào chân 40, và Vss  
(GND) được ni vào chân 20.  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
18  
Đồ Án Tt Nghip  
Chương 2: Gii thiu chung vphn mm Keil Software  
Phn mm Keil SoftWare 8051 công cphát trin được lit kê dưới là nhng  
chương trình mà để biên tp mã C, tp hp nhng tp tin assembly, liên kết và định vị  
nhng đon chương trình hướng đối tượng, nhng thư vin , khi to file HEX, và trình  
gli.  
µVision® là mt môi trường phát trin tích hp mà kết hp qun lý project ,son  
tho mã ngun và trình gli trong môi trường mnh.  
Cx51 ANSI ti ưu bbiên dch C và to ra nhng đon chương trình hướng đối  
tượng định vli tmã ngun C.  
Ax51 Macro Assembler to ra nhng đan chương trình hướng đối tượng định vị  
li 8051 mã ngun assembly.  
BL51 bkết ni / dò tìm định vli nhng đon chương trình hướng đối tượng  
được to ra tC51 và A51 vào nhng đon chương rình hướng đối tượng tuyt  
đối.  
LX51 mrng bkết ni / bdò tìm htrnhng phương án thiết bmrng và  
cung cp nhng đặc tính bsung.LX51 htrtt ccác phương án ca Cx51 và  
Ax51.  
LIBx51 trình qun lý thư vin kết hp nhng đon chương trình hướng đối tượng  
vào trong nhng thư vin mà có thể được sdng bi bkết ni.  
OHx51 bbiến đổi sang file HEX . to ra nhng file HEX tnhng đon  
chương trình hướng đối tượng tuyt đối.  
RTX51 Tiny hthng thi gian thc RTX51 , thiết kế đơn gin nhng dán  
phn mm phc tp, định thi.  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
19  
Đồ Án Tt Nghip  
II.1 CHU TRÌNH PHÁT TRIN PHN MM  
Khi chúng ta sdng phn mm Keil µVision , chu trình phát trin phn mm  
cũng ging như chu trình phát trin bao phn mm khác.  
1. Khi to project , la chn chip tcơ sdliu thiết b, thiết đặt nhng công cụ  
định hình.  
2. To ra nhng tp tin ngun C hoc assembly.  
3. Xây dng nhng ng dng vi Project Manager.  
4. Kim tra li tp tin ngun.  
5. Kim tra nhng ng dng được liên kết.  
Sơ đồ khi sau đây minh ha chu trình phát trin phn mm µVision/ARM đầy  
đủ .Mi phn được mô tả ở bên dưới.  
II.2 µVision IDE  
µVision IDE kết hp qun lý dán , trình biên tp vi ssa cha li, cài đặt tùy  
chn, phương tin, và giúp đỡ trc tuyến. Sdng µVision để to ra nhng tp tin ngun  
và tchc chúng vào trong nhng dán ng dng. µVision IDE tdng biên tp, lp  
ráp, và liên kết nhng ng dng nhúng.  
C51 Compiler & A51 Macro Assembler (Trình biên tp C51 và trình hp ngA51 )  
Nhng tp tin ngun được to ra bi µVision IDE được đưa qua C51 hoc  
A51.Trình biên tp và trình lp ráp xlý nhng tp tin ngun và to ra nhng tp tin đối  
tượng định vli được.  
SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K  
Trang  
20  
Tải về để xem bản đầy đủ
pdf 66 trang yennguyen 30/03/2022 5400
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Lập trình C cho họ vi điều khiển 8051", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfdo_an_lap_trinh_c_cho_ho_vi_dieu_khien_8051.pdf