Tài liệu tham khảo hỗ trợ môn Vi xử lý các họ vi điều khiển thế hệ mới (Phần 1)

Tóm tắt Tài liệu tham khảo hỗ trợ môn Vi xử lý các họ vi điều khiển thế hệ mới (Phần 1): ...r 0 1 M1 0 Bit chọn mode của Timer 0 0 M0 0 Bit chôn mode của Timer 0 ** Với hai bit M0 và M1 của TMOD để chọn mode cho Timer 0 hoặc Timer 1. Bit Name Timer Description 0 0 0 Mode Timer 13 bit (mode 8048) 0 1 1 Mode Timer 16 bit 1 0 2 Mode tự động nạp 8 bit 1 1 3 Mode Timer tách ...ợc sự kiểm tra của các mode định vị và các lệnh của chúng có các Opcode 8 bit. Điều này cung cấp khả năng 28 = 256 lệnh được thi hành. Vì lệnh có 1 hoặc 2 byte bởi dữ liệu hoặc địa chỉ thêm vào Opcode. Trong toàn bộ các lệnh có 139 lệnh 1 byte, 92 lệnh 2 byte và 24 lệnh 3 byte. 1.1.7.1. Các ...1 WDT tràn bộ nhớ. Bộ đếm 13 -bit tràn khi nó tới 8191 (1FFFH), và khi đó sẽ Reset thiết bị. Khi WDT được cho phép nó sẽ gia tăng mọi chu kì máy trong khi bộ dao động đang chạy. Điều đó có nghĩa là người sử dụng phải khởi chạy lại WDT tại tối thiểu mọi 8191 chu kì máy Để khởi chạy lại WDT ng...

pdf59 trang | Chia sẻ: havih72 | Lượt xem: 114 | Lượt tải: 0download
Nội dung tài liệu Tài liệu tham khảo hỗ trợ môn Vi xử lý các họ vi điều khiển thế hệ mới (Phần 1), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
 AT89C55WD vận hành cùng cách với UART trong 
AT89C51 và AT89C52. 
Bộ định thời 0 và Bộ định thời 1 
Bộ định thời 0 và bộ định thời 1 trong AT89C55WD hoạt động giống như 
bộ định thời 0 và bộ định thời 1 trong AT89C51 và AT89C52. 
Bộ Định Thời 2 
Bộ định thời 2 là một bộ Đếm/định thời có thể hoạt động định thời hoặc 
đếm một sự kiện. Kiểu hoạt động được chọn bằng bit C/T2 trong SFR T2CON. 
Bộ định thời 2 có 3 các độ hoạt động: thu nhận: tự nạp lại, tạo ra tốc độ baud, 
tốc độ đếm bằng 1/12 tần số của mạch dao động. 
Các chế độ hoạt động của bộ định thời 2 
RCLK+TCL CP/RL2 TR2 Chế Độ 
0 0 1 Nạp tự động 16-bit 
0 1 1 Thu nhân 16-bit 
1 X 1 Tạo tốc độ Baud 
X X 0 Tắt 
Trong chức năng đếm. thanh ghi được tăng một trị số trong đáp ứng chuyển 
1 thành 0 trong chân đầu vào bên ngoài hoạt động đúng của nó, T2. Trong chức 
năng này đầu vào bên ngoài lấy mẫu trong quá trình S5P2 của mọi chu kì máy. 
 42
