Tải bản đầy đủ (.pdf) (81 trang)

KIT VI điều KHIỂN sử DỤNG PIC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.2 MB, 81 trang )

KIT VĐK VÀ
CHỨC NĂNG SỬ DỤNG


PHẦN 1
GIỚI THIỆU KIT THỰC HÀNH
VI XỬ LÝ EASYPIC_PRO

1


I. Giới Thiệu Môn Học
Thực hành Vi Xử Lý nhằm giúp cho học sinh-sinh viên có kiến thức, kỹ năng
cơ bản về lập trình cho vi điều khiển, đồng thời hổ trợ cho việc “học đi đôi với hành”.
Mỗi bài thực hành có nội dung và yêu cầu cụ thể gắn liền với nội dung đã học lý
thuyết trên lớp, giúp cho học sinh- sinh viên hiểu bài tốt hơn.
Đồng thời mỗi bài thực hành là một kiến thức thực tế: Quảng cáo quang led,
hiển thị led 7 đoạn, đo và điều khiển nhiệt độ, đồng hồ thời gian thực, điều khiển động
cơ DC, động cơ bước….
Để học tốt môn học này, yêu cầu học viên chuẩn bị bài trước ở nhà (Đọc
chương trình mẫu, mơ phỏng trước bằng phần mềm hỗ trợ trên máy tính, phân tích các
yêu cầu mở rộng để định hướng giải quyết vấn đề), khi đến phòng thực hành học sinhsinh viên chủ yếu dành thời gian cho việc nạp chương trình cho chạy thực tế trên kit
thực hành và học cách giải quyết các yêu cầu khó.
II. Giới Thiệu Phần Mềm
1. MPASM
Là phần mềm của hãng Microchip hổ trợ miễn phí, cho việc lập trình cấp thấp
với vi điều khiển Pic. Hiện nay, trên thực tế có nhiều phần mềm hổ trợ cho việc lập
trình cho Pic như CCS, PICBasic, MikroBasic, Hi-Tech… song mỗi phần mềm đều có
ưu và nhươc riêng. Tuy nhiên, làm việc với MPLAB giúp cho người học hiểu rỏ hơn
về Pic. Để lập trình cho Pic với MPLAB người học phải: Nắm vững tập lệnh, hiểu rỏ
các thanh ghi chức năng (TRISA,TRISB, OPTION_REG, INTCON, ADCON0,


ADCON1, CCPR1L….). Đồng thời, hiểu rỏ cơ chế làm việc của các Modul bên trong
Pic (ADC, PWM, Timer0, Timer1….). Làm việc với MPASM cũng như người thợ
mua từng viên gạch về để xây nhà.
2. CCS
CCS là chương trình biên dịch lập trình của ngơn ngữ C cho vi điều khiển của
hãng Microchip.
Chương trình là sự tích hợp của 3 trình biên dich riêng biết cho 3 dịng PIC khác nhau
đó là:
‐ PCB cho dịng PIC 12‐bit opcodes
‐ PCM cho dòng PIC 14‐bit opcodes
‐ PCH cho dòng PIC 16 và 18‐bit

2


Tất cả 3 trình biên dịch này đuợc tích hợp lại vào trong một chương trình bao gồm cả
trình soạn thảo và biên dịch là CCS. CCS có nhiều phiên bản khác nhau, ở mức độ lập
trình ứng dụng bình thường chúng ta có thể sử dụng bất kỳ phiên bản nào, tuy nhiên
người học cũng nên cặp nhật các phiên bản mới để có những cơng cụ hỗ trợ mạnh hơn.
Giống như nhiều trình biên dịch C khác cho PIC, CCS giúp cho người sử dụng nắm
bắt nhanh được vi điều khiển PIC và sử dụng PIC trong các dự án. Các chương trình
điều khiển sẽ được thực hiện nhanh chóng và đạt hiệu quả cao thơng qua việc sử dụng
ngơn ngữ lập trình cấp cao – Ngơn ngữ C.
3. PROTEUS
Phần mềm PROTEUS được viết bởi công ty Labcenter Electronics. Hiện nay đã phổ
biến trên thế giới. PROTEUS đã tự khẳng định thế mạnh của nó về tính mơ phỏng các
mạch nguyên lý sát với thực tế. Nó cung cấp hầu hết các linh kiện điện tử để người sử
dụng có thể tạo ra từ mạch đơn giản đến phức tạp và chạy thử với tính chính xác cao.
Chính vì thế PROTEUS được dùng nhiều trong cơng tác giảng dạy, phịng thí
nghiệm…Đặc biêt, phịng thực hành VI XỬ LÝ.

III. Giới thiệu bộ KIT thực hành Vi Xử Lý

Hình 1.1
1. Giới thiệu tổng quan cấu hình của KIT:KIT sử dụng board mạch EASYPIC_PRO
Gồm có 23 bộ phận như sau:

3


1) Power supply
2) LCD1602 and GLCD128x64 module
3) MMC/SD read/write module
4) Single LED PORTC and PORTD
5) 4*4 matrix keyboard module
6) Push button switch module
7) DS1302 Real time clock module
8) A/D converter module
9) I2C 24XXX module
10) SPI eeprom 93xxx module
11) MCU RESET Button
12) External ICSP Header
13) PICKit2 on-board Programmer
14) MCU Sockets DIP8/14/18/28/40 Pin
15) Six-digital 7-segment display module
16) Remote control receiver & decoder
17) DS18B20 thermometer module
18) Buzzer module
19) Stepper motor control module
20) RS232 communication module
21) USB Communication module

22) PS/2 keyboard module

23) Direct Port Access
2. Chức năng chi tiết các Module được sử dụng thường xuyên cho mục đích thực
hành:
a. Module CPU và mạch tạo xung chuẩn (MCU Socket and System Clock selection):

4


23) Power supply
24) LCD1602 and GLCD128x64 module
25) MMC/SD read/write module
26) Single LED PORTC and PORTD
27) 4*4 matrix keyboard module
28) Push button switch module
29) DS1302 Real time clock module
30) A/D converter module
31) I2C 24XXX module
32) SPI eeprom 93xxx module
33) MCU RESET Button
34) External ICSP Header
35) PICKit2 on-board Programmer
36) MCU Sockets DIP8/14/18/28/40 Pin
37) Six-digital 7-segment display module
38) Remote control receiver & decoder
39) DS18B20 thermometer module
40) Buzzer module
41) Stepper motor control module
42) RS232 communication module

43) USB Communication module
44) PS/2 keyboard module

23) Direct Port Access
3. Chức năng chi tiết các Module được sử dụng thường xuyên cho mục đích thực
hành:
a. Module CPU và mạch tạo xung chuẩn (MCU Socket and System Clock selection):

5


Hình 1.2
Modue CPU bao gồm các thành phần sau:
1. 40-pin chip socket
2. 28-pin for PIC16F57 chip socket
3. 28-pin chip socket
4. 20-pin chip socket
5. 18-pin chip socket
6. 14-pin chip socket
7. 8-pin chip socket
8. 8-pin for PIC10FXXX chip socket
9. OSCA ( lựa chọn clock sử dụng cho DIP40/28 and PIC16F57).
10. OSCB (lựa chọn clock sử dụng cho DIP18).
11. OSCC (lựa chọn clock sử dụng cho DIP20/14/8).

Module System Clock Selections:

6



1. PIC10Fxx clock seletion: PIC10Fxx chỉ sử dụng dao động nội (Internal RC
oscillation)

Hình 1.3
b. Module nguồn cung cấp (POWER SUPPLY MODULE):
Power module là nguồn cung cấp điện cho toàn bộ board phát triển EasyPIC_PRO. Nó
cung cấp đầu ra 5V DC cho tất cả các module trên board mạch.
Module này bao gồm các thành phần sau:
- External power input: ngõ vào cấp nguồn cho Board
- Power indication: LED chỉ báo nguồn
- Power selection Jumper: cho phép lựa chọn nguồn ngoài hoặc nguồn 5V từ các cổng

USB trên Board.
- Power Switch: cho phép ON/OFF để nối hoặc ngắt nguồn trên Board mạch

Sơ đồ nguyên lý của modul nguồn:
SW3
SW SLIDE-SPDT
1

+5V

2

3

SW2

U1
D2


LM7805/TO
1

1

DIODE
D3

C1

C3

VIN

GND

J1

2

470
C4

R1

47uF/16V

2


DIODE

47uF/25V

104

C5

D5

