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

Điều khiển từ xa qua máy tính

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.04 MB, 60 trang )

LỜI CẢM ƠN
LỜI MỞ ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới
của chúng ta đã và đang một ngày thay đổi, văn minh và hiện đại hơn. Sự
phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc
điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất
cần thiết góp phần cho hoạt động của con người đạt hiệu quả.
Điện tử đang trở thành một ngành khoa học đa nhiệm vụ. Nó đã đáp
ứng được những nhu cầu cần thiết trong hoạt động đời sống hằng ngày. Song
song với sự ra đời của điện tử tự động hoá là sự ra đời và cải tiến không ngừng
của công nghệ thông tin. Từ những chiếc máy tính đời đầu chỉ thực hiện những
phép tính đơn giản ngày nay máy tính có tốc độ xử lý rất cao, nó có thể xử lý
hàng tỉ phép tính phức tạp trong vòng một giây. Ngoài ra do nhu cầu ứng dụng
lý thuyết đã học ở trường vào trong cuộc sống nên chúng em đã chọn đề tài
“Điều khiển từ xa qua máy tính để làm đồ án môn học.
Sau một thời gian học tập và rèn luyện, với sự chỉ bảo tận tình của thầy
giáo Ths.Trần Xuân Thiện cùng sự trợ giúp của các bạn trong nhóm và các
tài liệu có liên quan,chúng em đã hoàn thành xong đề tài.
Đồ án đã hoàn thành xong, nhưng không thể tránh nhiều thiếu sót mong
thầy cô giáo thông cảm và chỉ bảo thêm để đề tài có thể ứng dụng rộng rãi
trong thực tế.
Chúng em xin chân thành cảm ơn các thầy cô!
Điều khiển từ xa qua máy tính

Trong thời gian thực hiện đề tài, người thực hiện đã học hỏi được rất nhiều điều bổ ích
từ Giáo Viên hướng dẫn và các bạn trong lớp.
Nhân đây,nhóm thực hiện xin được bày tỏ lòng biết ơn sâu sắc đến Ths. Trần
Xuân Thiện trên cương vị là người hướng dẫn đề tài, đã tận tình hướng dẫn,
giúp đỡ và tạo mọi điều kiện thuận lợi nhất cho nhóm hoàn thành tốt đề tài.
Nhóm thực hiện cũng xin chân thành cảm ơn các thầy, các cô trong khoa Điện
- Điện Tử, cùng bạn bè đã đóng góp ý kiến và kinh ngiệm qúy báu trong quá


trình thực hiện đề tài này.
Bình Dương, Ngày 14 tháng 1 năm 2014
Người thực hiện
Phạm Thị Tuyết Mai
Phạm Thị Kim Anh
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN


























Điều khiển từ xa qua máy tính





NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN



























Điều khiển từ xa qua máy tính




MỤC LỤC
Điều khiển từ xa qua máy tính
CHƯƠNG 1 DẪN NHẬP
I. Đặt vấn đề
Ngày nay, khi công nghiệp ngày càng phát triển thì nhu cầu điều khiển
được đặt lên hàng đầu. Xuất phát từ nhu cầu đó điện tử tự động hoá ra đời và
nó đã được xếp trong nhóm 5 ngành khoa học công nghệ hàng đầu vì những
ứng dụng rộng rãi của nó. Song song với sự ra đời của điện tử tự động hoá là
sự ra đời và cải tiến không ngừng của máy tính. Từ những chiếc máy tính đời
đầu chỉ thực hiện những phép tính đơn giản ngày nay máy tính có tốc độ xử lý
rất cao, nó có thể xử lý hàng tỉ phép tính phức tạp trong vòng một giây. Để
khai thác được những ưu điểm đó điện tử tự động hoá đã có sự bắt tay với
máy vi tính. Nhờ có máy vi tính mà chúng ta có thể làm được nhiều công việc
mà không phải tốn nhiều công sức. Xuất phát từ thực tế đó, bằng những kiến
thức đã được học và sự giúp đở của thầy cô, em đã quyết định tìm hiểu về đề
tài “điều khiển thiết bị từ xa qua máy tính”.
II.Tầm quan trọng của đề tài
- Đây là một đề tài nghiên cứu mang tính thực tiễn trong việc vận dụng
các kiến thức đã được học dưới mái trường Cao Đẳng vào trong thực tế.
- Về mặt khoa học, đề tài sẽ giúp cho nhóm sinh viên thực hiện hiểu rõ
thêm về Truyền dữ liệu điều khiển và Cách điều khiển mạch điện thông qua