Khi mẫu được đưa lên mức cao ở một chu kì và đạt mức thấp trong chu kì tiếp 
theo thì đếm được tăng 1 giá trị. Giá trị đếm mới xuất hiện trong thanh ghi trong 
S3P1 của chu kì sau chu kì mà sự chuyển tiếp được phát hiện. Từ 2 chu kì máy 
(24 chu kì mạch dao động) được yêu cầu để thừa nhận chuyển tiếp 1 thành 0, tốc 
độ đếm tối đa là 1/24 tần số mạch dao động. Đế đảm bảo 1 mức độ nhất định 
được lấy mẫu tối thiểu 1 lần trước khi thay đổi, mức độ đó nên được giữ trong 
tối thiểu 1 chu kì máy trọn vẹn. 
Chế độ Thu nhận (Capture) 
Trong chế độ thul nhận, 2 tùy chọn được chọn bởi EXEN2 trong T2CON. 
Nếu EXEN2=0 bộ định thời 2 là 1 bộ đếm hay định thời 16-bit thiết lập bit TF2 
trong T2CON khi tràn bộ nhớ. Bit đó có thể được dùng để tạo ra 1 ngắt. Nếu 
EXEN2=I, bộ định thời 2 thực thi cùng hoạt động ,nhưng chuyển đổi 1 ´ 0 tại 
đầu vào ngoài T2EX cũng gây ra giá trị hiện tại TH2 và TL2 để được thu nhận 
lần lượt trong RCAP2H và RCAP2L. Ngoài ra, sự chuyển đổi tại T2EX cũng là 
nguyên nhân khiến bit EXF2 trongT2CON được thiết lập. Bit EXF2 cũng như 
TF2 có thể tạo ra 1 ngắt. 
Hình vẽ minh họa: 
Chế độ Tự nạp lại (Bộ đếm tiến hoặc lùi ) 
Bộ định thời 2 có thể được lập trình để đếm tiến hoặc lùi khi đã định cấu 
hình trong chế độ tự nạp lại 16-bit.Tính năng này được gọi tới bằng bit DCEN 
(Down Cunter Enable) được định vị trong SFR T2MOD. Trong lúc Reset, bit 
DCEN được sét tới 0 vì thế bộ định thời 2 sẽ mặc định đếm tiến. Khi DCEN 
được set, bộ định thời 2 có thể đếm tiến hoặc lùi, phụ thuộc giá trị của chân 
T2EX. 
 43
Hình vẽ minh họa: DCEN=0 
Trên hình vẽ trên ta thấy bộ định thời 2 tự động đếm tiến khi DCEN=0. 
Trong chế độ này, 2 tùy chọn được chọn bởi bit EXEN2 trong T2CON. Nếu 
EXEN2=0 bộ định thời 2 đếm tăng tới 0FFFFH và sau đó thiết lập bit TF2 khi 
tràn bộ nhớ. Tràn bộ nhớ càng khiến các thanh ghi định thời được nạp lại với 16-
bit giá trị trong RCAP2H và RCAP2L. Các giá trị tong RCAP2HVÀ RCAP2L 
trong bộ định thời trong chế độ Thu nhận được định sẵn bằng phần mềm. Nếu 
EXEN2=1, chế độ nạp lại 16-bit có thể được khởi chạy bằng sự tràn bộ nhớ 
hoặc sự chuyển 1 ´ 0 tại đầu vào ngoài T2EX . Sự chuyển đổi đó cùng thiết lập 
bit EXF2. Cả 2 bit TF2 và EXF2 đều có thể tạo ra 1 ngắt nêu được phép. 
Sự thiết lập bit DCEN(DCEN=1) cho phép bộ định thời 2 đếm tiến hoặc 
lùi. Trong chế độ này, chân T2EX điều khiển hướng đếm. T2EX=1, bộ định thời 
2 đếm tiến, bộ định thời sẽ tràn tại 0FFFFH và thiết lập bit TF2. Sự tràn bộ nhớ 
cũng khiến l6-bit giá trị trong RCAP2H và RCAP2L được nạp lại lần lượt vào 
 44
