Xem mẫu

THIẾT KẾ HỆ THỐNG NHÚNG

MỤC LỤC
MỤC LỤC.......................................................................................................................................... 1
DANH MỤC HÌNH VẼ ..................................................................................................................... 4
Bài 1 ................................................................................................................................................... 5
TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC ......................................................................................... 5
1.1.
1.2.

Giới thiệu tổng quan về Pic .................................................................................................... 5
Kiến trúc Pic........................................................................................................................... 6

1.2.1.

Cấu trúc của PIC ............................................................................................................ 6

1.2.2.
RISC và CISC ................................................................................................................ 7
1.3. Vi điều khiển PIC 16F877A................................................................................................... 7
1.3.1.

Sơ đồ chân và kiểu đóng vỏ ........................................................................................... 7

1.3.2.
Sơ đồi khối ..................................................................................................................... 9
1.3.3.
Một số đặc điểm ............................................................................................................. 9
1.3.4.
So sánh với vi điều khiển họ 8051 ............................................................................... 10
Bài 2 ................................................................................................................................................. 11
TỔNG QUAN VỀ LẬP TRÌNH NHÚNG TRÊN PIC .................................................................... 11
2.1. Ngôn ngữ lập trình và trình biên dịch .................................................................................. 11
2.1.1.
Trên hệ điều hành window ........................................................................................... 11
2.1.2.
Trên hệ điều hành Linux .............................................................................................. 12
2.1.3.
Các mạch nạp và mạch gỡ rối chương trình................................................................. 12
2.2. Lập trình PIC với CCS ......................................................................................................... 15
2.2.1.
Tổng quan về CCS ....................................................................................................... 15
2.2.2.
Tạo PROJECT đầu tiên trong CCS .............................................................................. 16
2.3. Biến, hàm, cấu trúc lệnh và các chỉ thị tiền xử lý ................................................................ 23
2.3.1.
Biến, hằng, hàm và cấu trúc lệnh ................................................................................. 23
2.4. Mẫu chương trình cho lập trình CCS ................................................................................... 26
Bài 3 ................................................................................................................................................. 29
LẬP TRÌNH VÀO RA SỐ............................................................................................................... 29
3.1. Các hàm xử lý bit và các phép toán ..................................................................................... 29
3.1.1.
3.1.2.
3.1.3.

Hàm Shift_left, Shift_right........................................................................................... 29
Hàm Bit_set, Bit_clear ................................................................................................. 29
Hàm Bit_test................................................................................................................. 29

3.1.4.
3.1.5.

Hàm Swap .................................................................................................................... 30
Hàm Make8 .................................................................................................................. 30

3.1.6.
3.1.7.

Hàm Make16 ................................................................................................................ 30
Make32......................................................................................................................... 30

3.2. Các hàm vào ra ..................................................................................................................... 31
3.2.1.
Output_low (pin), Output_high (pin) ........................................................................... 31
3.2.2.
3.2.3.
3.2.4.

Output_bit (pin, value) ................................................................................................. 31
Input (pin) .................................................................................................................... 32
Output_X (value) ......................................................................................................... 32

3.2.5.

Input_X () ..................................................................................................................... 32
1

THIẾT KẾ HỆ THỐNG NHÚNG
3.2.6.
3.2.7.

Port_B_pullups ............................................................................................................. 32
Set_tris_X (value) ......................................................................................................... 32

3.3. Lập trình vào ra với led đơn, led 7 thanh và bàn phím ......................................................... 33
Bài 4 ................................................................................................................................................. 34
THỰC HÀNH: LẬP TRÌNH VÀO RA SỐ ..................................................................................... 34
Bài 5 ................................................................................................................................................. 34
LẬP TRÌNH VÀO RA TƯƠNG TỰ ............................................................................................... 34
5.1. Bộ chuyển đổi ADC và DAC ............................................................................................... 34
5.1.1
5.1.2.

Tổng quan ..................................................................................................................... 34
Độ phân giải ................................................................................................................. 35

5.1.3.
Điện áp tham chiếu ....................................................................................................... 36
5.2. Bộ chuyển đổi ADC trong PIC ............................................................................................. 36
5.2.1.
ADC trong PIC 16F877A ............................................................................................. 37
5.2.2.
5.2.3.

Cấu hình bộ ADC trong CCS ....................................................................................... 39
Lập trình ứng dụng ....................................................................................................... 42