máy tính.
- Về mặt thực tiễn, đề tài này có thể áp dụng vào thực tế để điều khiển
một số thiết bị trong nhà như đèn điện, quạt máy v v
III. Mục đích nghiên cứu
Khi bắt tay vào thực hiện đề tài này, nhóm thực hiện mong muốn
rằng sản
phẩm của đề tài phải được ứng dụng. Và đặc biệt, đối với nhóm
nghiên cứu đây là điều kiện, cơ hội, cách thức để củng cố, bổ sung và ứng
dụng những gì đã được lĩnh hội được trong lý thuyết cũng như thực tập. Từ
đó sử dụng và ứng dụng nó nhằm đáp ứng
cho nhu cầu thực tế. Đây chính
là những tiền đề đầu tiên để mỗi thành viên trong
nhóm có được một số kiến
thức chuyên ngành nhất định, làm hành trang cho công việc sau này.
IV. Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài này chính là:
- Cách thức giao tiếp giữa mạch đo và máy tính.
- Cách thức giao tiếp giữa mạch đo và mạch điều khiển.
- Cách lập trình cho vi điều khiển để cho dữ liệu có thể thu, phát liên tục mà
không bị ngắt quãng.
- Cách cân chỉnh mạch đo, đảm bảo độ chính xác của mạch đo.
Điều khiển từ xa qua máy tính Page 5
V. Phương pháp và phương tiện nghiên cứu
1. Phương pháp nghiên cứu
Trong quá trình nghiên cứu, nhóm sinh chúng em thực hiện chủ yếu
dựa vào các phương pháp chính:
- Phương pháp tham khảo tài liệu: Thu thập các tài liệu liên quan đến giao
tiếp máy tính, Truyền số liệu, Kỹ thuật mạch điện tử, Thiết kế mạch điện tử và
Phương pháp nghiên cứu khoa học, nghiên cứu và phân tích đặc tính chức
năng của các linh kiện điện tử cơ bản(điện trở công suất,tụ

điện,diode,relay…), PIC 16F887, IC MAX232…. và với sự hướng dẫn nhiệt
tình của giáo viên phụ trách, nhóm chúng em vận dụng các kiến thức hiện có
để tổng hợp các tài liệu, sau cùng thiết kế ra mạch điện phù hợp với các yêu
cầu mà ban đầu nhóm đã đề ra.
-
Phương pháp quan sát và thực nghiệm: Sau khi đã có mạch theo tính
toán lý thuyết, nhóm sinh viên thực hiện đã thi công mạch thực tế theo
đúng sơ đồ
nguyên lý đã vạch ra. Do không có các thiết bị đo chuyên dụng
thích hợp, nhóm sinh viên thực hiện đã cân chỉnh thủ công từng khối, đo điện
áp và dòng điện ngõ ra của chúng. Sau đó, nhóm đã sử dụng kết quả cân
chỉnh này để điều chỉnh lại lý thuyết một cách hợp lý.
2. Phương tiện nghiên cứu
a. Các tài liệu liên quan đến đề tài.
b. Bộ nguồn ổn áp tuyến tính 5V, ±12V.
c. Đồng hồ đo VOM kim và số.
d. Máy tính
e. Module phát và module thu
Điều khiển từ xa qua máy tính Page 6
CHƯƠNG 2 CƠ SỞ LÝ LUẬN
Đồ án tốt nghiệp thực chất là một quá trình nghiên cứu khoa học - quá
trình nhận thức và hành động. Quá trình này đòi hỏi phải có thời gian nhất định
tương xứng với nội dung của đối tượng nghiên cứu và tính chất phức tạp của
vấn đề nghiên cứu.
Việc nghiên cứu khoa học giúp ta tìm ra cái mới. Cái mới ở đây không
những
mang tính chủ quan của người nghiên cứu mà còn mang tính khách quan đối
với xã hội. Nghiên cứu khoa học phải nhằm mục đích phục vụ xã hội, đáp ứng
yêu cầu thực tiễn.
Hoạt động nghiên cứu khoa học muốn đạt kết quả tốt phải hội đủ các

yếu tố: phương tiện, phương pháp, cơ sở vật chất, máy móc thiết bị, hình
thức tổ chức. Các yếu tố này có mối quan hệ hữu cơ và phù hợp với đối
tượng nghiên cứu.
I. Kiến thức và năng lực người nghiên cứu
Trong quá trình nghiên cứu và thực hiện đề tài người nghiên cứu cần
phải cân nhắc kỹ độ khó và độ phức tạp của đề tài sao cho phù hợp với khả
năng, kiến thức và năng lực của người nghiên cứu.
Độ phức tạp của đề tài thể hiện ở các mặt: lĩnh vực nghiên cứu rộng hay
hẹp, ở một ngành hay liên ngành, đối tượng nghiên cứu là đồng nhất hay
không đồng nhất. Tuy nhiên cần lưu ý rằng giá trị của đề tài không phụ thuộc
vào độ phức tạp của nó. Đề tài hẹp chưa hẳn là đề tài kém giá trị. Mỗi đề tài
nghiên cứu khoa học có một phạm vi nhất định, phạm vi này càng hẹp thì sự
nghiên cứu càng sâu. Độ khó của đề tài nói lên tính vừa sức đối với người
nghiên cứu. Do đó độ phức tạp của đề tài thường có mối liên hệ tương hỗ với
độ khó của nó.
Kiến thức của người nghiên cứu (đây là điều kiện chủ quan ở người
nghiên cứu). Trước hết đó là kiến thức, kinh nghiệm của người nghiên cứu.
Người nghiên cứu phải thể hiện năng lực nghiên cứu khoa học bao gồm việc
nắm vững lý thuyết cơ bản của khoa học trong lĩnh vực nghiên cứu của
Điều khiển từ xa qua máy tính Page 7
mình, nắm
được mức độ nhất định về sự phát triển và tiến bộ thuộc lĩnh vực
nghiên cứu có như thế mới chọn được đề tài có giá trị. Trong tình hình tiến bộ
của khoa học kỹ thuậthiện nay trên thế giới, khối lượng thông tin khoa học gia
tăng với qui mô lớn và nhịp độ nhanh đòi hỏi người nghiên cứu phải tham
khảo tài liệu nước ngoài.Để thực hiện được vấn đề này người nghiên cứu
khoa học cần có số vốn ngoại ngữ nhất định.
II. Vấn đề thực tiễn
Người nghiên cứu phải coi thực tiễn làm cơ sở, là động lực của
nhận thức.