trong các thanh ghi định thời TH2 và TL2. 
T2EX=0, bộ định thời đếm lùi. Bộ định thời thiếu bộ nhớ khi giá trị lưu trữ 
trong TH2 và TL2 bằng giá trị lưu trữ trong RCAP2H và RCAP2L. Thiết lập bit 
TF2 và làm cho 0FFFFH được nạp lại vào các thanh ghi định thời. 
Bit EXF2 toggles mỗi khi bộ định thời 2 tràn bộ nhớ hoặc thiếu bộ nhớ và 
có thể được sử dụng như bit thứ 17. Trong chế độ hoạt động này EXF2 không 
làm cờ tràn. 
Máy phát tốc độ baud 
Bộ định thời 2 được lựa chọn như máy phát tốc độ baud bằng việc thiết lập 
TCLK, RCLK trong T2CON. Chú ý rằng tốc độ baud cho truyền và nhận có thể 
khác nếu bộ định thời 2 đực dung cho máy nhận hoặc máy truyền và bộ định 
thời 1 được dùng cho chức năng khác. Việc thiết lập RCLK, TCLK đặt bộ định 
thời 2 vào chế độ máy phát tốc độ baud của nó, chế độ máy phát tốc độ baud 
tương tự như chế độ tự nạp lại trong đó 1 rollover trong TF2 làm cho các thanh 
ghi bộ định thời 2 được nạp lại với 16 bit giá trị trong các thanh ghi RCAP2H và 
RCAP2L, chúng được định sẵn bằng phần mềm tốc độ baud trong các chế độ 1 
và 3 được xác định bằng tốc độ tràn bộ nhớ theo phương trình sau: 
Tốc độ baud các chế độ 1 và 3 = tốc độ tràn bộ nhớ của bộ định thời 2/16. 
Bộ định thời có thể được cấu hình đề hoạt động định thời hoặc đếm. Trong hầu 
hết các ứng dụng, nó được cấu hình cho hoạt động định thời. Thông thường, như 
1 thiết bị định thời, nó gia tăng mọi chu kì máy (tại 1/12 tần số mạch dao động). 
Tuy nhiên như 1 máy phát tốc độ baud, nó gia tăng mọi trạng thái thời gian (tại 
1/2 tần số mạch dao động). 
Công thức tính tốc độ baud : 
(Chế độ 1 và 3/tốc độ baud) = 
(Tần số mạch dao động/32x[65536-(RCAP2H,RCAP2L)]) 
Trong đó (RCAP2H, RCAP2L) là nội dung của RCAP2H và RCAP2L 
được lấy bằng 1 số nguyên không dấu 16 bit. 
Bộ định thời 2 trong chế độ 1 máy phát tốc độ bằng được minh họa bằng 
hình 1191 tính minh họa này chỉ đúng nếu RCLK hoặc TCLK=1 trong T2CON. 
Chú ý rằng 1 rollover trong TH2 không thiết lập TF2 và sẽ không tạo ra ngắt. 
Cũng lưu ý rằng nếu EXEN2 được thiết lập, một chuyển đổi 1 ´ 0 trong T2EX 
sẽ thiết lập EXF2 nhưng không nạp lại từ (RCAP2H, RCAP2L) tới (TH2, THL). 
Như vậy khi bộ định thời được sử dụng trong chế độ máy phát tốc độ baud. 
 45
