Đề cương bài giảng mô đun: Điều khiển hệ thống Cơ điện tử sử dụng vi điều khiển - Trường Đại học Công nghiệp Thực phẩm Tp. Hồ Chí Minh

20 15 1
Đề cương bài giảng mô đun: Điều khiển hệ thống Cơ điện tử sử dụng vi điều khiển - Trường Đại học Công nghiệp Thực phẩm Tp. Hồ Chí Minh

Đ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

Các chân vào/ra của vi điều khiển PIC 18F4520 mang nhiều chức năng, nó có thể được thiết lập là chân vào/ra dữ liệu hay là các chân chức năng đặc biệt của các bộ ngoại vi, sử dụng các[r]

(1)

BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI TRƯỜNG CAO ĐẲNG KỸ NGHỆ II

KHOA ĐIỆN – ĐIỆN TỬ

ĐỀ CƯƠNG BÀI GIẢNG MODUL:

ĐIỀU KHIỂN HỆ THỐNG CĐTSDVĐK

GVBS: Bùi Ngọc An

(2)

MỤC LỤC

Chương GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC CỦA MICROCHIP

1 Giới thiệu PIC

2 Các loại PIC thông dụng

3 Ứng dụng PIC

Chương KIẾN TRÚC PHẦN CỨNG CỦA PIC 18F4520 Sơ đồ khối

2 Sơ đồ chân

3 Tổ chức nhớ

4 Khối tạo dao động 13

5 Hoạt động Reset 15

6 Các Port vào / 17

Chương PHẦN MỀM MPLAB VÀ TRÌNH DỊCH MCC18 Cài đặt MPLAB 29

2 Sử dụng MPLAB 29

3 Trình dịch MCC18 40

Chương HOẠT ĐỘNG VÀO RA Lập Trình xuất 50

2 Lập Trình nhập 50

3 Hoạt động xuất/nhập 51

4 Bài tập ứng dụng 52

Chương 5: HOẠT ĐỘNG ĐỊNH THỜI Giới thiệu 53

2 Timer 53

3 Timer 60

4 Lập trình với timer 64

Chương 6: LẬP TRÌNH VỚI LCD 1602 Khái niệm 69

2 Nguyên lý hoạt động 70

3 Nguyên tắc hiển thị LCD 70

4 Ví dụ lập trình điều khiển hiển thị LCD 71

Chương 7: HOẠT ĐỘNG NGẮT Khái niệm 75

2 Tổ chức ngắt PIC 18F4520 75

3 Ngắt 77

4 Các ghi liên quan 77

(3)

Chương 8: MODULE CCP (CAPTURE / COMPARE / PWM)

1 Giới thiệu 91

2 Các ghi liên quan 93

3 Sử dụng PWM 94

4 Lập trình điều chế độ rộng xung 96

Chương 9: BỘ CHUYỂN ĐỔI TƯƠNG TỰ - SỐ (ADC) Giới thiệu 99

2 Các ghi liên quan 101

3 Điều khiển hoạt động chuyển đổi A/D 104

4 Lập trình sử dụng ADC 111

Chương 10: TRUYỀN THÔNG NỐI TIẾP VÀ GIAO TIẾP GIỮA VI ĐIỀU KHIỂN PIC Giới thiệu 116

2 Các ghi liên quan 118

3 Tốc độ baud 121

4 Ngắt USART 128

(4)

Chương

GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC CỦA MICROCHIP

1 GIỚI THIỆU VỀ PIC

PIC viết tắt “Programable Intelligent Computer”, tạm dịch “máy tính thơng minh khảtrình” hãng General Instrument đặt tên cho vi điều khiển họ PIC1650 thiết kế để dùng làm thiết bị ngoại vi cho vi điều khiển CP1600 Vi điều khiển sau nghiên cứu phát triển thêm từ hình thành nên dịng vi điều khiển PIC ngày

Hình 1.1 Vi điều khiển PIC

2 CÁC LOẠI PIC THƠNG DỤNG

Các kí hiệu vi điều khiển PIC:

 PIC12xxxx: độ dài lệnh 12 bit

 PIC16xxxx: độ dài lệnh 14 bit

 PIC18xxxx: độ dài lệnh 16 bit

