Tải bản đầy đủ (.docx) (46 trang)

Thiết kế mạch đo nhịp tim từ ngón tay

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 (1.4 MB, 46 trang )

ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

NHẬN XÉT VÀ ĐIỂM CỦA GIÁO VIÊN HƯỚNG DẪN
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
Ngày

tháng 07 năm 2014

GIÁO VIÊN HƯỚNG DẪN
(ký tên)

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2



GVHD:NCS. LÊ VĂN HÙNG

NHẬN XÉT VÀ ĐIỂM CỦA GIÁO VIÊN PHẢN BIỆN
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
Ngày

tháng 07 năm 2014

GIÁO VIÊN PHẢN BIỆN
(ký tên)

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2


GVHD:NCS. LÊ VĂN HÙNG

LỜI NÓI ĐẦU
Trong sự phát triển nhanh chóng của kỹ thuật điện tử ngày nay, các hệ thống
thiết bị ngày càng phong phú hiện đại đáp ứng mọi nhu cầu của người sử dụng, giúp
cuộc sống trở nên tiện nghi, an toàn và hiện đại hơn. Trong số đó phải kể đến các vi
mạch tích hợp có tốc độ xử lý nhanh, chính xác được áp dụng trong các thiết bị
chuyên dùng của gia đình. Giúp người sử dụng quản lý, điều khiển các thiết bị một
cách dễ dàng. Bên cạnh đó cùng với xu hướng hiện đại hóa và sự phát triển nhanh
chóng trong lĩnh vực viễn thông, các thiết bị điều khiển tự động ngày càng được
tăng cao như việc ứng dụng các thành tựu của công nghệ điện tử giám sát chăm sóc
sức khỏe của con người.
Từ những nhu cầu thực tế đó, chúng em đã lựa chọn đề tài " Thiết kế mạch đo
nhịp tim từ ngón tay". Đây là một trong những ứng dụng ngày càng phổ biến và được
áp dụng nhiều trong các hộ gia đình, mà người sử dụng có thể dễ dàng giám sát được
nhịp tim của mình. Góp phần vào sự tiến bộ, văn minh, hiện đại của nước nhà.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ
trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác. Trong suốt
thời gian từ khi bắt đầu học tập ở giảng đường đại học đến nay, em đã nhận được

rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô, gia đình và bạn bè.
Với lòng biết ơn sâu sắc nhất nhóm chúng em xin gửi lời cám ơn chân thành
nhất đến Ban Giám Hiệu trường ĐẠI HỌC CÔNG NGHIỆP TP HCM, ban chủ
nhiệm khoa Điện – Điện Tử, quý Thầy Cô của khoa đã chỉ dạy cho chúng em kiến
thức, những kĩ năng, môi trường học tập tốt trong thời gian qua và đặc biệt nhóm
em xin gửi lời cám ơn đến thầy hướng dẫn NCS. Lê Văn Hùng đã hết lòng giúp đỡ
và tạo mọi điều kiện thuận lợi nhất để nhóm em hoàn thành đề tài này.
Sau khoảng thời gian tìm hiểu, thiết kế và thi công đồ án 2, với đề tài" Thiết kế
mạch đo nhịp tim từ ngón tay". Cuối cùng nhóm chúng em cũng đã hoàn thành công
việc. Những kết quả mà nhóm có được là nhờ những kiến thức đã tiếp thu được trong
các năm học, bên cạnh đó là sự chỉ dẫn, hướng dẫn tận tình của thầy LÊ VĂN
HÙNG. Tuy nhiên, do trình độ chuyên môn còn hạn chế nên đồ án của em không
thể tránh khỏi thiếu sót. Rất mong nhận được sự giúp đỡ của thầy để đồ án của
chúng em được hoàn chỉnh hơn.
Chúng em xin chân thành cảm ơn !

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

MỤC LỤC

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page



ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

DANH MỤC HÌNH ẢNH
STT

Hình

1

Hình 1.1

2

Hình 1.2

3

Hình 1.3

4

Hình 2.1

5

Hình 2.2


6