Bài 6 ................................................................................................................................................. 44
THỰC HÀNH: LẬP TRÌNH VÀO RA TƯƠNG TỰ ...................................................................... 44
Bài 7 ................................................................................................................................................. 44
LẬP TRÌNH VÀ XỬ LÝ NGẮT ..................................................................................................... 44
7.1. Tổng quan về ngắt trong PIC 16F877A................................................................................ 44
7.2. Khai báo và sử dụng ngắt trong CCS ................................................................................... 45
7.3. Ngắt do sự thay đổi trạng thái của các chân trong PORTB .................................................. 48
7.4. Chế độ Sleep ......................................................................................................................... 50
7.5. Watch Dog Timer ................................................................................................................. 50
7.6. “Đánh thức” vi điều khiển .................................................................................................... 51
Bài 8 ................................................................................................................................................. 53
THẢO LUẬN LẬP TRÌNH XỬ LÝ NGẮT .................................................................................... 53
Bài 9 ................................................................................................................................................. 53
THỰC HÀNH: LẬP TRÌNH NGẮT................................................................................................ 53
Bài 10 ............................................................................................................................................... 53
TIMER TRONG PIC 16F877A........................................................................................................ 53
10.1.
Timer 0 ............................................................................................................................. 53
10.2.
10.3.
10.4.
10.4.1.

Timer 1 ............................................................................................................................. 55
Timer 2 ............................................................................................................................. 56
Khai báo Timer trong CCS ............................................................................................... 57
Các lệnh Timer0 ........................................................................................................... 57

10.4.2. Các lệnh Timer1 ........................................................................................................... 59
10.4.3. Các lệnh Timer2 ........................................................................................................... 59
10.5.
Lập trình ứng dụng ........................................................................................................... 60
Bài 11 ............................................................................................................................................... 61
THỰC HÀNH: LẬP TRÌNH TIMER/COUNTER .......................................................................... 61
Bài 12 ............................................................................................................................................... 62
THẢO LUẬN VỀ TIMER/COUNTER ........................................................................................... 62
Bài 13 ............................................................................................................................................... 62
2

THIẾT KẾ HỆ THỐNG NHÚNG
THỰC HÀNH: LẬP TRÌNH TIMER/COUNTER (TIẾP) .............................................................. 62
Bài 14 ............................................................................................................................................... 62
LẬP TRÌNH TRUYỀN THÔNG ..................................................................................................... 62
14.1.
Tổng quan về lập trình truyền thông ................................................................................ 62
14.2.
Chuẩn RS232 ................................................................................................................... 62
14.3.

Lập trình ứng dụng ........................................................................................................... 66

Bài 15 ............................................................................................................................................... 67
THỰC HÀNH: LẬP TRÌNH TRUYỀN THÔNG ........................................................................... 67
Bài 16 ............................................................................................................................................... 68
LẬP TRÌNH TRUYỀN THÔNG (tiếp) ........................................................................................... 68
16.1.
Chuẩn I2C ........................................................................................................................ 68
16.2.
Lập trình ứng dụng ........................................................................................................... 69
Bài 17: .............................................................................................................................................. 70
THỰC HÀNH: LẬP TRÌNH TRUYỀN THÔNG (TIẾP) ............................................................... 70
Bài 18: .............................................................................................................................................. 70
THẢO LUẬN VỀ LẬP TRÌNH TRUYỀN THÔNG ...................................................................... 70
Bài 19 ............................................................................................................................................... 70
LẬP TRÌNH NÂNG CAO ............................................................................................................... 70
19.1.
GLCD ............................................................................................................................... 70
19.2.
Thẻ nhớ ............................................................................................................................ 70
19.3.
Ethernet ............................................................................................................................ 70
Bài 20: .............................................................................................................................................. 70
THỰC HÀNH: LẬP TRÌNH NÂNG CAO ..................................................................................... 70
Bài 21: .............................................................................................................................................. 70
BÀI TẬP, THẢO LUẬN TỔNG KẾT ............................................................................................ 70
TÀI LIỆU THAM KHẢO................................................................................................................ 71

3

THIẾT KẾ HỆ THỐNG NHÚNG