C: PIC có nhớ EPROM (chỉ có 16C84 EEPROM) F: PIC có nhớ flash

LF: PIC có nhớ flash hoạt động điện áp thấp LV: LF, kí hiệu cũ

Bên cạnh số vi điều khiển có kí hiệu xxFxxx EEPROM, có chữ A cuối flash (ví dụ PIC16F877 EEPROM, PIC16F877A flash)

(5)

Ở Việt Nam phổ biến họ vi điều khiển PIC hãng Microchip sản xuất Cách lựa chọn vi điều khiển PIC phù hợp: Trước hết cần ý đến sốchân vi điều khiển cần thiết cho ứng dụng Có nhiều vi điều khiển PIC với số lượng chân khác nhau, chí có vi điều khiển có chân, ngồi cịn có vi điều khiển 28, 40, 44, … chân Cần chọn vi điều khiển PIC có nhớ flash để nạp xóa chương trình nhiều lần hơn, cần ý đến khối chức tích hợp sẵn vi điều khiển, chuẩn giao tiếp bên sau cần ý đến nhớ chương trình mà vi điều khiển cho phép

3 ỨNG DỤNG CỦA PIC

Ngày PIC ứng dụng rộng rãi thực tế, từ vật dụng đơn giản hệ thống điều khiển phức tạp công nghiệp

(6)

Chương

KIẾN TRÚC PHẦN CỨNG CỦA PIC 18F4520

1 SƠ ĐỒ KHỐI

Hình 2.1 Sơ đồ khối PIC18F4520 Các khối PIC 18F4520 bao gồm:

(7)

 Tần số làm việc tối đa 40 MHz, sản xuất công nghệ nanoWatt

 Thiết kế theo kiến trúc Havard, tập lệnh RISC

 Sử dụng kỹ thuật đường ống lệnh (Instruction Pipelining)

 Đơn vị logic học (ALU: Arithmetic Logical Unit)

 Thanh ghi làm việc (WREG: work register )

 Bộ nhân phần cứng (8x8 Multiply), kết chứa cặp ghi (PRODH, PRODL)

 Thanh ghi đếm chương trình (PC: Program Counter) có 21 bit bao gồm ghi PCL(PC-Low) chứa bit từ 7-0, ghi PCH (PC-High) chứa bit từ 15-8, ghi PCU (PC-upper) chứa bit từ 20-16

 Thanh ghi trỏ ngăn xếp STKPTR (Stack Pointer)

 31 mức ngăn xếp (31 level stack)

 Thanh ghi lựa chọn băng (BSR: Bank Select Register)

 Thanh ghi trỏ liệu gián tiếp FSR (Indirect Data Memory Address Pointer)

 Bộ nhớ (Memory):

 Bộ nhớ chương trình (Program Memory) bao gồm 32 Kbytes nhớ ROM (Read-only Memory) kiểu Flash

 Bộ nhớ liệu (Data Memory) bao gồm 1536 byte SRAM (Static Random Access Memory), 256 byte EEPROM

 Bộ phát xung hệ thống (Oscillator): Nguồn xung từ bên từ phát xung hệ thống qua nhân chia tần số để lựa chọn lấy tần số thích hợp để làm xung hệ thống

 Nguồn xung đưa vào chip qua chân OSC1 OSC2

 Nguồn xung phụ đưa vào chip qua chân T1OSI, T1OSO

 Bộ phát xung nội INTRC tần số 31kHz

 Bộ phát xung nội chíp tần số MHz

 Watchdog Timer (WDT): timer có chức đặc biệt, bị tràn khởi động lại hệ thống Thời gian khởi động lại hệ thống lựa chọn từ 4ms đến 131,072s WDT khởi tạo đầu chương trình, thân chương trình “chèn” lệnh reset WDT cho vi điều khiển thực lệnh, WDT chưa bị tràn Mục đích việc sử dụng WDT tránh cho vi điều khiển vơ tình thực phải vịng lặp chết (dead loop) mà khơng