Hình 3.1

7

Hình 3.2

8

Hình 3.3

9

Hình 3.4

10

Hình 3.5

11

Hình 3.6

12

Hình 3.7

13


Hình 3.8

14

Hình 4.1

15

Hình 5.1

16

Hình 5.2

17

Hình 5.3

18

Hình 5.4

19

Hình 5.5
Hình 5.6

20
21


Hình 5.7

22

Hình 5.8

Tên hình ảnh
Dạng tín hiệu nhịp tim
Sự hấp thụ ánh sáng của động mạch khi truyền qua
ngón tay
Vị trí đặt cảm biến
Cấu trúc của led phát hồng ngoại
Cấu trúc của led thu hồng ngoại
Sơ đồ chân của PIC 16F877A
Sơ đồ khối vi điều khiển PIC 16F877A
Bộ nhớ chương trình PIC 16F877A
Sơ đồ bộ nhớ dữ liệu PIC 16F877A
Sơ đồ khối của Timer 0
Sơ đồ khối của Timer1
Sơ đồ khối Timer2
Sơ đồ khối của bộ chuyển đổi ADC.
Sơ đồ chân LM324
Sơ đồ khối hệ thống
Khối nguồn
Sơ đồ nguyên lý khối vi xử lý
Khối hiển thị LCD
Sơ đồ khối cảm biến
Khối lọc và khuếch đại
Sơ đồ mạch in.

Sơ đồ 3D của layout

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Trang
10
10
11
13
14
16
18
19
20
25
26
27
28
32
34
35
35
36
36
37
37
38

Page



ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

23

Hình 5.9

24

Hình 5.10

25

Hình 5.15

26

Hình 5.12

Kết quả thi công thực tế
Lưu đồ giải thuật chương trình chính
Lưu đồ thuật toán đo nhịp tim
Lưu đồ thuật toán giao tiêp LCD

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

38
39

40
41

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

CHƯƠNG 1: TÌM HIỂU VỀ NHỊP TIM VÀ PHƯƠNG PHÁP ĐO NHỊP TIM
BẰNG HẤP THỤ QUANG HỌC

1.1.

Giới thiệu chương

Chương này sẽ tìm hiểu về nhịp tim và đo nhịp bằng phương pháp hấp thụ
quang học.

1.2.

Tìm hiểu về nhịp tim
Khái niệm: Nhịp tim là số nhịp đập của tim trên một đơn vị thời gian, thường

được tính và nhịp/phút. Nhịp tim có thể thay đổi theo nhu cầu hấp thụ Oxi và bài
tiết CO2 của cơ thể, ví dụ như lúc tập thể dục và lúc ngủ.
Bảng thông số đánh giá nhịp tim ở trạng thái nghỉ ngơi:

Bảng 1.1 : Thông số đánh giá nhịp tim người ở trạng thái nghỉ ngơi


1.3. Đo nhịp tim bằng phương pháp hấp thụ quang học:
1.3.1. Cơ sở lý thuyết:
Khi tim đập, máu sẽ được dồn đi khắp cơ thể qua động mạch, tạo ra sự thay đổi
về áp suất trên thành động mạch và lượng máu chảy qua động mạch. Vì vậy, ta có
thể đo nhịp tim bằng cách đo những sự thay đổi đó.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

Hình 1.1: Dạng tín hiệu nhịp tim
Khi lượng máu trong thành động mạch thay đổi sẽ làm thay đổi mức độ hấp thụ
ánh sáng của động mạch, do đó khi một tia sáng được truyền qua động mạch thì
cường độ ánh sáng sau khi truyền qua sẽ biến thiên đồng bộ với nhịp tim.
Khi tim giãn ra, lượng máu qua động mạch nhỏ nên hấp thụ ít ánh sáng, ánh
sáng sau khi truyền qua động mạch có cường độ lớn, ngược lại khi tim co vào,
lượng máu qua động mạch lớn hơn, ánh sáng sau khi truyền qua động mạch sẽ có
cường độ nhỏ hơn.

Hình 1.2: Sự hấp thụ ánh sáng của động mạch khi truyền qua ngón tay.
Ánh sáng sau khi truyền qua ngón tay gồm 2 thành phần AC và DC:
+ Thành phần DC đặc trưng cho cường độ ánh sáng cố định truyền qua mô,
xương và tĩnh mạch.
+ Thành phần AC đặc trưng cho cường độ ánh sáng thay đổi khi lượng máu

thay đổi truyền qua động mạch, tần số của tín hiệu này đồng bộ với tần số nhịp tim.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

=> Nếu ta lọc bỏ thành phần DC sẽ thu được tín hiệu AC đồng bộ với tín hiệu nhịp
tim.

1.3.2.

Vị trí đặt cảm biến:

* Yêu cầu:

- Phải đặt nguồn phát và nguồn thu để thu được kết quả tốt nhất.
- Vị trí dễ dàng đặt cảm biến, khoảng cách thu phát không quá gần cũng không
quá xa.
=> Chọn ngón tay là nơi đặt cảm biến.

Hình 1.3: Vị trí đặt cảm biến

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page



ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

CHƯƠNG 2:TỔNG QUAN VỀ LED THU PHÁT HỒNG NGOẠI

2.1.

Khái niệm về tia hồng ngoại
Ánh sáng hồng ngoại (tia hồng ngoại) là ánh sáng không thể nhìn thấy được

bằng mắt thường , có bước sóng khoảng từ 0.86μm đến 0.98μm . Tia hồng ngoại có
vận tốc truyền bằng vận tốc ánh sáng .
Tia hồng ngoại có thể truyền đi được nhiều kênh tín hiệu. Nó được ứng dụng
rộng rãi trong công nghiệp. Lượng thông tin có thể đạt 3 mega bit/s. Lượng thông
tin được truyền đi với ánh sáng hồng ngoại lớn gấp nhiều lần so với sóng điện từ mà
người ta vẫn dùng .
Tia hồng ngoại dễ bị hấp thụ , khả năng xuyên thấu kém . Trong điều khiển từ
xa bằng tia hồng ngoại , chùm tia hồng ngoại phát đi hẹp, có hướng, do đó khi thu
phải đúng hướng .
Sóng hồng ngoại có những đặc tính quan trọng giống như ánh sáng ( sự hội tụ
qua thấu kính , tiêu cự …) . Ánh sáng thường và ánh sáng hồng ngoại khác nhau rất
rõ trong sự xuyên suốt qua vật chất . Có những vật chất ta thấy nó dưới một màu
xám đục nhưng với ánh sáng hồng ngoại nó trở nên xuyên suốt . Vì vật liệu bán dẫn
“trong suốt” đối với ánh sáng hồng ngoại , tia hồng ngoại không bị yếu đi khi nó
vượt qua các lớp bán dẫn để đi ra ngoài .

2.2.


LED phát hồng ngoại

Đối với các hệ thống thông tin quang yêu cầu tốc độ bit xấp xỉ 100 đến 200Mbit/s
cùng sợi quang đa mốt với công suất quang khoảng vài chục μw, các điôt phát
quang bán dẫn thường là các nguồn sáng tốt nhất.

 Cấu tạo:
Ánh sáng hồng ngoại ( tia hồng ngoại ) được phát ra từ Led là ánh sáng không
thể nhìn thấy được bằng mắt thường, có bước sóng khoảng từ 0.86μm đến 0.98μm.
Tia hồng ngoại có vận tốc truyền bằng vận tốc ánh sáng.
Cấu tạo của LED hồng ngoại cơ bản là giống các LED chỉ thị. Để bức xạ ánh
sáng hồng ngoại, LED hồng ngoại được chế tạo từ vật liệu Galium Asenit (GaAs)
với độ rộng vùng cấm EG = 1,43 eV tương ứng với bức xạ bước sóng khoảng
900nm.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

Hình dưới mô tả cấu trúc của một LED hồng ngoại bức xạ ánh sáng 950nm.