Angel viết: “Khi xã hội có những yêu cầu kỹ thuật thì xã hội thúc
đẩy khoa học hơn mười trường đại học”. Mặt khác thực tiễn cũng là tiêu
chuẩn để kiểm tra nhận thức .
Thực tế là những sự việc có thật, những tình hình cụ thể, những vấn đề
đã hoặc chưa được giải quyết trong cuộc sống. Người nghiên cứu với kinh
nghiệm bản thân trong công tác hàng ngày thường thấy được các mặt của
vấn đề, các mối quan hệ phức tạp, các diễn biến, phương hướng phát triển
của sự vật từ đó có định hướng thích hợp giải quyết đề tài.
Chính thực tiễn giúp người nghiên cứu tìm thấy vấn đề một cách cụ thể.
Người nghiên cứu phải xem thực tiễn cao hơn nhận thức (lý luận) vì nó có ưu
điểm không những có tính phổ biến mà còn có tính hiện thực trực tiếp. Hồ Chủ
Tịch cũng đã dạy: “Học tập thì theo nguyên tắc: kinh nghiệm và thực tiễn phải
đi cùng nhau”.
Đề tài thực hiện mang tính thực tiễn, nội dung của đề tài là có thật, phát
triển từ thực tế khách quan.
Có thể nói hầu như mọi công trình nghiên cứu điều có giá trị thực tế của
nó, chỉ khác nhau ở mức độ ít nhiều, phục vụ trước mắt hay lâu dài, gián tiếp
hay trực tiếp.
III. Tác động của điều kiện khách quan đến việc thực hiện đề tài
Trong quá trình nghiên cứu thực hiện đề tài người nghiên cứu là yếu
tố chủ
quan góp phần quan trọng đến kết quả còn đối tượng nghiên cứu,
phương pháp nghiên cứu kể cả phương tiện ngiên cứu, thời gian nghiên cứu
cùng những người cộng tác nghiên cứu và người hướng dẫn nghiên cứu là
những điều kiện khách quan ảnh hưởng trực tiếp đến việc nghiên cứu và kết
quả nghiên cứu. Người nghiên cứu càng nắm chắc các yếu tố khách quan đó
Điều khiển từ xa qua máy tính Page 8
bao nhiêu thì kết quả nghiên cứu càng được khẳng định bấy nhiêu.
CHƯƠNG 3 GIỚI THIỆU LINH KIỆN TRONG
MẠCH

I. Vi điều khiển PIC 16F887
1. Tóm tắt phần cứng họ PIC 16F887
PIC là viết tắt của “Programable Intelligent Computer”, có thể dịch tạm
là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên
cho vi điều khiển đàu tiên của họ: PIC1650 được thiết kế để dùng làm
các thiết bị ngoại vi cho vi điều khiển CP1600. Vi điều này sau đó được
nghiên cứu phát triển thêm và từ đó hình thành dòng vi điều khiển PIC
ngày nay.
a. Sơ đồ chân vi điều khiển PIC16F887
Điều khiển từ xa qua máy tính Page 9
Hình 1:Sơ đồ chân vi điều khiển PIC16F887
Bảng 1:Bảng chức năng các chân
Tên chân
Số chân
(40
chân)
Chức
năng
Mô tả
RE3/MCLR/Vpp 1
RE3
Đầu vào mục đích chung
PORT E
MCLR
Thiết lập lại chân . Mức logic
thấp trên chân này reset vi
điều khiển
Vpp
Lập trình điện áp
RA0/AN0/ULPWU/C12IN0

-
2
RA0
Mục đích chung I / O port A
AN0
A / D kênh đầu vào 0
ULPWU
Đứng - theo phương thức vô
hiệu hóa đầu vào
C12IN0-
C1 C2 sánh hoặc đầu vào
tiêu cực
RA1/AN1/ C12IN1- 3
RA1
Mục đích chung I / O port A
AN1
A / D kênh 1
C12IN1-
C1 C2 sánh hoặc đầu vào
tiêu cực
RA2/AN2/Vref-/CVref/C2I
N+
4 RA2
Mục đích chung I / O port A
AN2
A / D Kênh 2
Vref-
Đầu vào tham chiếu A / D
Điều khiển từ xa qua máy tính Page 10
điện áp cạnh xuống

CVref
Tham chiếu so sánh điện áp
ngõ ra
C2IN+
C2 sánh đầu vào tích cực
RA3/AN3/Vref+/C1IN+ 5
RA3
Mục đích chung I / O port A
AN3
A / D kênh 3
Vref+
A / D tham chiếu điện áp tích
cực đầu vào
C1IN+
So sánh C1 đầu vào tích cực
RA4/T0CKI/C1OUT 6
RA4
Mục đích chung I / O port A
T0CKI
Timer T0 đồng hồ đầu vào
C1OUT
So sánh đầu ra C1
RA5/AN4/SS/C2OUT 7
RA5
Mục đích chung I / O port A
AN4
A / D kênh 4
SS
SPI mô-đun đầu vào
C2OUT

So sánh đầu ra C2
RE0/AN5 8
RE0
Mục đích chung cổng I / O
port E
AN5
A / D kênh 5
RE1/AN6 9
RE1
Mục đích chung cổng I / O
port E
AN6
A / D kênh 6
RE2/AN7 10
RE2
Mục đích chung cổng I / O
port E
AN7
A / D kênh 7
Vdd 11 +
Điện áp cung cấp
Vss 12 - GND
RA7/OSC1/CLKIN 13
RA7
Mục đích chung I / O port A
OSC1
Dao động đầu vào của thạch
anh
CLKIN
Xung clk in