(8)

 Bộ Debugger (In-Circuit Debugger): Mạch Debugger chíp giúp người lập trình kiểm sốt lỗi chương trình cách cho vi điều khiển hoạt động chế độ chạy lệnh, nhóm lệnh hay tồn chương trình

 Khối phát tín hiệu reset: Mạch phát tín hiệu reset có khả phát 03 nguồn reset:

 Reset từ chân MCLR

 Reset bật nguồn (POR: Power-on Reset)

 Reset nguồn yếu (BOR : Brown-out Reset)

 Khối quản lý lỗi phát xung (Fail-Safe Clock Monitor): Khối dụng để quản lý an toàn phát xung hệ thống

 Khối định thời khởi động phát xung (Oscillator Start-up Timer): Khối sử dụng để tạo thời gian trễ chờ cho phát xung ổn định

 Thiết bị ngoại vi (Peripheral): PIC18f4520 tích hợp thiết bị ngoại vi sau:

 Bộ phát điện áp cao/thấp HLVD(High/low-Voltage Detect)

 Bộ nhớ lưu liệu tắt nguồn EEPROM

 04 đếm, định thời 16 bit: Timer0, Timer1, Timer2 Timer3

 01 so sánh tín hiệu tương tự (Comparator)

 02 CCP1, CCP2 (Capture, Compare, PWM : Chụp, So sánh, xung Pwm); 01 ECCP (Enhanced CCP)

 01 cổng truyền thông nối tiếp đồng (Master Synchronous Serial Port) hoạt động chế độ SPI I2C

 01 cổng truyền thông nối tiếp đồng bộ/không đồng tăng EUSART (Enhanced Universal Synchronous Asynchronous Receiver Transmitter), giúp vi điều khiển PIC giao tiếp với giao tiếp với cổng COM máy tính

 13 kênh biến đổi tương tự - số (ADC) độ phân giải 10 bit

 Khối giao tiếp vào/ra số: Vi điều khiển PIC18F4520 có cổng vào/ra A, B, C, D E Mỗi cổng có ghi đệm liệu tương ứng PORTA, PORTB, PORTC, PORTD PORTE, ghi định địa theo byte theo bit

 PORTA : RA7 - RA0

 PORTB : RB7 - RB0

 PORTC : RC7 - RC0

 PORTD : RD3 - RD0

(9)

2 SƠ ĐỒ CHÂN

Sơ đồ chân dạng PDIP (Lead Plastic Dual In-Line Package)

Hình 2.2 Sơ đồ chân PIC 18F4520 dạng PDIP

3 TỔ CHỨC BỘ NHỚ

Bộ nhớ vi điều khiển PIC 18F4520 bao gồm loại:

 Bộ nhớ chương trình (Program memory)

 Bộ nhớ liệu RAM (Data RAM)

 Bộ nhớ liệu EEPROM (Data EEPROM)

Bộ nhớ PIC 18F4520 thiết kế theo kiến trúc Havard, nhớ chương trình nhớ liệu thiết kế riêng đường Bus, cho phép CPU truy cập lúc tới nhớ chương trình nhớ liệu Bộ nhớ liệu EEPROM sử dụng để lưu trữ liệu điện

Bộ nhớ chương trình

(10)

Vector Reset PIC 18F4520 đặt địa 0000h, reset nội dung ghi đếm chương trình PC xóa Các ghi PIC 18F4520 tải lại giá trị mặc định

Hình 2.3 Sơ đồ tổ chức nhớ chương trình ngăn xếp

(11)

Hình 2.4 Giản đồ xung đọc mã lệnh thực lệnh PIC 18F4520

Bộ nhớ liệu RAM

Hình 2.5 Sơ đồ tổ chức nhớ liệu RAM

(12)

liệu, vùng ghi chức đặc biệt SFR (Special Function Registers) chứa ghi chức điều khiển ngoại vi CPU

Bộ nhớ liệu RAM chia thành 16 Bank từ Bank đến Bank15, vùng RAM đa dụng nằm từ Bank đến Bank 2, ghi SFR nằm Bank 15 Vùng địa từ 300h đến EFFh không sử dụng, đọc vùng trả giá tri 00h Bốn bit thấp ghi lựa chọn băng BSR (Bank Select Register) sử dụng để lựa chọn truy cập băng

Hình 2.6 Phân bổ địa ghi chức đặc biệt SFR

(13)