Hình 2.1: Cấu trúc của led phát hồng ngoại
Cấu trúc của LED hồng ngoại bức xạ bước sóng 950nm.
Trong phần epitaxy lỏng trong suốt GaAs (N) tạo một lớp tinh thể có tính chất

lưỡng tính với tạp chất Silic là GaAsSi (N) và một tiếp xúc P-N được hình thành.
Với sự phatạp chất Silic ta có bức xạ với bước sóng 950 nm Mặt dưới của LED
được mài nhẵn tạothành một gương phản chiếu tia hồng ngoại phát ra từ lớp tiếp
xúc P-N.

 Nguyên lý làm việc:
Khi phân cực thuận cho điôt, các hạt dẫn đa số sẽ khuếch tán qua tiếp xúc P-N,
chúng tái hợp với nhau và phát ra bức xạ hồng ngoại. Các tia hồng ngoại bức xạ ra
theo nhiều hướng khác nhau. Những tia hồng ngoại có hướng đi vào trong các lớp
chất bán dẫn, gặp gương phản chiếu sẽ được phản xạ trở lại để đi ra ngoài theo cùng
hướng với các tia khác. Điều này làm tăng hiệu suất của LED.
Ánh sáng hồng ngoại có đặc tính quang học giống như ánh sáng nhìn thấy, nghĩa
là nó có khả năng hội tụ, phân kỳ qua thấu kính, có tiêu cự.... Tuy nhiên, ánh sáng
hồng ngoại rất khác ánh sáng nhìn thấy ở khả năng xuyên suốt qua vật chất, trong
đó có chất bán dẫn. Điều này giải thích tại sao LED hồng ngoại có hiệu suất cao
hơn LED chỉ thị vì tia hồng ngoại không bị yếu đi khi vượt qua các lớp bán dẫn để
ra ngoài.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

Tuổi thọ của LED hồng ngoại dài đến 100000 giờ. LED hồng ngoại không phát
ra ánhsáng nhìn thấy nên rất có lợi trong các thiết bị kiểm soát vì không gây sự chú
ý.


2.3.

LED thu hồng ngoại

 Cấu tạo
Photo diode, hay diode hồng ngoại vốn là một mối nối bán dẫn PN, nó có
đặc tính làm thay đổi cường độ dòng điện mỗi khi mối nối PN bị kích
sáng.
Hình

2.2:

Cấu

trúc

của

led

thu

hồng

ngoại

 Nguyên lý làm việc
Trong mạch, photo diode thường cho ghép với một điện trở lớn ohm, nó đặt ở
trạng thái phân cực nghịch. Khi bị che sáng, photo diode dẫn điện yếu và khi bị

chiếu sáng, nó sẽ dẫn điện mạnh hơn. Ở trạng thái phân cực thuận, nó cũng có
tính ghim áp như các diode thông thường khác. Photo diode có hoán tính nhỏ,
cho thay đổi nhanh, nên người ta thích dùng photo diode trong các thiết bị điều
khiển hồng ngoại, dùng trong các thiết bị điều khiển tốc độ quay của các motor,
dùng trong mạch đo tốc. Bạn cũng có thể dùng ohm kế thông thường để kiểm tra
các photo diode, dùng thang đo Rx10K, lúc này điện áp có trên 2 dây đo là 12V,
đặt photo diode vào dây đo theo kiểu phân cực nghịch, dùng một hộp điều khiển
Remote thông dụng, cho phát lệnh điều khiển, chiếu remote vào photo diode,
Bạn sẽ thấy kim máy đo rung theo xung lệnh, dấu hiệu này cho biết photo diode
còn tốt. Photo diode có rất nhiều trong các đầu máy hát băng hình.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG
CHƯƠNG 3:VI ĐIỀU KHIỂN PIC 16F877A

PIC là tên viết tắt của “Programable Intelligent Computer” (Máy tính khả trình
thông minh) và là một vi điều khiển với kiến trúc RISC, chạy một lệnh một chu kỳ
máy (4 chu kỳ của bộ dao động). PIC16F877A là họ vi điều khiển có 40 chân, mỗi
chân có một chức năng khác nhau. Trong đó có một số chân đa công dụng (đa hợp),
mỗi chân có thể hoạt động như một đường xuất/nhập (I/O) độc lập hoặc là một chức
năng đặc biệt dùng để giao tiếp với các thiết bị ngoại vi.
Một vài thông số của vi điều khiển PIC16F877A

