1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bai giang vi xu ly

198 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 198
Dung lượng 2,59 MB

Nội dung

Trường Đại học Cơng nghiệp Tp H Chí Minh Khoa Công nghệ Điện tử Bộ môn Điện tử Công nghiệp Bài giảng Vi xử lý Lưu hành nội Mục lục Chư ng 1: Gi i thiệu chung hệ vi x lí Gi i thiệu chung vi điều khiển PIC Chư ng 2: Gi i thiệu phần cứng PIC 16F84 PIC 16F877A Chư ng 3: T p lệnh PIC 16F877A Chư ng 4: Vào Hoạt đ ng b đ nh th i L p trình vi điều khiển PIC 16F84 PIC 16F877A Chư ng 5: Truyền thông nối tiếp USART Chư ng 6: Ngắt Chư ng 7: B chuyển đổi tư ng tự sang số (ADC) Chư ng 8: B nh liệu EEPROM, PWM, SPI/I2C Chư ng 9: Thiết kế hệ vi x lí hệ phát triển vi điều khiển Bài giảng số 1: Giới thiệu chung hệ vi xử lí Giới thiệu chung vi điều khiển PIC ( Số tiết: 5) I n định lớp: …………………… II Kiểm tra cũ: ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… III Tên giảng: Giới thiệu chung hệ vi xử lí Giới thiệu chung vi điều khiển PIC III.1 Mục tiêu: -Gi i thiệu hệ đếm L ch s phát triển b vi x lí Cấu trúc chức hoạt đ ng hệ vi x lí Chức thành phần bên hệ vi x lí Gi i thiệu vi điều khiển Các họ vi x lí thong dụng -Gi i thiệu vi điều khiển PIC: b nh chư ng trình, xung đồng hồ vi điều khiển, hệ thống vi điều khiển Đặc tính vi điều khiển Các loại vi điều khiển S dụng vi điều khiển: phần cứng vi điều khiển l p trình vi điều khiển III.2 Đ dung phương tiện dạy học: -Phấn trắng, khăn, bảng, bút long, micro có dây(hay khơng dây), máy tính, đèn chiếu (hay máy chiếu) III.3 Giáo trình tài liệu tham khảo: Giáo trình Vi x lí trư ng Đại học cơng nghiệp Tp HCM D.W Smith, PIC in practice: a project-based approach, Elsevier, 2nd edition, 2006 Trư ng Trác, Chip đ n 16C84 ứng dụng chúng Hồ Trung Mỹ, Vi x lí, NXB ĐHQG Tp HCM, 2003 Tài liệu vi điều khiển PIC bọ môn Điện t công nghiệp Website: http://www.microchip.com/ http://www.alldatasheet.com/ Myke Predko, Programming and customizing the PIC microcontroller, 3rd edition, Tab Electronics, McGrawHill, 2008(Ebook) Douglass V.Hall, Microprocessors and interfacing: Programming and Hardware, 2nd ed., Macmillan/McGraw-Hill, 1992 III.4.Nội dung giảng: Nội dung chi tiết : xem giảng chi tiết Phương pháp giảng dạy: thuyết trình, nêu vấn đề đàm thoại trao đổi v i sinh viên Chương 1: Giới thiệu chung hệ vi xử lí Giới thiệu chung vi điều khiển PIC 1.1 Hệ nhị phân, hệ thập phân hệ thập lục phân Hệ nh phân dung c số 2, dung hai số để biểu diễn Thí dụ: 01001010=0x27+1x26+0x25+0x24+1x23+0x22+1x21+0x20=64+8+2=74 Hệ th p phân, c số 10 dùng số 0, 1, 2, 3, 4, 5, 6, 7, 8, để biểu diễn Thí dụ: 125=1x102+2x101+5x100=100+20+5 Hệ th p lục phân, c số 16 dùng số 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Thí dụ: 32H=3x161+2x160=48+2=50 Bảng chuyển đổi số nh Hệ nh phân (8 chữ số) 00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 00001100 00001101 00001110 00001111 phân, th p phân th p lục phân: Hệ th p phân (3 chữ số) Hệ th p lục phân (2 chữ số) 000 00h 001 01h 002 02h 003 03h 004 04h 005 05h 006 06h 007 07h 008 08h 009 09h 010 0Ah 011 0Bh 012 0Ch 013 0Dh 014 0Eh 015 0Fh 1.2 Lịch sử phát triển c a kỹ thuật vi xử lí 1.2.1.Họ vi mạch số công nghệ : IC dựa theo số transistor cổng thường chia làm : -SSI : tích hợp cỡ nhỏ -MSI: tích hợp cỡ trung bình -LSI: tích hợp cỡ lớn -VLSI: tích hợp cỡ lớn -ULSI: tích hợp cỡ cực lớn Ví dụ : MSI counter, multiplexer,… LSI vi xử lý bit : 8085, Z80… VLSI vi xử lý 16 bit , 32 bit: 80386 Giới thiệu công nghệ sản xuất chip : Về công nghệ có công nghệ chế tạo vi mạch sau : MOS : - NMOS ⇒ HMOS - PMOS - CMOS⇒ HCMOS Với H : high-performance TTL, IIL (integrated injection logic) thuộc Bipolar Trong công nghệ MOS thường ưa chuộng tích hợp nhiều, tiết kiệm lượng… 1.2.2 TỪ MÁY TÍNH LỚN ĐẾN MÁY VI TÍNH: a.Máy tính lớn : Là loại máy tính thiết kế để giải toán lớn với tốc độ nhanh -Nó làm việc với số liệu có độ dài từ 64 bit trang bị nhớ lớn, kích thước lớn -Chúng thường dùng để điều khiển hệ thống thiết bị dùng quân hệ thống máy móc chương trình nghiên cứu vũ trụ, để xử lý thông tin ngành ngân hàng, vv… Ví dụ : IBM 4381, Honeywell DSP8 Loại mạnh máy tính lớn gọi siêu máy tính (supercomputer) Ví dụ : Y-MP/832 Gray b.Máy tính : Là dạng thu nhỏ kích thước tính máy tính lớn - Làm việc với liệu có độ dài liệu 32 bit với tốc độ chậm nhớ hạn chế - Máy tính thường dùng cho tính toán khoa học kỹ thuật, gia công liệu qui mô nhỏ hay để điều khiển trình công nghệ Ví dụ : Vax 6360 DEC, MV/8000II Data general c.Máy vi tính : Máy vi tính máy thông dụng Một máy vi tính vi điều khiển (micro controller) vỏ vi mạch (one-chip microcomputer) Ví dụ : vi điều khiển 68HC11 Motorola, MCS-8051 -Có khả làm việc với độ dài liệu 4, 8, 16, 32, 64 bit… -CPU máy chế tạo công nghệ mạch vi điện tử với mức độ tổ hợp lớn VLSI -Trên thị trường có họ vi xử lý bật : Intel dùng vi xử lý 80x86 : 8086 (16 bit) 8088( 8bit) 80286 (16bit) 80386(32 bit) 80486(32 bit) 80586(32 bit) Motorola dùng vi xử lý 680x0 Zilog : Z80 (8bit), Z8000 (16 bit) 1.2.3 Lịch sử phát triển vi xử lý : a.Thế hệ : (1971-1973) -Vi xử lý Intel 4004 (4 bit) dùng máy tính xách tay Sau xuất 4040 (4 bit) Ỉ 8008 (8bit) Đặc điểm : -Độ dài từ thường bit -Công nghệ chế tạo PMOS với đặc điểm mật độ phần tử nhỏ, tốc độ thấp, giá rẻ có khả đưa dòng tải nhỏ -Tốc độ thực lệnh 10-60 micro-sec/lệnh với tần số đồng hồ (xung clock)fclk= 0,1-0,8 Mhz -Tập lệnh đơn giản phải cần số mạch phụ trợ để tạo nên hệ vi xử lý hoàn chỉnh b.Thế hệ : (1974-1977) Z80 hãng Zilog (8 bit) 6800 hãng Motorola (8bit) 6502 hãng Mos technology (8bit) 8080 8085 hãng Intel -Công nghệ chế tạo NMOS (mật độ tích hợp lớn CMOS (tiết kiệm điện tiêu thụ) -Tần số xung clock từ 1-5 Mhz tốc độ thực lệnh tứ 1-8 microsec/lệnh c.Thế hệ : (1978-1982) Vi xử lý Intel 8086, 8088, 80186, 80286, (16 bit), MP 68000/68010 Motorola (16 bit) Đây vi xử lý dùng máy tính IBM PC, PC/XT, PC/AT máy Macintosh hãng Apple -Tần số xung clock từ 5-10 Mhz, tốc độ thực lệnh 0,1-1 microsec/lệnh -Công nghệ chế tạo HMOS d.Thế hệ : (1983-?) -Các vi xử lý đại diện hệ vi xử ký 32 bit Intel 80386, 80486, 32 bit Pentium 80586, MP 32 bit 68020/68030/68040.68060 Motorola Đăc điểm : -Bus địa 32 bit (phân biệt 4GB nhớ) có khả làm việc nhớ ảo -p dụng chế xử lý xen kẻ liên tục dòng mã lệnh (pipe line), nhớ cache(bộ nhớ ẩn), nhớ ảo Các vi xử lý có quản lý nhớ (MMU) đồng xử lý toán học Bên cạnh vi xử lý dùng để xây dựng máy tính với tập lệnh đầu đủ (CISC-complete instruction set computer), người ta chế tạo vi xử lý cải tiến dùng cho máy tính với tập lệnh rút gọn (RISC- reduced instruction set computer) Xem bảng : vi xử lý 16/32 bit Intel, Motorola e Máy tính dùng vi xử lý Pentium II, PIII, PIV: -Độ dài liệu 32-64 bit - Tốc độ 1.8 Ghz-4.0 Ghz Các vi xử lý 16 bit Intel Các vi xử lý 32 bit Intel Các vi xử lý 16/32 bit Motorola Từ thập niên 1990 trở lại 1990 Microsoft WIndows 3.0 đời Motorola 68040 triển khai 1991 Apple IBM hợp tác để khảo sát RISC 1992 Microsoft WIndows 3.1 trở thành chuẩn cho PC 1993 Intel Pentium (80586) đời, công nghệ MMX cung caáp sau 1995 Microsoft Indows 95 1995 Intel Pentium pro (P6) 1997 Intel Pentium II 1998 Intel Pentium II Xeon 1999 Intel Pentium III 2001Intel Pentium IV 1.3 Cấu trúc hoạt đ ng hệ vi x lí 1.3.1 Sơ đồ khối SƠ ĐỒ KHỐI MỘT HỆ VI XỬ LÝ CƠ BẢN Address bus Data bus CPU Bộ nhớ T Vào I/O Thiếtbị vào Thiết bị Control bus Hình 1.1 :Sơ đồ khối hệ vi xử lý 1.3.2 Nguyên lý hoạt động: -CPU (central processing unit) đơn vị xử lý trung tâm MP (mocroprocessor) : Đây não máy tính, điều khiển toàn hoạt động hệ MP lấy lệnh, phân tích thi hành lệnh -Bộ nhớ : (memory) nơi lưu trữ liệu chương trình cần cho trình thực lệnh Bộ nhớ : rom, ram Bộ nhớ : băng từ, đóa từ -Vào (input/output) : mạch giao tiếp CPU với thiết bị vào (bàn phím, chuột), thiết bị ra(màn hình, máy in) -Ba phận liên lạc với thông qua bus hệ thống (system bus) Bus hệ thống gồm có : +Bus địa : (address bus) cho phép xác định địa ô nhớ ngoại vi cần truy xuất (đọc /ghi) Bus địa 16, 20, 24 bit… +Bus liệu (data bus) : cho phép trao đổi thông tin Cpu nhớ hay ngoại vi Bus liệu 8, 16, 32 bit… +Bus điều khiển (control bus) :là đường tín hiệu CPU đưa để điều khiển nhớ hay ngoại vi tín hiệu đưa vào CPU Ví dụ : RD (read-đọc ), WR (write-ghi) , INTR (interrupt-ngắt) Bus địa chỉ có chiều từ CPU đưa ra, bus liệu có tính chất chiều (vào/ra), bus điều khiển có chiều vào, chiều 1.4 Ch c c a thành phần hệ vi xử lí 1.4.1 Bộ xử lí CPU 1.4.1.1.Nhiệm vụ CPU : -Điều hành hoạt động hệ thống theo ý định người sử dụng –Thi hành chương trình theo vòng kín gọi chu kì lấy lệnh Thi hành lệnh Lấy lệnh Chu kỳ lệnh Hình 1.2: Nhiệm vụ CPU 1.4.1.2.Cấu trúc CPU : Các thành phần CPU gồm có : Các thành phần lưu trữ: ghi, cờ Các thành phần thực thi (xử lý) : ALU thực tính toán số học , logic, dịch/xoay (các) bit .Các thành phần chuyển [tín hiệu]: bus Các thành phần điều khiển : Đơn vị điều khiển CPU IR PC Bộ điều khiển CU Đơn vị số học logic ALU Các ghi Hình 1.3 Cấu trúc bên CPU CPU (central processing unit) : đơn vị xử lý trung tâm ALU (arithmetic logic unit) : đơn vị số học logic Register : ghi CU : control unit, đơn vị điều khiển +ALU : thực phép tính số học logic bao gồm +, -, *, /, tăng , giảm, and, or, not, xor, dịch , quay, vv… ALU có hai ngõ vào ngõ Hai ngõ vào lấy liệu từ bus nội cần thiết để thực phép toán ngõ trả kết thực phép toán bus nội Để tránh liệu chồng bus nội, hai ngõ vào ALU có hai ghi tạm, có chức cài liệu trước ALU thực phép toán IN IN ALU OUT Hình 1.4 : ALU +Thanh ghi : ô nhớ có tên tốc độ cao nằm bên CPU Số ghi bên CPU Một số ghi định sẵn chức năng, số ghi khác ghi đa dụng -Thanh ghi PC -Thanh ghi tích lũy A -Thanh ghi cờ F -Thanh ghi lệnh IR -Thanh ghi địa nhớ MAR -Thanh ghi đa dụng -Thanh ghi trỏ stack SP +Bộ điều khiển : - Điều khiển hoạt động khối khác CPU đồng với - Xuất tín hiệu điều khiển đọc ghi nhớ bên theo trình tự định để đảm bảo cho việc đọc ghi nhớ thực 1.4.1.3 Thực lệnh : a.Lấy lệnh từ nhớ vào ghi lệnh IR (instruction register) b.Thay đổi ghi PC (program counter: đếm chương trình) để chuyển đến lệnh (thanh ghi PC giữ địa lệnh kế tiếp) c.Xác định kiểu lệnh vừa lấy d.Xác định kiểu liệu mà lệnh yêu cầu xác định vị trí liệu nhớ e.Nếu lệnh cần liệu nhớ, nạp vào ghi CPU f.Thực lệnh g.Lưu kết nơi thích hợp h.Trở bước để thực lệnh kế 1.4.1.4.Dạng lệnh : Các vùng lệnh : -Vùng mã lệnh : cho biết tác vụ thực - Vùng địa : địa nhớ ghi CPU - Vùng cách định địa : cách xác định toán hạng địa thật 1.4.1.5 Các cách định địa : -Cách định địa hiểu ngầm - Cách định địa tức thời 10 - Cách định địa ghi Cách định địa gián tiếp qua ghi Cách định địa trực tiếp Cách định địa gián tiếp Cách định địa tương đối 1.4.2 Bộ nhớ Địa 3A 0F ô nhớ n-1 Hình 1.5: Bộ nhớ a.Bit : 0/1 biểu diễn hai trạng thái , đơn vị nhớ b.Định vị nhớ : (memory addressing) Bộ nhớ sẻ đánh số n-1, với n số ô nhớ nhớ Tất ô nhớ có số lượng bit nhau, ô nhớ có k bit có từ 1Ỉ 2k tổ hợp bit khác Ví dụ : với nhớ 96 bit ta có kiểu tổ chức nhớ sau : 12x8 bit, 8x12 bit, 6x16 bit Thường ô nhớ có bit=1byte Nếu nhớ có m đường địa có 2m byte (ô nhớ) Ví dụ : nhớ có 10 bit địa Ỉ dung lượng nhớ 210 byte=1KB nhớ có 11 bit địa Ỉ dung lượng nhớ 211 byte=2KB nhớ có 12 bit địa Ỉ dung lượng nhớ 212 byte=4KB Ví dụ : EPROM 2716 2732 2764 2KB 4KB 8KB SRAM 6116 6264 2KB 8KB c Bộ nhớ : ROM (read only memory): nhớ đọc RAM(random access memory) : nhớ đọc ghi Bộ nhớ : băng từ, đóa từ (đóa mềm, đóa cứng) *Chức nhớ : -Có nhiệm vụ lưu trữ thông tin gồm có : +Chương trình :- khởi động -giao tiếp BIOS -hệ điều hành (hệ thống) 184 Bít RS R/W D7 D6 D5 D4 D3 D2 D2 D0 0 0 0 0 0 0 0 0 1 I/O S 0 0 0 D C B 0 0 S/C R/L 0 0 0 DL N F 0 0 Địa kí tự 0 1 Loại ký tự 1 Loại ký tự Hiển thị địa liệu Mạch kết nối: RB1 nối với RS RB2 nối với R/W RB3 nối với EN RB4—RB7 nối với D4—D7 Chức Xoá LCD bộnhớ, trỏ Chỉ xóa trỏ Tác động hiển thị ký tự viết I/O=1/0: trỏ R/L, hình L/R S=1/0: dịch hình/con trỏ D=1/0: hình on/off C=1/0: trỏ on/off B=1/0: trỏ nhấp nháy/không nhấp nháy S/C=1/0: hình/con trỏ R/L: dịch khoảng trống R/L DL=1/0: 8/4 bit kí tự N=1/0:2/1 dòng kí tự F=1/0: 5x10/5x7 chấm(dot)/ký tự Ghi tới địa chỉa Ram kí tự sau điều Ghi tới địa chỉa Ram hiển thị ï sau Ghi byte với RAM cuối chọn Đọc byte với RAM cuối chọn 185 Hình : Kết nối LCD v i vi điều khiển: Vi ết ch ng tr ình hi ển th ch ữ HANOI tr ên LCD d ùng PIC 16F84 Vi ết ch ng tr ình hi ển th ch ữ HANOI tr ên LCD d ùng PIC 16F877A 9.5.3 Điều khiển led đoạn: *Trư ng hợp led đoạn loại catốt chung: Thiết kế m t mạch mà đếm hiển th led đoạn (loại catốt chung), số lần m t nút nhấn ấn t i 10 Mã nh phân để lái led đoạn sau: Số PORTB B7 B6 B5 B4 B3 B2 B1 B0 0 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 Xét mạch điện sau: Hình: S đồ mạch điều khiển led đoạn Dp g f e d c b a B7 B3 B2 B4 B5 B6 B0 B1 0 1 1 1 số ( mã 77h) M r ng chư ng trình cho PIC 16F877A Xét mạch sau: 186 Hình: Kết nối vi điều khiển v i led đoạn chế đ multiplex Viết chư ng trình hiển th số 30 hai led M r ng cho PIC 16F877A *Tr ng h ợp led đo ạn lo ại anod chung: D ùng port B k ết n ối thanh, c òn port A ều ển ch ọn led (c ấp ện) N ếu RA0=0 th ì transistor d n l àm Vc=VE=+5V v anod c led đ ợc c ấp ện, portB n ối v i c ác a,b, ,g,dp RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 1 1 1 RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 Dp g f e d c b a 1 0 0 0 +5V RA0 Led b0 B1 B7 FEh (ch ọn led 0) C0H (s ố 0) 187 Vi ết ch ng tr ình hi ển th s ố tr ên led Vi ết ch ng tr ình hi ển th ch ữ HUI tr ên led ( led 0, led 1, led 2) 9.5.4 Điều khiển led ma trận: Sơ đồ nguyên lí: Phân tích sơ đồ điều khiển ma trận led Hình : Sơ đồ nguyên lý led ma trận (Hình vẽ trích dẫn từ sách “Thí nghiệm vi xử lí” tác giả Phạm Quang Trí, ĐHCN Tp HCM) Ma trận gồm hàng cột(red-col green col.) Dùng port C –hàng, port B/Port D-column red (c t đỏ) -Nguyên lý led sáng :PortB quét coat, PortC quét hàng; thí dụ led(1,1) sáng Va>Vk , nghóa PortC,0=’0’ PortB,0=’0’ Khi Vk=0,8v; TST PNP Q1 dẫn làm Va≈VE=5V Nếu muốn PortC,0=’0’ PortB,0=’1’ (c t tích cực mức logic ‘1’) led sáng ta dùng đệm đảo cột , hàng không đệm đảo -Nguyên lý dãy led sáng : Thí dụ chữ L Phương pháp quét cột (không có đệm đảo) (ACT=’0’) hiển thị hàng (ACT=’0’): cho cột tích cực mức xuất liệu hàng Thí dụ: chữ T, PortB quét cột, PortC quét hàng Quét cột 0: PortB,0=’0’ ;PortC,0ỈPortC,7=’0’ : mã hàng, cột (00h, Feh) Quét cột 1: PortB,1=’0’ ;PortC,0ỈPortC,7=’0’ : mã hàng, cột (00h, FDh) Quét cột 2: PortB,2=’0’ ;PortC,3=’0’ PortC,4=’0’ : mã hàng, cột (E7h, FBh) Quét cột 3: PortB,3=’0’ ;PortC,3=’0’ PortC,4=’0’ : mã hàng, cột ( E7h, F7h) Quét cột 4: PortB,4=’0’ ;PortC,3=’0’ PortC,4=’0’ : mã hàng, cột (E7h, EFh) Quét cột 5: PortB,5=’0’ ;PortC,3=’0’ PortC,4=’0’ : mã hàng, cột (E7h, DFh) Quét cột 6: PortB,6=’0’ ;PortC,3=’0’ PortC,4=’0’ : mã hàng, cột (E7h, BFh) Quét cột 7: PortB,7=’0’ ;PortC,3=’0’ PortC,4=’0’ : mã hàng, cột (E7h, 7Fh) Phương pháp quét cột (có đệm đảo) (ACT=’1’) hiển thị hàng (ACT=’0’): cho cột tích cực mức xuất liệu hàng THí dụ : Hiện chữ T, dùng PortB qt c t, portC qt hàng 188 Chương trình led matrix: dùng để tạo chữ, số ký hiệu 9.5.5 Điều khiển nút nhấn, b àn ph ím: Điều khiển nút nhấn: S đồ mạch nút nhấn vi điều khiển Viết chư ng trình điều khiển nút nhấn (dùng PIC 16F84) -Đợi cho nút nhấn SW1 đóng -B t led -Đợi cho SW1 nhả -Tắt led -Lặp lại Bài t p: làm lại thí dụ s dụng vi điều khiển PIC 16F877A -Qu ét b àn ph ím: 189 K ết n ối b àn ph ím v i vi ều ển Port B: RB0, RB1, RB2 n ối v i c t C1,C2,C3 v RB3, RB4, Rb5, RB6 n ối v i h àng R1,R2,R3,R4 B àn ph ím g ồm h àng v c t C t 1, C1 C t 2, C2 C t 3, C3 H àng 1, R1 H àng 2, R2 H àng 3, R3 H àng 4, R4 * # Vi ết ch ng tr ình (d ùng PIC 16F84) hi ển th ph ím nh ấn: ph ím đ ợc nh ấn hi ển th s ố nh ph ân tr ên port A., ph ím đ ợc nh ấn hi ển th s ố nh ph ân tr ên port A B ài t p: l àm l ại th í d ụ tr ên d ùng PIC 16F877A Khối bàn phím, nut nhấn công tắc: Phân tích sơ đồ điều khiển : -Nút nhấn: 190 Hình : Sơ đồ nguyên lý nut nhấn (Hình vẽ trích dẫn từ sách “Thí nghiệm vi xử lí” tác giả Phạm Quang Trí, ĐHCN Tp HCM) Gi ả s portB ều ển n út nh ấn SW0-SW7 Khi nh ấn n út SW0, bit nh n đ ợc l logic : RB0=’0’ Khi nh ả nh út nh ấn SW0, bit nh n đ ợc l logic 1, RB0=’1’ -Công tắc: Hình : Sơ đồ nguyên lý công tắc (Hình vẽ trích dẫn từ sách “Thí nghiệm vi xử lí” tác giả Phạm Quang Trí, ĐHCN Tp HCM) -Bàn phím: 191 Hình : Sơ đồ nguyên lý bàn phím (Hình vẽ trích dẫn từ sách “Thí nghiệm vi xử lí” tác giả Phạm Quang Trí, ĐHCN Tp HCM) Bài tập : Chương trình điều khiển bàn phím hiển thị mã phím nhấn led đơn dạng số nhị phân dùng port B (RB0Ỉ RB3 : hàng, RB4Ỉ RB7: cột) xuất cho cột Sau kiểm tra mức logic ngõ nhập để xem có phím nhấn: có phím nhấn hàng cột chập nhau, ngõ nhập mức logic 0, từ ta tính mã quét phím Giải thuật điều khiển bàn phím: Quét phím i=0 Cột i=’0’ Đ Có phím nhấn? S Mã phím I=i+1 I=4 Đ Cờ C=’0’ Thoát S 192 Mã phím Hàng Đ Mp+0 Đ Mp+4 S Hàng S Hàng Đ Mp+8 S Hàng Đ Mp+12 S Cờ C=’0’ Cờ C=’1’ End Chương trình: Dự án Dự án 1: điều khiển tốc đ motor DC loại nhỏ Viết chư ng trình điều khiển motor DC loại nhỏ: S đồ khối cho điều khiển tốc đ đ ng c m t chiều loại nhỏ s dụng vi điều khiển PIC 16F877A: (hình 1) Yêu cầu s dụng vi điều khiển để điều khiển tốc đ đ ng c DC theo chiều thu n ngược thực hai tốc đ (nhanh ch m) Công tắc (nút nhấn) dung tạo hai tốc đ tác đ ng quay ngược S đồ khối minh họa hình 1, s dụng vi điều khiển PIC 16F877A Phư ng pháp điều khiển tốc đ điều r ng xung (PWM) dung PIC 16F877A Đặt chân RC1=’0’ (logic 0) áp dụng PWM vào chân RC2 làm cho đ ng c quay thu n Việc điều khiển quay thu n hay ngh ch đạt thiết kế cầu mạch điều khiển đ ng c Nếu nút nhấn khơng 193 nhấn đ ng c v n ổn đ nh Giả s nút nhấn thiết l p PWM t số 6:4 nút thiết l p PWm v i t số 9:1 PWM = Ton Ton = T Ton + Toff PIC 16F877A Đ ng c chạy Mạch lái đ ng c Đ ng c Ngược chiều Tốc đ Nút nhấn Tốc đ Nút nhấn Ngược chiều Nút nhấn Hình Nút nhấn dùng RA0, RA1, RA2 T số 6:4 có chu kì tổng T=6+4=10 chu kì mức cao (1), thấp (0) T số 9:1 có T=10, mức 1, mức mức 194 Hình 2: Mạch điều khiển cầu s dụng ngõ vào t chân RC2 RC1 để điều khiển tốc đ đ ng c m t chiều thứ hư ng quay Đ ng c ng ng (off) RC2 RC1 logic 0, cực C T1 T6 mức cao Vì v y T2 T4 d n (on) T3 T5 tắt (off)(khơng d n) khơng có dịng d n qua đ ng c 5V đất (GND, mass) Đ ng c quay(on): RC1=’0’, cực C T6 cao, T4 d n T5 tắt Nếu tín hiệu PWM áp dụng vào RC2 PWM logic 1, T1 d n, cực C T1 mức thấp; v y T2 tắt T3 d n Do dòng điện d n qua đất thong qua transistor T3, đ ng c Dc qua transistor T4 lên nguồn +5V Đ ng c quay ngược(reverse): Nếu RC2=’0’ (logic 0) T2 d n T3 tắt Nếu tín hiệu PWM áp dụng vào RC1 PWM logic cao (1), transistor T4 tắt T5 d n, tạo dòng điện d n ngược thong qua T5, đ ng c T2 2/Viết chư ng trình Điều khiển đ ng c bư c Dự án 2: Điều khiển tốc đ đ ng c bư c Yêu cầu dung vi điều khiển để lái đ ng c bư c hai chiều quay thu n ngược để thực xếp hai tốc đ (nhanh ch m) Nút nhấn dùng tạo hai tốc đ đảo chiều quay Hình vẽ minh họa hình 3, s dụng vi điều khiển PIC 16F877A PIC 16F877A Đ ng c chạy RB7 RB6 RB5 RB4 Mạch lái đ ng c Tốc đ Nút nhấn Tốc đ Nút nhấn Ngược chiều Nút nhấn Đ ng c Hình 3: S đồ khối điều khiển đ ng c bư c s dụng vi điều khiển PIC 16F877A 195 Mạch điều khiển cho đ ng c bư c Hình 4: Sắp xếp mạch phù hợp để cung cấp mạch lái cho đ ng c bư c Trình tự xung điều khiển: RB7 RB6 RB5 RB4 0 0 0 0 0 0 Nếu đầu A có RB7=logic transistor Q1 d n, có dịng điện Ic qua cu n dây cu n dây thành nam châm điện, tư ng tác v i nam châm vĩnh c u rotor làm đ ng c quay m t góc Tư ng tự cho đầu B, C, D (bit RB6, RB5, RB4 tư ng ứng) 3/Mạch báo tr m 4/ H t súc sắc điện t 5/B timer mạch phản ứng IV.T ng kết bài: -Tóm tắt ý -Chuẩn b m i V Câu hỏi tập nhà: Chương 9: Thiết kế hệ vi xử lí hệ phát triển vi điều khiển Giải mã địa : 1.Thiết kế mạch giải mã địa cho nhớ 196 12 KB = ROM 2KB + SRAM 4KB + 3x SRAM 2KB Địa : 0000h –2FFFh Thiết kế mạch giải mã địa cho hệ vi xử lý gồm : EPROM 2764, RAM 6264, PPI 8255 Vùng địa nhö sau : EPROM : 0000h-1FFFh, RAM : 2000h-3FFFh 8255(1) : A000h-BFFFh (chỉ dùng A000h-A003h) 8255(2) : E000h-FFFFh (chỉ dùng E000h-E003h) 3.Thiết kế mạch giải mã địa : 8x KB (8 IC EPROM 1KB) Thiết kế mạch giải mã địa KB 2x ROM KB 4xSRAM 1KB Thiết kế mạch giải mã địa KB 1Rom 2Kb + 2xSRAM 1Kb + 1xSRAM 4KB Hãy giải mã địa sau cho EPROM 2764 có địa A000h-BFFFh dùng cổng logic hay IC 74LS138 Thiết kế mạch giải mã địa cho để sử dụng với thiết bị : 8000H9FFFH thiết bị : 0000H-1FFFH Giao tiếp với nhớ RAM HM6264 ROM 27C256, hai số đầu thiết bị RAM(62) ROM(27) Các số để dung lượng theo K bits, có nhớ 4, 8, 16, 32 64KB ( nghóa số theo sau 62/27 32, 64, 128, 256 512) 10 Thiết kế mạch giao tiếp nhớ 64KB (từ chip EPROM chip 8KB) với 8031/8051 11 Thiết kế mạch giải mã địa cho bảng nhớ sau : 0000H-BFFFH tầm địa 48 KB RAM (mỗi chip RAM 8KB) C000H-DFFFH tầm địa cổng xuất bit E000H-FFFFH tầm địa cổng nhập bit Thiết kế kit vi xử lý : 1.Thiết kế kit xử lý gồm CPU PIC 16F877A, RAM 8KB, EPROM 8KB, 2xIC8255 2.Thieát keá kit vi xử lý CPU PIC 16F877A, RAM 16KB, EPROM 16KB, 2xIC8255 3.Thiết kế kit vi xử lý CPU PIC 16F877A, RAM 64KB, EPROM 64KB, 2xIC8255 Kit vi điều khiển tối thiểu kit m r ng gì? Thiết kế ngoại vi: Trình bày cấu trúc sơ đồ khối vi mạch giao tiếp song song 8255 Lập trình 8255 cho port A, port B, port C laø xuất, mode So sánh giao tiếp ngoại vi song song giao tiếp ngoại vi nối tiếp Truyền liệu nối tiếp gì? Đồng bất đồng bộ? Song công đơn công? Chuẩn RS232 gì? Kết nối máy tính modem Kết nối PIC 16F877A RS232 Vẽ mạch truyền liệu máy tính vi điều khiển PIC 16F877A sử dụng MAX232/MAX233 197 Thiết kế mạch giao tiếp PIC 16F877A với led đoạn 10 Thiết kế bàn phím 16 key giao tiếp với PIC 16F877A sử dụng a)port B 16F877A b) port A 8255 Lập trình điều khiển : Điều khiển led đơn chạy đuổi, sáng dần, tắt dần hai bìa vào Điều khiển đóng nhả rờle Điều khiển hiển thị led đoạn Điều khiển ma trận led hiển thị chữ HANOI, DHCN Điều khiển bàn phím Dự án 1/Dự án 1: điều khiển tốc đ motor DC loại nhỏ Viết chư ng trình điều khiển motor DC loại nhỏ: 2/Dự án 2: Điều khiển tốc đ đ ng c bư c Viết chư ng trình Điều khiển đ ng c bư c 3/Mạch báo tr m 4/ H t súc sắc điện t 5/B timer mạch phản ứng 198 Tài liệu tham khảo: D.W Smith, PIC in Practice: A project-based approach, 2nd ed., Elsevier, 2006 Tài liệu PIC b môn Điện t Công nghiệp, trư ng ĐHCN Tp HCM Datasheet PIC 16F84A, 16F877A Website: http://www.alldatasheet.com/ Website : http://www.microchip.com/ Phần mềm MPLAB IDE v6.60 (l p trình hợp ngữ), Phần mềm CCS : PCW C Compiler IDE v3.227 (gồm PCB, PCM, PCH) (l p trình C) Phần mềm nạp WinPic800 Phần mềm PICC Lite, Hi-Tech C for PIC 10/12/16 MCUs: user’s guide MPLAB C18 C Compiler for PIC 18 MCUs Hồ Trung Mỹ, Vi x lí, NXB ĐHQG Tp HCM, 2003 Trư ng Trác, Chip đ n PIC16C84 ứng dụng chúng, Tạp chí Điện t (Electronic Fan) t số 117 (tháng 7/2003) đến số 122 (tháng 12/2003) Myke Predko, Programming and customizing the PIC microcontroller, 3rd edition, Tab Electronics, McGrawHill, 2008(Ebook) Nebojsa, Dragan Andric, PIC microcontrollers Văn Thế Minh, Kỹ thu t vi x lý, NXB GD, 1997 10 Douglass V.Hall, Microprocessors and interfacing: Programming and Hardware, 2nd ed., Macmillan/McGraw-Hill, 1992 11 John Morton, The PIC microcontroller: your personal introductory course, 3rd ed., Newnes, 2005 12 Nigel Gardner, PICmicro MCU C: An introduction to programming the microchip PIC in CCS C, Copyright Bluebird Electronics 2002 ... khiển Các họ vi x lí thong dụng -Gi i thiệu vi điều khiển PIC: b nh chư ng trình, xung đồng hồ vi điều khiển, hệ thống vi điều khiển Đặc tính vi điều khiển Các loại vi điều khiển S dụng vi điều khiển:... c.Máy vi tính : Máy vi tính máy thông dụng Một máy vi tính vi điều khiển (micro controller) vỏ vi mạch (one-chip microcomputer) Ví dụ : vi điều khiển 68HC11 Motorola, MCS-8051 -Có khả làm vi? ??c... hệ vi xử lí Giới thiệu chung vi điều khiển PIC III.1 Mục tiêu: -Gi i thiệu hệ đếm L ch s phát triển b vi x lí Cấu trúc chức hoạt đ ng hệ vi x lí Chức thành phần bên hệ vi x lí Gi i thiệu vi điều

Ngày đăng: 22/12/2022, 18:47

w