47uF/16V
SW KEY -P2011

D4

C6

3

DC INPUT

VOUT

DIODE

DIODE

Hình 1.4
c. Modul LCD (128x64LCD and 16x02 LCD):
1. Charracter LCD1602 và chiết áp điều chỉnh độ tương phản.

2. Graphic LCD12864 và chiết áp điều chỉnh độ tương phản

7

104

D6
LED


Hình 1.5
Mơ tả các module như sau:
1. 12864 LCD and 1602 LCD cả 2 sử dụng PortA làm bit điều khiển và PortD là

bit dữ liệu
2. Tất cả các chân của chúng nối tới các chân của MCU thông qua một loạt các

Jumper mà không dùng đến các DIP Switch. Đề nghị khơng rút LCD ra khỏi
socket khi đang có nguồn điện
3. Trong các thí nghiệm, điện trở kéo lên RA4 bắt buộc phải được kích hoạt bằng

cách SW14_4 ON
Sơ đồ nguyên lý:

Hình 1.6
d. Modul LED đơn PORTB và PORTC
Module này bao gồm các thành phần sau:
1. 8 LED đơn sử dụng cho PORT B
2. 8 LED đơn sử dụng cho PORT C


8


Hình 1.7
1. Tất cả 2 Port tương ứng với 8 bit ngõ ra
2. Tất cả 2 Port đều có Coding switch riêng biệt để kiểm soát chúng. Đề nghị hãy

OFF tất cả các coding switch khi không sử dụng để tránh ảnh hưởng đến hoạt
động bình thường của các module khác
3. Thơng qua Header giao tiếp ở PORTC, bạn có thể tiến hành thử nghiệm với các

port khác (ví dụ PORTA, PORTD…). Tuy nhiên khi sử dụng điều này, hãy
chắc chắn các coding switch đã được OFF
4. Tất cả các LED có cực âm nối tới GND, nếu bạn muốn LED sáng, chỉ cần một

điện áp mức cao tại đầu ra ở chân tương ứng của PORT.
Sơ đồ nguyên lý của module:

Hình 1.8
e. Modul bàn phím ma trận 4x4 (Matrix Keyboard):
Module này bao gồm các thành phần sau:

9


1. 16 phím nhấn
2. Coding switch
3. Heaer giao tiếp
4. điện trở Pull-up / Pull-down


Hình 1.9
Mơ tả về module này như sau:
1. Các phím được nối tới 8 bit của PortC trong mảng 4x4
2. Module này sử dụng coding switch để kiểm sốt. Khi khơng sử dụng, các bit

tương ứng phải được OFF để không ảnh hưởng đến module khác
3. Thông qua Header giao tiếp bạn có thể thực hành với các Port khác (bạn hãy

chắc chắn rằng coding switch đã được OFF)
4. Có một điện trở pull-up (kéo lên) hoặc pull-down (kéo xuống) lựa chọn bằng

một jumper để đảm bảo sự ổn định của điện áp khi nhấn phím.
Sơ đồ nguyên lý:

Hình 1.10

10


f. Push button switch module
Đây là module sử dụng các phím nhấn độc lập:

Hình 1.11
Module này bao gồm các thành phần sau:
1.

4 phím trên PORTA A0~A3

2.


4 phím trên PORTB B0~B3

3.

Điện trở 10Kx8 pull-up hoặc pull-down lựa chọn bằng Jumper

4.

Jumper lựa chọn, cho phép phím nhấn đưa ra mức cao hoặc mức thấp

5.

Coding switch: cho phép nối hoặc ngắt từng phím đến các PORT

6.

Header giao tiếp cho phép giao tiếp bằng dây nối đến port khác Mô tả

của Module này như sau:
1. 8 phím được nối đến PORTA0~3, PORTB0~3
2. Khi phím được nhấn, mức đầu ra có thể chọn mức thấp hay mức cao (chọn

jumper JP4)
3. 8 phím được điều khiển bởi coding switch để quyết định phím nào được nối đến

chân của MCU. Khi không sử dụng, hãy chắc chắn coding switch được OFF để
không ảnh hưởng đến sự làm việc bình thường của các module khác
4. Thơng qua Hader giao tiếp, bạn có thể thử nghiệm với các Port khác của MCU

(Khi đó coding switch phải ở trạng thái OFF)