3.1.


Hình 3.1. Sơ đồ chân của PIC 16F877A.
Vi điều khiển PIC 16F877A là vi điều khiển thuộc họ PIC 16Fxxx với tập lệnh
gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kỳ xung
clock. Tốc độ hoạt động tối đa cho phép là 20Mhz với một chu kì lệnh là 200ns. Bộ
nhớ chương trình 8K x 14bit, bộ nhớ dữ liệu 368 x 8 byte RAM và bộ nhớ dữ liệu
EEPROM với dung lượng 256 x 8 byte. Số PORT I/O là 5 với 33 chân I/O.


-

Các đặc tính ngoại vi bao gồm các khối chức năng:
Timer 0: bộ định thời 8 bit với bộ chia tần số 8 bit.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2
-

GVHD:NCS. LÊ VĂN HÙNG
Timer 1: bộ định thời 16 bit với bộ chia tần số, có thể thực hiện chức

năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở
chế độ sleep.
Timer 2: bộ định thời 8 bit với bộ chia tần số, bộ postcaler.
Hai bộ Bắt giữ/ So sánh/ Điều chế độ rộng xung.
Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và

I2C.

-

Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.
Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều

khiển RD, WD, CS ở bên ngoài.
Các đặc tính analog:
8 kênh chuyển đổi ADC 10 bit.
2 bộ so sánh.
Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
Bộ nhớ flash với khả năng ghi xóa được 100.000 lần.
Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần.
Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.
Khả năng tự nạp chương trình với sự điều khiển của phần mềm.
Nạp được chương trình ngay trên mạch điện ICSP (In Cicuit Serial



-

Programming) thông qua 2 chân.
Bộ định thời giám sát (Watchdog Timer) với bộ dao động trong.
Chức năng bảo mật mã chương trình.
Chế độ sleep.
Có thể hoạt động với nhiều dạng Oscillator khác nhau.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG


Page


ĐỒ ÁN 2
3.2.

GVHD:NCS. LÊ VĂN HÙNG

Sơ đồ khối của vi điều khiển PIC 16F877A

Hình 3.2. Sơ đồ khối vi điều khiển PIC 16F877A.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2
3.3.

GVHD:NCS. LÊ VĂN HÙNG

Tổ chức bộ nhớ

Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình
(Program memory) và bộ nhớ dữ liệu ( Data memory).
Bộ nhớ chương trình

3.3.1.


Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash, dung
lượng bộ nhớ 8K word (1 word = 14 bit) và được phân thành nhiều trang (từ page 0
đến page 3). Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024=8192
lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng một word (14 bits).
Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếm chương trình
có dung lượng 13 bit(PC<12:0>).

Hình3.3. Bộ nhớ chương trình PIC 16F877A.

3.3.2.

Bộ nhớ dữ liệu

Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank. Đối
với PIC16F877A bộ nhớ dữ liệu được chia ra làm bốn bank. Mỗi bank có dung
lượng 128 bytes, bao gồm các thanh ghi có chức năng đặc biệt SFG (Special
Function Register) nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chung

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

GPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong bank. Các thanh
ghi SFR thường xuyên được sử dụng (ví dụ như thanh ghi STATUS) sẽ được đặt ở
tất cả các bank của bộ nhớ dữ liệu giúp thuận tiện trong quá trình truy xuất và làm

giảm bớt lệnh của chương trình. Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F877A như
sau:

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG
Hình3.4. Sơ đồ bộ nhớ dữ liệu PIC 16F877A.



Các thanh ghi chức năng đặc biệt (SFR)

