Bài giảng Vi điều khiển: Chương 1 - Cấu trúc phần cứng của AT89C51
lượt xem 17
download
Chương 1 "Cấu trúc phần cứng của AT89C51" thuộc bài giảng Vi điều khiển trình bày tổng quan về phần cứng của AT89C51, đặc điểm phần cứng, cấu trúc chung của một vi điều khiển. Tham khảo nội dung bài giảng để nắm bắt thông tin chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Vi điều khiển: Chương 1 - Cấu trúc phần cứng của AT89C51
- MOÂN HOÏC VI ÑIEÀU KHIEÅN MUÏC TIEÂU - Naém ñöôïc caáu truùc phaàn cöùng VI Ñieàu Khieån AT89C51 - Taäp leänh hôïp ngöõ - Khung chöông trình hôïp ngöõ vieát cho AT89C51 - Vieát chöông trình öùng duïng
- NOÄI DUNG MOÂN HOÏC D a ã n n h a ä p Ch ö ô n g 1 : Ca á u t ru ù c p h a à n c ö ù n g c u û a AT8 9 C5 1 Ch ö ô n g 2 : Ta ä p le ä n h AT8 9 c 5 1 Ch ö ô n g 3 : la ä p t rìn h h ô ïp n g ö õ Ch ö ô n g 4 : Bo ä ñ ò n h t h ô ø i ( t im e r) Ch ö ô n g 5 : N g a é t ( In t e rru p t ) Ch ö ô n g 6 : P o rt n o á i t ie á p ( s e ria l p o rt ) Ch ö ô n g 7 : Gia o t ie á p
- TOÅNG QUAN - Sô löôïc quaù trình hình thaønh quaù phaùt trieån cuûa VÑK -Töø Vi xöû lyù ñeán Vi đÑiều khiển - Caáu truùc chung cuûa moät Vi đÑiều khiển
- Chöông 1: CAÁU TRUÙC PHAÀN CÖÙNG INT 1. INT0. Timer 2(8052/8032) Timer1 Timer0 serial port 128 byte RAM ROM Time 2 8032/8052 0K-8031/8032 8032/8052 4K-8051 8K-8052 Time 1 interrupt other register 128 byte RAM control Time 0 CPU oscillatior bus control I/O port serial port EA ALE RST TXD* RXD* PSEN P0 P1 P2 P3 address/data Hình 1.9 Caáu truùc beân trong 89C51
- ÑAËC ÑIEÅM PHAÀN CÖÙNG - 4 KB ROM noäi. - 128 Byte RAM noäi. - 4 Port xuaát /nhaäp I/O 8 bit. - 1 boä giao tieáp Giao tieáp noái tieáp. - 2 boä ñònh thôøi 16 bit - 64 KB boä nhôù chöông trình ngoaøi ( boä nhôù chöông trình = program = code memory) - 64 KB boä nhôù döõ lieäu ngoaøiRAM ngoaøi ( Boä nhôù döõ lieäu = Data) - 210 vò trí nhôù coù theå ñònh ñòa chæ bit.
- I. CPU Goàm ALU vaø Control unit ñöôïc ñoùng goùi. Ñaây laø CPU 8 bit. Chuùng ta chæ naém caùc cheá ñoä ñòa chæ maø CPU cung caáp (phaàn taäp leänh)
- II. I/O (INPUT/OUTPUT)
- 1. Chức năng các chân + Port 0 : P0.0 – P0.7: Port I/O 8 bit coù 2 chöùc naêng 8 ñöôøng döõ lieäu: D0 – D7 8 ñöôøng ñòa chæthaáp: A0 – A7 ( khi duøng vôùi boä nhôù môû roäng beân ngoaøi ) + Port 1 : 8 chaân : P1.0 – P1.7 : Port I/O 8 bit : duøng ñeå giao tieáp vôùi caùc thieát bò beân ngoaøi. + Port 2 : 8 chaân P2.0 – P2.7 : Port I/O 8 bit: coù 2 chöùc naêng 8 ñöôøng döõ lieäu: D0 – D7 8 ñöôøng ñòa chæcao: A8 – A15 ( khi duøng vôùi boä nhôù môû roäng beân ngoaøi ) + Port 3 : P3.O – P3.7 : Port I / O 8 bit: coù 2 chöùc naêng Port I / O 8 bit Caùc chaân ñieàu khieån : T0, T1, WR,RD, INT0, INT1, TxD, RxD
- 5V : Duøng ñeå khôûi ñoäng laïi heä thoáng 10U F 100 S1 8K2 0 Hình 1.2 Maïch reset XTAL1 vaø XATL2 : duøng ñeå gheùp vôùi thaïch anh beân ngoøai. Taàn soá danh ñònh cuûa thaïch anh laø 12Mhz (ñoâi luùc duøng 11.059 Mhz) ALE (Cho pheùp choát ñòa chæ Address Latch Enable) : Chaân naøy xuaát tín hieäu cho pheùp choát ñòa chæ(byte thaáp) cuûa ñòa chængoaøi vaøo 1 thanh ghi ngoaøi(boä ñeäm). Chaân naøy ñöôïc noái vôùi chaân cho pheùp cuûa vi maïch choát beân ngoaøi.
- 89C51 Memmory P0 D0D7 74CH373 D Q A0A7 ALE G P2 A8-A15 Hình 1.3 Kết nối bộ nhớ ngòai - ALE = 1 : Port 0 trôû thaønh Address. P0.0 – P0.7 = A0 - A7 ( byte ñ/c thaáp ) - ALE = 0 : Port 0 trôû thaønh Port data.P0.0 – P0.7 = D0 - D7 - Neáu ta khoâng duøng boä nhôù ngoaøi thì chaân ALE noái ñaát.
- : (cho pheùp truy xuaát ngoøai External Access) duøng cho caû EA ROM vaø RAM: • EA = 0: Cho pheùp truy xuaát boä nhôù ngoaøi P2.0 – P2.7 = A8 – A15 ( byte ñòa chæ cao) EA = 1 : söû duïng 4KROM + 128 byte RAM noäi EA = 21 V : Ghi chöông trình vaøo ROM noäi (laäp PSEN trình) (cho pheùp boä nhôù chöông trình Program Store Enable) Duøng cho ROM: Cho pheùp boä nhôù chöông trình ngoaøi. Noái vôùi Chaân cuûa PSEN Eprom PSEN =0: Cho pheùp boä nhôù chöông trình ngoaøi. ù : Caùc PIN=cuûa 89C51 1 : Khi thöïclaø thi2chöông höôùng. Ñeåôû trình truy Romxuaát ta phaûi : noäi. c khi xuaát 1 bit ta phaûi xoùa bit ñoù =0. c khi nhaäp ta phaûi set bit ñoù =1.
- III. BOÄ NHÔÙ (MEMORY) 89C51 coù 2 loaïi boä nhôù : boä nhôù trong (ON-CHIP Memmory) vaø boä nhôù ngoaøi (External Memmory) Boä nhôù noäi : ÔÛ beân trong chip (On-Chip Memory) ROM noäi vaø RAM noäi. ROM noäi (4K) duøng ñeå chöùa chöông trình khi ta naïp chöông trình. RAM noäi (128 byte) duøng ñeå chöùa döõ lieäu. Vuøng stack thöôøng truù trong RAM treân chip (Ram noäi). Boä nhôù ngoaøi : ROM ngoaøi vaø RAM ngoaøi. – ROM ngoaøi : Naèm beân ngoaøi chip, thöôøng duøng EPROM (64 K) – RAM ngoaøi : Naèm beân ngoaøi chip, thöôøng duøng RAM tónh (64K). Khi duøng RAM ngoaøi thì vieäc truy xuaát khoâng ñöôïc linh hoaït, vaø toác toä truy xuaát thaáp.Tuy nhieân noù cho ta khaû naêng laø taêng dung löôïng RAM, ROM.
- 1 . Bo ä n h ô ù n o ä i ROM: 4K chöùa chöông trình RAM: coù128 byte bao goàm Caùc daõy thanh ghi, vuøng RAM ñònh ñòa chæ bit, vuøng RAM ña chöùc naêng, caùc thanh ghi coù chöùc naêng ñaët bieät (SFR) 7FH FFH Vuøng Ram Ña duïng Caùc thanh ghi coù chöùc naêng ñaëc 30H bieät 2FH Vuøng Ram Ñònh ñòa chæ bit 20H 1FH Caùc bank Ram 00H 80H Toùm taét boä nhôù döõ lieäu treân chip
- Caùc bank RAM : Coù ñòa chætöø 00 – 1FH. 32 byte ñöôïc chia laøm 4 bank. Bank 0, bank 1, bank 2 vaø bank 3 8051 hoå trôï 8 thanh ghi R0, R1, …,R7. 1 thanh ghi laø 1 byte nhôù RAM. Ñöôïc xem nhö 1 soá thanh ghi phuï. Maëc ñònh 8 thanh ghi phuï thuoäc bank 0 8 thanh ghi R0 - R7 thuoäc bank naøo ñöôïc theå hieän qua 2 bit RS1 RS0 trong thanh ghi PSW RS1 =1 RS1 RS0 Bank ñöôïc choïn RS0 = 1 choïn bank 0 0 Bank 0 3 Caùc leänh söû duïng caùc 0 1 1 thanh ghi R0 – R7 thöïc hieän 1 0 2 nhanh hôn nhöõng leänh töông 1 1 3 ñöông duøng söï ñònh ñòa chæ tröïc tieáp
- • Vu ø n g RAM ñ /c h o a ù b it ( Bit Ad d re s a b le Lo c a t io n ) • Coù 210 vò trí . Trong ñoù ( 20h – 2Fh ) = 16 byte* 8 bit = 128 bit. Phaàn coøn laïi chöùa trong caùc thanh ghi chöùc naêng ñaëc bieät. Trong vuøng nhôù naøy ta coù theå taùc ñoäng ñeán töøng bit. Ñaây laø 1 ñaët tröng maïnh cuûa caùc boä vi ñieàu khieån. Caùc ñòa chæ trong vuøng nhôù naøy coù theå truy xuaát töøng byte hay töøng bit tuøy theo töøng leänh cuï theå. • Ví duï : • SETB 00h ; bit coù ñ/c bit 00h thuoäc ñòa chæ byte 20h ñöôïc set = 1 • RAM ñ a d u ïn g : • 80 byte coù ñòa chæ töø 30h – 7Fh : duøng ñeå truy xuaát thöôøng xuyeân vôùi taàn soá cao, laøm stack.
- Caùc thanh ghi chöùc naêng ñaëc bieät SFR (Special Function Register): Thanh ghi laø 1 byte nhôù hay 1 töø nhôù. Coù moät ñòa chæ, thöôøng ñöôïc gaùn cho 1 caùi teân gaén lieàn vôùi 1 hoaëc vaøi chöùc naêng cuï theå. Caùc thanh ghi noäi laø 1 phaàn cuûa RAM noäi . Do ñoù moãi thanh ghi coù 1 ñòa chæ. Coù 21 thanh ghi coù chöùc naêng ñaëc bieät. Trong ñoù coù 1 soá thanh ghi coù khaû naêng ñònh ñòa chæbit. Haàu heát caùc thanh ghi chöùc naêng ñaëc bieät ñöôïc truy xuaát baèng caùch söû duïng söï ñònh ñòa chæñòa chætröïc tieáp.
- +4 thanh ghi port P0, P1, P2, P3 : duøng cho caùc port xuaát nhaäp P0, P1, P2 vaø P3 +6 thanh ghi cho time TMOD, TCON, TH0, TL0, TH1, TL1: duøng cho timer0 vaø timer 1 +2 thanh ghi cho port noái tieáp SBUF, SCON : duøng cho port noái tieáp) +2 Thanh ghi duøng cho ngaét IE, IP : duøng cho ngaét +1 thanh ghi con troû döõ lieäu ngoøai DPTR: laø thanh ghi 2 buyte DPH +DPL duøng truy xuaát boä nhôù ngoøai +1 thanh ghi tích luõy A : laø thanh ghi ñöôïc duøng nhieàu nhaát. Chöùa keát quaû caùc pheùp toùan. +1 Thanh ghi phuï B : Duøng chung vôùi thanh chöùa A trong caùc leänh nhaân vaø chia. Ngoaøi ra thanh ghi B ñöôïc duøng nhö thanh ghi phuï R +1thanh ghi boä ñeám chöông trình PC (Program Counter) : Laø thanh ghi 2 byte, chæra ñòa chæcuûa leänh tieáp theo ñöôïc thöïc hieän. Ñoái vôùi 89c51, khi baét ñaàu thì ñòa chæcuûa leän ñaàu tieân laø 0000h. Ta khoâng theå thay ñoåi giaù trò trong boä ñeám chöông trình.
- + 1 thanh ghi ñieàu khieån nguoàn PCON (Power Control) : duøng cho vieäc taêng ñoâi toác ñoä baud port noái tieáp vaø thieát laäp cheá ñoä giaûm nguoàn (power down) + 1 thanh ghi con troû ngaên xeáp SP (Stack Pointer): Noäi dung cuûa thanh ghi SP chính laø ñænh hieän haønh cuûa Stack ( vuøng stack coù 32 byte. Neáu ta khoâng khôûi taïo stack thì noù maëc ñònh laø 07h). Toát nhaát laø ta khai baùo vuøng stack lôùn hôn 2FH. + 1 thanh ghi töø traïng thaùi chöông trình PSW (Program Status Word)
- Ñòa chæ byte – ñòa chæ bit A8: Ñ/c byte cuûa thanh ghi IE = ñ/c bit bo ( bit LSB ) cuûa IE MOV A, 26H; chuyeån 1 byte döõ lieäu töø ñòa chæ byte ( of Ram ) 26H vaøo thanh ghi tích luõy A SETB 26H; laäp bit coù ñ/c bit laø 26, ( töùc bit b6 cuûa ñ/c byte 24 leân 1 Ta coù 3 caùch ñeå xaùc ñònh ñòa chæ bit trong 1 caâu leänh: - ñòa chæñaõ bieát tröôùc SETB 0E7H - Söû duïng toaùn töû dot (.) giöõa ñòa chæbyte vaø vò trí bit SETB ACC.7 - Söû duïng kyù hieäu tieàn ñònh nghóa JNB TI,$
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Vi điều khiển: Chương 2 - Tập lệnh AT89C51
23 p | 129 | 19
-
Bài giảng Vi điều khiển: Chapter 3 - Ngô Như Khoa
21 p | 111 | 18
-
Bài giảng Vi điều khiển: Chapter 1 - Ngô Như Khoa
26 p | 112 | 16
-
Bài giảng Vi điều khiển: Chapter 2 - Ngô Như Khoa
23 p | 94 | 15
-
Bài giảng Vi điều khiển: Chapter 7 - Ngô Như Khoa
24 p | 122 | 14
-
Bài giảng Vi điều khiển: Chương 3 - Lập trình hợp ngữ
10 p | 102 | 14
-
Bài giảng Vi điều khiển: Chương 4 - Bộ định thời (Timer)
19 p | 130 | 13
-
Bài giảng Vi điều khiển: Chương 5 - Ngắt Interrupt
14 p | 107 | 13
-
Bài giảng Vi xử lý - Vi điều khiển: Chương 1 - ThS. Phan Đình Duy
20 p | 89 | 12
-
Bài giảng Vi xử lý - Vi điều khiển: Chương 0 - ThS. Phan Đình Duy
11 p | 101 | 8
-
Bài giảng Vi xử lý - Vi điều khiển: Chương 2.1 - ThS. Phan Đình Duy
36 p | 69 | 7
-
Bài giảng Vi điều khiển: Phần 2 - ĐH Phạm Văn Đồng
48 p | 47 | 7
-
Bài giảng Vi điều khiển - Chương 1: Tổng quan về Vi điều khiển
29 p | 23 | 5
-
Bài giảng Vi xử lý - Vi điều khiển: Chương 2.3 - ThS. Phan Đình Duy
32 p | 64 | 4
-
Bài giảng Vi xử lý - Vi điều khiển: Chương 2.4 - ThS. Phan Đình Duy
38 p | 50 | 4
-
Bài giảng Vi xử lý - Vi điều khiển: Chương 3 - ThS. Phan Đình Duy
27 p | 67 | 4
-
Bài giảng Vi xử lý - Vi điều khiển: Chương 2.5 - ThS. Phan Đình Duy
25 p | 54 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn