ể - Viết chương trình phần mềm cho vi điều khiển Pic16F877A để điều khiển các khối chức năng đáp ứng yêu cầu đặt ra... Bươc 5: chờ cho quá trình cài đặt hoàn t t... Bước 6: Sau khi viết
Trang 1Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
KHOA CÔNG NGHỆ ĐIỆN
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG
════════════
Trang 2Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
ii
M
MỤ Ụ ỤC C C L L C L Ụ C C
CHƯƠNG 1 MÔ HÌNH THÍ NGHIỆM VI ĐIỀU KHIỂN PIC16F877A 1
1.1 GIỚI THI U KIT: Ệ 1
1.1.1 Khối BEEP:
1.1.2 Khối relay:
1.1.3 Khối led đơn: 3
1.1.4 Led 7 đoạ 3n 1.1.5 Khối ma tr n phím ậ
1.1.6 Khối động cơ bướ 5c 1.1.7 Khối LCD 5
1.2 GIỚI THI U PHỆ ẦN M M LIÊN QUAN: Ề 6
1.2.1 Phần m m n p PICKIT2: ề ạ 6
1.2.1.1 Cách cài đặt driver phần mềm n p PICKIT2: ạ 6
1.2.1.2 Cách s d ng ph n m m n p PICKIT2: ử ụ ầ ề ạ 10
1.2.2 Phần m m viề ết trương trình PIC C 12
1.2.2.1 Cách cài đặt phần mềm: 12
1.2.2.2 CÁCH SỬ DỤNG PHẦN M M PIC C: Ề 12
1.2.3 HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG PHẦN M M PROTEUS.Ề 15
1.2.3.1 Hướng dẫn cài đặt: 15
1.2.3.2 Cách s d ng ph n m m PROTEUS ử ụ ầ ề 1
CHƯƠNG 2 CÁC BÀI T P TH C HÀNH Ậ Ự 23
2.1 Sơ Đồ Mô Ph ng PIC16F877A: ỏ 23
2.2 ĐIỀU KHI N KH I RELAYỂ Ố 23
2.2.1 Sơ đồ ạch 2 m 2.2.2 Lưu đồ 2
Trang 3Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
2.2.3 Chương trình sử ụng 1 chân pic16f877a để đóng mở d relay 26
2.2.4 Giải thích chương trình 26
2.3 ĐIỀU KHI N KHỂ ỐI LED ĐƠN: 27
2.3.1 Sơ đồ ạch 2 m 2.3.2 Lưu đồ chớ ắt đèn 28p t 2.3.3 Chương trình chớp t t led ắ 29
2.3.4 Giải thích trương trình 29
2.3.5 M t s ví d vộ ố ụ ề dùng VĐK điều khiển led đơn: 30
2.4 ĐIỀU KHI N KHỂ ỐI LED 7 ĐOẠN: 38
2.4.1 Sơ đồ ạch: 3 m 2.4.2 Lưu đồ 3
2.4.3 Chương trình 40
2.4.4 Giải thích chương trình 40
2.4.5 M t s ví d vộ ố ụ ề dùng VĐK điều khiển led 7 đoạ 41n: Bài1: điều khiển LED 7 đoạn đếm t 0 ừ →9999: 41
Sơ đồ mạch: 4
Chương trình: 42
2.5 ĐIỀU KHI N KH I MA TR N PHÍM: Ể Ố Ậ 43
2.5.1 Sơ đồ ạch 4 m 2.5.2 Lưu đồ 4
2.5.3 Chương trình 46
2.5.4 M t s bài t p ví d v ma tr n phím: ộ ố ậ ụ ề ậ 48
2.5.4.1 Bài1: dùng ma trận phím để điều khiển beef; 48
2.5.4.2 S dử ụng các phím điều khiển relay: 49
Trang 4Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
iv
2.6 ĐIỀU KHI N KHỂ ỐI ĐỘNG CƠ BƯỚC: 56
2.6.1 Điều khiển động cơ bước quay: 56
2.6.1.1 Sơ đồ mạch: 56
2.6.1.2 Lưu đồ: 57
2.6.1.3 Chương trình: 57
2.6.2 Điều khiển động cơ bước có nút nhấn: 58
2.6.2.1 Sơ đồ mạch 58
2.6.2.2 Lưu đồ: 59
2.6.2.3 Chương trình 60
2.7 ĐIỀU KHI N KH I LCD: Ể Ố 62
2.7.1 Điều khi n hi n th LCD: ể ể ị 62
2.7.1.1 Sơ đồ mạch: 62
2.7.1.2 Lưu đồ: 62
2.7.1.3 Chương trình: 63
2.7.2 Bài t p: ậ 6
2.8 ĐIỀU KHI N KH I MA TR N LED: Ể Ố Ậ 67
2.8.1 Điều khi n ma tr n LED b ng IC138 ể ậ ằ 67
2.8.1.1 Sơ đồ mạch 67
2.8.1.2 C u t o và hoấ ạ ạt động c a ma tr n LED 8x8 ủ ậ 68
2.8.1.3 Chương trình 70
2.8.2 Chương trình sử ụ d ng IC595: 76
2.8.2.1 Sơ đồ mạch 76
2.8.2.2 Chương trình 76
2.9 ĐỌC CẢM BI N NHI T Ề Ệ ĐỘ DS18B20-1602 79
Trang 5Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA 2.9.1 Sơ đồ ạch 7 m
2.9.2 Chương trình 80
2.10 MỘT SỐ CHƯƠNG TRÌNH SỬ DỤNG NGẮT: 83
2.10.1 Sử d ng ng t ngoài: ụ ắ 8
2.10.1.1 Sơ đồ mạch 83
2.10.1.2 Chương trình 84
2.10.2 Ngắt RB: 8
2.10.2.1 Sơ đồ mạch 85
2.10.2.2 Lưu đồ: 86
2.10.2.3 Chương trình 87
Trang 6Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
n i vố ới vi điều khi n Pic16F877A ể
Mục tiêu c a ph n th c hành KIT Pic16F877A: ủ ầ ự
- Sinh viên tìm hi u k t n ph n c ng c a các kh i chể ế ối ầ ứ ủ ố ức năng với vi điều khi n ể
- Viết chương trình phần mềm cho vi điều khiển Pic16F877A để điều khiển các khối chức năng đáp ứng yêu cầu đặt ra
Trang 7Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
Trang 8Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
3
1.1.3 Khối led đơn:
Hình 1.4 Sơ đồ nguyên lý khối LED đơn
1.1.4 Led 7 đoạn
Hình 1.5 Sơ đồ nguyên lý khối LED 7 đoạn
300
Trang 9Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
1.1.5 Khối ma trận phím
Hình 1.6 Sơ đồ nguyên lý kh i ma tr n phím ố ậ
Trang 10Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
5
1.1.6 Khối động cơ bước
Hình 1.7 Sơ đồ nguyên lý khối động cơ bước
1.1.7 Khối LCD
Hình 1.8 Sơ đồ nguyên lý kh i LCD ố
Trang 11Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
1.2.1 Phần mềm n p PICKIT2: ạ
Có r t nhiấ ều cách để ạp chương trình vào vi điề n u khi n có thể ể trực ti p hay gián ti p ế ế
1.2.1.1 Cách cài đặt driver phần mềm nạp PICKIT2:
- Hầu như tấ ả máy đềt c u nhận diver pickit2 ngay lúc đầu s d ng, nên r t d dàng Ch cử ụ ấ ể ỉ ần cài d t và s d ng ngay ặ ử ụ
Bước 1: vào thư mục ch n PICkit2setup ọ
Bước 2: nhấp chuôt để vào chương trình cài
Hình 1.10 Bước 2 - Cài đặt PICKIT2 Hình 1.9 File cài đặt phần mềm nạp chương trình cho PICKIT2
Trang 12Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
Trang 13Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA Bước 5: chọn I Agree và Next
Hình 1.13 Bước 5 – Cài đặt PICKIT2
Trang 14Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
9 Bước 6: nhấn close để ết thúc cài đặ k t
Hình 1.14 Bước 6 – Cài đặt PICKIT2
Trang 15Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
1.2.1.2 Cách s d ng ph n m m n p PICKIT2: ử ụ ầ ề ạ
Bước 1: Mở phần mềm giao di n PICKIT2 ệ
Hình 1.15 Bước 1 - S d ng ph n m m n p PICử ụ ầ ề ạ KIT2Bước 2: Nhấp vào file -> chọn file hex để n p vào kit ạ
Trang 16Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
11
c Chọn witer để đổ chương trình cần nạp vào kit PIC16F877A
Hình 1.16 Bước 2 - S d ng ph n m m n p PICử ụ ầ ề ạ KIT2
Hình 1.17 Bước 3 - S d ng ph n m m n p PICử ụ ầ ề ạ KIT
Trang 17Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
1.2.2 Phần mềm viết trương trình PIC C
1.2.2.1 Cách cài đặt phần mềm:
Bước 1: kích chuột vào pcwhdupd_5015 để khởi động cài đặt
Hình 1.18 Bước 1 – Cài đặt ph n m m PIC C ầ ề Bước 2: nh n next ấ
Bước 3: chọn thư mụ cài đặc t, nhấn next
Bươc 4: tiếp tục nhấn next
Bươc 5: chờ cho quá trình cài đặt hoàn t t ấ
Bước 6: kích chu t vào configure ộ
Hình 1.19 Bước 6 – Cài đặt ph n m m PIC Cầ ề
1.2.2.2 CÁCH S D NG PHỬ Ụ ẦN MỀM PIC C:
Bước 1: kích chu t vào icon c a PIC C khộ ủ để ởi động
Trang 18Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
13
Bước 2: Nhấn vào file -> new -> Project Wizard để ạ t o một Project mới kh i t o ở ạchương trình cần viết
Hình 1.20 Bước 2 S d ng ph n m m PIC C– ử ụ ầ ề
Bước 3: Đặt tên và chọn thư mục để lưu Project trên giao diện Save As
Nhấn save sau khi tùy ch nh ỉ
Hình 1.21 Bước 3 S d ng ph n m m PIC C – ử ụ ầ ề
Trang 19Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA Bước 4: Trên giao di n m i xu t hi n ( Device Selectệ ớ ấ ệ ion), chúng ta l a ch n ự ọ VĐK Pic mình đang muốn lập trình, tần số thạch anh tương thích …
Nhấn Create Project sau khi đã tùy chỉnh xong
Hình 1.22 Bước 4 S d ng ph n m m PIC C – ử ụ ầ ề
Trang 20Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
15
Bước 5: Th c hiự ện viết chương trình
Bước 6: Sau khi viết xong chương trình, ấn nút Rebuild để ịch chương trình, tạ d o file hex
1.2.3 HƯỚNG DẪN CÀI ĐẶT VÀ S D NG PH N M M PROTEUS Ử Ụ Ầ Ề
1.2.3.1 Hướng dẫn cài đặt:
Bước 1: nhấn vào Proterus 8 để khởi động cài đặt
Hình 1.24 Bước 1 – Cài đặt ph n m m PROTEUS ầ ề Bước 2: chọn vùng lưu cài đặt và nhấn next
Hình 1.23 Bước 5 S d ng ph n m m PIC C – ử ụ ầ ề
Trang 21Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
Hình 1.25 Bước 2 – Cài đặt ph n m m PROTEUS ầ ề Bước 3: nhấn next để tiế ục cài đặp t t
Hình 1.26 Bước 3 - Cài đặt ph n m m PROTEUS ầ ề
Trang 22Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
17
Bước 4: ch quá trình ờ cài đặt hoàn t t ấ
Hình 1.27 Bước 4 - Cài đặt ph n m m PROTEUS ầ ề Bước 5: Nh n finish hoàn tấ để ất cài đặt
Hình 1.28 Bước 5 - Cài đặt ph n m m PROTEUS ầ ề
Trang 23Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
1.2.3.2 Cách s d ng ph n m m PROTEUS ử ụ ầ ề
Kích chu t vào Shorcut c a Proterus 8.6, ộ ủ để khởi động ph n mầ ềm
Hình 1.29 Giao di n kh ệ ởi động ph n m m PROTEUS ầ ề
Kích chu t vào ộ vào giao di n vđể ệ ẽ mạch nguyên lý và mô ph ng Màn hình giao ỏ
diện được hi n thể ị như hình vẽ
Hình 1.30 Giao di n v m ch nguyên lýệ ẽ ạ
Trang 24Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
B t t t chậ ắ ế độ đi dây tự động trong sơ đồ nguyên lý Các công c qu n lý trang làm vi c ụ ả ệ
Kiểm tra l i c a mỗ ủ ạch điện
b) Thanh công c ụ
Component Thêm linh ki n vào b n v– ệ ả ẽ
Junction Dot – Đánh dấu điểm nố nơi giao nhau của đường dây i,
Wire Label – Gán tên cho đường dây
Text Script B n so n th– ả ạ ảo ( Cho phép ngườ ử ụi s d ng viết chương trình định nghĩa biến, định nghĩa những mô hình cơ bản để sử dụng với mô ph ngỏProSPICE)
Bus – Vẽ đường Bus
Trang 25Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
Sub Circuit M ch ph ( Thi t k m ch ph– ạ ụ ế ế ạ ụ được dùng trong trường h p ợ
m t m ch lộ ạ ặp đi lặ ạp l i nhi u l n trong các hề ầ ệ thống khác nhau)
Inter sheet Terminal – – Các đầu c c ự ( như tín hi u nguệ ồn, đấ ủt c a mạch, đầu vào, đầu ra …)
Device Pin V chân linh ki n ( Khi thi t k– ẽ ệ ế ế ạ t o linh ki n mới, không có ệtrong thư viện)
Vẽ đồ thị ( Dữ liệu được lấy từ các đầu đo – Voltage Probe)
Tape Recorder – Băng ghi ( Được sử dụng khi thi t kế ế được chia làm nhiềphân đoạn, đầu ra của phân đoạn này (lưu trong băng ghi) sẽ là dữ liệu đầu vào của phân đoạn kia)
Generator – Các máy phát tín hi u ệ
Voltage Probe – Đầu đo ( gồm đầu đo như điện áp, dòng điện …)
Virtual- Instruments – Thiế ị đo t b
Công c vụ ẽ 2D (Được sử dụng để thi t k trực ti p ế ế ếtrên b n vả ẽ, ví dụ các đường phân chia và h p phâộchia các ph n c a thi t k ho c t o các ầ ủ ế ế ặ để ạ thiết b ịthư viện mới)
c) Các nút mô phỏng
d) Vùng hi n th : ể ị
Hiển th khái quát vùng làm vi c hiị ệ ện hành, khung màu xanh dương biểu thị cho toàn bản
v , khung màu xanh lá bi u th cho ph n b n vẽ ể ị ầ ả ẽ đang hiển th trên vùng làm vi c chính Khi ị ệchúng ta ch n linh ki n, ký hi u nguyên lý c a linh kiọ ệ ệ ủ ện cũng được hi n th lên vùng này ể ịe) Vùng làm vi c chính: ệ
Vùng này là nơi thực hiện các thao tác để thiế ế ảt k b n v mẽ ạch điện
Trang 26Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
21
f) Cách thi t k m t b n v ế ế ộ ả ẽ
Sau khi khời động ta có màn hình giao di n vệ ới vùng làm vi c chính tr ng, không có linh ệ ốkiện, thi t bế ị Để ẽ ộ v m t mạch điện, ta ph i chả ọn được các linh ki n, hay thi t bệ ế ị c n thi t cầ ế ủa
mạch và k t n i chúng l i vế ố ạ ới nhau theo đúng yêu cầu thiết kế
Cách ch n các linh ki n, thi t b tọ ệ ế ị ừ thư viện thiết bị:
Bước 1: Ch n nút Component ọ
Bước 2: Nh p nút P ( Pick Device) ấ
Khi đó màn hình chọn thiết bị xuất hiện Bước 1
Các thư viện linh ki nệHãng sản
xuất
Hình 1.31 Giao di n tìm linh ki n ệ ệ
Trang 27Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
Bước 3: Tìm chọn linh ki n thích h pệ ợ
Thực hiện kết n i các linh kiố ện để hoàn thành b n v theo yêu c u thi t k ả ẽ ầ ế ế
Trang 28Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
23
2 3 4 5 6 7 14
8 13
9 10 1
31 12
11 32
RA0/ AN 0/ULP/C INO- 12 RA1/ AN 1/C 12IN 1- RA2/ AN 2/VREF-/CVREF/C2 IN + RA3/ AN 3/VREF +/C1 IN + RA4/T0CKI/C1OUT
RA6/OSC2/CLKOUT RA5/ AN 4/C2OUT/ SS
RA7/OSC1/CLKIN
RE0/ AN 5
RE3/VPP/MCLR
RE1/ AN 6 RE2/ AN 7
RA0/ AN 0/ULP/C INO- 12 RA0/ AN 0/ULP/C INO- 12
RA0/ AN 0/ULP/C INO- 12 RA0/ AN 0/ULP/C INO- 12
RB0/ AN12 /INT RB1/ AN10 12IN /C 3- RB2/ AN 8 RB3/ AN 9/PGM/C 12IN 2- RB4/AN11 RB5/ AN13 /T1G RB6/ICSPCLK
RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/ TX CK / RC7/RX/DT
RD0 RD2 RD4 RD5/P1B RD7/P1D
33 35
40 38
15 17 23 25
19 21 27 29
RST
GND VCC
Hình 2.1 Sơ đồ mô ph ng PIC16F877A ỏ
Yêu c u: ầ Dùng VĐK điều khiển 16F877A điều khiển đóng mở relay
Trang 29Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
2.2.1 Sơ đồ mạch
Hình 2.2 Sơ đồ nguyên lý kh i Relay ố
Mạch dùng chân RC0 kết n i vố ới ULN2803 để đóng mởrelay RL Sơ đồ cấu trúc ULN2003
2.2.2 Lưu đồ
Trang 30Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
25
START
KHỞI TẠO PORT C
KÍCH HOẠT CHÂN RC0
ĐỢI NG T Ắ
Hình 2.3 Lưu đồ thuật giải đóng mở Relay
Trang 31Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
2.2.3 Chương trình sử dụng 1 chân P ic16f877a để đóng mở relay
2.2.4 Giải thích chương trình
Chương trình khởi tạo cổng C v i RC0 là c ng ra, RC1-RC7 là c ng vào (TRISC = 0xFE) ớ ổ ổSau đó dựng chân RC0 (relay) lên mức logic 1( điện áp 5V) Tiếp theo là vòng l p ặ while(1) và không có l nh nào trong vòng lệ ặp xem như ệl nh nh y t i chả ạ ỗ (đợi ng t n u có) ắ ế
Lưu ý :
File def_877a.h không có sẵn trong thư mục cài đặt của phần mềm PIC C Vì vậy c n ầdownload ( theo đường dẫn http://www.box.net/shared/kzpys7i5zi) rồi Copy vào thư mục C:\Program Files (x86)\PICC\Devices
Trang 32Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
27
Dùng vi điều khiển 16F887 điều khiển 8 led đơn sáng tắt
2.3.1 Sơ đồ mạch
Hình 2.4 Sơ đồ nguyên lý khối LED đơnMạch dùng PORTD kết n i vố ới 8 led đơn Mức logic 0 làm led t t, mắ ức logic 1 làm led sáng, điện
áp c a led là 2V, dòng qua led chủ ọn 10mA, điện trở hạn dòng cho led đượ tính như sau:c
Trang 33Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
2.3.2 Lưu đồ chớp t ắt đèn
BẬT ĐÈN (PORT D =0xFF)
START
KHỞI TẠO PORT D
TẮT ĐÈN (PORT D =0x00)
G I TR 500ms Ọ Ễ
GỌI TR 500ms Ễ
Hình 2.5 Lưu đồ thuật giải điều khi n ch p tể ớ ắt đèn LED đơn
Trang 34Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
Dòng thứ hai “#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG,
NOBROWNOUT, NOLVP,” là khai báo cấu hình cho PIC
Hàng thứ ba “#USE DELAY(CLOCK=4000000)” khai báo tần số dao động (osilltor) s ử
d ng cho CPU là 4ụ MHz
Các hàm định thời là:
DELAY_MS(VALUE) - Thời gian định th i là mili giây ờ
DELAY_US(VALUE)-Thời gian định th i là µS ờ
Trang 35Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA Chương trình chính gồm: Lệnh “TRISD=0x00;” có chức năng khởi tạo portD là port xuất
dữ liệu Lệnh “portD=0xFF ” có chức năng xuấ; t dữ liệu 0xFF ra portD làm 8 led sáng, ti n hành ế
gọi hàm delay, sau đó xuấ ữ liệt d u 0x00 ra portD làm 8 led t t, g i hàm delay và l p l ắ ọ ặ ại.Các thông s cố ấu hình: “NOWDT” là không sử dụng bộ định th i giám sát (No watchdog timer), ờ
“NOPUT” là không s d ng bử ụ ộ định th i kéo dài thêm thờ ời gian reset vi điều khiển (chờ nguồn điện ổn định, thời gian kéo dài thêm 72ms - Power up timer), “HS” là sử dụng bộ dao động tần
s cao tố ừ 4MHz đến 20MHz (High Speed), NOPROTECT“ ” là không sử dụng bảo vệ mã code
n p vào b nhạ ộ ớ flash bên trong, “NOLVP” là không sử dụng chế độ ạ n p code dùng nguồn điện
áp th p 5V mà dùng ngu n 12,5V ấ ồ
2.3.5 Một số ví d v ụ ề dùng VĐK điều khiển led đơn:
Bài 1: chương trình dùng vđk điều khiển led sáng dồn
kq: là biến lưu đèn đã sáng dồn
xoay: là biến cho đèn sáng chạy
i, j là các biến đếm
Trang 36Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
31
Lưu đồ:
Hình 2.6 Lưu đồ thuật giải điều khiển LED đơn sáng dồn
Gán kq =0x00 Gán i =8
Dịch bi n ế xoay sang trái 1 bit Gán Port D = kq | xoayGọi tr 500ms ễ
j = j+1
NO
Kh i t o ở ạ PORT D START
Gán xoay =0x01 Gán Port D = kq | xoay
G i tr 500ms ọ ễGán j = 1
Vòng l p for ặvới biến i Vòng l p ặ
while
Trang 37Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA Chương trình:
Trang 38Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA
i < 1 YES
NO
Gán Port D =0x01 Gọi tr 500ms ễGán i = 8
Dịch Port D sang trái
1 bit Gọi tr 500ms ễ
i = 1 Hình 2.7 Lưu đồ thuật giải điều
i-khiển LED đơn sáng dịch
Trang 39Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA Bài 3: điều khiển led sáng dần và tắt dần:
Lưu đồ:
Gán Port D =0x01 Gán i =8
Kh i t o ở ạ PORT D START
i = - 1 i
Dịch Port D sang ph iả
1 bit Gọi tr 500ms ễ
i = - 1 i
Vòng l p for ặthứ nhất
Vòng l p for ặthứ hai
Vòng l p ặ
while
Hình 2.8 Lưu đồ thuật giải điều khiển LED đơn sáng dần và tắt dần
Trang 40Thực hành PIC16F877A B MÔN TỘ Ự ĐỘNG HÓA