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

Đề 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 18 1

Đ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 20
Dung lượng 2,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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]

Trang 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

TPHCM, tháng 03 năm 2018

Trang 2

MỤC LỤC

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

1 Giới thiệu về PIC 4

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

3 Ứng dụng của PIC 5

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

2 Sơ đồ chân 9

3 Tổ chức bộ nhớ 9

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

5 Hoạt động Reset 15

6 Các Port vào / ra 17

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

2 Sử dụng MPLAB 29

3 Trình dịch MCC18 40

Chương 4 HOẠT ĐỘNG VÀO RA 1 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 1 Giới thiệu 53

2 Timer 0 53

3 Timer 1 60

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

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

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

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

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

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

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

3 Ngắt ngoài 77

4 Các thanh ghi liên quan 77

5 Lập trình sử dụng ngắt 85

Trang 3

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

1 Giới thiệu 91

2 Các thanh ghi liên quan 93

3 Sử dụng các bộ 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) 1 Giới thiệu 99

2 Các thanh 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 2 VI ĐIỀU KHIỂN PIC 1 Giới thiệu 116

2 Các thanh ghi liên quan 118

3 Tốc độ baud 121

4 Ngắt USART 128

5 Lập trình sử dụng USART 131

Trang 4

Chương 1

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

1 GIỚI THIỆU VỀ PIC

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

từ đó hình thành nên dòng vi điều khiển PIC ngày nay

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 của 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ó bộ nhớ EPROM (chỉ có 16C84 là EEPROM) F: PIC có bộ nhớ flash

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

Bên cạnh đó một số vi điều khiển có kí hiệu xxFxxx là EEPROM, nếu có chữ A

ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash)

Ngoài ra còn có thêm dòng vi điều khiển PIC mới là dsPIC

Trang 5

Ở Việt Nam phổ biến nhất là họ vi điều khiển PIC do hãng Microchip sản xuất Cách lựa chọn một vi điều khiển PIC phù hợp: Trước hết cần chú ý đến sốchân của 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, thậm chí có vi điều khiển chỉ có 8 chân, ngoài ra còn có vi điều khiển 28, 40, 44, … chân Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trình được nhiều lần hơn, tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn trong vi điều khiển, các chuẩn giao tiếp bên trong và sau cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho phép

3 ỨNG DỤNG CỦA PIC

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

Hình 1.2 Ứng dụng PIC

Trang 6

Chương 2 KIẾN TRÚC PHẦN CỨNG CỦA PIC 18F4520

1 SƠ ĐỒ KHỐI

Hình 2.1 Sơ đồ khối của PIC18F4520

Các khối chính trên PIC 18F4520 bao gồm:

 Bộ xử lý trung tâm CPU (Central Processing Unit):

Trang 7

 Tần số làm việc tối đa 40 MHz, sản xuất bằng 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 bằng phần cứng (8x8 Multiply), kết quả được chứa trong cặp thanh ghi (PRODH, PRODL)

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

 Thanh ghi con 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 con trỏ dữ 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 bộ nhớ ROM (Read-only Memory) kiểu Flash

 Bộ nhớ dữ 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 ngoài hoặc từ bộ phát xung của hệ thống sẽ được đi qua bộ nhân hoặc 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 chính được đưa vào chip qua chân OSC1 và OSC2

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

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

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

 Watchdog Timer (WDT): là một bộ timer có chức năng đặc biệt, khi bị tràn sẽ khởi động lại hệ thống Thời gian khởi động lại hệ thống có thể lựa chọn được

từ 4ms đến 131,072s WDT sẽ được khởi tạo ở đầu chương trình, trong thân chương trình sẽ được “chèn” các lệnh reset WDT sao cho khi vi điều khiển thực hiện các đúng tuần tự các lệnh, WDT chưa bị tràn Mục đích chính của việc sử dụng WDT là tránh cho vi điều khiển vô tình thực hiện phải một vòng lặp chết (dead loop) mà không thoát ra được

 Bộ nạp chương trình: Bộ nạp chương trình nối tiếp trên chip (Single-Supply In-Circuit Serial Programming) sẽ giúp nạp chương trình từ mạch nạp vào bộ nhớ ROM qua các chân PGM, PGC và PGD

Trang 8

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

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

 Reset từ chân MCLR

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

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

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

 Khối định thời khởi động bộ phát xung (Oscillator Start-up Timer): Khối này

sử dụng để tạo thời gian trễ chờ cho bộ phát xung ổn định

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

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

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

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

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

 02 bộ CCP1, CCP2 (Capture, Compare, PWM : Chụp, So sánh, xung Pwm);

01 bộ ECCP (Enhanced CCP)

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

 01 cổng truyền thông nối tiếp đồng bộ/không đồng bộ tăng EUSART (Enhanced Universal Synchronous Asynchronous Receiver Transmitter), giúp vi điều khiển PIC có thể giao tiếp với nhau hoặc giao tiếp với cổng COM của 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ó 5 cổng vào/ra A, B, C,

D và E Mỗi cổng có một thanh ghi đệm dữ liệu tương ứng là PORTA, PORTB, PORTC, PORTD và PORTE, các thanh ghi này được định địa chỉ theo byte và theo bit

 PORTA : RA7 - RA0

 PORTB : RB7 - RB0

 PORTC : RC7 - RC0

 PORTD : RD3 - RD0

 PORTE : RE3-RE0

Trang 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ớ của vi điều khiển PIC 18F4520 bao gồm 3 loại:

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

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

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

Bộ nhớ chương trình

