Báo cáo đồ án môn học
MỤC LỤC
I.
II.
Giới thiệu về đề tài
Tổng quan về mạch giao tiếp máy tính
1. Đặt vấn đề
2. Chức năng của mạch
3. Sơ đồ tổng quan của mạch
III.
IV.
V.
VI.
VII.
VIII.
I.
II.
Phần thiết kế mạch
1. Khối nguồn
2. Khối hiển thị LCD
3. Khối ADE
4. Khối tính tốn và điều khiển
Nội dung code chương trình
Quy trình làm mạch in trên xưởng thực hành điện – điện tử
Kết quả làm mạch thực tế
Kết luận và hướng phát triển
Nhận xét của giảng viên hướng dẫn
Gioi thiệu về đề tài
Đề tài: Đo các thơng số dịng điện, điện áp,tần số dịng điện,cơng suất đạt được trong
mạch và sau đó hiển thị lên màn hình LCD.
Tổng quan về mạch giao tiếp máy tính:
1. Đặt vấn đề:
Việc tích hợp các chức năng trên cùng một bo mạch là khơng hề đơn giản,vừa
đảm bảo tính năng, u cầu kỹ thuật đặt ra vừa đảm bảo tính kinh tế và hiệu
quả khi vận hành khai thác. Mạch giao tiếp máy tính có thể tương tác với
người sử dụng thơng qua các cổng khác nhau như COM, RJ45,… . Do đó việc
thiết kế và đưa vào ứng dụng trong thực tế sẽ mang lại nhiều hiệu quả to lớn .
Nhóm 1
Page 1
Báo cáo đồ án môn học
2. Chức năng của mạch:
Mạch có nhiều tính năng có thể đưa vào sử dụng trong thực tế.
3. Sơ đồ tổng quan của mạch:
+VCC
R1 R2 R3 R4 R5 R6 R7 R8 R9
10K 10K 10K 10K 10K 10K 10K 10K 10K
U1
ADE7753
1
2
AGND
AGND
R12
68R
4
C1
33nF
1K
C2
33nF
R13
5
1K
P2
R14
1
2
7
6
R15
15K
15K
+AVDD
R17
1K
C5
33nF
R18
1K
C6
33nF
3
C7
C8
10uF
8
104
AGND
AGND
DIN
DOUT
SCLK
RETSET
CS
ZX
IRQ
SAG
CF
CLKOUT
V1N
V2P
V2N
AVDD
CLKIN
DVDD
AGND
AGND
DGND
20
19
18
1
17
12
14
13
11
16
2
GND
+VCC
C10
10uF
C9
10
DIN
DOUT
SCLK
RESET
CS
ZX
IRQ
SAG
CF
C3
22pF
3.58MHz
C4
22pF
Y1
15
104
9
AGND
V1P
REF
R10
R11
68 R
P1
GND
LCD1
C11
104
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
VSS
VDD
VEE
RS
RW
EN
D0
D1
D2
D3
D4
D5
D6
D7
A
K
AGND
GND
GND
GND
+VCC
1
2
V+
AC1
AC2
V-
1
4
C14
1000uF/25V
2A
AGND AGND
IN
OUT
GND
+AVDD
3
C16
100uF/16V
AGND
AGND
D2
AGND
AGND
RESET
R21
+VCC
C21
104
L1
330uH
C23
100uF
L2
330uH
+AVDD
C24 C25
100uF 104
GND
AGND
AGND
AGND
GND
Header 5
A1
A2
A3
A4
A5
A6
A7
A8
19
20
21
22
27
28
29
30
1
40
39
+VCC
31
12
13
GND
GND
1
GND
SINGLE POINT
RESET
CS
8
9
10
10uF C17
5
4
3
2
1
L3
330uH
C22
100uF
S1
10K
P4
+VCC
C13
U3
0.1uF 32
VDD
11
VDD
+VCC
C15
104
C26
22pF
Y2
2 14
16MHz
C27
22pF
GND
D4
D5
D6
D7
3
C12
100uF
R20
220R
2
2
3
1
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RE0/RD/AN5
RE1/WR/AN6
RB3/AN9/CCP2
RE2/CS/AN7
RB4/KBI0/AN11
RB5/KBI1/PGM
RD0/PSP0
RD1/PSP1
RA4/T0CKI/C1OUT
RD2/PSP2
RA5/AN4/SS/HLVDIN
RD3/PSP3
RB0/INT0/FLT0/AN12
RD4/PSP4
RB1/INT1/AN10
RD5/PSP5/P1B
RB2/INT2/AN8
RD6/PSP6/P1C
RD7/PSP7/P1D
MCLR/VPP/RE3
RB7/KBI3/PGD
RB6/KBI2/PGC
RC0/T1OSO/T13CKI
RC1/T1OSI/CCP2
RC2/CCP1/P1A
VSS
RC3/SCK/SCL
VSS
RC4/SDI/SDA
RC5/SDO
OSC1/CLKI/RA7
RC6/TX/CK
RC7/RX/DT
OSC2/CLKO/RA6
PIC18F4520-I/P
2
3
4
5
36
37
38
D4
D5
D6
D7
EN
RS
RW
6
7
CF
33
34
35
ZX
SAG
IRQ
VR1
10K
2
LCD16X2
1
U2
LM7805
D1
P3
RS
RW
EN
+VCC
SCLK
DOUT
DIN
+VCC
GND
U4
15
16
17
18
23
24
25
26
R19
47R/1W
C19 1uF 1
3
C20 1uF 4
5
11
12
9
10
15
C1+
C1C2+
C2-
VDD
VCC
T1IN T1OUT
R1OUT T2OUT
R2OUT R1IN
T2IN R2IN
GND
VEE
GND
2
16
C18 +VCC
1uF
+VCC
14
7
13
8 C28
6
1uF
J1
GND
1
6
2
7
3
8
4
9
5
MAX232
C29
+VCC
RS232
GND
1
6
2
7
3
8
4
9
5
11
10
GND
DB9-FEMALE
GND
0.1uF
III.
Thiết kế mạch:
1. Khối nguồn:
Mạch nguồn 5V, có bảo vệ dịng và áp
Ngun lý hoạt động:
Mạch nguồn ổn áp 5v làm nhiệm vụ tạo ra nguồn cung cấp 5V ổn định,va mức dòng
cung cấp lên đến 3A.
Khối mạch vào và chỉnh lưu: sử dụng diode cầu 5A để chỉnh lưu điện áp xoay chiều
lấy từ biến áp ở đây ta lấy áp ra xoay chiều có giá trị hiệu dụng 12V. Kết hợp với tụ chỉnh lưu
để tạo ra điện áp DC có giá trị Vin = SQRT(2) * 12 = 15V. Khối này dùng một đèn led để báo
hiệu có điện áp DC .
Nhóm 1
Page 2
Báo cáo đồ án môn học
Khối mạch ổn áp và nâng dòng: khối này làm nhiệm vụ tạo điện áp ổn định 5V ở đầu
ra.Sử dụng IC 7805 chuyển điện áp 15V đầu vào thành điện áp 5V . IC 7805 cho dịng ra định
danh 1A nhưng thực tế thì dòng ra khoảng 500mA. Nên để tạo ra nguồn cung cấp 3A ta sử
dụng mạch nâng dòng dùng BJT B688. Điện trở R4=10Ω để phân cực cho BJT dẫn ở chế độ
khuếch đại.
Tụ C3,C4,C5 để lọc điện áp gợn tránh ảnh hưởng của tín hiệu cao tầng chạy về
nguồn.Led D5 để báo có áp ra.
Khối bảo vệ áp:có tác dụng bảo vệ nguồn khi điện áp đầu ra tăng vọt khỏi giá trị
5V.Thực hiện bằng cách đóng role để ngắt mạch nguồn khỏi điện áp vào.Khi điện áp đầu ra
lớn hơn 5V BJT Q5 sẽ dẫn nhờ cầu phân áp R6,R7.Diode zener D2 để ghim điện áp cực E
3,3V.Khi Q5 dẫn sẽ làm cho Q9 dẫn.BJT Q9 làm nhiệm vụ đệm dịng.Q9 dẫn dịng Ic đổ qua
role làm role đóng ngắt nguồn vào.
Khối bảo vệ dòng: để bảo vệ dòng định mức ở 3A.Khi mức dòng tăng lên lớn hơn 3A
hoặc trường hợp ngắn mạch đầu ra mạch bảo vệ dịng sẽ đóng role ngắt điện áp vào.Mạch
được thực hiện bằng 2 opamp LM 324.Ban đầu điện áp visai đặt vào opamp1 gần bằng khơng
dịng chọn điện trở R1 nhỏ.áp ra của opamp này bằng khơng.Khi dịng tăng lên điện áp tại
chân không đảo sẽ lớn hơn đầu vào đảo nên tạo ra điện áp dương ở đầu ra của opamp1.Áp
này đã được khuếch đại sẽ được đưa váo chân không đảo so sánh với chân đảo của
opamp2.Sẽ tạo ra điện áp kích cho SCR dẫn thơng qua diode dịng qua SCR sẽ đóng role.tại
chân cổng của SCR dùng led để báo hiệu có điện áp kích.
2. Khối hiển thị LCD 16x2:
a. Giới thiệu:
Màn hình tinh thể lỏng (Liquid Crytal Display, LCD) là thiết bị hiển thị cấu tạo bởi
các tế bào ( các điểm sang) chứa tinh thể lỏng có khả năng thay đổi tính phân cực của ánh
sang và do đó thay đổi nhiệt độ ánh sáng thay đổi truyền qua khi kết hợp với các kính lọc
phân cực. Chúng có ưu điểm là phẳng, cho hình ảnh sáng, chân thật và tiết kiệm điện.
Nhóm 1
Page 3
Báo cáo đồ án mơn học
Có rất nhiều loại LCD với nhiều hình dáng và kích thướt khác nhau. Khi sản xuất
LCD, nhà sản xuất đã tích hợp chip điều khiển bên trong lớp vỏ và chỉ đưa các chân giao tiếp
cần thiết. Các chân này được đánh số thứ tự và đặt tên như hình:
Hình 1 : Hình dáng của loại LCD thông dụng
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong lớp
vỏ và chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ tự và đặt tên như
hình 2 :
Hình 2 : Sơ đồ chân của LCD
b. Ý nghĩa của các chân LCD:
Chân
1
Ký hiệu
VSS
2
Vdd
3
4
VEE
RS
5
RW
6
E
Nhóm 1
Ý nghĩa
Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của mạch
điều khiển.
Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC =5V của
mạch điều khiển.
Điều chỉnh độ tương phản của LCD.
Chân chọn thanh ghi (Register select). Nối chân RS với logic “0” (GND) hoặc
logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus BD0-DB7 sẽ nối với thanh ghi lệnh của LCD ( ở chế độ “ghi” –
write) hoặc nối với bộ đếm địa chỉ của LCD ( ở chế độ “đọc” – read)
+ Logic “1”: Bus DB0- DB7 sẽ nối thanh ghi dữ liệu DR bên trong LCD
Chân chọn chế độ đọc/ ghi (Read/ Write). Nối chân R/W với logic “0” để LCD
hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc.
Chân cho phép ( Enable). Sau khi các tín hiệu được đặt lên bus DB0 –DB7, các
lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.
Page 4
Báo cáo đồ án môn học
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào 9 chấp nhận) thanh ghi E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0- DB7 khi phát hiện cạnh lên (low-to- high
transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp.
Chân 7-14 (D0 –D7): Tám đường của bus dữ liệu dùng để trao đổi thơng tin với
MPU. Có 2 chế độ sử dụng 8 đường bus này.
+ Chế độ 8 bít: Dữ liệu được truyền trên cả 8 đường, với bít MSB là bít DB7.
+ Chế độ 4 bít: Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bít MSB là DB7
Chú ý:
+ Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân Dx. Còn khi ở
chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông qua các chân Dx.
+ Ở chân 15 và chân 16: ghi là A và K. Nó là anot và katot của một con led dùng để sáng
LCD trong bóng tối, chúng ta có thể kết nối, nếu sử dụng nối chân 15 với 220 hay 330 ôm lên
VCC, chân 16 nối đất.
c. Tập lệnh của LCD:
Một số chú ý:
Trướt khi tìm hiều tập lệnh của LCD, sau đây là một vài chú ý khi giao tiếp với LCD:
+ Tuy trong sơ đồ khối của LCD có nhiều khối khác nhau, nhưng khi lập trình điều khiển
LCD ta chỉ có thể tác động trực tiếp được vào 2 thanh ghi DR và IR thông qua các chân DBx,
và ta phải thiết lập chân RS, R/W phù hợp để chuyển qua lại giữ 2 thanh ghi này.
+ Với mỗi lệnh, LCD cần một khoảng thời gian để hoàn tất, thời gian này có thể khá lâu đối
với tốc độ của MPU, nên ta cần kiểm tra cờ BF hoặc đợi( delay) cho LCD thực hiện xong
lệnh hiện hành mới có thể ra lệnh tiếp theo.
+ Địa chỉ của RAM (AC) sẽ tự động tăng( giảm) 1 đơn vị, mỗi khi có lệnh ghi và RAM.
(Điều này giúp chương trình gọn hơn).
+ Các lệnh của LCD có thể chia thành 4 nhóm như sau:
+ Các lệnh về kiểu hiển thị. VD: Kiểu hiển thị (1 hàng/ 2 hàng), chiều dài dữ liệu (8 bít/ 4
bít).
+ Chỉ định địa chỉ RAM nội.
+ Nhóm lệnh truyền dữ liệu trong RAM nội.
Tập lệnh:
Nhóm 1
Page 5
Báo cáo đồ án môn học
Tập lệnh của LCD tương đối đơn giản. Nhưng khi lập trình cho mạch có LCD ta chỉ
cần gọi các hàm có sẵn trong trình biên dịch mà không cần phải đánh các lệnh phức tạp.
3. Khối ADE:
GIỚI THIỆU CHUNG VỀ ADE 7753
3.1. Mô tả chung về ADE 7753:
- ADE 7753 do hãng Analog Device của Mỹ sản xuất và chế tạo
- ADE 7753 Có độ chính xác cao, tuân theo chuẩn IEC 61036 và IEC 1268
- Tích hợp bộ tích phân số cho phép giao diện trực tiếp tới cảm biến dòng điện đầu
ra tỷ lệ với di/dt
- Mạng lưới chân (PGA) trong các kênh dòng điện cho phép giao diện trực tiếp tới shunt và
bộ biến đổi dòng điện
- Là IC chuyên dùng để đo năng luợng hoạt động và năng luợng biểu kiến, dạng sóng và giá
trị hiệu dụng của dịng điện và điện áp. Sai số nhỏ hơn 0.1% trong phép đo năng lượng.
- Cho phép nguời dùng đặt chương trình ngưỡng cho sự tăng vọt của điện áp dây và kiểm tra
giá trị hiệu dụng (SAG) và bộ phận cung cấp công suất (PSU)
- Cho phép hiệu chuẩn số cho nguồn, pha và bù đầu vào.Lập trình tần số xung ngõ ra.
- Giao diện trực tiếp với thiết bị ngoại vi thơng qua chuẩn giao tiếp SPI
- Có 2 ADC cấu trúc sigma – delta và DSP cho dữ liệu với độ chính xác cao trong điều kiện
mơi trường và thời gian biến động mạnh.
- Nguồn nuôi 5V, công suất thấp (25mW)
Hình 2.1 Sơ đồ chân của ADE 7753
3.2. Sơ đồ khối và tính năng của ADE 7753
Nhóm 1
Page 6
Báo cáo đồ án môn học
3.2.1. Sơ đồ khối của ADE 7753
Hình 2.2 Sơ đồ khối chức năng của ADE 7753
3.2.2. Tính năng của ADE 7753
ADE7753 có các tính năng của các bộ chuyển đổi tương tự/số (ADC) và cố định chức
năng xử lý tín hiệu số (DSP) trong điều kiện mơi trường và thời gian có sự biến đổi lớn.
ADE7753 kết hợp 2 lớp phụ, ADC 16bit, bộ tích phân số (trên CH1), mạch tham chiếu, cảm
biến nhiệt độ và tất cả các tín hiệu yêu cầu xử lý để thực hiện các phép đo công suất biểu kiến
và công suất hoạt động, đo điện áp dây theo thời gian và tính giá trị hiệu dụng (rms) trên kênh
điện áp và dòng điện.
ADE7753 cung cấp một giao diện nối tiếp để đọc dữ liệu và tần số xung nhịp đầu ra
(CF) tỷ lệ thuận với công suất hoạt dộng. Hệ thống hiệu chỉnh tính năng khác nhau như kênh
hiệu chỉnh bù, hiệu chỉnh pha, hiệu chỉnh nguồn đảm bảo độ chính xác cao. Một phần cũng
phát hiện đuợc sự biến đổi điện áp thấp hoặc cao trong thời gian ngắn.
Thanh ghi trạng thái ngắt chỉ bản chất của ngắt và ngắt cho phép thanh ghi điều khiển
việc tạo ra một đầu ra trên chân IRQ , cực máng mở, đầu ra hoạt động ở mức logic thấp.
3.3. Quá trình lấy mẫu và thực hiện của ADE 7753
3.3.1. ADC kênh 1 và quá trình lấy mẫu kênh 1
a/ ADC kênh 1
Nhóm 1
Page 7
Báo cáo đồ án mơn học
Hình 2.3 Q trình xử lí tín hiệu trên kênh 1 của ADE 7753
Trong chế độ lấy mẫu dạng sóng, một dây đầu ra ADC, bù 2, dữ liệu dạng word 24 bit
ở giá trị tối đa là 27.9 kSPS (CLKIN/128). Với đặc tính tín hiệu đầu vào tương tự hoàn chỉnh
là 0.5 V( hoặc 0.25 V hoặc 0.125 V), ADC tạo ra một mã đầu ra khoảng giữa 0x28 51EC
(+2,642,412 d)và 0xD7 AE14 (- 2,642,412 d).
Các mẫu dạng sóng có thể được truyền đến thanh ghi dạng sóng (MODE) cho hệ
thống chủ (MCU) để đọc. Trong chế độ lấy mẫu dạng sóng, thiết lập bit WSMP (bit 3) trong
thanh ghi cho phép ngắt ở mức logic 1. Công suất hoạt động và công suất biểu kiến cũng như
sự tính tốn năng luợng vẫn khơng bị gián đoạn trong q trình lấy mẫu dạng sóng.
Hình 2.4 Thời gian lấy mẫu của ADE 7753
Trong chế độ lấy mẫu dạng sóng, chọn một trong bốn phạn vi lấy mẫu đầu ra sử dụng
bit 11 và bit 12 của thanh ghi chế độ (WAVSEL) . Phạm vi lấy mẫu đầu ra có thể là 27.9
kSPS, 14 kSPS, 7 kSPS hoặc 3.5 kSPS. Ðầu ra yêu cầu ngắt IRQ , lấy mẫu tín hiệu mới sẵn
Nhóm 1
Page 8
Báo cáo đồ án mơn học
có bằng cách hoạt động ở mức thấp. Thời gian lấy mẫu thể hiện trong hình 2.3. 24 bit dạng
sóng lấy mẫu được chuyển từ một byte ADE7753 ở một thời điểm, với byte quan trọng nhất
được dịch chuyển ra đầu tiên. 24 bit dữ liệu dạng word được canh phải. Ðầu ra yêu cầu ngắt
IRQ vẫn ở mức thấp cho đến khi đọc ngắt để thiết lập lại thanh ghi.
b/ Tính dịng điện hiệu dụng (IRMS) trên kênh 1
Giá trị hiệu dụng (rms) của một tín hiệu liên tục V(t) được tính như sau:
Ðối thời gian lấy mẫu tín hiệu, việc tính giá trị rms liên quan đến tín hiệu, lấy trung bình, và
có được căn bậc hai như sau:
ADE7753 tính đồng thời các giá trị rms cho kênh 1 và kênh 2 trong các thanh ghi
khác nhau. Hình 2.4 cho thấy chi tiết của q trình xử lý tín hiệu cho việc tính toán rms trên
kênh 1. Giá trị rms trên kênh 1 được xử lý từ mẫu sử dụng trong chế độ lấy mẫu dạng sóng
kênh 1. Giá trị rms kênh 1 được lưu trữ trong một thanh ghi IRMS không dấu, 24 bit Một
LSB của thanh ghi rms kênh 1 tương đương với một LSB của một mẫu dạng sóng kênh 1.
Tốc độ cập nhật phép đo rms kênh 1 là CLKIN/4.
Hình 2.5 Q trình tính tốn IRMS trên kênh 1
Với tín hiệu đầu vào tương tự lớn nhất là 0,5 V, ADC tạo ra một mã đầu ra khoảng ±
2,642,412d. Giá trị rms tương đương của một tín hiệu xoay chiều hồn chỉnh là 1,868,467d
(0x1C82B3).
Phép đo RMS dịng diện được cung cấp trong ADE7753 chính xác đến 0.5% với tín
hiệu đầu vào giữa thang đủ và thang đủ/100.
Nhóm 1
Page 9
Báo cáo đồ án môn học
c/ Hiệu chỉnh bù RMS trên kênh 1
ADE7753 kết hợp một thanh ghi bù IRMSOS trên kênh 1. Ðây là thanh ghi 12 bit, có
dấu, nó có thể được sử dụng để loại bỏ bù trong tính tốn rms kênh 1. Một giá trị bù có thể
tồn tại trong việc tính tốn rms do nhiễu đầu vào, cái mà được tích hợp trên thành phần một
chiều của V2(t). Phép tính bù loại trừ ảnh hưởng của nhiễu đầu vào từ phép đo rms.Một LSB
của bù rms kênh 1 khoảng 32,768 LSB của bình phương thanh ghi rms kênh 1.
3.3.2. ADC kênh 2 và quá trình lấy mẫu kênh 2
a/ ADC kênh 2
Hình 2.6 Quá trình xử lí tín hiệu trên kênh 2 của ADE 7753
Trong chế độ lấy mẫu dạng sóng kênh 2 (MORE[14:13]=1,1 và WSMP=1), độ rộng
mã đầu ra ADC cho kênh 2 không giống như trên kênh 1. Dạng sóng lấy mẫu kênh 2 là một
word 16 bit và 24 bit dấu giới hạn.Để có thể lấy mẫu được ở kênh 2 thì hiệu điện áp giữa V2P
và V2N không được vượt quá 0,5V. Với điện áp đầu vào lớn nhất (± 0.5V ở giá trị khuếch
đại PGA là 1), đầu vào từ ADC dao dộng giữa 0x2852 và 0Xd7AE (±10,322d) . Tuy nhiên,
truớc khi được truyền cho thanh ghi dạng sóng, đầu ra ADC được truyền thơng qua một tín
hiệu đơn cực, bộ lọc thông thấp với tần số cắt là 140 Hz.Bộ lọc thơng thấp LPF1 có tác dụng
làm suy giảm tín hiệu.Hình 2.6 thể hiện đại lượng và đáp ứng pha của bộ lọc này.
Nhóm 1
Page 10
Báo cáo đồ án mơn học
Hình 2.7 Đáp ứng pha của bộ lọc thông thấp LPF1
Nếu tần số là 60Hz, tín hiệu tại đầu ra của LPF1 sẽ giảm 8%
Kênh 2 chỉ có một phạm vi đầu vào tương tự .Cũng giống như kênh 1, kênh 2 có một
PGA với sự lựa chọn hệ số khuếch đại là 1, 2, 4, 8 và 16. Ðối với phép đo năng lượng, đầu ra
của ADC được truyền trực tiếp cho các bộ phận và không được lọc qua bộ lọc thông thấp
LPF1. Trong chế độ lấy mẫu dạng sóng, một trong bốn tốc độ lấy mẫu đầu ra có thể được
chọn bằng cách sử dụng bit 11 và 12 của thanh ghi chế dộ. Tốc độ lấy mẫu đầu ra sẵn có là
27.9 kSPS, 14 kSPS, 7 kSPS hoặc 3.5 kSPS.
b/ Tính tốn giá trị hiệu dụng RMS trên kênh 2
Hình 2.8 Q trình tính tốn URMS trên kênh 2
ADE7753 tính tốn giá trị hiệu dụng RMS bằng cách sử dụng việc tính giá trị trung
bình tuyệt đối như trong hình 2.7. Giá trị rms kênh 2 được cung cấp từ các mẫu được sử dụng
Nhóm 1
Page 11
Báo cáo đồ án môn học
trong chế độ lấy mẫu dạng sóng kênh 2. Giá trị rms suy giảm khơng đáng kể do LPF1. Giá trị
RMS kênh 2 được lưu trữ trong thanh ghi VRMS không dấu, 24 bit. Tốc độ cập nhật của
phép đo rms kênh 2 là CLKIN/4. Với tín hiệu đầu vào tương tự xoay chiều hồn chỉnh không
được vượt quá 0.5V, đầu ra từ LPF1 dao dộng giữa 0x2518 và 0xDAE8 ở tần số 60 Hz. Giá
trị rms tương ứng của tín hiệu xoay chiều hồn chỉnh này khoảng 1,561,400 (0x17 D338)
trong thanh ghi VRMS. Phép đo điện áp rms cung cấp trong ADE7753 chính xác tới ±0.5%
cho tín hiệu đầu vào giữa thang đủ và thang đủ/20.
c/ Hiệu chỉnh bù RMS trên kênh 2
ADE7753 kết hợp một thanh ghi bù rms kênh 2 là ( VRMSOS). Thanh ghi này là
thanh ghi 12 bit, có dấu. Nó có thể được sử dụng để loại bỏ bù trong tính tốn rms kênh 2. Bù
có thể tồn tại trong việc tính rms do nhiễu đầu vào và bù một chiều trong các mẫu đầu vào.
Các hiệu chuẩn cho phép bù các nội dung của thanh ghi VRMS để duy trì ở mức 0 khi khơng
có điện áp vào. Một LSB của bù rms kênh 2 tương đương với một LSB của thanh ghi rms.
Giả sử giá trị tối đa của tính tốn rms kênh 2 là 1,561,400d với đầu vào xoay chiều hồn
chỉnh, sau đó 1 LSB của bù rms kênh 2 đại diện 0.064% của phép đo sai số ở dưới -60dB của
thanh đo dầy đủ.
VRMS = VRMS0 + VRMSSOS
Với VRMS0 là phép đo rms mà không cần điều chỉnh bù.
d/ Hiệu chỉnh pha trong ADE 7753
ADE7753 cung cấp một phương tiện số hiệu chỉnh các sai số pha nhỏ này bằng cách
cho phép một thời gian trễ ngắn hoặc thời gian sớm hơn để đưa vào dây chuyền xử lý tín hiệu
để hiệu chỉnh các sai số này. Vì hiệu chỉnh bằng thời gian, kỹ thuật này chỉ nên sử dụng cho
các sai số pha nhỏ trong dải từ 0.1 0 đến 0.50..Thanh ghi hiệu chỉnh pha PHCAL là một số bù
hai, có dấu, thanh ghi byte đơn, mà có độ rộng giá trị từ 0x21 (-31d) đến 0x1F (+31d).
Thanh ghi này có điểm giữa là 0Dh, vì vậy ghi 0Dh vào thanh ghi tạo ra trễ 0. Bằng cách thay
đổi thanh ghi PHCAL, thời gian trễ trong đường dẫn tín hiệu kênh 2 có thể thay đổi từ
-102.12 µs dến +39.96 µs (CLKIN = 3.579545MHz).Hình 2.8 minh họa cách hiệu chỉnh pha
được sử dụng để loại bỏ 0,10 pha dẫn trong kênh 1 do các đầu dị bên ngồi.
Nhóm 1
Page 12
Báo cáo đồ án mơn học
Hình 2.9 Minh họa hiệu chỉnh pha 0,10 trong ADE 7753
Ðể hủy bỏ việc dẫn (0.10) trong kênh 1, một pha dẫn cũng phải được đưa vào kênh 2.
Ðộ phân giải của sự điều chỉnh pha cho phép một pha dẫn bằng cách cho một thời gian sớm
hơn trong kênh 2. Thời gian sớm hơn 4.44 µs được tạo ra bằng cách viết -2 (0x03) vào khối
thời gian trễ, do dó việc giảm số luợng thời gian trễ là 4.44 µs hoặc tương đương một pha dãn
khoảng 0.10ở dòng tần số 60Hz. 0x0B đại diện cho -2 bởi vì thanh ghi này có tâm 0 là 0Dh.
3.4. Tính tốn cơng suất hoạt động trong ADE 7753
Tín hiệu cơng suất tức thời p(t) được tạo ra bằng cách nhân tín hiệu dịng diện và tín
hiệu điện áp. Các thành phần một chiều của tín hiệu cơng suất tức thời sau đó được tách ra
bởi bộ lọc thơng thấp LPF2 để có được những thơng tin cơng suất hoạt động. Quá trình này
được minh họa trong hình 2.9.
Nhóm 1
Page 13
Báo cáo đồ án mơn học
Hình 2.10 Cơng suất hoạt động trong ADE 7753
Bởi vì LPF2 khơng có một “bức tuờng gạch” đáp ứng tần số lý tuởng, tín hiệu cơng
suất hoạt dộng có một số gợn sóng do tín hiệu cơng suất tức thời. Gợn sóng này là hình sin và
có tần số bằng hai lần dịng tần số. Bởi vì trong tự nhiên, gợn sóng là hình sin, nó được loại
bỏ khi tín hiệu cơng suất hoạt động được tích hợp để tính tốn năng lượng.
Hình 2.11 Q trình xử lí tính tốn cơng suất hoạt động trong ADE 7753
Cơng suất hoạt động được tính tốn bởi bộ lọc thơng thấp tín hiệu cơng suất tức thời
(như hình 2.10) .Hệ số khuếch đại năng lượng hoạt dộng có thể đuợc điều chỉnh bằng cách sử
dụng bộ nhân hoặc thanh ghi hệ số khuếch đại công suất WGAIN. Hệ số khuếch đại được
điều chỉnh bằng cách ghi một số bù 2, 12 bit word vào thanh ghi hệ số khuếch đại cơng suất.
Phương trình 11 để điều chỉnh liên quan tới một nội dung của thanh ghi khuếch đại công suất
Thanh ghi lưu giá trị công suất đo được là thanh ghi AENERGY 24 bit, khơng dấu.
3.5. Q trình ngắt của ADE 7753
Ngắt được quản lý thông qua thanh ghi trạng thái ngắt (STATUS) và thanh ghi cho
phép ngắt (IRQEN). Khi một sự kiện ngắt xảy ra, các cờ tương ứng trong thanh ghi trạng thái
được thiết lập ở mức logic là 1. Nếu bit cho phép thực hiện ngắt thì trong thanh ghi cho phép
ngắt, bit này được thiết lập là 1. Đầu ra logic IRQ sẽ hoạt động ở mức thấp Các bit cờ trong
thanh ghi trạng thái được thiết lập không phụ thuộc vào trạng thái của các bit cho phép ngắt.
Ðể xác định nguồn gốc của ngắt, hệ thống chủ nên thực hiện việc đọc từ thanh ghi
trạng thái với việc thiết lập lại (RSTSTATUS).Đầu ra IRQ ở mức cao sau khi hồn thành lệnh
Nhóm 1
Page 14
Báo cáo đồ án môn học
đọc của thanh ghi trạng thái ngắt. Khi đưa ra một giá trị đọc để thiết lập lại, ADE7753 được
thiết kế để đảm bảo rằng khơng có sự kiện ngắt nào bị bỏ qua. Nếu một sự kiện ngắt xảy ra
khi thanh ghi trạng thái ngắt đang đọc thì sự kiện này sẽ khơng bị mất và đầu ra IRQ sẽ duợc
đảm bảo ở mức cao trong thời gian thanh ghi trạng thái ngắt truyền dữ liệu truớc khi về lại
mức logic thấp để chỉ ra rằng đang chờ ngắt.
3.5.1. Sử dụng ngắt với 1 MCU
Hình 2.12 Biểu đồ thời gian quản lí ngắt của ADE 7753
Hình 2.11 cho thấy một biểu đồ thời gian việc quản lý ngắt của ADE7753 sử dụng
một MCU. Ở thời điểm t1 đường IRQ hoạt động ở mức thấp, chỉ ra rằng một hoặc hơn một
sự kiện ngắt đã xảy ra. Cấu hình MCU để bắt đầu thực hiện phục vụ ngắt thuờng xuyên
( ISR) khi suờn xuống được phát hiện trên đuờng IRQ Sau khi nhập ISR, vô hiệu hóa tất cả
các ngắt bằng cách sử dụng bit cho phép ngắt toàn cầu. Tại thời điểm này, cờ ngắt ngồi
MCU.ISR có thể được xóa để nắm bắt sự kiện ngắt xảy ra với ISR hiện hành. Khi cờ ngắt
MCU bị xóa, việc đọc từ thanh ghi trạng thái với việc thiết lập cho đầu ra.Điều này làm cho
đường IRQ được thiết lập lại mức cao (t2). Nếu một sự kiện ngắt tiếp theo xảy ra trong ISR
thì sự kiện đó sẽ được ghi lại bởi cờ ngắt ngồi MCU để thiết lập lại lần nữa (t3). Sau khi ISR
hồn thành các mặt nạ ngắt tồn cầu bị xóa và cờ ngắt ngoài làm cho MCU nhảy tới ISR một
lần nữa. Ðiều này đảm bảo rằng MCU không bỏ lỡ bất kỳ một ngắt ngoài nào.
3.5.2. Thời điểm ngắt
Khi đầu ra ISR ở mức thấp MCU ISR sẽ đọc thanh ghi trạng thái ngắt để xác định
nguồn gốc của ngắt. Khi đọc nội dung thanh ghi trạng thái, đầu ra IRQ được treo ở mức cao
trong lúc suờn xuống cuối cùng của SCLK chuyển byte đầu tiên (đọc lệnh thanh ghi trạng
thái ngắt).Đầu ra IRQ giữ ở mức cao cho đến khi bit cuối cùng của việc chuyển 15 bit tiếp
theo được dịch chuyển ra (nội dung thanh ghi trạng thái ngắt). Nếu khơng có ngắt đang chờ
thì đầu ra IRQ sẽ ở mức cao.
3.6. Giao diện nối tiếp của ADE 7753
Nhóm 1
Page 15
Báo cáo đồ án môn học
Tất cả các chức năng của ADE7753 có thể truy nhập thơng qua một số thanh ghi trên
chip Nội dung của các thanh ghi có thể được cập nhật hoặc đọc sử dụng giao diện nối tiếp
trên chip. Sau khi bật nguồn hoặc bật công tắc chân RESET về mức thấp và một suờn xuống
trên CS, ADE7753 được đặt trong chế độ giao tiếp. Trong chế độ giao tiếp này, ADE7753 kỳ
vọng một giá trị ghi vào thanh ghi giao tiếp của nó. Dữ liệu ghi vào thanh ghi giao tiếp theo
chuyển giao hoạt động đọc hoặc viết vào thanh nghi được truy nhập. Vì vậy, tất cả các dữ
liệu chuyển giao hoạt động với ADE7753 cho dù đọc hay viết phải bắt đầu bằng việc ghi vào
thanh ghi thông tin.
Thanh ghi thông tin là một thanh ghi rộng 8 bit. MSB xác định xem các dữ liệu tiếp
theo chuyển giao hoạt động đọc hoặc viết như thế nào. 6 LSB chứa địa chỉ của thanh ghi để
truy nhập. Giao diện nối tiếp của ADE7753 được tạo thành từ bốn tín hiệu: SCLK, DIN,
DOUT, và CS.
Xung nhịp nối tiếp cho một dữ liệu chuyển giao được áp dụng ở đầu vào logic SCLK.
Ðầu vào logic này có một đầu vào Schimitt-trigger cấu tạo lên suờn xuống và suờn lên xung
nhịp để sử dụng. Tất cả các dữ liệu chuyển giao hoạt động được đồng bộ hóa với xung nhịp
nối tiếp. Dữ liệu được dịch chuyển vào ADE7753 ở đầu vào logic DIN và suờn xuống của
SCLK. Dữ liệu được chuyển ra khỏi ADE7753 tại đầu ra logic DOUT vào suờn lên của
SCLK. Ðầu vào của logic CS là đầu vào chọn chip. Ðầu vào này được sử dụng khi nhiều thiết
bị chia sẻ đường Bus nối tiếp.
3.6.1/Hoạt động ghi nối tiếp của ADE 7753
Hình 2.13 Hoạt động ghi nối tiếp của ADE 7753
ADE7753 trong chế độ giao tiếp ( tức là đầu vào CS logic ở mức thấp) giá trị ghi đầu
tiên vào thanh ghi thông tin xảy ra. MSB của byte này chuyển giao là một, chỉ ra rằng hoạt
Nhóm 1
Page 16
Báo cáo đồ án môn học
dộng chuyển giao dữ liệu là một giá trị ghi. LSB của byte này chứa địa chỉ của thanh ghi để
ghi. ADE7753 bắt đầu chuyển dịch trong thanh ghi dữ liệu ở suờn xuống tiếp theo của SCLK.
Tất cả các bit còn lại của thanh ghi dữ liệu được dịch vào ở các suờn xuống tiếp theo của
xung SCLK
Trong hoạt động ghi dữ liệu, dữ liệu duợc chuyển tới các thanh ghi trên chip một byte
ở một thời diểm. Sau khi một byte được chuyển vào cổng nối tiếp, có một thời gian hữu hạn
truớc khi được chuyển tới một trong những thanh ghi trên chip ADE7753. Nếu một hoạt động
ghi được hủy bỏ trong khi dịch chuyển một byte ( CS được treo lên mức cao) thì byte đó
khơng được ghi vào thanh ghi đích.
4. Khối tính tốn và điều khiển:
Tổng quan về vi điều khiển pic 18f4620
a. Kiến trúc RISC của vi điều khiển PIC:
PIC được tổ chức phần cứng theo kiến trúc Harvard, và tập lệnh RISC (reduced
instruction set computer - máy tính với tập lệnh giản lược). Trong kiến trúc Harvard, bộ
nhớ dữ liệu và bộ nhớ chương trình nằm riêng biệt, do đó CPU có thể làm việc trực tiếp với
cả hai bộ nhớ dữ liệu và bộ nhớ chương trình cùng một lúc, làm cho tốc độ xử lý nhanh
hơn.
Việc bộ nhớ chương trình và bộ nhớ dữ liệu được tách riêng, do đó, tập lệnh trong
kiến trúc Harvard có thể được tối ưu tùy theo yêu cầu kiến trúc của vi điều khiển. Trong
khi đó, độ dài lệnh của các vi điều khiển kiến trúc von-Neumann là bội số của 1 byte (8 bit).
PIC là một Vi điều khiển RISC, tập lệnh của PIC chỉ có 35 lệnh, phần lớn các lệnh này chỉ
thực hiện trong một chu kỳ máy. Chính nhờ kiến trúc phần cứng tiên tiến, PIC tỏ ra vượt
trội so với các loại Vi điều khiển 8 bít khác về mặt tốc độ và hiệu năng sử dụng.
b. Xử lý song song (Pipeline):
Việc xử lý lệnh trong PIC được thực hiện song song, trong khi xử lý một lệnh thì
đồng thời CPU cũng nạp lệnh mới vào để quá trình xử lý lệnh là liên tục. Chính phương
thức xử lý đó giúp cho tốc độ hoạt động của PIC nhanh hơn rất nhiều.
Nhóm 1
Page 17
Báo cáo đồ án môn học
Sơ đồ chân PIC 18f4620:
c. Sơ lược tính năng nổi bật của PIC18F4620:
- Nguồn dao động nội đến 8MHz, dao động thach anh lên tới 40MHz.
- Tiêu thụ nguồn thấp (nanoWatt).
- 5 Kênh vào ra (Port A, B, C, D, E).
-
ADC 10 - bit tốc độ cao với 9 kênh vào (AN0 ~ AN8).
4 kênh PWM 14-bit.
Khối phản hồi chuyển động (Encoder).
2 kênh CCCP.
3 chân ngắt ngoài.
Giao tiếp nối tiếp RS232, RS485, I2C, SPI.
ICSP và ICD.
d. Cấu trúc và khối chức năng cơ bản trong Vi điều khiển PIC:
Sơ đồ cấu trúc vi điều khiển PIC 18Fxxxx
Nhóm 1
Page 18
Báo cáo đồ án môn học
d.1. Khối tạo xung dao động:
Mạch tạo dao động được sử dụng để cung cấp xung đồng hồ cho Vi điều khiển.
Xung đồng hồ là cần thiết để Vi điều khiển có thể thực thi chương trình lập trình bên trong
nó. Mỗi loại Vi điều khiển PIC hỗ trợ những kiểu mach tạo dao động khác nhau như mạch
dao động thạch anh (XT, HS), mạch dao động RC, mạch dao động nội, các nguồn dao động
chuẩn bên ngoài khác. Trong các loại mạch dao động trên thì mạch dao động RC và mạch
dao động thạch anh là 2 loại thường hay được sử dụng, nhất là mạch dao động thạch anh.
Mạch dao động thạch anh (XT, HS): Sơ đồ mạch dao động thạch anh dưới đây là
mạch dao động phổ biến cho PIC. Đây chính là nguồn cung cấp xung đồng hồ chính cho
CPU và tất cả các khối trong PIC. Hai chân OSC1 (chân 13) và OSC2 (chân 14) được mắc
với mạch dao động thạch anh bên ngoài. Các điện trở C1 và C2 là cần thiết khi mắc mạch
dao động thạch anh cho PIC. Trị số của chúng xem bảng dưới đây.
Ưu điểm của mạch này là tần số dao động chính xác và cho tần số dao động cao.
Nhóm 1
Page 19
Báo cáo đồ án môn học
Mạch dao động RC: Mạch này gồm một điện trở và một tự điện mắc nối tiếp như
hình dưới đây. Xung dao động đươc đưa vào chân OSC1, khi đó chân OSC2 là chân xuất
dao động, có thể cung cấp dao động cho các IC PIC khác.
d.2. Khối Reset, chân MCLR và mạch Reset cho PIC:
Các nguyên nhân làm Reset PIC (POR, manual reset…) :
- Reset khi PIC được cấp nguồn (Power-On Reset)
- Reset bằng tay khi cấp mức logic ‘0’ cho chân MCLR của PIC
- Reset khi đang ở chế độ SLEEP
- Reset do bộ watchdog timer xảy ra tràn…
d.3. Bộ nhớ RAM và các chế độ định địa chỉ trong PIC:
Bộ nhớ Flash RAM
Bank và Thanh ghi điều khiển việc truy cập bộ nhớ.
Các chế độ truy cập RAM (trực tiếp,gián tiếp…).
Lập trình truy cập bộ nhớ RAM.
Nhóm 1
Page 20
Báo cáo đồ án môn học
d.4. Tổ chức bộ nhớ ROM + EEPROM:
Bộ nhớ chương trình – Flash Program Memory:
Bộ nhớ chương trình (sau đây viết tắt là bộ nhớ flash) là nới lưu trữ các chương
trình mà người lập trình viết ra, nhằm làm cho PIC thực hiện đúng chức năng mong muốn.
Bộ nhớ flash là bộ nhớ vừa có thể đọc, ghi và xóa được trong q trình hoạt động của PIC.
Quá trình đọc sẽ thực hiện đọc từng byte mỗi lần, quá trình ghi vào bộ nhớ thực hiện theo
mỗi khối 8 bytes cho một lần ghi và việc xóa bộ nhớ flash sẽ thực hiện xóa từng khối 64
bytes cho mỗi lần thực hiện.
Đọc ghi dữ liệu giữa bộ nhớ flash và RAM:
Để thực hiện việc đọc, ghi bộ nhớ flash, có hai hoạt động cho phép vi xử lý thực hiện
việc di chuyển các byte dữ liệu giữa bộ nhớ flash và bộ nhớ RAM đó là : Table Read
(TBLRD) và Table Write (TBLWR).
Bộ nhớ chương trình của PIC có độ rộng là 16-bit, trong khi đó bộ nhớ RAM là 8bit. Q trình thực hiện đọc/ghi Table Read và Table Write được thực hiện thơng qua một
thanh ghi 8-bit là TBLAT.
Nhóm 1
Page 21
Báo cáo đồ án mơn học
Các thanh ghi điều khiển:
Có bốn thanh ghi đảm nhận chức năng điều khiển quá trình trao đổi dữ liệu với bộ
nhớ Flash, đó là:
– EECON1
– EECON2
– TABLAT
– TBLPTR Thanh ghi EECON1 và EECON2:
Thanh ghi EECON1 là thanh ghi điều khiển việc truy cập bộ nhớ Flash và
EEPROM. Thanh ghi EECON2 không phải là một thanh ghi vật lý, đọc EECON2 sẽ luôn cho
kêt quả là ‘0’. EECON2 được dành riêng cho việc ghi và xóa bộ nhớ flash.
Bit7 EEPGD: Bit chọn bộ nhớ chương trình hay bộ nhớ EEPROM
1 = Truy cập bộ nhớ flash
0 = Truy cập bộ nhớ EEPROM
Bit6 CFGS: Bit chọn Thanh ghi cấu hình hay bộ nhớ Flash/Data EE
Nhóm 1
Page 22
Báo cáo đồ án môn học
1 = Truy cập đến các thanh ghi cấu hình
0 = Truy cập bộ nhớ Flash/data EEPROM
Bit5 Không sử dụng (đọc ra = ‘0’)
Bit4 FREE: Bit cho phép xóa hàng bộ nhớ Flash
1 = Xóa hàng bộ nhớ Flash có địa chỉ cho bởi TBLPTR ở lệnh WR tiếp theo
0 = Chỉ thực hiện ghi vào bộ nhớ Flash
Bit3 WRERR: Cờ báo lỗi của bộ nhớ EEPROM
1 = Quá trình ghi kết thúc quá sớm (Reset trong quá trình tự ghi)
0 = Quá trình ghi dữ liệu hồn tất khơng có lỗi
Bit2 WREN: Bit cho phép ghi
1 = Cho phép thực hiện ghi/xóa
0 = Khơng cho phép ghi/xóa
Bit1 WR: Kiểm sốt việc ghi/xóa bộ nhớ Flash/Data EE
1 = Bắt đầu q trình ghi/xóa bộ nhớ Flash/ Bộ nhớ EEPROM
0 = Quá trình ghi thực hiện xong
Bit0 RD: Kiểm soát việc đọc bộ nhớ Flash/Data EE
1 = Bắt đầu quá trình đọc
0 = Quá trình đọc dữ liệu hoàn tất.
Bộ nhớ EEPROM :
Thanh ghi điều khiển việc truy cập bộ nhớ
Lập trình đọc dữ liệu từ EEPROM, F-ROM
Lập trình ghi dữ liệu vào EEPROM, F-ROM
Chế độ bảo vệ (Code Protect)
e. Tổ chức vào/ra trong PIC:
Nhóm 1
Page 23
Báo cáo đồ án môn học
Giới thiệu chung về các cổng vào/ra trong PIC: Cổng là một nhóm các chân của Vi
điều khiển, chúng có thể được truy cập đồng thời hay theo từng bit một, đọc trạng thái
hiện có trên cổng. Về mặt vật lý, mỗi cổng là một thanh ghi nằm bên trong Vi điều khiển và
được kết nối đến các chân của Vi điều khiển. Cổng đóng vai trò là một kết nối vật lý giữa
CPU và thế giới bên ngoài.
Thanh ghi cổng và thanh ghi điều khiển chế độ vào/ra Trong mỗi Vi điều khiển PIC
có thể có từ 2 cho đến 10 cổng, số lượng tùy theo từng loại PIC. Đối với loại PIC 40 chân
mà ta thường hay sử dụng có tất cả là 5 cổng đó là:
- PORTA: Độ rộng là 6 bit
- PORTB: Độ rộng là 8 bit
- PORTC: Độ rộng là 8 bit
- PORTD: Độ rộng là 8 bit
- PORTE: Độ rộng là 3 bit
Không giống như AT8051, các cổng của PIC ngồi thanh ghi cổng cịn có thêm một
thanh ghi điều khiển chế độ vào ra cho từng chân của cổng đó. PORTA có thanh ghi TRISA,
PORTB có thanh ghi TRISB… Khi lập trình điều khiển vào ra cho PIC ta cần chú ý tới điều
này để tránh gặp những sai sót khơng đáng có. Vì các cổng về cơ bản là giống nhau, dưới
đây ta sẽ đi tìm hiều một vài PORT cụ thể của PIC.
e.1. PORTA và TRISA:
PORTA của PIC16F877A có độ rộng là 6-bit tương ứng với 6 chân từ RA0 đến RA5.
Thanh ghi điều khiển hướng dữ liệu là TRISA. Thiết lập giá tri “1” cho mỗi bit trong thanh
ghi TRISA sẽ định nghĩa chân tương ứng với bit đó là chân vào dữ liệu, và thiết lập “0” cho
mỗi bit trong TRISA định nghĩa chân tương ứng là chân xuất dữ liệu. Đọc thanh ghi
PORTA chính là đọc trạng thái của các chân và ghi giá trị vào thanh ghi PORTA là ghi vào
bộ chốt cổng PORTA. Tồn bộ q trình ghi là đọc – sửa – ghi, nghĩa là đọc giá trị của cổng,
sửa giá trị và ghi trở lại bộ chốt dữ liệu cổng. Một số chân của PORTA còn là chân vào giá
trị tương tự và chân vào điện áp tham chiếu (Vref) cho bộ Chuyển đổi tương tự số (Analog
to Digital Converter) và bộ So sánh (Comparators), cấu hình cho các chân này là chân vào
tương tự hay số thông qua thanh ghi ADCON1. Mặc định khi khởi động các chân PORTA
được thiết lập là chân vào tương tự. Khi lập trình ta cần chú ý điều này.
e.2. PORTB và TRISB :
PORTB có 8 chân từ RB0 cho đến RB7 tương ứng với độ rộng là 8 bit. Thanh ghi để
điều khiển hướng dữ liệu của PORTB có tên là TRISB cũng có độ dài là 8 bit, tương ứng với
8 bit của PORTB. Thiết lập giá tri “1” cho mỗi bit trong thanh ghi TRISB sẽ định nghĩa chân
tương ứng với bit đó là chân vào dữ liệu, và thiết lập “0” cho mỗi bit trong TRISB định
nghĩa chân tương ứng là chân xuất dữ liệu.
Nhóm 1
Page 24
Báo cáo đồ án môn học
TRISB.0 = 0 =>> Chân RB0 là chân xuất .
TRISB.0 = 1 =>> Chân RB0 là chân nhập.
Mỗi chân của PORTB có một điện trở kéo và có thể được kích hoạt bằng cách xóa bit thứ 7
RBPU trong thanh ghi OPTION. Các điện trở kéo sẽ tự động ngắt khi PORTB thiết lập là
cổng xuất. Mặc định khi khởi động, các điện trở kéo này được ngắt.
f. Lập trình chế độ vào (Input):
- Thiết lập 1 cho các bit trong thanh ghi TRISB
- Kích hoạt các điện trở kéo.
- Nhận dữ liệu từ cổng bằng cách đọc thanh ghi PORTB
Ví dụ:
unsigned char port_buffer; // Khai báo biến là bộ đệm giá trị củ PORTB
TRISB = 0b11111111; // Toàn bộ PORTB là cổng vào
RBPU = 0; // Kích hoạt điện trở kéo
port_buffer = PORTB; // Đọc giá trị của PORTB vào biến port_buffer
g. Lập trình chế độ ra (Output):
- Thiết lập 0 cho các bit của thanh ghi TRISB
- Xuất dữ liệu ra cổng (ghi giá trị vào thanh ghi PORTB)
Ví dụ:
TRISB = 0b00000000; // PORTB là cổng ra
PORTB = 0xAA; // Xuất giá trị 0xAA ra cổng B
Nhóm 1
Page 25