Đề tài đồ án làm mô hình kit vi điều khiển sử dụng pic có nhiều chức năngThực hành Vi Xử Lý nhằm giúp cho học sinhsinh 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ó. mời các bạn xem
Trang 1KIT VĐK VÀ CHỨC NĂNG SỬ DỤNG
Trang 2PHẦN 1 GIỚI THIỆU KIT THỰC HÀNH
VI XỬ LÝ EASYPIC_PRO
Trang 3I 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 sinh-sinh 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à
Trang 4Tấ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:
Trang 5
1) Power supply
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):
Trang 623) Power supply
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):
Trang 7Hình 1.2 Modue CPU bao gồm các thành phần sau:
Trang 81 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:
USB trên Board
Sơ đồ nguyên lý của modul nguồn:
C3 104
C1 47uF/25V D3
R1 470
D6 LED
C4 47uF/16V
D4
DIODE
Hình 1.4
c Modul LCD (128x64LCD and 16x02 LCD):
Trang 9
Hình 1.5
Mô tả các module như sau:
bit dữ liệu
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
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:
Trang 10Hình 1.7
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
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
đ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:
Trang 111 16 phím nhấn
Hình 1.9
Mô tả về module này như sau:
tương ứng phải được OFF để không ảnh hưởng đến module khác
chắc chắn rằng coding switch đã được OFF)
một jumper để đảm bảo sự ổn định của điện áp khi nhấn phím
Sơ đồ nguyên lý:
Trang 12f 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:
của Module này như sau:
jumper JP4)
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
(Khi đó coding switch phải ở trạng thái OFF)
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:
Trang 13Hì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:
Header giao tiếp cho phép kết nối với các port của MCU được mô tả như sau:
Trang 142 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
(Khi đó coding switch phải ở trạng thái OFF)
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ơ đồ nguyên 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:
Mô tả module này như sau:
Trang 152 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
AD khác của MCU (Khi đó coding switch phải ở trạng thái OFF)
Hình 1.16
i Module led 7 đoạn (7 Segment display Module):
Hình 1.17
Trang 162 Coding Switch cho bit điều khiển (bit control) và phần kiểm soát
(section control) 3 Mạch lái
3 Header giao tiếp
Mô tả module này như sau:
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
(Khi đó coding switch phải ở trạng thái OFF)
Trang 17Module này bao gồm các thành phần chính như sau:
Mô tả module này như sau:
của SW14 chia sẻ với các module khác
nghị OFF nó để khỏi ảnh hưởng đến các module khác
khác của MCU (Lúc đó bit 2 của SW14 phải là OFF)
Sơ đồ nguyên lý:
J1 CON1
RA1
U2 DS1820
TSOP1838 BUZZ RA4 UP
VCC
Hình 1.20
k Module còi báo( BUZZER Module )
Trang 18Hình 1.21
Sơ đồ nguyên lý trình bày trên
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:
RA4
CN18 CON1
Q11 MMBT3904 R78
Trang 19Hình 1.23
Mô tả module này như sau:
tương đương Thông tin về loại động cơ bước này có kèm theo trong đĩa CD
ngoài và OFF coding switch khi không sử dụng để tránh tác động đến các module khác
Trang 202 Port giao tiếp RS232 (9-pin serial Port)
Hình 1.25
Mô tả module này như sau:
thông qua coding switch
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
các chân khác của MCU với Serial Port (sử dụng phần mềm để mô phỏng)
Sơ đồ nguyên lý:
Hình 1.26
Trang 21n 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
Hình 1.27
Trang 22PHẦN 2 CÁC BÀI THỰC HÀNH
Trang 23BÀI 1: HIỂN THỊ TRẠNG THÁI PORT
TRÊN LED ĐƠN
Họ và tên sinh viên:
• Đ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ý
Trang 24RD7 RE2
RB3
VCC
D18 LED
RC3 RA4
C8 33pF
U1 PIC16F877A
2 3 4 5 6 7
33 34 35 36 37 38 39 40 15
16 17 18 23 24 25 26
19 20 21 22 27 28 29 30 13
14
32 11 31
12
1
8 9 10
RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+
RA4/T0CKI/C1OUT RA5/AN4/SS*/C2OUT
RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT
RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 OSC1/CLKIN
OSC2/CLKOUT
VDD VDD VSS
VSS
MCLR*/VPP
RE0/RD*/AN5 RE1/WR*/AN6 RE2/CS*/AN7
RB7
RA1 RA2
Trang 25Bướ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
Trang 26Bướ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
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
Trang 27BÀI 2: HIỂN THỊ GIÁ TRỊ LÊN LED 7 ĐOẠN
Họ và tên sinh viên:
• Nắm được nguyên lý điều khiển LED 7đoạn
• 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 7 đoạn
1 Sơ đồ nguyên lý
Trang 28A C E G DP VCC1 VCC2
RC1
DP
1 3 5 7
16 14 12 10 9 RB2
RA3
DP RC4
C RD3
RD0 RC0
D
C8 33pF
C2 33pF
A RB5
RA1
DIG5
RD6 RC7
RB3
RC2
U1 PIC16F877A
2 4 6
33 35 37 39
15 17 23 25
19 21 27 29
13
14
32 31
1
8 9 10
RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+
RA4/T0CKI/C1OUT RA5/AN4/SS*/C2OUT
RB0/INT RB1 RB3/PGM RB4 RB6/PGC
RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT
RD0/PSP0 RD2/PSP2 RD4/PSP4 RD6/PSP6
OSC1/CLKIN
OSC2/CLKOUT
VDD VSS
MCLR*/VPP
RE0/RD*/AN5 RE1/WR*/AN6 RE2/CS*/AN7
RB6
VCC
Q5 MMBT3906
RE0
D B
R54 10K
A RD2
12 10 9 7
SW15 RESET
E RA5
Trang 29Bước 2: Chạy mô phỏng chương trình trên phần mềm proteus
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 7 đoạn
1 Sơ đồ Nguyên lý
Trang 30G RD1
U1 PIC16F877A
2 3 4 5 6 7
33 34 35 36 37 38 39 40 15
16 17 18 23 24 25 26
19 20 21 22 27 28 29 30 13
14
32 11 31
12
1
8 9 10
RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+
RA4/T0CKI/C1OUT RA5/AN4/SS*/C2OUT
RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT
RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 OSC1/CLKIN
OSC2/CLKOUT
VDD VDD VSS
VSS
MCLR*/VPP
RE0/RD*/AN5 RE1/WR*/AN6 RE2/CS*/AN7
RA5 RA4
3 8
A B C D E F G DP VCC1 VCC2 D
16 15 14 13 12 11 10 9
A RB2
F F
12 11 10 9 8 7
RA3
VCC
DP RD2
RA1
DIG4
C7 10uF
E
RA4
DIS2 7SEG_DIPS
7 6 4 2 1 9 10 5
3 8
A B C D E F G DP VCC1 VCC2 D
RA0
E
Hình 2.3
Trang 31D RC1
RC3
7 4 1 10 5
A C E G DP VCC1 VCC2
A C E G DP VCC1 VCC2 RD6
DP A
R56 10K
RC2
7 4 1 10 5
A C E G DP VCC1 VCC2
E
R54 10K
RA4
DIG2 RA4
RD1
1 3 5 7
16 14 12 10
D
Q8 MMBT3906
3
RD5 RC4
C
RB4
G F
RA1
Q5 MMBT3906
3
DIG3 DIG2
7 4 1 10 5
A C E G DP VCC1 VCC2
DIG6
1 3 5
12 10 9 7
RD7 RD2
Q6 MMBT3906
RD3 RA0
G DP
C8 33pF
RB5
A RB2
E
RB1
B RB6
C2 33pF
D RD4
Y 1 8MHz
RA5
E RB7
DIG1 DIG3
RC6
RD0
DIG4 RA1
DIG4
U1 PIC16F877A
2 4 6
33 35 37 39
15 17 23 25
19 21 27 29
13
14
32 31
1
8 10
RA0/AN0 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+
RA4/T0CKI/C1OUT RA5/AN4/SS*/C2OUT
RB0/INT RB1 RB3/PGM RB4 RB6/PGC
RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT
RD0/PSP0 RD2/PSP2 RD4/PSP4 RD6/PSP6
OSC1/CLKIN
OSC2/CLKOUT
VDD VSS
MCLR*/VPP
RE0/RD*/AN5 RE1/WR*/AN6 RE2/CS*/AN7
DP RA5
Hình 2.4
Trang 32Bướ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
Bước 2: Chạy mô phỏng chương trình trên phần mềm proteus
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
5 Các yêu cầu mở rộng
• Viết chương trình Cho 4 Led 7 đoạn hiển thị 4 số cuối MSSV
• Viết chương trình cho số 30 đếm ngược về 0, thời gian đếm là 1s/1đv
Trang 33BÀI 3: GIAO TIẾP LCD
Họ và tên sinh viên:
• Nắm được sơ đồ và nguyên lý hoạt động của LCD trên mô hình thí nghiệm
• Biết cách khởi tạo LCD
RA1
RE0
RD3 RC0
VCC
RC7 C2 33pF
RD2
RD1 RB6
RD7
C8 33pF
Y 1 8MHz
33 34 36 38 40 15
17 18 24 26
19 21 22 28 30 13
14
11 12
1
8 10
RA0/AN0 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+
RA4/T0CKI/C1OUT RA5/AN4/SS*/C2OUT
RB0/INT RB1 RB3/PGM RB4 RB6/PGC
RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT
RD0/PSP0 RD1/PSP1 RD3/PSP3 RD5/PSP5 RD6/PSP6
OSC1/CLKIN
OSC2/CLKOUT
MCLR*/VPP
RE0/RD*/AN5 RE1/WR*/AN6 RE2/CS*/AN7
VCC
SW15 RESET
RB3
Trang 34e=1; // tao xung kich
rs = 0;// Bus noi voi thanh ghi IR
rw =0;// Che do ghi du lieu
e=0;// tao xung kich
Delay_ms(3); // tao tre
Trang 35#bit rw=porta.2
#bit e=porta.3
void khoi_tao_LCD()
{
rs = 0;// Bus noi voi thanh ghi IR
rw =0;// Che do ghi du lieu
e=1; // tao xung kich
e=0;// tao xung kich
Delay_ms(5); // tao tre
Trang 36}
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
Bước 2: Chạy mô phỏng chương trình trên phần mềm proteus
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à
Trang 37BÀI 4: CHUYỂN ĐỔI TƯƠNG TỰ - SỐ (A/D)
Họ và tên sinh viên:
• Biết viết chương trình đọc Analog
• Biết xử lý quét led
C Nội Dung Thực Hành
I Chuyển đổi A/D hiển thị trên Led đơn
1 Sơ đồ nguyên lý
Trang 38D18 LED
U1 PIC16F877A
2 3 5 7
33 35 37 38 40 15
16 18 23 25 26
19 20 22 27 29 30 13
14
32 11 31
12
1
8 9 10
RA0/AN0 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+
RA4/T0CKI/C1OUT RA5/AN4/SS*/C2OUT
RB0/INT RB1 RB3/PGM RB4 RB6/PGC
RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT
RD0/PSP0 RD2/PSP2 RD3/PSP3 RD5/PSP5 RD7/PSP7 OSC1/CLKIN
OSC2/CLKOUT
VDD VSS
MCLR*/VPP
RE0/RD*/AN5 RE1/WR*/AN6 RE2/CS*/AN7
D21 LED RB4
CN12 CN2Pin
RE0 RE2 RD7
Trang 39Bướ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
Bước 2: Chạy mô phỏng chương trình trên phần mềm proteus
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 Chuyển đổi A/D hiển thị trên LCD
1 Sơ đồ nguyên lý
Trang 40RB7
RD6 RD4
C8 33pF
RB2 VCC
RD0
Y 1 8MHz
RA4
RD2 RD1
10k
RA1 U1 PIC16F877A
2 3 4 5 7
33 34 35 36 38 39 40 15
16 17 18 23 24 25 26
19 20 21 22 27 28 29 30 13
14
32 11 31
12
1
8 9 10
RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+
RA4/T0CKI/C1OUT RA5/AN4/SS*/C2OUT
RB0/INT RB1 RB2 RB3/PGM RB4 RB6/PGC RB7/PGD RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT
RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 OSC1/CLKIN
OSC2/CLKOUT
VDD VDD VSS
VSS
MCLR*/VPP
RE0/RD*/AN5 RE1/WR*/AN6 RE2/CS*/AN7
RE0
RB5
RC7
RC1 RC2