Giới thiệu Vi điều khiển AT89C51

Mục tiêu Hỗtrợkỹthuật cho sinh viên yêu thích lĩnh vực thiết kếRobot và các ứng dụng trong điều khiển tự động.

pdf13 trang | Chia sẻ: maiphuongtt | Lượt xem: 3388 | Lượt tải: 3download
Bạn đang xem nội dung tài liệu Giới thiệu Vi điều khiển AT89C51, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Giới thiệu Vi điều khiển AT89C51 Mục tiêu >Nội dung> Hỗ trợ kỹ thuật cho sinh viên yêu thích lĩnh vực thiết kế Robot và các ứng dụng trong điều khiển tự động. ¾Giới thiệu một số họ vi điều khiển MCS51, PIC, AVR và sự lựa chọn AT89C51. ¾Yêu cầu về Kiến thức nền. ¾Cấu trúc bên ngoài: Thông số kỹ thuật, sơ đồ chân IC và chức năng của các chân. ¾Tổ chức bên trong AT89C51: Các thanh ghi, bộ nhớ chương trình - Flash ROM, các port vào ra, RAM, bộ phận timer và các ngắt (Port nối tiếp, Timer). ¾Hướng dẫn thiết kế phần cứng, một số điểm cần chú ý. ¾ Sinh viên đặt câu hỏi. Nội dung >Một số họ VĐK> Giới thiệu một số họ Vi điều khiển 9Vi điều khiển họ PIC: PIC16F83, PIC16F84, PIC16CR83, PIC16CR84,…→ RISC 9Vi điều khiển họ AVR: ATMEGA8, ATMEGA16, ATMEGA32, ATMEGA64, AT90S2313…, → RISC 9Vi điều khiển MCS51: AT89C1051, AT89C2051, AT89C4051, AT89C51, AT89C52, AT89C55,…→ CISC >Lựa chọn AT89C51> Sự lựa chọn AT89C51 )Tính năng và tốc độ đáp ứng được yêu cầu kỹ thuật trong ứng dụng không đòi hỏi tốc độ cao (như xử lý ảnh, nhận dạng tiếng nói,…). )Giá thành thấp hơn so với các họ VĐK khác. )Họ VĐK MCS51 có hỗ trợ lập trình điều khiển bằng cả hợp ngữ và C. )Các thiết bị nạp Flash ROM có sẵn tại Khoa. >Background> Yêu cầu về kiến thức nền ¾ Kỹ thuật Vi xử lý ¾ Kỹ thuật số ¾ Linh kiện điện tử. >Thông số kỹ thuật 89C51> ¾Tương thích với họMCS-51 ¾ 4K Bytes Flash ROM. ¾Tần số xung clock hoạt động: 0 Hz đến 24 MHz ¾Hỗ trợ bảo mật, chống copy chương trình trong Flash. ¾ 128 x 8-bit Internal RAM ¾ 32 Programmable I/O Lines (4 Port) ¾Hai Timer/Counters 16-bit. ¾Hỗ trợ 6 loại ngắt: Ngắt phần cứng, Timer, Serial Port. ¾Một Port giao tiếp nối tiếp. ¾Hỗ trợ “Low-power Idle” và “Power-down Modes” Đặt tính kỹ thuật của AT89C51 >Hình dạng> Các dạng chân của AT89C51 >Cấu trúc ngoài> Sơ đồ chân và ý nghĩa các chân Cấu trúc bên ngoài Port 0 Port 2 Port 1 Port3 Reset Clock Chức năng khác >Tổ chức trong> ¾Đa hợp 8 bits địa chỉ thấp/Dữ liệu khi truy xuất CTrình hoặc dữ liệu trong 64K ROM/RAM ngoại. ¾Port 8 bits vào/ra có cực thu để hở: - Nhận dòng tối đa 10mA khi đặt ở mức thấp. - Khi được đặt ở mức cao, có thể sử dụng như các ngõ vào (Phải sử dụng điện trở kéo lên) Chức năng Port 0 )Return ¾Phát ra 8 bits địa chỉ cao khi truy xuất CTrình hoặc dữ liệu trong ROM/RAM ngoại. ¾Port vào ra 8 bits: - Nhận dòng tối đa 10mA khi đặt ở mức thấp. - Khi được đặt ở mức cao, có thể sử dụng như các ngõ vào (không sử dụng điện trở kéo lên). Chức năng của Port 2 )Return ¾Port vào ra 8 bits: - Nhận dòng tối đa 10mA ở mức thấp. - Có thể sử dụng như các ngõ vào khi đặt ở mức cao. ¾ Port 3 còn dùng phục vụ các chức năng đặc biệt của CPU. Port 1 và Port 3 >Next> ¾ P3.0: RXD (serial input port) ¾ P3.1: TXD (serial output port) ¾ P3.2: INT0 (external interrupt 0) ¾ P3.3: INT1 (external interrupt 1) ¾ P3.4: T0 (timer 0 external input) ¾ P3.5: T1 (timer 1 external input) ¾ P3.6: WR (external data memory write strobe) ¾ P3.7: RD (external data memory read strobe) Chức năng đặc biệt của Port 3 )Return Các chức năng khác 33pF 33pF 1K U1 AT89C51 9 18 19 29 30 31 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RST XTAL2 XTAL1 PSEN ALE/PROG EA/VPP P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 VCC 10uF VCC CRYSTAL 8.2K SW1 1 2 Chu kỳ: TCK Reset nếu RST được giữ ở mức cao tgian 24TCK EA: External Access Enable VPP: 12V khi lập trình Flash >>Next>> ¾PSEN (Program Store Enable) dùng cho phép truy xuất bộ nhớ chương trình ngoài. ¾ALE (Address Latch Enable): - Chốt 8 bits địa chỉ thấp khi truy xuất chương trình ngoài. - Phát ra tín hiệu có f = fCLOCK÷6 ¾PROG (program pulse input): Xung nạp chương trình cho Flash Các chức năng khác (tt) 6 1 )Return Tổ chức bên trong INT0 INT1 Interrupt Control 4KB Flash ROM CPU OSC Serial Port RAM 128Byte thấp Counter Inputs TXD RXD SFRs 128Byte cao Bus Control I/O Ports P0 P2 P1 P3 Timer1 Timer0 256 Bytes RAM ACC B PC >Hướng dẫn thiết kế> SFRs: Special Function Registers F2 F0F1F4F6 F5 F3 E2 E0E1E4E6 E5 E3 D2 D0-D4D6 D5 D3 B8BA B9BC- - BB B2 B0B1B4B6 B5 B3 A8AA A9AC- - AB A0A2 A1A4A6 A5 A3 9A 98999C9E 9D 9B 92 90919496 95 93 888A 898C8E 8D 8B 8082 818486 85 83 99 A0 A8 B0 B8 D0 E0 F0 FF P0 SP DPL DPH PCON TCON TMOD TL0 TL1 TH0 TH1 P1 SCON not bit addressable A7 AF B7 - D7 E7 F7 87 not bit addressable not bit addressable not bit addressable not bit addressable 8F not bit addressable not bit addressable not bit addressable not bit addressable not bit addressable 97 9F SBUF80 81 P282 83 IE 87 P388 89 IP8A 8B PSW8C 8D ACC 90 B 98 Các thanh ghi SFRs có địa chỉ từ 80H đến FFH )Return PSW: Program Status Word Thanh ghi từ trạng thái D0D1D2D3D4D5D6D7Địa chỉ Tên bit Vị trí P-OVRS0RS1F0ACCY PSW.0PSW.1PSW.2PSW.3PSW.4PSW.5PSW.6PSW.7 Parity flag Overflow flag Register Bank Select 00: Bank 0 01: Bank 1 10: Bank 2 11: Bank 3 Auxiliary flag Carry flag )Return IP: Interrupt Priority Register Thanh ghi ưu tiên ngắt (Các bit tác động cao) B8B9BABBBCBDBEBFĐịa chỉ Tên bit Vị trí PX0PT0PX1PT1PS--- IP.0IP.1IP.2IP.3IP.4IP.5IP.6IP.7 Serial interface Timer 1 External interrupt 0 Timer 0 External interrupt 1 1: High Priority 0: Low Priority Thứ tự ưu tiên )Return Đchỉ: 23H 1BH 13H 0BH 03H IE: Interrupt Enable Register Thanh ghi ngắt (Các bit tác động cao) A8A9AAABACADAEAFĐịa chỉ Tên bit Vị trí EX0ET0EX1ET1ES--EA IE.0IE.1IE.2IE.3IE.4--IE.7 Enable/Disable serial port EA: Cho phép ngắt 1: Cho phép 0: Cấm tất cả ngắt Enable/Disable Timer1 overflow Enable/Disable external interrupt 1 Enable/Disable external interrupt 0 Enable/Disable Timer0 overflow interrupt )Return PCON: Power Control Register Thanh ghi điều khiển công suất Tên bit IDLPDGF0GF1---SMOD PD (Power down) PD = 1: Oscillator dừng CPU ngưng hoạt động SMOD: Double baud rate Tăng tốc độ gấp đôi khi truyền nhận qua cổng nối tiếp IDL (Idle) IDL = 1: CPU ngưng hoạt động, ngắt CK, các ngắt còn hoạt động. )Return TCON: Timer Control Register Thanh ghi điều khiển Timer (Các bit tác động cao) 88898A8B8C8D8EAF8Địa chỉ Tên bit Vị trí IT0IE0IT1IE1TR0TF0TR1TF1 TCON.0TCON.1TCON.2TCON.3TCON.4TCON.5TCON.6TCON.7 TF1, TF0 (Timer overflow flag) Được SET là 1 khi Timer/counter tràn. TR1, TR0 (Timer run control bit): Cho phép Timer/counter chạy. IE1, IE0 (External interrupt edge flag) Cờ ngắt, tự động bật lên = 1 khi có ngắt tác động. IT1, IT0 (Interrupt type control) Nếu được SET sẽ cho phép các ngắt tác động cạnh. )Return Tổ chức 128 bytes RAM 128 BIT BIT ADDRESSABLE Địa chỉ từ: 00H đến FFH REGISTER BANK 0 REGISTER BANK 1 REGISTER BANK 2 REGISTER BANK 3 07………………..00 FF………………..F8 R0 R1 R2 R3 R4 R5 R6 R7 00 01 02 03 04 05 06 07 0F 08 17 10 1F 18 20 2F 7F 30General Purpose RAM )Return Khi hoạt động, một Bank sẽ được chọn làm các thanh ghi. Vùng nhớ còn lại sẽ được sử dụng lưu trữ dữ liệu và làm ngăn xếp. Thiết kế phần cứng A4 A6 CRYSTAL U5 74LS138 1 2 3 6 4 5 15 14 13 12 11 10 9 7 A B C G1 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 A[0..7] 10uF A2 A6 U2 74F573 2 3 4 5 6 7 8 9 11 1 19 18 17 16 15 14 13 12 D1 D2 D3 D4 D5 D6 D7 D8 LE OE Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 A7 A2 A4 A4 8.2K A5 A7 A0 U6 2764 10 9 8 7 6 5 4 3 25 24 21 23 2 20 22 27 1 11 12 13 15 16 17 18 19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 CE OE PGM VPP O0 O1 O2 O3 O4 O5 O6 O7 A3 A1 A1 A3 A0 A5 33pF A6 ALE U1 AT89C51 9 18 19 29 30 31 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RST XTAL2 XTAL1 PSEN ALE/PROG EA/VPP P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 VCC A3 A0 33pF ALE A5 A7 SW1 1 2 VCC A1 A2 Sử dụng ROM chương trình ngoài. >Cách sử dụng Port> Sử dụng các Port Q1 1 2 3 U7 AT89C51 9 18 19 29 30 31 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RST XTAL2 XTAL1 PSEN ALE/PROG EA/VPP P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 D1 10K D1 220 8.2K 220 VCC VCC 220 VCC 8.2K VCC D1 Q1 1 2 3 >Các ứng dụng> Điện trở kéo lên ¾Mạch điều khiển, định thời đóng mở các thiết bị gia dụng như đèn, quạt… ¾Đồng hồ điện tử đa năng. ¾Mạch đèn chớp với nhiều hiệu ứng. ¾Các thiết bị tính giờ, thiết bị đố vui. ¾Lịch vạn niên. ¾Các thiết bị thông minh. Một số ứng dụng