T2EX có thể được dung như một ngắt ngoài. 
Hình 1. 19. Bộ định thời 2 trong chế độ máy phát tốc độ baud 
Chú ý rằng khi bộ định thời 2 đang chạy (TR2 = 1) như một bộ định thời 
trong chế độ tạo tác độ baud, TH2 hoặc TL2 không được đọc từ hoặc ghi tới bộ 
định thời 2. Dưới những điều kiện đó, bộ định thời gia tăng mọi trạng thái thời 
gian, và kết quả của việc đọc hay ghi không thể chính xác. Thanh ghi RCAP2 có 
thể đọc nhưng không thể ghi, hội vì việc ghi có thê chồng lên việc nạp lại gây ra 
các lỗi nạp lại, ghi. Bộ định thời phải được tắt trước khi truy cập bộ định thời 2 
hoặc các thanh ghi RCAP2. 
Programmable Clock Out 
Một xung clock chu kì nhiệm vụ 50% có thể được lập trình đi ra trên P1.0, 
như được chỉ ra trên hình 14-1. Chân này thêm vào để trở thành một chân 
nhập/xuất thông thường. Có hai chức năng xen kẽ nhau. Nó có thể được lập 
trình tới đầu vào của xung chích ngoài cho bộ đếm/định thời 2 hoặc tới đầu ra 
của xung clock chu kì nhiệm vụ 50% trong dải từ 61 Hz đến 4MHz cho tần số 
hoạt động là 16MHz. 
Để định cấu hình bộ đếm/định thời 2như là máy tạo xung clock, bit C/T2 
(T2CON.1) phải được xoá và bit T2OE (T2MOD.l) phải được thiết lập. Bit TR2 
(T2CON.2) bắt dầu và dừng bộ định thời. 
Tần số xung nhịp ra phụ thuộc tần số mạch dao động và giá trị nạp lại của 
các thanh ghi thu nhận của bộ định thời 2 (RCAP2H, RCAP2L) được tính theo 
phương trình sau: 
Tần số xung nhịp ra = Tần số mạch dao động/{4x[65536-
 46
(RCAP2H,RCAP2L)]} 
Trong chế độ xung nhịp ra, bộ định thời 2 roll-overs sẽ không tạo ra ngắt. 
Phương thức của chế độ này tương tự khi bộ định thời 2 được sử dụng như một 
máy phát tốc độ baud. Có thề đồng thời sử dụng bộ định thời 2 như một máy 
phát tốc độ baud và một máy phát xung clock. Tuy nhiên chú ý rằng các tần số 
tốc độ baud và xung clock ra không thề xác định độc lập từ một thiết bị khác, 
chúng sử dụng cả RCAP2H và RCAP2L. 
Hình minh hoạ: Bộ định thời 2 trong chế độ xung nhịp ra 
Ngắt 
AT89C55WD có tất cả 6 vector : 2 ngắt ngoài (INT0, INT1), 3 ngắt định 
thời (bộ định thời 0, 1 và 2 ) và 3 ngắt cổng nối tiếp . Những ngắt này được chỉ 
ra trong hình minh họa. 
Bảng thanh ghi cho phép ngắt(IE) 
EA _ ET2 ES ET1 EX1 ET0 EX0 
Bit cho phép = 1 cho phép ngắt 
Bit cho phép = 0 vô hiệu hóa ngắt 
Mỗi nguồn ngắt có thể được cho phép hoặc không cho phép riêng lẻ bằng 
cách thiết lập hoặc xoá một bộ trong thanh ghi, chức năng đặc biệt IE. IE cũng 
chứa một bit vô hiệu hóa chung, EA, nó vô hiệu hoá tất cả các ngắt trước đó. 
Chú y rằng bảng 5 chỉ ra rằng bit vị trí IE6 được bổ sung. Phần mềm người dùng 
không nên ghi ‘1’ tới bit vị trí đó, nó có thể được sử dụng trong các sản phẩm 
AT89 tương lai. 
 47
Biểu tượng Vị trí Chức năng 
EA IE.7 Vô hiệu hóa mọi ngắt. Nếu EA=0, không có ngắt 
nào được thừa nhận. Nếu EA=1, mỗi nguồn ngắt 
cho phép hay vô hiệu hóa bằng cách thiết lập hoặc 
xóa bit cho phép của nó. 
 IE.6 Dự trữ 
ET2 IE.5 Bit cho phép ngắt bộ định thời 2 
ES IE.4 Bit cho phép ngắt port nối tiếp 
ET1 IE.3 Bit cho phép ngắt bộ định thời 1 
EX1 IE.2 Bit cho phép ngắt ngoài 
ET0 IE.1 Bit cho phép ngắt bộ định thời 0 
EX0 IE.0 Bên ngoài gián đoạn 0 mẩu có thể 
Ngắt bộ định thời 2 được tạo bởi vùng OR của các bit của TF2 và EXF2 
trong thanh ghi T2CON. Không cờ nào được xoá bằng phần cứng khi sự phục 
vụ thường lệ được vector hoá. Trong thực tế, sự phục vụ thường lệ có thể phải 
xác định TF2 hay EXF2 tạo ra ngắt đó và bit đó phải được xóa trong phần mềm. 
Các cờ TF0, TF1 của bộ định thời 0 và bộ định thời 1 được thiết lập tại S5F2 
của chu kì mà các bộ định thời tàn bộ nhớ. Các giá trị này được làm tròn bằng 
mạch bên trong chu kì tiếp theo. Tuy nhiên, cờ TF2 của bộ định thời 2 lại được 
thiết lập tại S2P2 và được làm tròn trong cùng chu kì với chu kì bộ định thời 
tràn. 
Các đặc tính của mạch dao động 
XTAL1 và XTAL2 lần lượt là đầu vào và đầu ra của 1 bộ khuếch đại đảo 
được cấu hình làm mạch dao động trên chíp. Hoặc 1 tinh thể thạch anh hoặc 
mạch cộng hưởng gốm được sử dụng. Để điều khiển thiết bị này từ 1 nguồn 
xung clock bên ngoài, XTAL2 được thả nổi (không kết nối) trong khi XTAL1 
được điều khiển. Không có yêu cầu nào về chu kì nhiệm vụ của tín hiệu xung 
clock bên ngoài, vì để đầu vào này đến được mạch tạo xung clock bên trong 
chíp phải đi qua 1 flip-flop chia-2, nhưng các chi tiết kỹ thuật về thời gian mức 
cao và mức thấp, điện áp cực tiểu và cực đại phải được xem xét. 
Chế độ nghỉ 
Trong chế độ nghỉ, CPU đặt chính nó vào trạng thái ngủ trong khi tất cả các 
 48
ngoại vi bên trong chíp vẫn tích cực. Chế độ này được điều khiển bởi phần 
mềm. Nội dung của RAM trên chíp và của tất cả các thanh ghi chức năng đặc 
biệt vẫn không đổi trong thời gian tồn tại chế độ này. Chế độ nghỉ được kết thúc 
bởi 1 ngắt bất kì nào dược phép hoặc bằng Reset cứng. 
Ta cần lưu ý rằng khi chế độ nghỉ được kết thúc bởi 1 reset cứng, chíp vi 
điều khiển sẽ tiếp tục bình thường việc thực thi chương trình từ nơi chương trình 
bị tạm dừng trong vòng 2 chu kì thấy trước khi giải thuật reset mềm nắm quyền 
điều khiển. Ở chế độ nghi. phần cứng trên chíp cấm truy xuất RAM nội dung 
nhưng cho phép truy xuất các chân của các port. Để tránh khả năng có 1 thao tác 
ghi không mong muốn đến 1 chân port khi chế độ nghỉ kết thúc bằng reset, lệnh 
tiếp theo lệnh yêu cầu chế độ nghỉ không nên là lệnh ghi đến chân port hoặc đến 
bộ nhớ ngoài. 
Chế độ nguồn giảm 
Trong chế độ nguồn giảm, mạch dao động ngừng hoạt động và lệnh yêu 
cầu chế độ nguồn giảm là lệnh sau cùng được thực thi. RAM trên chíp và các 
thanh ghi chức năng đặc biệt vẫn duy trì giá trị của chúng cho đến khi chế độ 
nguồn giảm kết thúc. Ra khỏi chế độ nguồn giảm bằng reset cứng hoặc bằng 1 
ngắt được phép. Reset xác định tại các thanh ghi chức năng đặc biệt nhưng 
không thay đổi RAM trên chíp.Việc reset không nên xảy ra trước khi Vcc được 
khôi phục lại mức điện áp bình thường và phải kéo dài trạng thái tích cực của 
chân reset đủ lâu để cho phép mạch dao động hoạt động trở lại và đạt trạng thái 
ổn định . 
Bảng trạng thái của các chân ngoài trong chế độ nguồn giảm, chế độ nghỉ 
Chế độ Bộ nhớ chương 
trình 
ALE PSEN PORT0 PORT1 PORT2 PORT3 
Nghỉ Bên trong 1 Dữ liệu Dữ liệu Dữ liệu Dữ liệu
Nghỉ Bên ngoài 1 1 Thả nôi Dữ liệu Địa chỉ Dữ liệu
Nguồn giảm Bên trong 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
 49
