AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

26
AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao, công suất nguồn tiêu thụ thấp, có 20 Kb bộ nhớ ROM và 256 byte RAM. Chíp này được sản xuất dựa vào công nghệ bộ nhớ không bị mất nội dung có độ tích hợp cao của Atmel. Chíp AT89C55WD tương thích với tập lệnh và các chân ra của chuẩn công nghiệp MSC51 và MSC52. Flash trên chíp cho phép bộ nhớ chương trình được lập trình lại trên hệ thống hoặc bằng bộ lập trình bộ nhớ không mất nội dung quy ước. Bằng cách kết hợp một CPU với bộ nhớ Flash, AT89C55WD là một hệ vi tính mạnh, nó có độ linh động cao đối với các ứng dụng điều khiển. AT89C55WD có các đặc trưng chuẩn sau: <!--[if !supportLists]-->- 20 Kb bộ nhớ ROM.<!--[endif]--> <!--[if !supportLists]-->- 256 byte RAM.<!-- [endif]--> <!--[if !supportLists]-->- 32 cổng xuất nhập.<!--[endif]--> <!--[if !supportLists]-->- 3 bộ định thời 16 bit.<!--[endif]-->

Transcript of AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

Page 1: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao, công suất

nguồn tiêu thụ thấp, có 20 Kb bộ nhớ ROM và 256 byte RAM. Chíp này được

sản xuất dựa vào công nghệ bộ nhớ không bị mất nội dung có độ tích hợp cao

của Atmel. Chíp AT89C55WD tương thích với tập lệnh và các chân ra của

chuẩn công nghiệp MSC51 và MSC52. Flash trên chíp cho phép bộ nhớ

chương trình được lập trình lại trên hệ thống hoặc bằng bộ lập trình bộ nhớ

không mất nội dung quy ước.

Bằng cách kết hợp một CPU với bộ nhớ Flash, AT89C55WD là một hệ vi tính

mạnh, nó có độ linh động cao đối với các ứng dụng điều khiển.

            AT89C55WD có các đặc trưng chuẩn sau:

<!--[if !supportLists]-->-          20 Kb bộ nhớ ROM.<!--[endif]-->

<!--[if !supportLists]-->-          256 byte RAM.<!--[endif]-->

<!--[if !supportLists]-->-          32 cổng xuất nhập.<!--[endif]-->

<!--[if !supportLists]-->-          3 bộ định thời 16 bit.<!--[endif]-->

<!--[if !supportLists]-->-          Một cấu trúc ngắt 2 mức ưu tiên và 6 nguyên

nhân ngắt.<!--[endif]-->

<!--[if !supportLists]-->-          Một port nối tiếp và song song.<!--[endif]-->

<!--[if !supportLists]-->-          Mạch dao động và tạo xung clock.<!--[endif]-->

AT89C55WD có thiết kế logic tĩnh nên cho phép tần số 0Hz hoạt động và nó

còn có 2 chế độ hoạt động để tiết kiệm năng lượng nhờ phần mềm. Chế độ

nguồn giảm, CPU ngừng hoạt động trong khi đó RAM, các bộ định thời, bộ

đếm , port nối tiếp và hệ thống ngắt vẫn hoạt động bình thường.

Page 2: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

Ở chế độ nguồn giảm vẫn tồn tại nội dung trong RAM, tuy nhiên mạch dao

động không cung cấp xung để vô hiệu hóa các hoạt động khác của chip cho

đến khi reset.

 

      2. Sơ đồ chân của AT89C55WD.

3.Sơ đồ khối.

Page 3: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

4. Mô tả các chân

4.1. Vcc .

Chân cung cấp điện

4.2. Gnd.

Chân nối đất (0V)

4.3. Port 0.

Page 4: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

      Port 0 là một  port xuất nhập 8-bit. Mỗi port có thể có thể kết nối với 8

mạch  TTL . Khi ta đưa vào port 0 lên mức 1, các ngõ vào của port 0 sử dụng

với tổng trở cao.

Port 0 còn làm bus địa chỉ và bus dữ liệu khi truy xuất dữ liệu và bộ nhớ

chương trình ngoài. Ở chể độ này, P0 phải có thêm điện trở kéo ngoài.

Ngoài ra, P0 còn nhận các byte mã khi lập trình và xuất các byte mã khi kiểm

tra chương trình.