Các thanh ghi chức năng đặc biệt được sử dụng bởi CPU hoặc được dùng để
thiết lập và điều khiển các khối chức năng được tích hợp bên trong vi điều khiển.
Có thể phân thanh ghi SFR ra làm hai loại: thanh ghi SFR liên quan đến chức năng
bên trong (CPU) và thanh ghi SFR dùng để thiết lập và điều khiển các khối chức
năng bên ngoài (ví dụ như ADC, PWM,…). Phần này sẽ đề cập đến các thanh ghi
liên quan đến các chức năng bên trong.

- Thanh ghi STATUS (03h,83h,103h,183h): thanh ghi chứa kết quả thực hiện phép
toán của khối ALU, trạng thái reset và các bit chọn bank cần truy xuất trong bộ nhớ
dữ liệu.

- Thanh ghi OPTION_REG(81h,181h): thanh ghi này cho phép đọc và ghi, cho phép
điều khiển chức năng pull-up của các chân trong PORTB, xác lập các tham số

về xung tác động, cạnh tác động của ngắt ngoại vi và bộ đếm của Timer0.

- Thanh ghi INTCON (0Bh,8Bh,10Bh,18Bh): thanh ghi cho phép đọc và ghi, chứa
các bit điều khiển và các bit cờ hiệu khi timer0 bị tràn, ngắt ngoại vi RB0/INT và
ngắt interrupt-on-change tại các chân của PORTB.

- Thanh ghi PIE1 (8Ch): chứa các bit điều khiển chi tiết các ngắt của các khối chức
năng ngoại vi.

- Thanh ghi PIR1 (0Ch) chứa cờ ngắt của các khối chức năng ngoại vi, các ngắt này
được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE1.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

- Thanh ghi PIE2(8Dh): chứa các bit điều khiển các ngắt của các khối chức năng
CCP2, SSP bus, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM.

- Thanh ghi PIR2 (0Dh): chứa các cờ ngắt của các khối chức năng ngoại vi, các ngắt
này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2.

- Thanh ghi PCON (8Eh): chứa các cờ hiệu cho biết trạng thái các chế độ reset của vi
điều khiển.




Các thanh ghi mục đích dùng chung (GPR)

Các thanh ghi này có thể được truy xuất trực tiếp hoặc gián tiếp thông qua
thanh ghi FSG (File Select Register). Đây là các thanh ghi dữ liệu thông thường,
người sử dụng có thể tùy theo mục đích chương trình mà có thể dùng các thanh ghi
này để chứa các biến số, hằng số, kết quả hoặc các tham số phục vụ cho chương
trình.



Stack

Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là một
vùng nhớ đặc biệt không cho phép đọc hay ghi. Khi lệnh CALL được thực hiện hay
khi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị của bộ đếm chương trình
PC tự động được vi điều khiển cất vào trong stack. Khi một lệnh RETURN,
RETLW hay RETFIE được thực thi, giá trị PC sẽ tự động được lấy ra từ trong
stack, vi điều khiển sẽ thực hiện tiếp chương trình theo đúng qui trình định trước.
Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được 8
địa chỉ và theo cơ chế xoay vòng. Nghĩa là giá trị cất vào bộ nhớ Stack lần thứ 9 sẽ
ghi đè lên giá trị cất vào Stack lần đầu tiên và giá trị cất vào bộ nhớ Stack lần thứ 10
sẽ ghi đè lên giá trị cất vào Stack lần thứ hai.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page



ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

Cần chú ý là không có cờ hiệu nào cho biết trạng thái Stack, do đó ta không
biết được khi nào Stack tràn. Bên cạnh đó tập lệnh của vi điều khiển dòng PIC cũng
không có lệnh POP hay PUSH, các thao tác với bộ nhớ Stack sẽ hoàn toàn được
điều khiển bởi CPU.

3.4.

Các cổng xuất nhập của PIC 16F877A
Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùy theo