Bộ nhớ liệu EEPROM PIC 18F4520 nhớ mảng không bị liệu điện, độc lập với nhớ chương trình nhớ liệu RAM, sử dụng để lưu trữ liệu lâu dài Nó ghi/đọc 1.000.000 lần, liệu lưu trữ nhớ 100 năm

4 KHỐI TẠO DAO ĐỘNG

PIC 18F4520 hoạt động 10 chế độ tạo dao động khác Việc lựa chọn chế độ tạo dao động nhờ bit FOSC3:FOSC0 ghi CONFIG1H

Hình 2.7 Sơ đồ khối tạo dao động PIC 18F4520 Các chế độ tạo dao động:

 LP (Low-Power Crystal) nguồn xung thạch anh ngoài, nguồn thấp

 XT (Crystal/Resonator) thạch anh/bộ cộng hưởng bên

 HS (High-Speed Crystal/Resonator) thạch anh/bộ cộng hưởng bên tốc độ cao

 HSPLL nhân lần tần số HS vịng khóa pha (Phase Locked Loop)

 RC (External Resistor/Capacitor) tạo dao động mạch RC bên ngoài, phát xung FOSC/4 chân RA6

 RCIO tạo dao động mạch RC ngoài, vào/ra chân RA6

 INTIO1 tạo dao động nội, phát xung FOSC/4 chân RA6, vào/ra chân RA7

 INTIO2 tạo dao động nội, vào/ra chân RA6 RA7

(14)

 ECIO phát xung ngoài, vào/ra chân RA6

Tạo dao động thạch anh (Crystal/ Ceramic Resonator)

Trong chế độ tạo dao động LP, XT, HS, HSPLL sử dụng thạch anh (Crystal) chưa có tụ điện mạch cộng hưởng thạch anh bọc gốm có tụ điện (Ceramic Resonator) Ở chế độ tạo dao động kết nối với vi điều khiển PIC 18F4520 qua hai chân OSC1 OSC2

- Sơ đồ kết nối vi điều khiển với phát xung ngồi:

Hình 2.8 Sơ đồ kết nối với dao động thạch anh/mạch cộng hưởng - Lựa chọn giá trị tụ điện sử dụng mạch cộng hưởng thạch anh bọc gốm

Bảng 2.1 Lựa chọn giá trị tụ điện sử dụng Ceramic Resonator - Lựa chọn giá trị tụ điện sử dụng thạch anh chưa có tụ điện (Crystal)

Bảng 2.2 Lựa chọn tụ điện sử dụng thạch anh (Crystal)

(15)

Chế độ EC ECIO sử dụng nguồn xung làm xung hệ thống nối qua cổng NOT trước đưa vào chân OSC1/CLKI

- Chế độ nguồn xung EC (External Clock), nguồn xung lấy từ bên nối qua cổng NOT trước đưa vào OSC1/CLKI chân OSC2/CLKO phát tần số ¼ tần số đầu vào

Hình 2.9 Chế độ dao động EC

- Chế độ nguồn xung ECIO (External Clock Input Output), nguồn xung lấy từ bên nối qua cổng NOT trước đưa vào OSC1/CLKI chân OSC2/CLKO chân vào/ra RA6

Hình 2.10 Chế độ dao động ECIO

5 HOẠT ĐỘNG RESET

Vi điều khiển PIC 18F4520 có nguồn Reset:

 Reset bật nguồn POR (Power-on Reset)

 Reset từ chân MCLR, sử dụng trình hoạt động bình thường

 Reset từ chân MCLR, sử dụng chế độ quản lý nguồn

 Reset Watchdog Timer (WDT)

 Reset sụt điện áp nguồn BOR (Brown-out Reset)

 Reset lệnh RESET

 Reset đầy ngăn xếp (Stack Full Reset)

(16)

Hình 2.11 Mơ tả nguồn Reset PIC 18F4520

a Reset từ chân MCLR

Nguồn reset MCLR đươc nối từ mạch reset bên qua chân MCLR/RE3 Nếu bit MCLRE ghi CONFIG3H đặt chân MCLR/RE3 chân reset, đặt MCLRE = “0” chân MCLRE chân vào/ra PORTE Khi có mức điện áp thấp đặt lên chân MCLR hệ thống thực reset