5. Trong trường hợp các phím trên PortB0~3 được sử dụng, nếu điện trở Pull-up

bên trong chip được kích hoạt, jumper pull-up có thể khơng cần dùng đến.
Nhưng khi PORTA0~A3 được sử dụng, để ổn định mức điện áp, Bạn nhất thiết
phải ON jumper này.
Sơ đồ nguyên lý của modue:

11


Hình 1.12
g. Modul thời gian thực DS1302 (Real time clock module )
Module này chủ yếu thử nghiệm giao tiếp với IC đồng hồ thời gian thực DS1302:

Hình 1.13
Module này bao gồm các thành phần chính như sau:
1.

IC đồng hồ thời gian thực DS1302

2.

PIN 3V

3.

Thạch anh giao động 32.768 KHz

4.


Coding switch cho phép nối hoặc ngắt module với MCU

Header giao tiếp cho phép kết nối với các port của MCU được mô tả như sau:
1. Các Port giao tiếp CLK, I/O và Reset của DS1302 được nối tới RB0, RB4 và

RB5 của MCU thông qua coding switch

12


2. Khi module này được sử dụng, hãy chắc chắn coding switch ON, khi không sử

dụng hãy OFF để khỏi ảnh hưởng đến hoạt động bình thường của các module
khác
3. Thơng qua Hader giao tiếp, bạn có thể thử nghiệm với các Port khác của MCU

(Khi đó coding switch phải ở trạng thái OFF)
4. Ngay cả các tụ điện Star-up (C15, C16) của thạch anh 32768KHz cũng không

phải hàn vào, và nó sẽ khơng ảnh hưởng đến star-up của thạch anh này
Sơ đồ ngun lý:

Hình 1.14
h. Module giao tiếp tín hiệu Analog (A/D Converter Module):
Module này mục đích chính là việc chuyển đổi tín hiệu tương tự (analog) sang tín hiệu
số (Digital)

Hình 1.15
Module này bao gồm các thành phần chính sau:
1. 2 biến trở 1K

2. 1 coding switch 2 bit
3. header giao tiếp

Mô tả module này như sau:
1. 2 biến trở được nối tới các chân RA0 và RA1 tương ứng

13


2. khi chức năng A/D đươc sử dụng, hãy chắc chắn coding switch tương ứng được

ON, khi không sử dụng hãy OFF coding switch để không ảnh hưởng đến
module khác
3. Thơng qua Header giao tiếp, bạn có thể thử nghiệm với các Port có chức năng

AD khác của MCU (Khi đó coding switch phải ở trạng thái OFF)
Sơ đồ nguyên lý:
VCC
CN12 CN2Pin
R52

470

VR3

1
2

1k


SW10
RA0
RA1
VCC
DIP_SW2

R53 470
VR4
10k

Hình 1.16
i. Module led 7 đoạn (7 Segment display Module):

Hình 1.17
Module Module này bao gồm các thành phần chính như sau:
1. 6 LED số 7- đoạn anode chung

14


2. Coding Switch cho bit điều khiển (bit control) và phần kiểm sốt

(section control) 3. Mạch lái
3. Header giao tiếp
Mơ tả module này như sau:
1. Section control được kết nối tới PORTD thông qua Coding Switch
2. Bit control của LED được nối tới PORTA thông qua Coding Switch, Khi

module này không sử dụng, đề nghị coding switch phải ở vi trí OFF để khỏi ảnh
hưởng đến hoạt động bình thường của các module khác

3. Thông qua header giao tiếp, bạn có thể thử nghiệm với các Port khác của MCU

(Khi đó coding switch phải ở trạng thái OFF)
4. 6 led 7 đoạn thuộc loại Anode chung

Sơ đồ nguyên lý:

Hình 1.18
j. Modul cảm biến nhiệt( DS18B20 Thermometer Module )

,

Hình 1.19

15


Module này bao gồm các thành phần chính như sau:
4. Cảm biến nhiệt độ DS18B20
5. Coding switch
6. Header giao tiếp

Mô tả module này như sau:
1. Ngõ ra của DS18B20 nối tới RA0 của MCU thông qua Coding Switch
2. Module này sử dụng Bit thứ 2 của coding switch SW14, trong khi 3 bit còn lại