Thanh ghi đếm chương trình PC (Program Counter) của PIC 18F4520 có 21 bit nên có thể địa chỉ hóa 2 Mbyte bộ nhớ chương trình Bộ nhớ Flash của PIC 18F4520 có dung lượng 32 Kbyte nên chứa được 16384 lệnh từ đơn (single-word instructions), với dải địa chỉ từ 0000h đến 7FFFh Nếu đọc ở vùng nhớ ngoài 32Kbyte của PIC 18F4520 và trong khoảng 2 Mbyte mà nó có thể quản lý thì giá trị dữ liệu trả về sẽ là “0” PIC 18F4520 có 31 mức ngăn xếp

Trang 10

Vector Reset của PIC 18F4520 được đặt ở địa chỉ 0000h, khi reset nội dung của thanh ghi đếm chương trình PC sẽ được xóa về 0 Các thanh ghi của PIC 18F4520

sẽ được tải lại các giá trị mặc định

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

Vector ngắt ưu tiên cao (High-Priority Interrupt Vector) được đặt ở địa chỉ 0008h, vector ngắt ưu tiên thấp (Low-Priority Interrupt Vector) được đặt ở địa chỉ 0018h Thanh ghi đếm chương trình PC 21 bit chứa trong 3 thanh ghi 8 bit riêng biệt, 8 bit thấp chứa trong thanh ghi PCL, 8 bit tiếp theo chứa trong thanh ghi PCH, 5 bit cao chứa trong thanh thi PCU Thanh ghi PCH và PCU không cho phép truy cập trực tiếp mà phải truy cập thông qua hai thanh ghi PCLATH và PCLATU tương ứng PIC 18F4520 đươc thiết kế theo kỹ thuật đường ống lệnh (Instruction Pipelining) nên việc thực hiện lệnh PC-2 và đọc mã lệnh PC được diễn ra cũng một thời điểm

Trang 11

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

Bộ nhớ dữ liệu RAM

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

Bộ nhớ dữ liệu RAM 1536 byte (SRAM) được chia thành 2 vùng chức năng riêng biệt, vùng RAM đa dụng GPR (General Purpose Registers) sử dụng để chứa dữ

Trang 12

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

Bộ nhớ dữ liệu RAM được chia thành 16 Bank từ Bank 0 đến Bank15, vùng RAM

đa dụng nằm từ Bank 0 đến Bank 2, các thanh ghi SFR nằm ở Bank 15 Vùng địa chỉ từ 300h đến EFFh không được sử dụng, đọc ở vùng này sẽ trả về giá tri 00h Bốn bit thấp của thanh ghi lựa chọn băng BSR (Bank Select Register) được sử dụng để lựa chọn truy cập băng

Hình 2.6 Phân bổ địa chỉ của các thanh ghi chức năng đặc biệt SFR

Bộ nhớ dữ liệu EEPROM

Trang 13

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

4 KHỐI TẠO DAO ĐỘNG

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

Hình 2.7 Sơ đồ khối bộ tạo dao động trên 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 ngoài

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

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

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

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

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

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

 EC bộ phát xung ngoài, phát xung FOSC/4 ra chân RA6

Trang 14

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

Tạo dao động bằng thạch anh ngoài (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 hoặc mạch cộng hưởng thạch anh bọc gốm đã có tụ điện (Ceramic Resonator) Ở các chế độ này bộ tạo dao động kết nối với vi điều khiển PIC 18F4520 qua hai chân OSC1 và OSC2

- Sơ đồ kết nối giữa vi điều khiển với bộ phát xung ngoài:

Hình 2.8 Sơ đồ kết nối với bộ dao động thạch anh/mạch cộng hưởng ngoài

- Lựa chọn giá trị tụ điện khi 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 khi sử dụng Ceramic Resonator

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

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

Nguồn xung ngoài (External Clock)

Trang 15

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

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

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

- Chế độ nguồn xung ngoài ECIO (External Clock Input Output), nguồn xung được lấy từ bên ngoài nối qua cổng NOT trước khi đưa vào OSC1/CLKI và chân OSC2/CLKO là 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ó 8 nguồn Reset:

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

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

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

 Reset do Watchdog Timer (WDT)

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

 Reset bằng lệnh RESET

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

 Reset do rỗng ngăn xếp (Stack Underflow Reset)

Trang 16

Hình 2.11 Mô tả các nguồn Reset của PIC 18F4520

a Reset từ chân MCLR

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

Hình 2.12 Mạch reset ngoài MCLR

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

Trang 17

Khi nguồn được cấp vào chân VDD, khối reset POR sẽ phát hiện sườn dương trên chân VDD sau đó phát tín hiệu reset vi điều khiển Bit POR trong thanh ghi RCON

sẽ báo trạng thái của reset POR, POR = ‘1’ là không phát hiện tín hiệu reset, POR=

‘0’ là phát hiện tín hiệu reset POR

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

Hình 2.13 Mạch reset do 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 được chia thành 5 cổng là PORTA, PORTB, PORTC, PORTD có 8 chân và PORTE có 4 chân 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 thanh ghi điều khiển của ngoại vi để lựa chọn chức năng cho các chân Mỗi cổng vào/ra của vi điều khiển PIC 18F4520 có 3 thanh ghi để điểu khiển hoạt động:

 Thanh ghi PORT là thanh ghi dữ liệu, được định địa chỉ theo byte và theo bit, sử dụng để đệm đọc/ghi dữ liệu trên các cổng

 Thanh ghi LAT là thanh ghi chốt dữ liệu đầu ra (bằng ‘1’ đầu ra chốt mức

1, bằng ‘0’ đầu ra chốt mức 0)

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

6.1 Cấu trúc chung của một chân vào/ra

Hình 2.14 thể hiện cấu trúc chung của một chân vào/ra Trong đó việc xác định chân vào hay ra do các bit cụ thể quy định

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w