4.4. Port 1.

Là port xuất nhập 8 bit hai chiều có điện trở kéo bên trong. P1 có thể kết nối

với 4 mạch TTL. Khi là port xuất  thì P1 được mắc xuống mức 0 và ngược lại,

nếu là port nhập thì mắc lên mức 1. Ngoài ra, khác với 8051, 89C55WD còn

có  chân P1.0 dùng làm ngõ vào của bộ đếm ngoài và chân P1.1 vừa làm Timer

vừa làm Counter vừa điều khiển xung kích.

4.5. Port 2

Port 2 cũng là port xuất nhập hai chiều có điện trở kéo lên bên trong, nó có thể

kết hợp với 4 mạch TTL. Port 2 của AT89C55WD cũng có chức năng tương tự

như của 8051.

4.6. Port 3

Ngoài nhiệm vụ xuất nhập, P3 còn có chức năng  điều khiển có sử dụng bộ nhớ

ngoài hay không.

Chức năng từng chân của P3 :

P3.0(RxD) : ngõ vào của port nối tiếp.

Page 5: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

P3.1(TxD) : ngõ vào port nối tiếp.

P3.2(INT0\) : ngõ ngắt ngoài 0.

P3.3(INT1\) : ngõ ngắt ngoài 1.

P3.4(T0) : ngõ vào bộ định thời/ bộ đếm 0.

P3.5(T1) : ngõ vào bộ định thời/ bộ đếm 1.

P3.6(WR\) : điều khiển ghi vào bộ nhớ ngoài .

.           P3.7(RD\) : điều khiển đọc từ bộ nhớ ngoài.

             4.7. Chân Reset.

             Thiết lập lại cho chíp, nó thực hiện hết 2 chu kỳ máy. Khi reset, nó sẽ

hoạt động lại từ đầu, từ giá trị ta đã đặt trước cho nó.

              4.8. Chân ALE( Andress latch enable) : Chân cho phép chốt địa chỉ

             Cho phép chốt byte thấp của địa chỉ trong thời gian truy xuất bộ nhớ

ngoài. Nó cũng là ngõ vào của xung lập trình trong suốt thời gian lập trình cho

Flash.

             Khi hoạt động bình thường thì ngõ ra của chân ALE có tần số bằng 1/6

tần số của mạch dao động trên chíp. Vì vậy, tín hiệu ra trên chân ALE có thể

làm xung clock cho các mạch khác.

             Nếu không muốn chân này chốt địa chỉ byte thấp thì ta set bit 0 của

thanh ghi chức năng đặc biệt có địa chỉ là 8EH. Khi bit này được set thì ALE

chỉ tích cực trong thời gian thực hiện lệnh MOVX và MOVC.

Page 6: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

             4.9. Chân PSEN\(Program store enable) : Chân cho phép bộ nhớ

chương trình

             PSEN\=0 : CPU tìm và nạp lệnh từ ROM ngoài.

            PSEN\=1 : Chỉ sử dụng ROM trong.

            4.10. Chân EA\(External access) : Chân truy xuất ngoài.

             EA\=0 : Sử dụng chương trình của ROM ngoài.

             EA\=1 : Sử dụng chương trình của ROM nội.

Lưu ý: Chân EA luôn được nối mass hoặc nguồn, không được để trống chân

này

             4..11. Chân XTAL.

             Chân XTAL1 : Ngõ vào mạch dao dộng trong chíp.

Chân XTAL2 : Ngõ ra mạch dao dộng trong chíp.

5. Thanh ghi chức năng đặc biệt(SFR).

Page 7: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

             Có địa chỉ từ 80H đến FFH

Thanh ghi chức năng đặc biệt của 89C55WD cũng có các thanh ghi : A, B,

PSW, SP, DPTR, port xuất nhập (P0, P1,P2,P3), port nối tiếp (SBUF), định

thời( TH0/TL0 ; TH1/TL1), ngắt (IE), điều khiển nguồn (PCON) như 8051.

Ngoài ra, AT89C55WD còn có các thanh ghi : T2CON(Timer 2 control),

AUXR (Auxiliary Register), AUXR1( Auxiliary Register 1) mà họ 8051 không

có.

<!--[if !supportLists]-->-          Thanh ghi T2CON- điều khiển timer/counter

2<!--[endif]-->

*Địa chỉ: 0C8H

TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2\ CP/RL2\

7 6 5 4 3 2 1 0

             TF2: Cờ tràn của timer2 và chỉ xóa bằng phần mềm. TF2 không thể set

khi RCLK=1 hoặc TCLK=1.

             EXF2 (External flag 2 ): Cờ nhớ ngoài.

             RCLK(Receive clock enable): Cho phép nhận xung clock từ port nối

tiếp 1 và 3. Khi timer 1 bị tràn thì RCLK=0 và sẽ cho phép nhận xung clock.

             TCLK(Transmit clock enable): Cho phép truyền xung clock khi

TCLK ở mức 0.

             EXEN2(Timer 2 external enable):

EXEN2=1: Timer 2 không nhận xung clock từ port nối tiếp.

Page 8: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

EXEN2=0: Timer 2 nhận xung clock từ port nối tiếp.

             TR2: Điều khiển hoạt động và dừng của timer 2.

                           TR2=1: Timer 2 hoạt động.

                           TR2=0: Timer 2 dừng.

             C/T2\: Chọn chế độ làm timer hay counter.

                           C/T2\=1: Timer 2 là connter.

                           C/T2\=0: Là timer.        

<!--[if !supportLists]-->-          Thanh ghi AUXR: <!--[endif]-->

*Địa chỉ:8EH. Không định địa chỉ bit.

    

-

     

-  

     

-

WDIDLE DISRTO     

    

-

DISALE

7 6 5 4 3 2 1 0

             DISALE : Cho phép chân ALE

                           DISALE=1 : Chốt byte thấp của địa chỉ, tốc độ ra ở chân ALE

bằng 1/6 tần số của mạch dao dộng.

                           DISALE=0 : ALE chỉ tích cực khi thực hiện lệnh MOVC và

MOVX

             DISTRO : Cho phép reset           timer 2 từ ngoài.

Page 9: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

                           DISTRO=0 :      reset các chân lên mức cao khi Watchdog

timer (WDT) bị tràn.

                           DISTRO=1 : Chỉ reset các chân bên trong chíp.

             WDIDLE: Cho phép WDT ở chế độ nghỉ.

                           WDIDLE=0: WDT tiếp tục đếm ở chế độ nghỉ.

                           WDIDLE=1: WDT dừng đếm .

<!--[if !supportLists]-->-          Thanh ghi AUXR1:<!--[endif]-->

Địa chỉ A2H. Không định địa chỉ bit.

      -       -       -       -       -       -      - DPS

7 6 5 4 3 2 1 0

DPS (Data pointer registers select):Chọn thanh ghi data pointer.

DPS=0 : Chọn thanh ghi DP0L,DPOH.

DPS=1 : Chọn thanh ghi DP1L,DP1H.

6.Tổ chức bộ nhớ.

6.1. Bộ nhớ chương trình.

             Khi EA\=0, chương trình sẽ lấy từ ROM ngoài.

             Khi EA\=1, chương trình sẽ nạp từ 0000H tới 4FFFH trong ROM nội

và 5000H tới FFFFH ở ROM ngoài.

Page 10: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

6.2. Bộ nhớ dữ liệu.

             89C55WD có 256 byte RAM. Phía trên nó còn có 128 byte của thanh

ghi chức năng đặc biệt.

7. Watchdog timer(WDT).

WDT là một phương pháp phục hồi khi mà CPU bị rối loạn. WDT gồm có 13

bit đếm và một đồng hồ thời gian thực. WDT mặc định là để vô hiệu các reset

bên ngoài. Để hoạt động nó, người lập trình phải ghi các giá trị 01EH và 0E1H

vào ô 0A6H trong thanh ghi đặc biệt. Khi hoạt động, WDT sẽ tăng chu kỳ máy

trong lúc tạo xung. Khi WDT bị tràn, nó sẽ reset laị.

8. Timer 0 và timer 1.

             Timer 0 và timer 1 trong IC89C55WD cũng tương tự như của IC

89C51.

9. Timer 2.

             Timer 2 là một timer/counter 16 bit. Các kiểu hoạt động của Timer 2

được điều khiển bởi bit C/T2 ở thanh ghi T2CON. Timer2 có 3 chế độ hoạt

động : 16 bit ; 16 bit tự động nạp lại, chế độ tạo tốc độ baud

             Các chế độ hoạt động của timer 2   :

 