của SW14 chia sẻ với các module khác.
3. Khi module này được sử dụng, hãy ON bit 2 của SW14, khi không sử dụng, đề

nghị OFF nó để khỏi ảnh hưởng đến các module khác

4. Bằng việc sử dụng Header giao tiếp, bạn có thể nối module này đến các port

khác của MCU (Lúc đó bit 2 của SW14 phải là OFF)
Sơ đồ nguyên lý:
U2

GND

DQ

VCC

DS1820

J1
CON1

1

2

3

VCC

NHIET-DO
SW14

1


R1
10K

TSOP1838
DS18S0
BUZZ
RA4 UP

RA1
RA0
RC2
RA4

SW DIP-4

Hình 1.20
k. Module cịi báo( BUZZER Module )

16


Hình 1.21
Sơ đồ nguyên lý trình bày trên
VCC
CN18
CON1

SW14
RA1
RA0

RC2
RA4

8
7
6
5

1
2
3
4

TSOP183 8
DS18B20
BUZ
RA4_UP

1

BZ1
BUZZER
R77 10 K
Q11
MMBT3904
R78
10 K

DIP-SW4


Hình 1.22
l. Module điều khiển động cơ bước( Stepper Motor Module):
Module này chủ yếu cho thấy hoạt động của động cơ bước (Step motor), thông qua
phần này chúng ta nên tìm hiểu và bổ sung thêm các kiến thức có liên quan đến động
cơ bước.
Module này bao gồm các thành phần chính như sau:
1. Header giao tiếp với step motor
2. Mạch lái
3. Coding switch

17


Hình 1.23
Mơ tả module này như sau:
1. Stepper Motor sử dụng trong board phát triển này là loại 35BY48S053 hoặc

tương đương. Thơng tin về loại động cơ bước này có kèm theo trong đĩa CD
2. Mạch lái đơn giản sử dụng FET để lái
3. dòng điện tiêu thụ cho động cơ bước là khá lớn, do vậy yêu cầu sử dụng nguồn

ngồi và OFF coding switch khi khơng sử dụng để tránh tác động đến các
module khác
Sơ đồ nguyên lý:

Hình 1.24
m. Module truyền thông nối tiếp bất đồng bộ
( RS232 Communication Module )P
Module này chủ yếu trình bày thí nghiệm cách sử dụng chức năng USART giao tiếp
với các thiết bị ngồi (ví dụ như giao tiếp với PC). Module này bao gồm các thành

phần chính như sau:
1. IC chuyển mức RS232

18


2. Port giao tiếp RS232 (9-pin serial Port)
3. Coding swich
4. Header giao tiếp

Hình 1.25
Mơ tả module này như sau:
1. Serial module này kết nối với module giao tiếp USART của MCU RC6 và RC7

thông qua coding switch
2. Coding switch sẽ điều khiển việc kết nối, khi module này được sử dụng, hãy

chắc chắn coding switch ở trạng thài ON, khi không sử dụng đề nghị coding
switch phải là OFF để khơng ảnh hưởng đến sự làm việc bình thường của các
module khác.
3. Bằng việc sử dụng Header giao tiếp, bạn có thể thử nghiệm việc giao tiếp của

các chân khác của MCU với Serial Port (sử dụng phần mềm để mơ phỏng)
Sơ đồ ngun lý:

Hình 1.26

19



n . Module port truy xuất trực tiếp ( Direct PORT Access):
Tất cả các pin I/O (input/output) của microcontroller có thể được truy nhập trực tiếp
qua các đầu nối (Header) đặt bên mép phải của EasyPIC_PRO cho mỗi PORTA,
PORTB, PORTC, PORTD và PORTE. Để thuận lợi cho việc sử dụng, các PORT I/O
trên EasyPIC_PRO được thiết kế theo 2 kiểu Header, kiểu header 10-pin (5x2) cung
cấp VDD, GND và 8 pin port thuận lợi cho việc kết nối với bên ngoài bằng flat cable,
kiểu 8x1 bao gồm 8 bit Port thích hợp cho việc tùy biến kết nối với các module trên
board qua header giao tiếp của từng module bằng Dupont wire.

Hình 1.27

20


PHẦN 2
CÁC BÀI THỰC HÀNH

21