RA6/OSC2/CLKOUT 14
RA6
Mục đích chung I / O port A
OSC2
Dao động đầu ra của thạch
anh
CLKO
Fosc / 4 output
RC0/T1OSO/T1CKI 15
RC0
Mục đích chung cổng I / O
port C
T1OSO
Đầu ra hẹn giờ T1
T1CKI
Timer T1 đồng hồ đầu vào
RC1/T1OSO/T1CKI 16
RC1
Mục đích chung cổng I / O
port C
T1OSO
Đầu ra hẹn giờ T1
CCP2
CCP1 và pwm1 mô-đun I / O
RC2/P1A/CCP1 17
RC2
Mục đích chung cổng I / O
port C
P1A
Đầu ra của module PWM

Điều khiển từ xa qua máy tính Page 11
CCP1
CCP1 và pwm1 mô-đun I / O
RC3/SCK/SCL 18
RC3
Mục đích chung cổng I / O
port C
SCK
MSSP moduleClock I / O
trong chế độ SPI
SCL
MSSP mô-đun đồng hồ I / O
trong chế độ S
2
I
RD0 19 RD0
Mục đích chung cổng I / O
port D
RD1 20 RD1
Mục đích chung cổng I / O
port D
RD2 21 RD2
Mục đích chung cổng I / O
port D
RD3 22 RD3
Mục đích chung cổng I / O
port D
RC4/SDI/SDA 23
RC4
Mục đích chung cổng I / O

port C
SDI
Module MSSP dữ liệu ngõ
vào trong chế độ SPI
SDA
MSSP module dữ liệu I / O
trong chế độ S
2
I
RC5/SDO 24
RC5
Mục đích chung cổng I / O
port C
SDO
- Module MSSP xuất dữ liệu
trong chế độ SPI
RC6/TX/CK 25
RC6
Mục đích chung cổng I / O
port C
TX
Đầu ra USART không đồng
bộ
CK
USART đồng bộ
RC7/RX/DT 26
RC7
Mục đích chung cổng I / O
port C
RX

USART không đồng bộ đầu
vào
DT
- Dữ liệu USART đồng bộ
RD4 27 RD4
Mục đích chung cổng I / O
port D
RD5/P1B 28
P1B
Đầu ra PWM
RD5
Mục đích chung cổng I / O
port D
RD6/P1C 29
RD6
Mục đích chung cổng I / O
port D
P1C
Đầu ra PWM
RD7/P1D 30
RD7
Mục đích chung cổng I / O
port D
P1D
Đầu ra PWM
Vss 31 -
Điện áp cung cấp
Vdd 32 + GND
Điều khiển từ xa qua máy tính Page 12
RB0/AN12/INT 33

RB0
Mục đích chung cổng I / O
port B
AN12
A / D kênh 12
INT
RB1/AN10/C12INT3- 34
RB1
Mục đích chung cổng I / O
port B
AN10
A / D kênh 10
C12INT3
-
C1 C2 sánh hoặc đầu vào
tiêu cực
RB2/AN8 35
RB2
Mục đích chung cổng I / O
port B
AN8
A / D kênh 8
RB3/AN9/PGM/C12IN2- 36
RB3
Mục đích chung cổng I / O
port B
AN9
A / D kênh 9
PGM
cho phép lập trình chân

C12IN2-
C1 C2 sánh hoặc đầu vào
tiêu cực
RB4/AN11 37
RB4
Mục đích chung cổng I / O
port B
AN11
A / D kênh 11
RB5/AN13/T1G 38
RB5
Mục đích chung cổng I / O
port B
AN13
A / D kênh 13
T1G
Timer T1 đầu vào bên ngoài
RB6/ICSPCLK 39
RB6
Mục đích chung cổng I / O
port B
ICSPCL
K
Serial Lập trình xung clk
RB7/ICSPDAT 40
RB7
Mục đích chung cổng I / O
port B
ICSPDA
T

cho phép lập trình chân

Chú thích: AN = Analog input or output CMOS = CMOS compatible input or output OD = Open Drain
TTL = TTL compatible input ST = Schmitt Trigger input with CMOS levels
HV = High Voltage XTAL = Crystal
b. Thông số kỹ thuật vi điều khiển PIC 16F877.
Đây là vi điều khiển thuộc họ PIC16Fxxx 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 đacho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ
chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ
liệu EEPROM với dung lượng 256x8 byte. Số PORT I/O là 5 với 33 pin
I/O.
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
+ Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.
Điều khiển từ xa qua máy tính Page 13
+ Timer1: bộ đếm 16 bit với bộ cha tần số, có thể thực hiện các 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.
+ Timer2: bộ đếm 8bit với bộ chia tần số, bộ postcaler. Hai bộ capture/so
sánh/điều chế độ rộng xung.
+ Các chuẩn giao tiếp nối tiếp SSP,SPI và 12C. Chuẩn giao tiếp nối tiếp
chuẩn UART với 9bit địa chỉ.
+ Cổng tiếp song song PSP với các chân điều khiển RD, WR, CS ở bên ngoài
+ Các đặc tính Analog.
+ 8 kênh chuyển đổi ADC 10bit. Hai bộ so sánh.
Bên cạch đó là 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 1000.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 chương trình ngay trên mạch điện ICSP thông qua 2 chân.
+ Watchdog Timer với bộ dao động trong. Chức năng bảo mật mã chương
trình.chế độ ngủ (Sleep).
+ Có thể hoạt động với nhiều dạng Oscillator khác nhau.
c. Sơ đồ khối của vi điều khiển PIC16F887
Điều khiển từ xa qua máy tính Page 14
Hình 2: Sơ đồ khối vi điều khiển PIC16F887
2. Tổ chức bộ nhớ
Cấu trúc bộ nhớ vi điều khiển 16F887 bao gồm bộ nhớ chương trình
(program memory) và bộ nhớ dữ liệu (data memory).
Hình 3: Tổ chức bộ nhớ
a) Bộ nhớ chương trình
Bộ nhớ chương trình của vi điều khiển 16F887 là bộ nhớ flash, dung
lượng bộ nhớ 8K word (1 word = 14bit) và được phân thành nhiều trang.
Như vậy bộ nhớ chương trình có khả năng chứa được 8x1024 = 8192
lệnh.(vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word ).
+ Để 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 13bit.
+ Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ
0000h. Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ
0004h.
+ Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa
chỉ hóa bởi bộ đếm chương trình. Bộ nhớ stack sẽ được đề cập cụ thể
trong phần sau.
b. 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 PIC16F887 bộ nhớ dữ liệu được chia ra làm 4 bank. Mỗi bank
có dung lượng 128byte bao gồm các thanh ghi có chưc năng đặc biệt SFG
nhằm mở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR nằm ở
Điều khiển từ xa qua máy tính Page 15