DANH MỤC HÌNH VẼ
Hình 1: Kiến truc Harvard và Von-Neumann..................................................................................... 6
Hình 2: Một số sơ đồ chân và kiểu đóng vỏ cho PIC 16F87XA ........................................................ 8
Hình 3: Sơ đồ khối của vi điều khiển PIC 16F877A .......................................................................... 9
Hình 4: Trình biên dịch MPASM trên .............................................................................................. 11
Hình 5: Mạch nạp PIC Kit 2 và PIC Kit 3 ........................................................................................ 13
Hình 6: MPLAB ICD3 - Công cụ nạp và gỡ rối............................................................................... 14
Hình 7: MPLAB REAL ICE – In Circuit Emulator ......................................................................... 15
Hình 8: Giao diện PICC ................................................................................................................... 16
Hình 9: Cửa sổ Save As.................................................................................................................... 17
Hình 10: Tab General ....................................................................................................................... 18
Hình 11: Tab Communications......................................................................................................... 18
Hình 12: Tab SPI andLCD ............................................................................................................... 19
Hình 13: Tab Timer .......................................................................................................................... 20
Hình 14: Tab Analog ........................................................................................................................ 20
Hình 15: Tab Other ........................................................................................................................... 21
Hình 16: Tab Interrupts .................................................................................................................... 22
Hình 17: Tab Driver ......................................................................................................................... 22
Hình 18: Mạch flash ADC với 4 bộ so sánh..................................................................................... 35
Hình 19: Minh họa tín hiệu Analog và digital của hàm sin .............................................................. 36
Hình 20: Sơ đồ khối bộ chuyển đổi ADC......................................................................................... 38
Hình 21: Các cách lưu kết quả chuyển đổi ADC.............................................................................. 38
Hình 22: Sơ đồ kết nối với vi điều khiển PIC 16F877 ..................................................................... 42
Hình 23: Sơ đồ logic của các ngắt trong PIC 16F877A ................................................................... 45
Hình 24: Ghép nối điều khiển LED đơn........................................................................................... 46
Hình 25: Sơ đồ ghép nối xử lý ngoài trên PortB .............................................................................. 49
Hình 26: Sơ đồ khối của bộ Timer0 ................................................................................................. 54
Hình 27: Sơ đồ khối của Timer1 ...................................................................................................... 55
Hình 28: Sơ đồ khối Timer2 ............................................................................................................. 57
Hình 29: Sơ đồ mạch ví dụ dùng Timer0 ......................................................................................... 60
Hình 30: Hình ảnh giao diện DB9 và DB25 ..................................................................................... 63
Hình 31: Sơ đồ chân trên giao diện DB9 và DB25 .......................................................................... 63
Hình 32: Sơ đồ khối các vi mạch MAX232, MAX233 .................................................................... 66
Hình 33: Sơ đồ ghép nối thiết bị chuẩn I2C ..................................................................................... 68

4

THIẾT KẾ HỆ THỐNG NHÚNG

ĐỀ CƯƠNG BÀI GIẢNG HỌC PHẦN

THIẾT KẾ HỆ THỐNG NHÚNG
Bài 1
TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC
1.1.

Giới thiệu tổng quan về Pic

PIC bắt nguồn là chữ viết tắt của "Programmable Intelligent Computer" (Máy
tính khả trình thông minh) là một sản phẩm của hãng General Instrument đặt cho
dòng sản phẩm đầu tiên của họ là PIC1650.
PIC sử dụng tập lệnh RISC (Reduced Instructions Set Computer), với
dòng PIC low-end (độ dài mã lệnh 12 bit, ví dụ: PIC12Cxxx) và mid-range (độ dài
mã lệnh 14 bit, ví dụ: PIC16Fxxxx), tập lệnh bao gồm khoảng 35 lệnh, và 70 lệnh
đối với các dòng PIC high-end (độ dài mã lệnh 16 bit, ví dụ: PIC18Fxxxx). Tập
lệnh bao gồm các lệnh tính toán trên các thanh ghi, với các hằng số, hoặc các vị trí
bộ nhớ, cũng như có các lệnh điều kiện, lệnh nhảy/gọi hàm, và các lệnh để quay trở
về, nó cũng có các tính năng phần cứng khác như ngắt hoặc sleep (chế độ hoạt động
tiết kiện điện). Microchip cung cấp môi trường lập trình MPLAB, nó bao gồm phần
mềm mô phỏng và trình dịch ASM.
Các dòng Pic hiện nay được phân chia theo các loại:
-

Vi điều khiển 8 bit: Pic10xxxx, Pic 12xxxx, Pic 14xxxx, Pic 16xxxx, Pic
17xxxx, Pic 18xxxx.

-

Vi điều khiển 16 bit: Điển hình ở đây là Pic 24, dsPIC30, dsPIC33F

-

Vi điều khiển 32 bit: PIC 32

Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng, nhưng
chúng ta có thể điểm qua một vài nét như sau:
-

FLASH và ROM có thể tuỳ chọn tùy theo từng loại chip

-

Các cổng Xuất/Nhập (I/O ports) (mức logic thường từ 0V đến 5. 5V, ứng
với logic 0 và logic 1)

-

8/16 Bit Timer

-

Các chuẩn giao Tiếp Ngoại Vi Nối Tiếp Đồng bộ/Không đồng
bộ USART, AUSART, EUSARTs

-

Bộ chuyển đổi ADC Analog-to-Digital Converters, 8, 10/12... bit

-

Bộ so sánh điện áp (Voltage Comparators)

-

Các module Capture/Compare/PWM

-

MSSP Peripheral dùng cho các giao tiếp I2C, SPI, và I²S
5

nguon tai.lieu . vn