1.3 VI ĐIỀU KHIỂN AT89C54/58 
1.3.1 Mô tả 
SST89C54 và SST89C58 là thuộc họ FlashFlex51 vi mạch điều khiển 8-
bit. SST89C54/58 cùng tập lệnh mạnh và sử dụng cùng kiểu kiến trúc, thích hợp 
với tiêu chuẩn thiết bị vi điều khiển 8xC5x. 
SST89C54/58 có 20/36 KB của bộ nhớ chương trình EEPROM trong chíp 
tích hợp. Phân chính của khối SupperFlash 0 chiếm 16/32 KB không gian nhớ 
chương trình bên trong và khối SupperFlash chiếm giữ 4 KB của SST89C54/58 
trong không gian như chương trình bên trong. 4kbyte của khối SuperFlash thứ 
hai có thể được sắp xếp ở vị trí cao hay thấp 64 KByte: nó có thể cũng được ẩn 
dưới bộ đếm chương trình và sử dựng dữ liệu như một EEPROM độc lập. Khối 
bộ nhớ Flash có thể được lập trình qua một tiêu chuẩn 87C5x OTP EPROM phù 
hợp với một bộ tiếp hợp đặc biệt và vi chương trình cho những thiết bị 
SST89C54/58. 
 50
1.3.2.Tổ chức bộ nhớ 
SST89C54/58 có vùng địa chỉ riêng biệt cho bộ nhớ chương trình dữ liệu. 
Bộ nhớ chương trình 
Có hai khối bộ nhớ truy cập nhanh bên trong SST89C54/58. Khối bộ nhớ 
block 0 có 16/32 Kbyte và chiếm giữ vùng địa chỉ 0000H đến 3FFFH/7FFFH. 
Khối bộ nhớ truy cập nhanh thứ hai là Bock 1 có 4 Kbyte và chiếm giữ vùng địa 
chỉ F000H tới FFFFH. 
16/32 KB khối nhớ truy cập nhanh được tổ chức như 128/256 Sector được 
đanh địa chỉ nhờ 4 bộ địa chỉ từ A15 đến A17, mỗi sector gồm 128 Byte, 4KB 
khối nhớ thứ 2 được chia thành các Sector mỗi sector có 64 byte. 
Khi cho phép thao tác mã bên trong (EA#=l), 16/32 khối nhớ truy cập 
nhanh đầu tiên luôn hiện ở máy đếm chương trình mã lệnh. Hình 1.23 cho thấy 
sự tổ chức bộ nhớ chương trình cho SST89C54/58 
Hình 1.23. Tổ chức chương trình bộ nhớ SST89C54/58 
 51
Khi cho phép thao tác mã bên trong(EA#=l), khối bộ nhớ 4kbyte thứ 2 truy 
cập nhanh cho mã lệnh, khối bộ nhớ thứ 2 luôn luôn có thể tiếp cận những thanh 
ghi của hòm thư: SFCM, SFCF, SFAL, SFAH, SFDT và SFST. Khi nào bit 7 
của cấu hình hòm thư SupperFlash (SFCF[7]). SFR định địa chỉ B1H, khối 
4kbyte sẽ hiện rõ ở bộ đếm chương trình. 
Sắp xếp bộ nhớ 
SST89C54/58 cho phép sắp xếp một cách đặc biệt, người sử dụng có thể 
sắp xếp bộ nhớ Flash vào bên trong các rãnh từ, vì thế có thể ngăn chặn Block 0 
của bộ nhớ Flash đã được chương trình hoá. Từ đó có thể ngăn chặn Block 0 
chiếm giữ vùng địa chỉ chương trinh bên phải cua 8051 tại vị trí các vector ngắt 
cư trú, những vector ngắt đó sẽ không sẵn có khi Block 0 đang được chương 
trình hóa. 
SST89C54/58 cung cấp 4 tuỳ chọn của sự sắp xếp bộ nhớ. Khi nào 4kbyte 
ở mức thấp được ánh xạ, bất kì sự truy nhập chương trình bên trong, địa chỉ 
logic sẽ bị hạn chế từ 0000H đến 0FFFH sẽ có 4 giá trị lớn nhất của địa chỉ 
thành bit ‘1’, một lần nữa sự truy cập lại được gửi tới F000H - FFFFH. Block 1 
cũng có thể truy cập đến F000H - FFFFH. Hình 7 và 8 biểu diễn sự sắp xếp lại 
tổ chức bộ nhớ chương trình của SST89C54/58. 
 52
Hình 1.24. SST89C54/58 Tổ chức lại bộ nhớ Hình 1.25. SST89C54/58 sắp xếp lại 
 chương trình chương trình tổ chức bộ nhớ 
Bộ nhớ dữ liệu 
SST89C54/58 có 256x8 bit của bộ nhớ RAM và 64kbyte dữ liệu bộ nhớ 
ngoài 
Hình 1.26. Tổ chức ô nhớ trong thanh ghi chức năng của Flashnex51 
Thanh ghi chức năng đặc biệt của SST89C54/58 
Bảng 3.4: CPU related SFRs 
 53
Kí 
hiệu 
Mô tả Chỉ 
dẫn 
địa 
chỉ 
Địa chỉ bit, kí hiệu hoặc thay thế chuyển hàm Khởi tạo 
giá trị 
LSB 
ACC* Bình 
ắc quy 
E0H ACC[7:0] 00H 
B* Đăng 
kí B 
F0H B[7:0] 00H 
PSW* Từ tình 
trạng 
chương 
trình 
D0H CY AC F0 RS1 RS0 OV F1 P 00H 
SP Ngăn 
xếp 
con trỏ 
81H SP[7:0] 07H 
DPL Điểm 
dữ liệu 
thấp 
82H DLP[7:0] 00H 
DPH Điểm 
dữ liệu 
cao 0 
83H DHP[7:0] 00H 
IE* Cho 
phép 
ngắt 
A8H EA - ET2 ES0 ET1 EX1 ET0 EX0 40H 
IP* Ưu 
tiên 
ngắt 
B8H - - PT2 PS PT1 PX1 PT0 PX0 xx000000
b 
PCON Điều 
khiển 
nguồn 
87H SM
OD 
- - - GF
1 
GF0 PD IDL 0xxx0000
b 
Bảng 3B: Lập trình bộ nhớ Flash SFRS 
 54
Kí 
hiệu 
Mô 
tả 
Chỉ 
dẫn 
địa 
chỉ 
Địa chỉ bit, kí hiệu hoặc thay thế chuyển hàm Khởi tạo 
giá trị LSB
SFST Tình 
trạng 
Super 
Flash 
B6H SECD - Busy Flash_busy - - xxx00000B
SFCF Cấu 
hình 
Super 
Flash 
B2H VIS IAPEN - - - - MAP_EN 000000xxB
SFCF Lệnh 
Super 
Flash 
B2H FIE FCM 00H 
SFCM Dư 
liệu 
Super 
Flash 
B5H Thanh ghi dữ liệu SuperFlash 00H 
SFAL Địa 
chỉ 
thấp 
Super 
Flash 
B3H SuperFlash sắp đặt thanh ghi địa chỉ thấp 
từ A7-A0(SFAL) 
00H 
SFAH Địa 
chỉ 
cao 
Super 
Flash 
B4H SuperFlash sắp đặt thanh ghi địa chỉ cao 
từ A15-A8(SFAH) 
00H 
Thanh ghi trạng thái SuperFlash (SFST) (Thanh ghi chỉ đọc) 
7 6 5 4 3 2 1 0 Vị trí 
0B6H SECD2 SECD1 SECD0 - Busy Flash_busy - - 
 55
Kí hiệu Chức năng 
SECD2 Kiểm tra bit 1 
SECD1 Kiểm tra bit 2 
SECD0 Kiểm tra bit 3 
Chuyển tới bảng 8 cho tuỳ chọn kiểm tra khóa 
Busy Truyền loạt chương trình hoàn thành kiểm soát vòng bit 
1 : Thiết bị bận với thao tác flash 
0: Thiết bị sẵn sàng cho thao truyền loạt chương trình tiếp theo 
Flash_busy Hoàn thành thao tác kiềm tra Flash 
1: Thiết bị bận với thao tác flash 
0: Thiết bị hoàn thành các lệnh cuối cùng, bao gồm cả truyền 
loạt chương trình 
Thanh ghi lệnh SuperFlash (SFCM) 
7 6 5 4 3 2 1 0 Vị trí 
0B2H FIE FCM6 FCM5 FCM4 FCM3 FCM2 FCM1 FCM0 
Kí hiệu Chức năng 
FIE Flash cho phép ngắt 
1 : INT1 # hoàn thành thao tác gán tín hiệu IAP 
INT1 # không cho phép ngắt ngoài 
0 : INT1 # không gán 
FCM[6:0] Flash thao tác lệnh 
000-0001B chíp xoá 
000 - 0110B truyền loạt chương trình 
000 - 1011B xoá rãnh từ 
000 - 1100B Kiểm tra byte 
 56
000 - 1101B Xoá khối 
000 - 1110B Byte chương trình 
 tất cả các sự kết hơp khác không được thực hiện, và dự 
 trữ cho sử dụng trong tương lai. 
Thanh ghi dữ liệu SuperFlash (SFDT) 
7 6 5 4 3 2 1 0 Vị trí 
0B5H Thanh ghi dữ liệu SuperFlash 
Thanh ghi địa chỉ SuperFlash (SFAL) 
7 6 5 4 3 2 1 0 Vị trí 
0B3H Thanh ghi địa chỉ thấp SuperFlash 
Thanh ghi địa chỉ SuperFlash (SFAH) 
7 6 5 4 3 2 1 0 Vị trí 
0B4H Thanh ghi địa chỉ cao SuperFlash 
Bảng 3C: thiết bị bấm giờ SFRs 
WDTC Điều 
khiển 
thiết bị 
bấm 
giờ 
C0H - - - - WDRE WDTS WDT SWDT X0H
WDTH Thiết bị 
bấm 
giờ dữ 
liệu/nạp 
lại 
86H WDRL 00H 
 57
1.4 VI ĐIỀU KHIỂN AT89C2051 
1.4.1 Đặc trưng của AT89C2051 
• Tương thích với sản phẩm họ MCS-51 . 
• Chiếm 2k bytes của bộ nhớ flash. 
• Hệ thống hoạt động trong nguồn điện 2,7v đến 6v. 
• Thao tác trong miền tĩnh tấn số:0HZ tới 24MHZ. 
• Có hai mức đế xoá chương trình. 
• l28bytes RAM. 
• Có 15 đường xuất nhập. 
• Có 2 bộ định thời timer/counter chiếm l6bit. 
• 6 nguồn ngắt. 
• kênh UART dùng dê lập trình tuần tự. 
• LED thiết bị dẫn tín hiệu ra trục tiếp. 
• Trong bộ nhớ có chứa thước so sánh tín hiệu tương tụ 
1.4.2 Mô tả 
AT89C2051 là một hệ vi tính 8bit đơn chíp CMOS có hiệu xuất cao. Công 
xuất nguồn tiêu thụ thấp và có 2 k bytes bộ nhớ ROM FLASH có thể xoá/1ập 
trình được. Chíp này sân xuất dựa vào công nghệ bộ nhớ không mất nội dung có 
 58
độ tích hợp cao của ATMEL. 
AT89C2051 cũng thích hợp với các lệnh và các chân ra của chuẩn công 
nghiệp MCS-51 flash trên chíp cho phép bộ nhớ chương trình được lập trình lập 
lại trên hệ thống hoặc bằng bộ lập bộ nhớ không mất nội dung qui ước. Bằng 
cách kết hợp CPU linh hoạt 8 bit với flash trên một chíp mạnh đáp ứng cho 
những ứng dụng điều khiển. AT89C2051 thiết kế với logic tĩnh cho hoạt động 
có tần số giảm xuống 0 và hỗ trợ hai chế độ tiết kiệm năng lượng. Nó có các chế 
độ như chế độ nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ định 
thời/đếm, port nối tiếp và hệ thống ngắt tiếp tục hoạt động. 
Chế độ nguồn giảm duy trì nội dung trong RAM không cho mạch dao động 
cứng cấp xung clock nhằm vô hiệu hoá 
Các hoạt động khác của chíp cho đến khi có reset phần cứng tiếp theo. 
Cấu hình chân ra AT89C2051: 
 59

File đính kèm:

  • pdftai_lieu_tham_khao_ho_tro_mon_vi_xu_ly_cac_ho_vi_dieu_khien.pdf
Ebook liên quan