vùng địa chỉ còn lại trong bank. Các thanh ghi SFG thường xuyên được xử
dụng(ví dụ như thanh ghi STA, TUS) 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.
Điều khiển từ xa qua máy tính Page 16
Hình 4: Sơ đồ cụ thể của bộ nhớ dữ liệu
c. Bộ nhớ EEPROM:
Dữ liệu EEPROM và bộ nhớ chương trình Fláh có thể đọc và ghi trong
suốt quá trình hoạt động bình thường. Bộ nhớ này không được thiết lập trực
tiếp trong không gian file thanh ghi đặc biệt. Có 6 thanh ghi FSR được sử
dụng để đọc và ghi bộ nhớ này:
 EECON1
 EECON2
 EEDATA
 EEDATH
 EEADR
 EEADRH
Khi giao tiếp với khối bộ nhớ dữ liệu , thanh ghi EEDATA chứa 8bít dữ
liệu cho việc đọc/ghi và thanh ghi EEADR chứa địa chỉ ô nhớ của EEPROM
đang được truy xuất. Nếu pic có bộ nhớ 128 byte thì địa chỉ nằm trong khoảng
từ 80H đến FFH, nếu PIC có bộ nhớ EEPROM là 256 byte thì địa chỉ nằm
trong khoảng từ 00h đến FFh. Với PIC 16F887a có 256 byte bộ nhớ nên
EEPROM nằm trong khoảng từ 00h đến FFh.
Khi giao tiếp với bộ nhớ chương trình thì hai thanh ghi EEDATA và
EEDATH kết hợp với nhau lại thành thanh ghi 16 bit để lưu trữ dữ liệu 14bit
cho lệnh đọc/ghi và hai thanh ghi EEADR và EEADRH kết hợp lại thành thanh
ghi 16 bít để lưu địa chỉ 13 bit của ô nhớ đang truy suất . Với pic có dung
lượng bộ nhớ chương trình là 8k wỏd thì địa chỉ trong khoảng từ 0000h đến
1FFFh . Nếu truy suất ô nhớ có địa chỉ lớn hơn thì sẽ bị cuộn nằm trong vùng
nhớ thực

Bộ nhớ dữ liệu EEPROM cho phép đọc và ghi 1 byte bộ nhớ chương
trình Flash cho phép đọc 1 word và ghi khối 4 word . Hoạt động ghi của bộ
nhớ chương trình sẽ tự động thực hiện xóa trước khi ghi vào khối 4 word . Một
byte ghi vào bộ nhớ dữ liệu EEPROM sẽ tự động xóa ô nhớ rồi mới ghi dữ
liệu mới – xóa trước khi ghi
Khi chip có mã bảo bbệ thì CPU có thể đọc và ghi dữ liệu bộ nhớ
EEPROM. Tùy thuộc vào cách thiết lập các bít bảo vệ chống ghi, PIC có thể
cho hoặc không cho ghi dữ liệu vào một vài khối bộ nhớ chương trình ; tuy
nhiên cho phép đọc bộ nhớ chương trình. Khi PIC coa mã bảo vệ thì người
dung không còn được truy cập bộ nhớ dữ liệu hoặc bộ nhớ chương trình.
 Đọc dữ liệu từ bộ nhớ EEPROM:
Điều khiển từ xa qua máy tính Page 17
Để đọc dữ liệu của một ô nhớ người sử dụng phải ghi địa chỉ vào thanh
ghi EEADR, xóa bit điều khiển EEPGD (EECON1,7) và sau đó set bit điều
khiển RD (EECON1<1>) . Dữ liệu sẽ xuất hiện trong thanh ghi EEDATA ở chu
kỳ kế. EEDATA sẽ lưu giá trị này cho đến khi xuất hiện lần đọc kế hoặc bị thay
đỏi bởi người sử dụng.
Các bước để đọc bộ nhớ dữ liệu EEPROM:
 Ghi địa chỉ vào EEADR địa chỉ không được lớn hơn dung lượng
bộ nhớ
 Xóa bit EEPGD chỉ hướng vào bộ nhớ dữ liệu EEPROM
 Set bit RD để bắt đầu hoạt động đọc.
 Đọc dữ liệu từ thanh ghi EEPROM.