Hình 2.12 Mạch reset ngồi MCLR

(17)

Khi nguồn cấp vào chân VDD, khối reset POR phát sườn dương chân VDD sau phát tín hiệu reset vi điều khiển Bit POR ghi RCON báo trạng thái reset POR, POR = ‘1’ khơng phát tín hiệu reset, POR= ‘0’ phát tín hiệu reset POR

Giá trị linh kiện: R < 40 kΩ; R1 >= 1KΩ

Hình 2.13 Mạch reset bật nguồn POR

6 CÁC PORT VÀO/RA

Vi điều khiển PIC 18F4520 có 36 chân vào/ra chia thành cổng PORTA, PORTB, PORTC, PORTD có chân PORTE có chân Các chân vào/ra vi điều khiển PIC 18F4520 mang nhiều chức năng, thiết lập chân vào/ra liệu chân chức đặc biệt ngoại vi, sử dụng ghi điều khiển ngoại vi để lựa chọn chức cho chân Mỗi cổng vào/ra vi điều khiển PIC 18F4520 có ghi để điểu khiển hoạt động:

 Thanh ghi PORT ghi liệu, định địa theo byte theo bit, sử dụng để đệm đọc/ghi liệu cổng

 Thanh ghi LAT ghi chốt liệu đầu (bằng ‘1’ đầu chốt mức 1, ‘0’ đầu chốt mức 0)

 Thanh ghi TRIS ghi lựa chọn hướng liệu (bằng ‘0’ chiều ra, ‘1’ chiều vào)

6.1 Cấu trúc chung chân vào/ra

(18)

Hình 2.14 Cấu trúc chung chân vào/ra

6.2 Port A

PORT A gồm bit tương ứng với chân ký hiệu từ RA0 đến RA7 Các chân PORTA đọc/ghi theo bit byte

a Chức chân PORTA

Chân Chức năng Thanh ghi TRIS I/O Kiểu

I/O Mô tả

RA0/AN0 RA0 O DIG Chiều liệu sử dụng bit LATA<0>; không bị ảnh hưởng đầu vào tương tự

1 I TTL Chiều vào liệu sử dụng bit PORTA<0>

AN0 I ANA Đầu vào kênh biến đổi A/D chân đầu vào C1- so sánh Mặc đinh Reset POR

RA1/AN1 RA1

0 O DIG Chiều liệu sử dụng bit LATA<1>; không bị ảnh hưởng đầu vào tương tự

1 I TTL Chiều vào liệu sử dụng bit PORTA<1>

AN1 I ANA Đầu vào kênh biến đổi A/D chân đầu vào C2- so sánh Mặc đinh Reset POR RA2/AN2/

VREF-/CVREF

RA2 O DIG Chiều liệu sử dụng bit LATA<2>; Cấm chức đầu CVREF cho phép I TTL Chiều vào liệu sử dụng bit PORTA<2> Chức

năng bị cấm chức tương tự đầu CVREF cho phép

AN2 I ANA Đầu vào kênh biến đổi A/D chân đầu vào C2+ so sánh Mặc đinh Reset POR

VREF- I ANA A/D đầu vào điện áp tham chiếu mức thấp so sánh

(19)

RA3/AN3/VREF+ RA3 O DIG Chiều liệu sử dụng bit LATA<3>

1 I TTL Chiều vào liệu sử dụng bit PORTA<3>; Chức bị cấm đầu vào tương tự cho phép AN3 I ANA Đầu vào kênh biến đổi A/D hoặc chân

đầu vào C1+ so sánh Mặc đinh Reset POR

VREF+ I ANA A/D đầu vào điện áp tham chiếu mức cao so sánh

RA4/T0CKI/C1OUT RA4 O DIG Chiều liệu sử dụng bit LATA<4>

1 I ST Chiều vào liệu sử dụng bit PORTA<4>; mặc định reset POR

T0CKI I ST Cấp xung cho Timer0

C1OUT O DIG Đầu so sánh; ưu tiên vào/ra liệu RA5/AN4/SS/ RA5 O DIG Chiều liệu sử dụng bit LATA<5>; không ảnh

hưởng đầu vào tương tự HLVDIN/C2OUT