cách bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và số lượng
chân của mỗi cổng có thể khác nhau. Một số chân xuất nhập còn có thêm chức năng
khác để thể hiện sự tác động của các đặc tính nêu trên đối với thế giới bên ngoài.
Chức năng của từng chân xuất nhập trong mỗi cổng hoàn toàn có thể được xác lập
và điều khiển được thông qua các thanh ghi SFR liên quan đến chân xuất nhập đó.
Vi điều khiển PIC16F877A có 5 cổng xuất nhập với 33 pin I/O, bao gồm
PORTA (6 pin), PORTB (8 pin), PORTC (8 pin), PORTD (8 pin) và PORTE (3
pin).

3.4.1.

PORTA

PORTA gồm 6 pin I/O. Đây là các chân hai chiều (bidirectional pin), nghĩa
là có thể là xuất và nhập được. Chức năng I/O này được điều khiển bởi thanh ghi
TRISA (địa chỉ 85h). Muốn xác lập chức năng của một chân trong PORTA là

output, ta “ clear” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA.
Thao tác này hoàn toàn tương tự đối với các PORT và các thanh ghi điều khiển
tương ứng TRIS (đối với PORTA là TRISA, đối với PORTB là TRISB, đối với
PORTC là TRISC, đối với PORTD là TRISD và đối với PORTE là TRISE). Bên
cạnh đó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analog ngõ vào
xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (Master Synchronous
Serial Port ).
Các thanh ghi SFR liên quan đến PORTA bao gồm:

-

PORTA (05h) : chứa giá trị các pin trong PORTA.
TRISA (85h): điều khiển xuất nhập.
CMCON (9Ch): thanh ghi điều khiển bộ so sánh.
CVRCON (9Dh): thanh ghi điều khiển bộ so sánh điện áp.
ADCON1 (9Fh): thanh ghi điều khiển bộ ADC.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2
3.4.2.

GVHD:NCS. LÊ VĂN HÙNG
PORTB

PORTB gồm 8 pin I/O. Thanh ghi điều khiển xuất nhập tương ứng là TRISB.
Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạp chương

trình cho vi điều khiển với chế độ nạp khác nhau. PORTB còn liên quan ngắt ngoại
vi và bộ Timer0. PORTB còn được tích hợp chức năng điện trở kéo lên được điều
khiển bởi chương trình.
Các thanh ghi SFR liên quan đến PORTB bao gồm:



-

PORTB (06h,106h): chứa giá trị các pin trong PORTB.

-

TRISB (86h,186h): điều khiển xuất nhập.

-

OPTION_REG (81h, 181h): điều khiển ngắt ngoại vi và bộ Timer0.

3.4.3.

PORTC
PORTC gồm 8 pin I/O. Thanh ghi điều khiển xuất nhập tương ứng là

TRISC. Bên cạnh đó PORTC còn chứa các chức năng của bộ so sánh, bộ Timer1,
bộ PWM và các chuẩn giao tiếp I2C, SPI, SSP, USART.
Các thanh ghi điều khiển liên quan đến PORTC:




-

PORTC (07h): chứa giá trị các pin trong PORTC

-

TRISC (87h): điều khiển xuất nhập.

3.4.4.

PORTD

PORTD gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng là
TRISD. PORTD còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel Slave
Port).


Các thanh ghi liên quan đến PORTD bao gồm:
-

PORTD (08h): chứa giá trị các pin trong PORTD.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2
-


3.4.5.

GVHD:NCS. LÊ VĂN HÙNG
TRISD (88h): điều khiển xuất nhập.
PORTE

PORTE gồm 3 chân I/O. Thanh ghi điều khiển xuất nhập tương ứng là
TRISE. Các chân của PORTE có ngõ vào là analog. Bên cạnh đó còn có các chân
điều khiển của chuẩn giao tiếp PSP.


3.5.

Các thanh ghi liên quan đến PORTE bao gồm:
-

PORTE (09h): chứa giá trị các pin trong PORTE.

-

TRISE (89h): điều khiển xuất nhập PORTE và chuẩn giao tiếp PSP.

-

ADCON1 (9Fh): thanh ghi điều khiển khối ADC.

Timer

3.5.1.


Timer0