RCLK

+TCLK

      

CP/RL2\

         TR2\ Chế độ

               0             0            1 16 bit tự động nạp lại

Page 11: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

               0              1            1   16 bit

               1              X            1 Tạo tốc độ baud

              

X

             X            0 Tắt

                     Chú thích:

                                     1: Mức cao; 0: Mức thấp; X: Tùy chọn.

Timer 2 gồm 2 thanh ghi 8 bit, TL2 và TH2. Khi là timer, thanh ghi TH2 sẽ

tăng lên sau mỗi chu kỳ máy. Tần số đếm khi là timer bằng 1/12 tần số dao

động của mạch.

Khi timer 2 có chức năng là bộ đếm, tần  tăng của TH2 sẽ bằng 1/24 tần số dao

dộng của thạch anh.

             Thanh ghi điều khiển chế độ hoạt động của timer 2 : T2MOD

             Thanh ghi T2MOD có địa chỉ là 9CH và không định địa chỉ bit

      -       -       -       -       -       -  

T2O

E

 

DCE

N

7 6 5 4 3 2 1 0

                          

T2OE (Timer 2 output enable bit): bit cho phép timer 2 hoạt động.

Page 12: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

DCEN: Khi set nó thì timer 2 có thể đếm được lên hoặc xuống.

10. Chương trình ngắt.

             89C55WD có tổng cộng 6 chế độ ngắt:

<!--[if !supportLists]-->-          2 chế độ ngắt ngoài, ở hai chân  INTO0 và

INTO1.<!--[endif]-->

<!--[if !supportLists]-->-          3 chế độ ngắt định thời (cho timer 0,1,2).      

<!--[endif]-->

<!--[if !supportLists]-->-          1 chế độ ngắt port nối tiếp.<!--[endif]-->

Chế độ ngắt được điều khiển bởi thanh ghi cho phép ngắt IE(Interrupt Enable

Register)

EA      - ET2 ES ET1 EX1 ET0 EX0

EA: Bit cho phép ngắt.

             EA=1: cho phép ngắt.

             EA=0: không cho phép ngắt.

 - :   Bit dự trữ cho người lập trình.

ET2: Bit cho phép ngăt timer 2.

ES: Bit cho phép ngắt port nối tiếp.

ET1:Bit cho phép ngắt timer 1.

EX1: Bit cho phép ngắt ngoài 1.

Page 13: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

ET0: Bit cho phép ngắt timer 0.

EX0: Bit cho phép ngắt ngoài 0.

 

Các tín hiệu điều khiển đưa vào INT0\ và INT1\của P.3, các tín hiệu ra IE0 và

IE1 sẽ cho phép ngắt

11. Chế độ nghỉ.

             Ở chế độ nghỉ, CPU ngừng trong khi tât cả các bộ phận khác vẫn hoạt

động. Chế độ này được điều khiển bằng phần mềm. Nội dung trên RAM và các

thanh ghi chức năng đặc biệt vẫn còn tồn tại.Muốn kết thúc chế độ nghỉ ta phải

reset lại hệ thống, và khi reset lại thì hệ thống lại hoạt động bình thường.

Page 14: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

             Ở chế độ nghỉ, phần cứng cấm truy xuất RAM nội nhưng vẫn cho truy

xuất các port để tránh các thao tác không mong muốn tác động lên port. Vì vậy

sau khi thực hiện lệnh yêu cầu hệ thống nghỉ chúng ta không nên thực hiện các

lệnh tác động đến port hoặc bộ nhớ ngoài.

12. Chế độ nguồn giảm.

             Ở chế động nguồn giảm, mạch tạo xung ngừng hoạt động. Lệnh yêu

cầu nguồn giảm là lệnh sau cùng được CPU thực thi. RAM và các thanh ghi

chức năng đặc biệt vẫn duy trì. Để kết thúc chế độ nguồn giảm ta phải reset lại

hệ thống.

             Khác với chế độ nghỉ, khi reset, hệ thống sẽ xác định lại các thanh ghi

nhưng không làm thay đổi RAM. Vì vây, chúng ta không nên reset tức thời mà

cần giữ nút reset một khoảng thời gian để hệ thống đạt được trạng thái ổn định.

             Trạng thái của các chân ở chế độ nghỉ và chế độ nguồn giảm được

miêu tả trong bảng sau:

Chế

độ

Bộ

nhớ

chư

ơng

trìn

h

ALE PSEN\ PORT0 PORT1 PORT2 PORT3

Nghỉ Bên

tron

g

1 1 Dữ liệu Dữ liệu Dữ liệu Dữ liệu

Nghỉ Bên 1 1 Thả Dữ liệu Địa chỉ Dữ liệu

Page 15: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

tron

g

nổi

Nguồn

giảm

Bên

tron

g

0 0 Dữ liệu Dữ liệu Dữ liệu Dữ liệu

Nguồn

giảm

Bên

ngo

ài

0 0 Thả

nổi

Dữ liệu Dữ liệu Dữ liệu

13. Các bít khóa bộ nhớ chương trình.

AT89C55WD có 3 bit khóa, nó cho phép chúng ta lập trình(P) hoặc không(U).

Chế độ         Các bit khóa Kiểu khóa

LB1 LB2 LB3

1 U U U Cho phép lập trình.

2 P U U Lệnh MOV được thực thi từ ROM

ngoài, không được nạp lệnh từ

ROM nội. Lúc này, việc lập trình

trên Flash bị cấm.

3 P P U Như chế độ 2, nhưng cấm thêm việc

kiểm tra chương trình.

4 P P P Như chế độ 3, cấm thêm việc thực

Page 16: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

thi chương trình ngoài

14.Lập trình cho Flash.

             AT89C55WD có bộ nhớ Flash luôn sẵn sàng để lập trình. Mạch giao

tiếp lập trình cần điện áp cao (12 volt), các tín hiệu cho phép và tương thích

với Flash hay EPROM.

             Chúng ta lập trình cho nó bằng cách sắp xếp code theo thứ tự từng byte

một.

             Thuật toán cho lập trình:

             Trước khi lập trình, các tín hiệu địa chỉ, dữ liệu và điều khiển được set

theo chế độ lập trình. Chúng được thể hiện dưới bảng sau:

                   

Để lập trình cho AT89C55WD, chúng ta cần thực hiện theo từng bước sau:

<!--[if !supportLists]-->-          <!--[endif]-->Chọn vùng nhớ trên đường địa chỉ

<!--[if !supportLists]-->-          <!--[endif]-->Chọn byte dữ liệu trên đường dữ

liệu.

Page 17: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

<!--[if !supportLists]-->-          <!--[endif]-->Chọn kích hoạt phù hợp các tín

hiệu điều khiển.

<!--[if !supportLists]-->-          <!--[endif]-->Tăng chân EA/Vpp lên 12V

<!--[if !supportLists]-->-          <!--[endif]-->Đưa xung vào chân ALE/PROG

sao cho không bị khóa bit. Xung vào có thời gian lớn hơn 50 us

Nhưng, trước khi lập trình chúng ta cần phải xóa chip. Các bước thực hiện xóa

bit như sau:

                          - Tăng Vcc lên 6.5 V

                          - Đưa xung vào chân ALE/PROG có thời gian 200-500 ns

                          - Chờ 150 ms

                          - Reset Vcc

                          - Thực hiện các bước trên một lần nữa.

15. Các giá trị định mức của AT89C55WD

             - Nhiệt độ hoạt động tốt nhất…………-55° C đến 125° C.

             - Nhiệt độ cho phép có thể……………-65° C đến 150° C.

             - Điện áp mỗi chân so với mass…... -1.0V đến +7.0V.

             - Điện áp định mức ……………………+6.6V.

             - Dòng điện định mức……………………15mA.

16. Các kiểu đóng gói.

Page 18: AT89C55WD là một hệ điều khiển 8 bit đơn chíp hiệu suất cao

Tốc

độ

Nguồn Mã đóng gói Kiểu       Vỏ Số

ch

ân

Nhiệt

độ

hai

loại

IC:

24

M

Hz

33

M

HZ

4-

5.5V

đối

với

loại

24

MHz

4.5-

5.5

với

loại

33MH

z

AT89C55WD-

24AU

44A Plastic,

dẹt,

hình

vuông

44 

 

 

-40°

C to

85°

C

AT89C55WD-

24JU

44J Plastic,

đế bọc

chì,

hình

vuông

dẹt

44

AT89C55WD-

24PU

40P6 Plastic,

dày

0.6

inch,

hai

hàng

chân.

40