1 I TTL Chiều vào liệu sử dụng bit PORTA<5>; Chức bị cấm cho phép đầu vào tương tự AN4 I ANA Đầu vào kênh biến đổi A/D mặc định

reset BOR

SS I TTL Đầu vào SS(lựa chọn t/b tớ) Module MSSP

HLVDIN I ANA Đầu vào Module phát điện áp cao/thấp (High/Low-Voltage Detect)

C2OUT O DIG Đầu so sánh;được ưu tiên chức vào/ra liệu

OSC2/CLKO/RA6 RA6

0 O DIG

Chiều liệu sử dụng bit LATA<6> Chức cho phép chế độ RCIO, INTIO2 and ECIO

1 I TTL Chiều vào liệu sử dụng bit PORTA<6> Chế độ cho phép chế độ RCIO, INTIO2 ECIO

OSC2 x O ANA Kết nối với phát xung ( chế độ XT, HS LP)

CLKO x O DIG Chân phát xung hệ thống(FOSC/4) RC, INTIO1

EC

OSC1/CLKI/RA7 RA7

0 O DIG Chiều liệu sử dụng bit LATA<7> Chức bị cấm chế độ dao động

1 I TTL Chiều vào liệu sử dụng bit PORTA<7> Chức bị cấm chế độ dao động

OSC1 x I ANA Kêt nối với dao động

CLKI x I ANA Kết nối với nguồn xung bên

Bảng 2.3 Chức chân PORTA

Chú thích:

DIG = Digital level output (đầu số); TTL = đệm đầu vào chuẩn TTL (Transistor-Transistor Logic ); ST = đệm đầu vào sử dụng Schmitt Trigger; ANA = vào/ra tương tự; x= không xác định; I=Input (vào); O=Output (ra)

(20)

b Các ghi liên quan đến PORT A

Các ghi liên quan đến PORTA gồm ghi sau:

 PORTA: Thanh ghi liệu PORTA

 LATA: Thanh ghi chốt liệu đầu PORTA

 TRISA: Thanh ghi lựa chọn hướng liệu PORTA (bit tương ứng ghi đặt ‘0’ chân tương ứng có chiều ra, ‘1’ chiều vào)

 ADCON1: Là ghi điều khiển A/D, thiết lập chân vào/ra số hay tương tự

 CMCON: Là ghi điều khiển so sánh

 CVRCON ghi điều khiển điện áp tham chiếu so sánh

Tên Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

PORTA RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0

LATA LATA7 LATA6 Thanh ghi chốt liệu PORTA

TRISA TRISA7 TRISA6 Thanh ghi hướng liệu PORTA

ADCON1 — — VCFG1 VCFG0 PCFG3 PCFG2 PCFG1 PCFG0

CMCON C2OUT C1OUT C2INV C1INV CIS CM2 CM1 CM0

CVRCON CVREN CVROE CVRR CVRSS CVR3 CVR2 CVR1 CVR0

Bảng 2.4 Các ghi liên quan đến PORTA

6.3 Port B

PORTB gồm bit, tương ứng với chân ký hiệu từ RB0 đến RB7 Các chân PORTB đọc/ghi theo bit byte Các chân PORTB <7:4> PORTB cịn sử dụng làm nguồn ngắt ngồi

a Chức chân PORTB

Chân Chức

năng TRIS I/O

Kiểu

I/O Mô tả

RB0/INT0/FLT0 / AN12

RB0 O DIG Chiều liệu sử dụng bit LATB<0>; không bị ảnh hưởng đầu vào tương tự

1 I TTL Chiều vào liệu sử dụng bit PORTB<0>; Không nối điện trở pull-up RBPU = ‘0’ Cấm chức cho phép đầu vào tương tự

INT0 I ST Ngắt

FLT0 I ST Đầu vào báo cố PWM (Module ECCP1); Cho phép

bằng phần mềm

AN12 I ANA Kênh 12 biến đổi A/D

RB1/INT1/AN10 RB1 O DIG Chiều liệu sử dụng bit LATB<1>; chức không bị đầu vào tương tự

Ngày đăng: 01/04/2021, 16:00

Tài liệu cùng người dùng

Tài liệu liên quan