BÀI 1: HIỂN THỊ TRẠNG THÁI PORT
TRÊN LED ĐƠN
Họ và tên sinh viên:
Ngày thực hiện:
Thời gian thực hiện: 3 tiết
Điểm:

Giảng Viên nhận xét:

1. Kỹ thuật(6đ):

2. Thao tác(1đ):
3. An tòan(1đ):
4. Tổ chức nơi làm việc(1đ):
5. Thời gian(1đ):
A. Mục Đích
• Điều khiển thiết bị ngoại vi bằng các Port của vi điều khiển.
• Điều khiển việc hiển thị bằng cách sử dụng LED đơn.
• Viết các chương trình con tạo thời gian trễ sử dụng trong các ứng dụng vi điều
khiển
B. Yêu Cầu
• Nắm vững các tập lệnh của vi điều khiển PIC16F877A.
• Biết cách viết các chương trình điều khiển LED đơn ở các chế độ khác nhau.
• Nắm được sơ đồ và nguyên lý hoạt động của khối LED đơn trên mơ hình thí
nghiệm.
• Biết cách viết các chương trình tạo thời gian trễ với các khoảng thời gian bất
kỳ.
C. Nội Dung Thực Hành
I. Điều khiển 1 led đơn
1. Sơ đồ nguyên lý

22


VCC
R21
1K
RESET

U1 PIC16F877A
1

C7
10uF

RA0
RA1
RA2
RA3
RA4
RA5

2
3
4
5
6
7

RC0
RC1
RC2
RC3
RC4
RC5
RC6
RC7

15
16
17
18

23
24
25
26

RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS*/C2OUT
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT

C2 33pF
13

OSC1/CLKIN

Y1
8MHz
14
C8 33pF


SW1

MCLR*/VPP

SW15

RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7

RE0/RD*/AN5
RE1/WR*/AN6
RE2/CS*/AN7

33
34
35

36
37
38
39
40

RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7

19
20
21
22
27
28
29
30
8
9
10

VSS
VSS


D22 LED
R18

470

R17

470

R16

470

RD0
RD1
RD2
RD3
RD4
RD5
RD6
RD7

R15

470

R14

470


R13

470

RE0
RE1
RE2

R12

470

R11

470

D21 LED
D20 LED
D19 LED
D18 LED
D17 LED
D16 LED
D15 LED

VCC

OSC2/CLKOUT

12
31


SW DIP-8
ON

VDD
VDD

11
32

Hình 2.1
2. u cầu
• Viết chương trình điều khiển cho Led D22 sáng
3. Hướng dẫn thực hành
Chương trình mẫu:
PROCESSOR 16F877A
#INCLUDE <P16F877A.INC>
__CONFIG_CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON &
_XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
ORG

0000H

BCF

STATUS,6

BSF

STATUS,5


CLRF

TRISB

BCF

STATUS,5

CLRF

PORTB

MAIN
MOVLW

B'00000001'

GOTO

MAIN

END
4. Các bước thực hiện
Bước 1: Nhập nội dung chương trình trên vào máy biên dịch và kiểm tra lỗi.

23


Bước 2: Chạy mơ phỏng chương trình trên phần mềm proteus (kết nối led đơn vào

chân RB0)
Bước 3: Nạp chương trình vào kit (chú ý gạt các DIP_SW đúng vị trí) theo dõi và
nhận xét
II. Điều khiển dãy led đơn
1. Sơ đồ ngun lý (Hình 2.1)
2. u cầu
• Viết chương trình cho các Led đơn sáng theo trình tự sau: Led D22 sáng 150ms
rồi tắt đến Led D21 sáng 150ms rồi tắt…..Led D15 sáng 150ms…Led D22…
3. Hướng dẫn thực hành
Chương trình mẫu:
PROCESSOR 16F877A
#INCLUDE <P16F877A.INC>
__CONFIG_CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON &
_XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
DEM2 EQU 20H
DEM1 EQU 21H
ORG 0000H
BCF

STATUS,6

BSF

STATUS,5

CLRF

TRISB

BCF


STATUS,5

MAIN
MOVLW

B'00000001'

MOVWF

PORTB

CALL

DELAY

MOVLW

B'00000000'

MOVWF

PORTB

CALL

DELAY

GOTO


MAIN

; Chương trình con có chức năng tạo trễ 150ms
DELAY

24


×