Các bước trên khi dung với ngôn ngữ ASM thì ta phải tuân thủ đúng quy
tắc. nhưng khi dung với ngôn ngữ C thì ta chỉ cần dung với một lệnh
read_eeprom(address) trong đó address là địa chỉ của EEPROM mà ta cần
đọc, địa chỉ này với dòng pic 16F887a từ 00h đến FFh.
 Ghi dữ liệu vào bộ nhớ EEPROM:
Để ghi dữ liệu vào EEPROM thì người sử dụng phải ghi địa chỉ vào
thanh ghi EEADR và dữ liệu vào thanh ghi EEDATA . sau đó phải thực hiện

ghi theo trình tự chỉ định để ghi cho mỗi byte.
Quá trình ghi sẽ không được khởi động nếu thứ tự ghi không được thực
hiện chính xác cho mỗi byte . phải cấm tất cả các yêu cầu ngắt khi thực hiện
quá trình ghi này .
Ngoài ra bit WREN trong thanh ghi EECON2 phải được set để cho phép
ghi. Cơ chế này ngăn chặn các hoạt động ghi ngẫu nhiên vào EEPROM liên
quan đến sai sót mã bảo bệ . Người sử dụng nên giữ bit WREN ở trạng thái
Clear , ngoại trừ khi truy cập dữ liệu vào bộ nhớ dữ liệu EEPROM. Bit WREN
không được xóa bằng phần cứng.
Sau khi quá trình ghi đã được khởi đọng thì nếu ta xóa bit WREN sẽ
không ảnh hưởng đến chu kỳ này. Bit WR sẽ bị chặn không cho lên 1 trừ khi
bit WREN được set.
Khi hoàn tất chu kỳ ghi bit WR được xóa bởi phần cứng và bit cờ báo
ngắt hoàn thành xong quá trình ghi EEIF được set. Người dung có thể cho
phép sự ngắt hoặc kiểm tra bit này để biết quá trình ghi kết thúc . bit EEIF phải
được xóa bằng phần mềm.
Tuy rằng các bước ghi dữ liệu vào bộ nhớ EEPROM có nhiều bước và
nhiều bit trên thanh ghi được để ý đến như vậy nhưng khi dùng C để làm việc
với PIC thì ta chỉ cần chú ý đến lệnh ghi : WRITE_EEPROM(address,x)
Điều khiển từ xa qua máy tính Page 18
Trong lệnh :write_eeprom(address,x)
Address : địa chỉ của EEPROM ta cần ghi
X : giá trị ta cần ghi (byte)
d. Một số thanh ghi chức năng đặc biệt trong vi điều khiển PIC16F887
 Thanh ghi EEADR và EEADRH
Cặp thanh ghi EEADRH:EEADR có thể định địa chỉ tối đa 256 byte của
bộ nhớ dữ liệu EEPROM hoặc tối đa 8k word của bộ nhớ chương trình
EEPROM
Khi truy xuất bộ nhớ dữ liệu thì chỉ dung thanh ghi EEADR đẻ lưu byte
địa chỉ thâp

Khi truy xuất bộ nhớ chương trình thì dung thanh ghi EEADR để lưu
byte địa chỉ thấp và thanh ghi EEADRH để lưu byte cao
 Thanh ghi EECON1 và EECON2:
EECON1 là thanh ghi điều khiển để truy xuất bộ nhớ . Bít điều khiển
EEPGD dùng để truy xuất bộ nhớ chương trình hoặc bộ nhớ dữ liệu. Khi reset
hoặc khi bị EEPGD sẽ cho phép truy suất bộ nhớ dữ liệu. khi bit EEPGD bằng
1 thì truy xuất bộ nhớ chương trình.
Thanh ghi EECON1
• Bit 7: EEPGD bit lựa chọn bộ nhớ dữ liệu/ chương trình EEPROM
o EEPGD=1 truy xuất bộ nhớ chương trình
o EEPGD=0 truy xuất bộ nhớ dữ liệu.
• Bit 6 => 4 chưa sử dụng
• Bit 3 WRERR : bít cờ lỗi EEPROM
o WRERR =1 việc ghi thực hiện xong sớm
o WRERR = 0 việc ghi đã được hoàn thành.
• Bit 2: WREN bit cho phép ghi eeprom
o WREN=1 cho phép ghi.
o WREN=0 không cho ghi.
• Bit 1: WR bit điều khiển ghi
o WR=1 bắt đầu chu kỳ ghi. Bit WR được xóa bằng phần
cứng sau mỗi lần ghi xong
o WR=0 quá trình ghi vào eeprom đã hoàn thành
• Bit 0 :RD bit điều khiển đọc
o RD=1 bắt đầu chi kỳ đọc eeprom . bit RD được xóa bằng
phần cứng .bit RD chỉ có thể được set trong phần mềm
o RD=0 không khởi động chu kỳ đọc eeprom.
 Các cổng xuất nhập của PIC16F877A.
Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để
tương tác với thế giới bên ngoài. Sự tương tác này rất đa dạng và thông qua
Điều khiển từ xa qua máy tính Page 19

quá trình tương tác đó, chức năng của vi điều khiển được thể hiện một cách rõ
ràng.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 trong mỗi cổng có thể khác nhau. Bên cạnh đó, do vi điều
khiển được tích hợp sẵn bên trong các đặc tính giao tiếp ngoại vi nên
bên cạnh chức năng là cổng xuất nhập thông thường, một số chân
xuất nhập còn có thêm các chức năng khác để thể hiện sự tác động của
các đặc tính ngoại vi 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 đó.
 PORTA và thanh ghi TRISA:
Port A (RPA) bao gồm 6 I/O pin. Đây là các chân “hai chiều”
(bidirectional pin), nghĩa là có thể 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à input, ta “set” bit điều khiển tương ứng với chân
đó trong thanh ghi TRISA và ngược lại,muốn xác lập chức năng của một chân
trong Port A là output, ta “clear” bit điều khiển 8 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 còn lại. Bên
cạnh đó Port A còn là ngõ vào 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 Port A bao gồm:
 Port A (địa chỉ 05h): chứa giá trị các chân trong PortA.
 TRISA (địa chỉ 05h): điều khiển xuất nhập.
 CMRCON(địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh .
 CVRCON(địa chỉ 9Dh):thanh ghi điều khiển bộ so sánh điện áp.
 ADCON1(địa chỉ 9Fh): thanh ghi điều khiển bộ ADC.
 PORTB và thanh ghi TRISB:
Portb (RPB) 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 các chế độ nào khác nhau.
PORTB còn liên quan dến 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.
Ba chân của PORTB được đa hợp với mạch điện gỡ rối bên trong và
chức năng lập trình điện áp thấp RB3/PGM, RB6/PGC và RB7PGD.
Mỗi chân của PORTB có điện trở kéo lên. Bit điều khiển RBPU
(OPTION_REG<7>) =0 thì có thể mở tất cả các điện trở kéo lên . khi portb
Điều khiển từ xa qua máy tính Page 20
được thiết lập là ngõ ra thì sẽ tự động ngắt chức năng điện trở kéo lên , cũng
tương tự khi CPU bị reset lúc mới cấp điện.
Bốn chân của portb RB4:RB7 có cấu chúc ngắt thay đổi, chỉ có những
chân được thiết lập ở cấu hình là ngõ vào thì mới có chức năng ngắt. các
chân ngõ vào là (RB4:RB7) được so sánh với giá trị cũ đã được chốt trong lần
đọc trước của portb. Các ngõ ra không trùng nhau của các chân RB4:RB7
được OR lại với nhau để tao ra ngắt ở PORTB với bít cờ báo ngắt
RBIF<INTCON<0>>.
Ngắt này có thể kích hoạt vi điều khiển trở lại trạng thái hoạt động khi nó
đang ở chế độ SLEEP. Trong chương trình phục vụ ngắt thì người dùng có thể
xóa ngắt bằng các cách khác nhau:
• Bất kỳ lệnh đọc hay ghi PORTB sẽ kết thích điều kiện
không thích ứng.
• Xóa bít cờ RBIF.
Điều kiện không tương thích sẽ tiếp tục làm cờ báo ngắt RBIF bằng 1.
Khi đọc PORTB sẽ chấm dứt điều kiện không tương thích và cho phép xóa bít
cờ báo ngắt RBIF.
Cấu trúc ngắt thay đổi dùng để thoát khỏi chế độ nghỉ khi có nhấn phím
và các hoạt động mà PORTB chỉ được dùng cho cấu trúc thay đổi ngắt.
 PORTC và thanh ghi TRISC:
PORTC là port 2 chiều 8 bít. Thanh ghi định hướng là TRISC. Khi bit
TRISC=1 thì portc là nhập, khi TRISC=0 thì portc là xuất.

Portc được đa hợp với vài chức năng ngoại vi. Các chân của portc có
mạch đệm Schmit Trigger ở ngõ vào. Khi khối I
2
C được cho phép thì các chân
PORTC (3,4) có thể được định cấu hình ở các mức I
2
C hoặc mức SMBUS
bằng cách sử dụng bít CKE (SSPSTAT<6>).
Khi cho phép chức năng ngoại vi, nên chú ý đến các bít TRIS cho mỗi
chân của PORTC. Một vài thiết bị ngoại vi ghi lên bít TRIS để làm một chân
như là 1 ngõ ra, trong khi đó các thiết bị ngoại vi ghi lên bít TRIS để làm như
một chân ngõ vào. Khi ghi đè bít TRIS thì không ảnh hưởng đến các thiets bị
đã cho phép, các kệnh đọc – hiệu chỉnh – ghi (BSF,BCF,XORWF) với TRISC
là đích đến phải tránh dùng. Người sử dụng tham chiếu tới phần thiết bị ngoại
vi tướng ứng để thiếp lập cho đúng bít TRIS.
 PORTD và thanh ghi TRISD:
Điều khiển từ xa qua máy tính Page 21
Port D (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất
nhập tương ứng làTRISD. Port D 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 Port D bao gồm:
- Thanh ghi PortD : chứa các giá trị chân trong PortD.
- Thanh ghi TRISD: điều khiển xuất nhập.
 PORTE và thanh ghi TRISE:
Port E (RPE) 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 analog.
Bên cạnh đó Port E còn là các chânđiều khiển của chuẩn giao tiếp PSP.
Các thanh ghi liên quan đến Port E bao gồm:
- Port E: chứa giá trị các chân trong Port E.
- TRISE : điều khiển xuất nhập và xác lập các thông số cho chuẩn

giao tiếp PSP.
- ADCON1: thanh ghi điều khiển các khối ADC.
II. Lcd 16x2
Hình 5: Hình ảnh thực tế của LCD 16x2
LCD (Liquid Crystal Display ) Màn hình là một mô-đun hiển thị điện tử và
tìm thấy một loạt các ứng dụng . Một màn hình hiển thị LCD 16x2 là mô-đun
rất cơ bản và rất thường được sử dụng trong các thiết bị khác nhau và mạch .
Các mô-đun được ưa thích hơn bảy phân đoạn và đèn LED phân khúc đa
khác . Lý do là : màn hình LCD là kinh tế ; lập trình dễ dàng , không có giới
hạn ký tự hiển thị tùy chỉnh đặc biệt và thậm chí cả (không giống như trong
bảy phân đoạn ) , hình ảnh động và như vậy.
Một màn hình LCD 16x2 có nghĩa là nó có thể hiển thị 16 ký tự trên mỗi dòng
và có 2 dòng như vậy. LCD này mỗi nhân vật được hiển thị trong ma trận 5x7
pixel. LCD này có hai đăng ký, cụ thể là, lệnh và dữ liệu .
Điều khiển từ xa qua máy tính Page 22
Các lệnh đăng ký lưu trữ các hướng dẫn lệnh cho màn hình LCD. Một
lệnh là một chỉ dẫn cho màn hình LCD để làm một công việc được xác định
trước như khởi tạo nó , thanh toán bù trừ màn hình của nó , thiết lập vị trí con
trỏ , kiểm soát hiển thị, vv Các cửa hàng đăng ký dữ liệu các dữ liệu sẽ được
hiển thị trên màn hình LCD . Dữ liệu là giá trị ASCII của các nhân vật sẽ được
hiển thị trên màn hình LCD .
Sơ đồ pin :
Hình 6: Sơ đồ chân của LCD 16x2
Chân số Tên Chức năng
1 GND GND (nối mass)
2 Vcc
Chân cấp nguồn cho LCD ( Vcc = 4.7V ~ 5.3v, thường thì
sẽ dùng ở mức 5V )
3 VEE
Chân này dùng để điều chỉnh độ tương phản của LCD,

thông qua một điện trở biến.
4 Rs
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 DB0-DB7 sẽ nối với thanh ghi lệnh IR
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 với thanh ghi dữ liệu
DR bên trong LCD.
5 R/w
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.
6 E 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.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD
Điều khiển từ xa qua máy tính Page 23
chuyển vào(chấp nhận) thanh ghi bên
trong nó khi phát hiện một xung (high-to-low
transition) của tín hiệu chân 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.
7-14
DB0-
DB7
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 bit : Dữ liệu được truyền trên cả 8 đường,
với bit MSB là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ
DB4 tới DB7, bit MSB là DB7
15 Led+ Đèn nền V
CC
(5V)
16 Led- Đèn nền mass(0V)
Bảng 2: Chức năng các chân của LCD
Lưu ý: Hai chân 15(Led+) và 16(Led-) đó là chân led của LCD, do led của
LCD chỉ 4.1V và dòng chỉ 200mA nên ta phải hạn dòng cho led không bị cháy,
dựa vào công thức : R = (V
DD
- V
LED
)/ I
LED
III. Module thu phát sóng RF (APC240)
1. Module thu phát sóng RF
Trong một phiên truyền thông, vì tận cùng bản chất của dữ liệu là bao gồm các
bit 0 và 1, bên phát dữ liệu cần có một cách thức để gửi các bit 0 và 1 để gửi cho
bên nhận. Một tín hiệu xoay chiều hay một chiều tự nó sẽ không thực hiện tác vụ
này. Tuy nhiên, nếu một tín hiệu có thay đổi và dao động, dù chỉ một ít, sự thay đổi
này sẽ giúp phân biệt bit 0 và bit 1. Lúc đó, dữ liệu cần truyền sẽ có thể gửi và nhận
thành công dựa vào chính sự thay đổi của tín hiệu. Dạng tín hiệu đã điều chế này
còn được gọi là sóng mang (carrier signal).
Có ba thành phần của dạng sóng có thể thay đổi để tạo ra sóng mang, đó là
biên độ, tần số và pha. Tất cả các dạng truyền thông dùng sóng vô tuyến đều dùng
vài dạng điều chế để truyền dữ liệu. Để mã hóa dữ liệu vào trong một tín hiệu gửi
qua sóng AM/FM, điện thoại di động, truyền hình vệ tinh, ta phải thực hiện một vài

kiểu điều chế trong sóng vô tuyến đang truyền.
Điều khiển từ xa qua máy tính Page 24
Hình 7: Hình ảnh thực tế của phát sóng RS
2. Đặc tính kỹ thuật của module thu phát sóng RF
Khoảng cách truyền giữa hai module là 1000 mét. Công suất ngỏ ra là
20mW, tần số phát từ 418MHz đến 455MHz, giao tiếp với vi điều khiển theo
chuẩn UART.
Hình 8: Sơ đồ kết nối
Chân Tên Chức năng
1 GND Ground (0V)
2 VCC Cấp nguồn (VCC = 5V)
3 SETA Ngõ vào: thông số thiết lập A; điện trở kéo lên 47KΩ
4 RXD
Ngõ vào: đầu vào UART, mức TTL; điện trở kéo lên
47 KΩ
5 TXD Ngõ ra: đầu ra UART, mức TTL
6 AUX Ngõ ra: dữ liệu trong /dấu hiệu ra
7 SETB Ngõ vào: thông số thiết lập B; điện trở kéo lên 1MΩ
Bảng 3: Chức năng các chân
Kí hiệu Tham số (điều kiện) Min. Typ. Max. Units
Điều khiển từ xa qua máy tính Page 25

×