Đây là một trong ba bộ định thời của vi điều khiển PIC 16F877A. Timer0 là
bộ định thời 8 bit được kết nối với bộ chia tần số (prescaler) 8 bit. Cấu trúc của
Timer 0 cho phép ta lựa chọn xung clock tác động và cạnh tích cực của xung clock.
Ngắt Timer 0 sẽ xuất hiện khi Timer 0 bị tràn. Bit TMR0IE (INTCON<5>) là bit
điều khiển của Timer 0. TMR0IE=1 cho phép ngắt Timer 0 hoạt động và ngược lại.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

Hình 3.5. Sơ đồ khối của Timer 0.
Muốn Timer0 hoạt động ở chế độ Timer ta clear bit TOSC (OPTION_REG<5>),
khi đó giá trị thanh ghi TMR0 sẽ tăng theo từng chu kỳ đồng hồ. Khi giá trị thanh
ghi TMR0 từ giá trị FFh về 00h, ngắt Timer 0 sẽ xuất hiện. Thanh ghi TMR0 cho
phép ghi và xóa được giúp ta ấn định thời điểm ngắt Timer0 xuất hiện một cách linh
hoạt.
Muốn Timer0 hoạt động ở chế độ Counter ta set bit TOSC (OPTION_REG<5>).
Khi đó xung tác động lên bộ đếm được lấy từ chân RA4/TOCK1. Bit TOSE
( OPTION_REG<4>) cho phép lựa chọn cạnh tác động vào bộ đếm. Cạnh tác động
sẽ là cạnh lên nếu TOSE=0 và cạnh tác động sẽ là cạnh xuống nếu TOSE=1.
Khi thanh ghi TMR0 bị tràn, bit TMR0IF (INTCON<2>) sẽ được set. Đây chính
là cờ ngắt của Timer0. Cờ ngắt này phải được xóa bằng chương trình trước khi bộ
đếm bắt đầu thực hiện lại quá trình đếm. Ngắt Timer0 không thể “ đánh thức” vi

điều khiển từ chế độ sleep.


Các thanh ghi điều khiển liên quan đến Timer0 bao gồm:
-

TMR0 (01h,101h): chứa giá trị đếm của Timer0.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page


ĐỒ ÁN 2

GVHD:NCS. LÊ VĂN HÙNG

-

INTCON (0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE và

-

OPTION_REG (81h, 181h): điều khiển prescaler.

PEIE).

3.5.2.

Timer1


Timer1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong hai thanh ghi
(TMR1H:TML1R). Cờ ngắt của Timer1 là bit TMR1IF (PIR<0>). Bit điều khiển
của Timer1 sẽ là TMR1IE (PIE<0>). Tương tự như Timer0, Timer1 cũng có hai chế
độ hoạt động: chế độ định thời (timer) với xung kích là xung clock của oscillator
(tần số của timer bằng ¼ tần số của oscillator) và chế độ đếm (counter) với xung
kích là xung phản ánh các sự kiện cần đếm lấy từ bên ngoài thông qua chân
RC0/T1OSO/T1CKI (cạnh tác động là cạnh lên). Việc lựa chọn xung tác động
tương ứng với việc lựa chọn chế độ hoạt động là timer hay counter được điều khiển
bởi bit TMR1CS (T1CON<1>).

Hình 3.6. Sơ đồ khối của Timer1.
Ngoài ra Timer1 còn có chức năng reset input bên trong được điều khiển bởi
một trong hai khối CCP (Capture/ Compare/ PWM).
Timer1 có hai chế độ đếm là đồng bộ (Synchronous) và bất đồng
bộ(Asynchronous). Chế độ đếm được quyết định bởi bit điều khiển (T1CON<2>).



Các thanh ghi liên quan đến Timer1 bao gồm:
INTCON (0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động

(GIE và PEIE).
PIR1 (0Ch): chứa cờ ngắt Timer1 (TMR1IF).
PIE1 (8Ch): cho phép ngắt Timer1 (TMR1IE).
TMR1L (0Eh): chứa giá trị 8 bit thấp của bộ đếm Timer1.

SVTH:HUỲNH THANH THUẬN-LÊ HỮU THẮNG

Page



×