Tải bản đầy đủ (.doc) (63 trang)

ĐỒ án tốt NGHIỆP BẢNG báo GIÁ VÀNG và NGOẠI tệ cập NHẬT từ INTERNET

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.19 MB, 63 trang )

DỒ ÁN TỐT NGHIỆP

LỜI CẢM ƠN
Trước tiên em xin chân thành cảm ơn toàn thể thầy cô khoa Điện tử-Tin học
trường Cao Đẳng Kỷ Thuật Cao Thắng , những người đã tạo điều kiện cho em có cơ
hội nghiên cứu và tìm hiểu sâu rộng về lĩnh vực điện tử, đặc biệt là thầy Võ Xuân Nam
đã tận tình hướng dẫn và giúp đỡ chúng em trong thời gian thực hiện đề tài. Đồng thời
chúng em cũng gửi lời cảm ơn tới gia đình và bạn bè đã giúp đỡ em trong thời gian qua.
Có được sự giúp đỡ nhiệt tình đó cộng với sự cố gắng của bản thân nên chúng em đã
hoàn thành được đề tài đúng thời hạn. Với sự hiểu biết còn hạn chế và thời gian thực hiện
đề tài không nhiều nên đề tài không tránh khỏi những sai sót. Rất cảm ơn sự hướng dẫn
và góp ý của quý thầy cô và bạn bè cho đề tài được hoàn chỉnh hơn.
Chúng em xin chân thành cảm ơn!

Sinh viên thực hiện

Lương Công Đoan
Thiều Quang Đạt

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 1


DỒ ÁN TỐT NGHIỆP

LỜI NÓI ĐẦU


Ngày nay, trong tất cả các lĩnh vực của đời sống con người điều có sự trợ giúp của
máy tính, máy tính ngày càng làm cho công việc của con người trở nên nhẹ nhàng hơn


không chỉ nhờ vào tốc độ xử lý mà còn ở khả năng linh động trong các ứng dụng. Nó
không những làm giảm nhẹ gánh nặng cho con người, nâng cao hiệu quả lao động mà
còn giúp cho con người có những phát minh, sáng chế mới trong nhiều lĩnh vực. Máy
tính ngày càng được sử dụng rộng rãi trong nhiều cơ quan, xí nghiệp, trường học, trong
các ngành kinh tế và ngay cả trong gia đình.
Trong các lĩnh vực công nghiệp và điều khiển, việc kết nối máy tính với các thiết bị ngoại
vi ngày càng trở nên phổ biến. Nó được ứng dụng trong rất nhiều các lĩnh vực trong đó
có điều khiển và đo lường, kết hợp với sự phát triển không ngừng của các hệ thống mạng
càng làm tăng tính năng linh động trong các ứng dụng đòi hỏi việc trao đổi thông tin từ
xa.
Từ những vấn đề đó, với kiến thức đã được học tại trường và được sự hướng dẫn tận tình
của thầy Võ Xuân Nam, em đã quyết định thực hiện đề tài “Bảng báo giá vàng và ngoại
tệ cập nhật tỷ giá từ internet ”.
Tuy nhiên, một hệ thống có thể hoạt động ổn định thì đòi hỏi phải có một thời gian thử
nghiệm cũng như cần có sự đóng góp và giúp đỡ của nhiều người. Vì thời gian có hạn và
kiến thức chuyên môn còn hạn chế nên trong quá trình thực hiện đồ án không thể tránh
những thiếu sót nhất định. Rất mong sự giúp đỡ, ý kiến đóng góp của quý thầy cô cùng
tất cả các bạn để đồ án tốt nghiệp này được hoàn thiện hơn.

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 2


DỒ ÁN TỐT NGHIỆP

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN


................................................................................................................................................................................

................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................

Tp Hồ Chí Minh, ngày… tháng… năm 2010
Giáo viên hướng dẫn
Ký tên

Thầy Giáo Võ Xuân Nam

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 3



DỒ ÁN TỐT NGHIỆP

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

................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................
................................................................................................................................................................................


Tp HCM, ngày… tháng… năm 2010
Giáo viên phản biện

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 4


DỒ ÁN TỐT NGHIỆP

MỤC LỤC
Phần A Giới thiệu
Lời cảm ơn..................... 1
Lời mở đầu................ 2
Nhận xét của giáo viên hướng dẫn...................................................... 3
Nhận xét của giáo viên phản biện ........................................................4
Mục lục................................................................................................. 5
Phần B Nội dung................................................6
Chương 1 Dẫn nhập ...............................................................................7
1.1 Đặt vần đề ..................................................................................7
1.2 Tầm quan trọng của vấn đề.......................................................7
1.3 Giới hạn vấn đề..........................................................................7
1.4 Mục đích nghiên cứu..................................................................7
Chương 2 Các bước thực hiện............................................. 9
2.1 Dàn ý nghiên cứu.........................................................................9
2.2 Đối tượng nghiên cứu..................................................................9
2.3 Phương pháp nghiên cứu.............................................................9
2.4 Phương tiện nghiên cứu................................................................9
2.5 Thời gian nghiên cứu..................................................................10
Chương 3 Cơ sở lý thuyết................................................... 11

3.1 Các chuẩn giao tiếp.....................................................................11
3.2 Lựa chọn phương thức giao tiếp.................................................12
3.3 Vi điều khiển PIC 16F877A .......................................................14
3.4 Ngôn ngữ lập trình CCS.............................................................23
3.5 PIC 16F877A và IC ghi dịch 74HC595......................................28
3.6 IC Max 232..................................................................................32
Chương 4 Phần cứng và hoạt động của hệ thống ..............33
4.1 Sơ đồ khối hệ thống ......................................................................33
4.2 Chức năng mỗi khối.......................................................................34
4.3 Hoạt động của hệ thống.................................................................34
4.4 Sơ đồ nguyên lí...............................................................................35
Chương 5: Phần mềm điều khiển hệ thống ...........................37
5.1 Cơ sở lí thuyết lập trình giao tiếp VB...........................................37
5.2 Phần mềm điều khiển hệ thống...................................................43
5.3 Chương trình Vi xử lí...................................................................52
Chương 6: Tổng kết và hướng phát triển.........................56

Tài liệu tham khảo

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 5


DỒ ÁN TỐT NGHIỆP

Phần B

NỘI DUNG


BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 6


DỒ ÁN TỐT NGHIỆP

Chương 1 DẪN NHẬP
1.1 Đặt vấn đề.
Ngày nay, với sự phát triển của khoa học kĩ thuật, trong đó có lĩnh vực máy tính và
lĩnh vực điện tử đã cho ra đời những hệ thống điều khiển khá hữu dụng. Mục đích mà
những hệ thống đó đem lại là giúp nâng cao chất lượng cuộc sống của con người. Nó
giúp thỏa mãn những nhu cầu, đòi hỏi ngày càng cao của con người trong thời kì hiện
đại. Hiện nay, sinh hoạt của con người thường gắn liền với những thiết bị, máy móc và
vấn đề đặt ra là chúng ta sẽ tạo ra những thiết bị để điều khiển quá trình hoạt động của
chúng như thế nào và giám sát chúng ra sao để đạt được hiệu quả đồng thời thỏa mãn
được những nhu cầu.
Ngày nay việc Update tin tức trở nên cực kì quan trọng, thông tin lúc nào cũng phải
được cập nhật thường xuyên và chính xác nhất. ví dụ như tin tức sàn chứng khoán, giá
xăng dầu, ngoại tệ, vàng …
Để việc kinh doanh được dễ dàng hơn và thông tin cập nhật giá vàng, ngoại tệ là mới
nhất. Em quyết định chọn đề tài “bảng báo giá vàng và ngoại tệ cập nhật tỷ giá mới
nhất từ internet” làm đề tài tốt nghiệp của mình.

1.2 Tầm quan trọng của vấn đề
Giúp cho công việc cập nhật dể dàng hơn ít tốn công sức.
Cập nhật tự động dữ liệu mới nhất, chính xác nhất từ internet.

1.3 Giới hạn vấn đề
- Phương thức giao tiếp giữa các module chính và máy tính thông qua chuẩn RS232.

- Thiết kế giao diện điều khiển sử dụng phần mềm VB6.
- Sử dụng 1 đường truyền internet cố định.
- Thực hiện 1 mô hình bảng báo bằng led 7 đoạn.

1.4 Mục đích nghiên cứu
- Dựa vào những kiến thức đã học về Kỹ thuật điện tử tin học,nghiên cứu về cách thức
giao tiếp giữa máy tính và vi xử lý.
-Nắm được cách thức hiển thị dữ liệu ra Led 7 đoạn.
-Tìm hiểu,thi công một mô hình quang báo qui mô nhỏ,làm cơ sở cho những nghiên cứu
chuyên sâu hơn về lĩnh vực này.
BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 7


DỒ ÁN TỐT NGHIỆP
- Nhằm ôn lại những kiến thức đã học cũng như nâng cao trình độ chuyên môn để phục
vụ cho công việc sau khi ra trường.

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 8


DỒ ÁN TỐT NGHIỆP

Chương 2

CÁC BƯỚC THỰC HIỆN


2.1 Dàn ý nghiên cứu
- Tìm hiểu về máy tính và mạng.
- Tìm kiếm phần mềm trên mạng và tài liệu liên quan trên mạng.
- Tìm hiểu các chuẩn truyền dữ liệu RS232.
- Tìm hiểu kỹ thuật lập trình VB6 và lập trình cho Vi điều khiển.
- Thiết kế phần cứng của hệ thống.
- Thiết kế chương trình điều khiển trên máy tính và vi điều khiển khiển .

2.2 Đối tượng nghiên cứu
- Kỹ thuật lập trình VB6 và giao tiếp giữa máy tính với các thiết bị ngoại vi.
- Mạng internet.
- Chuẩn giao tiếp RS232.

2.3 Phương pháp nghiên cứu
Tham khảo tài liệu
- Tài liệu hướng dẫn lập trình Visual Basic 6.
- Tài liệu hướng dẫn lập trình CCS cho vi xử lí.
- Các tài liệu về cách thức truyền nhận dữ liệu qua giao tiếp RS232.
- Tìm hiểu các hoạt động của các IC sử dụng trong đề tài qua datasheet do nhà sản xuất
cung cấp.

Phương pháp thực nghiệm.
Bằng cách vận dụng các kiến thức đạt được trong quá trình học tập tham khảo tài liệu, em
đã tiến hành tìm hiểu, thiết kế, thi công, và thử nghiệm mô hình trong nhiều tình huống
và điều kiện khác nhau. Quá trình thực nghiệm giúp em thực hiện tự hoàn thiện và bổ
sung dần các kiến thức mới. Đặc biệt là tìm được hướng nghiên cứu thích hợp nhất để
hoàn chỉnh và tối ưu đề tài.

2.4 Phương tiện nghiên cứu
- Máy vi tính.

- Các linh kiện điện tử để thi công mạch điện.
- Các phần mềm hỗ trợ như : VB6,PIC C Compiler.
BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 9


DỒ ÁN TỐT NGHIỆP

2.5 Thời gian nghiên cứu
Với thời gian cho phép là 4 tuần, em thực hiện đồ án phân bố thời lượng công việc
như sau:
− Tuần 1

: Thu thập tài liệu, lập kế hoạch chi tiết.

− Tuần 2

: Tìm ra giải thuật để giải quyết vấn đề cho đề tài, thiết kế

mạch, viết chương trình.
− Tuần 3

: Thi công và thí nghiệm phần cứng, phần mềm

− Tuần 4

: Hoàn thiện phần thi công, sửa chữa và in ấn.

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET


Page 10


DỒ ÁN TỐT NGHIỆP

Chương 3 Cơ Sở Lý Thuyết
3.1 Các chuẩn giao tiếp
Hiện nay việc giao tiếp giữa máy tính với các thiết bị ngoại vi có thể thực hiện bằng
những cách sau:

Ghép nối qua cổng máy in ( truyền song song )
Cổng ghép nối máy in (LPT), là giao diện sử dụng ổ cắm gồm 25 chân ở phía sau máy
tính. Ở cổng này, các bit dữ liệu được truyền đi song song và do vậy tốc độ truyền dữ liệu
cũng đạt đến mức đáng kể. Tất cả các đường dẫn dữ liệu của cổng này đều tương thích
TTL, nghĩa là mức high khoảng 3,5-5V và các ngõ ra được phép chịu dòng tải cỡ 10mA.
Cổng máy in có thể dùng truy suất nhanh 8 bit dữ liệu. Tuy nhiên, việc dùng cổng song
song có một nhược điểm đáng kể là cáp truyền dùng quá nhiều sợi nên đắt tiền và mức
tín hiệu 0 – 5V không thích ứng với khoảng cách lớn.

Ghép nối qua cổng COM
Cổng nối tiếp RS232, hay còn gọi là cổng COM, là giao diện sử dụng ổ cắm 9 chân
hoặc 25 chân. Việc truyền dữ liệu qua cổng COM được tiến hành theo cách nối tiếp,
nghĩa là các bit dữ liệu được truyền nối tiếp nhau trên một đường dẫn. Loại truyền này có
khả năng dùng cho những khoảng cách lớn hơn so với cổng LPT vì khả năng gây nhiễu là
nhỏ đáng kể. Ngoài ra, cáp truyền ít sợi hơn làm cho giá thành rẻ và mạch ít phức tạp
hơn.

Ghép nối qua khe cắm PCI
Giao tiếp qua khe PCI (slot card) có thể đạt được tốc độ lớn nhất, tuy nhiên việc

thiết kế và thi công rất phức tạp, thêm vào đó giá thành lại đắt tiền.

Ghép nối qua cổng USB
USB viết tắt từ bus nối tiếp đa năng (Universal Serial Bus). Đây là một chuẩn truyền
dữ liệu cho bus ngoại vi (external bus) do Intel (phần cứng: chipset) và Microsoft (phần
mềm: hệ điều hành) phối hợp phát triển cùng với Compaq, IBM, DEC, NEC, và Northern
Telecom.

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 11


DỒ ÁN TỐT NGHIỆP
Chuẩn USB càng tiện lợi cho người dùng hơn nhờ hỗ trợ tính năng cài đặt cắm là
chạy (Plug-and-Play) và đặc biệt là tính năng gắn và gỡ nóng (hot plugging) , tức là có
thể cắm và gỡ thiết bị USB trong khi máy tính vẫn đang hoạt động và không cần phải
khởi động lại.
USB còn có một khả năng cung cấp điện năng cho một số loại thiết bị USB từ điện nguồn
hệ thống thông qua bus USB giúp thiết bị ngoại vi đó không†cần phải được cấp điện
riêng. Tuy nhiên, do điện thế của bus USB không lớn nên nó chỉ đủ năng lượng cấp cho
những thiết bị nhỏ.
Phiên bản ban đầu của USB là 1.0, và 1.1 có tốc độ truyền tải dữ liệu 12Mbps (nhanh hơn
Serial hay Parallel), còn USB 2.0, hay còn gọi là Hi-Speed USB, có tốc độ truyền tải dữ
liệu tới 480Mbps, nghĩa là còn cao hơn IEEE 1394 (400Mbps).
Việc giao tiếp giữa máy tính với thiết bị ngoại vị thông qua cổng USB tuy rất tiện lợi và
đạt được tốc độ cao, nhưng đòi hỏi phải có IC hỗ trợ. Đây chính là điều khó khăn đối với
thị trường điện tử nước ta.

3.2 Lựa chọn phương thức giao tiếp

Qua việc tìm hiểu các giao thức giao tiếp giữa máy tính và các thiết bị ngoại vi,
đồng thời nhận thấy việc giao tiếp không đòi hỏi phải có tốc độ nhanh. Việc giao tiếp chỉ
đơn giản là truyền và nhận dữ liệu, vì vậy em quyết định lựa chọn phương thức giao tiếp
máy tính thông qua cổng COM với chuẩn giao tiếp RS232.

Chuẩn RS232
Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232, được gọi là cổng
Com. Chúng được dùng ghép nối cho chuột, modem, thiết bị đo lường…Khi cần dùng
nhiều cổng hơn ta có thể lắp đặt các card mở rộng trên đó có thêm một đến hai cổng
Com. Có hai dạng cổng Com: cổng Com 25 chân và cổng Com 9 chân.
Ưu điểm giao diện nối tiếp RS232:
− Khả năng chống nhiễu của các cổng nối tiếp cao.
− Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện.
− Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua cổng nối tiếp.

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 12


DỒ ÁN TỐT NGHIỆP

Hình 3.1: Chân ra cổng Com DB9.
Bảng 3.1: Các Chân và chức năng của cổng Com DB9.
DB-9 Tên
Data Carrier
1
Detect
2
Receive Data

3
Transmit Data
4

Data

Terminal

Ready

Ký hiệu
DCD

Chức năng
Phát hiện tín hiệu mang dữ

RxD
TxD

liệu
Nhận dữ liệu
Truyền dữ liệu
Đầu cuối dữ liệu sẵn sàng,

DTR

được kích hoạt bởi bộ nhận

5


Singal Ground

SG

khi muốn truyền dữ liệu
Mass của tín hiệu
Dữ liệu sẵn sàng, được kích

6

Data Set Ready

DSR

hoạt bởi bộ truyền khi nó sẵn
sàng nhận dữ liệu
Yêu cầu gửi, bộ truyền đặt

7

Request to Send

RTS

đường này lên mức hoạt động
khi sẵn sàng truyền dữ liệu
Xóa để gửi, bộ nhận đặt

8


Clear To Send

CTS

đường này lên mức hoạt động
để thông báo cho bộ truyền là
nó sẵn sàng nhận dữ liệu.
Báo chuông, cho biết là bộ

9

Ring Indicate

RI

nhận đang nhận tín hiệu rung
chuông.

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 13


DỒ ÁN TỐT NGHIỆP

Những đặc điểm cần lưu ý trong chuẩn RS232:


Trong chuẩn RS232, các giới hạn trên đối với mức logic 0 và logic 1 là


±12V.


Mức logic 1 có điện áp nằm trong khoảng –3V đến –12V, mức logic 0 từ

+3V đến +12V.
−Trở kháng tải phải lớn hơn 3000Ω nhưng phải nhỏ hơn 7000Ω.



Tốc độ truyền/nhận dữ liệu cực đại là 100kbps (ngày nay có thể đạt được

200 kbps).


Các lối vào phải có điện dung nhỏ hơn 2500pF



Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối

tiếp RS232 không thể vượt quá 15 m nếu không sử dụng Modem.


Các giá trị tốc độ truyền dữ liệu chuẩn là : 50, 75, 110, 150, 300, 600, 1200,

2400, 4800, 9600, 19200, 28800 …… 56600, 115200bps.

3.3 Vi điều khiển PIC16F877A


Nội dung:
3.3.1 Giới thiệu chung về PIC.
Lịch sử ra đời:
-

PIC được phát triển đầu tiên bởi hãng General Instrument vào năm 1975: vi điều
khiển đầu tiên là PIC1650.

-

Sau này PIC thuộc Microchip Technology (vào năm 1985)

-

PIC được viết tắt từ: "Programmable Intelligent Computer" (Máy tính khả trình
thông minh) .

Ứng dụng của PIC:
Được sử dụng rộng rãi trong đời sống:
 Điều khiển động cơ.
BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 14


DỒ ÁN TỐT NGHIỆP
 Điều khiển đèn giao thông.
 Dùng trong các bảng quang báo.
 Dùng trong báo hiệu đường sông.
 Dùng trong các thiết bị đo lường điện tử.

 Được dùng trong các cuộc thi Robocon.
Các kí hiệu của vi điều khiển PIC:
 PIC12xxxx: độ dài lệnh 12 bit
 PIC16xxxx: độ dài lệnh 14 bit
 PIC18xxxx: độ dài lệnh 16 bit
 C: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM).
 F: PIC có bộ nhớ flash.
 LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp.
 LV: tương tự như LF, đây là kí hiệu cũ.
 Bên cạnh đó một số vi điệu khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm
chữ A ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash).
 Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC.
 Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản
xuất.
3.3.2. Các kiến thức cơ bản của PIC16F877A.
Đặc điểm PIC:
• Kiến trúc Havard.
• Kiến trúc RISC.
• Tập lệnh: 35 lệnh.
• Vi xử lý: 8/16/32bit.
• Công nghệ Nanowatt

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 15


DỒ ÁN TỐT NGHIỆP
• Hỗ trợ đầy đủ các ngoại vi cơ bản: Timer, ADC, SPI, UART,
I2C,CCP(Capture/Compare/Pwm)

• Hỗ trợ các giao tiếp khác: USB,Ethernet,CAN…
• Vi xử lý 8bit.
• Có 35 tập lệnh, độ dài lệnh: 14bit.
• ADC lên tới 10bit với 7 kênh.
• Có 2 bộ CCP(Capture/Compare/Pwm).
• Bộ nhớ: 368 byte Ram, 256byte Rom, bộ nhớ chương trình 8K.
• Xung nhịp đồng hồ lên tới 20MHz.

Sơ đồ chân của pic 16f877a:

MỘT VÀI THÔNG SỐ VỀ VI ĐIỀU KHIỂN PIC16F877A
Đâ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 đa cho
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 bit RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 bit. Số PORT
I/O là 5 với 33 pin I/O.
Các đặc tính ngoại vi bao gồmcác khối chức năng sau:
 Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.
 Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào
BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 16


DỒ ÁN TỐT NGHIỆP
 xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.
 Timer2: bộ đếm 8 bit 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 (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,
WR, CS ở bên ngoài.
Các đặc tính Analog:
 8 kênh chuyển đổi ADC 10 bit.
 Hai 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 Circuit Serial Programming)
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ế độ Sleep.
 Có thể hoạt động với nhiều dạng Oscillator khác nhau.

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 17


DỒ ÁN TỐT NGHIỆP
SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F877A

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 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
BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 18


DỒ ÁN TỐT NGHIỆP
đặ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 đó.
Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB,
PORTC, PORTD và PORTE. Cấu trúc và chức năng của từng cổng xuất nhập sẽ được đề
cập cụ thể trong phần sau.
PORTA:
PORTA (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 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 tính này sẽ được trình bày cụ thể trong phần sau.
Các thanh ghi SFR liên quan đến PORTA bao gồm:
PORTA (địa chỉ 05h): chứa giá trị các pin trong PORTA.

TRISA (địa chỉ 85h): điều khiển xuất nhập.
CMCON (đị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:
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ạp khác nhau. PORTB còn liên quan đế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.
BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 19


DỒ ÁN TỐT NGHIỆP
Các thanh ghi SFR liên quan đến PORTB bao gồm:
PORTB (địa chỉ 06h,106h): chứa giá trị các pin trong PORTB
TRISB (địa chỉ 86h,186h): điều khiển xuất nhập
OPTION_REG (địa chỉ 81h,181h): điều khiển ngắt ngoại vi và bộ Timer0.
PORTC:
PORTC (RPC) 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ân chức năng của bộ so sánh, bộ Timer1, bộ
PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART.
Các thanh ghi điều khiển liên quan đến PORTC:
PORTC (địa chỉ 07h): chứa giá trị các pin trong PORTC
TRISC (địa chỉ 87h): điều khiển xuất nhập.
PORTD:

PORTD (RPD) 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:
Thanh ghi PORTD: chứa giá trị các pin trong PORTD.
Thanh ghi TRISD: điều khiển xuất nhập.
Thanh ghi TRISE: điều khiển xuất nhập PORTE và chuẩn giao tiếp PSP.
PORTE:
PORTE (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 đó PORTE 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 PORTE bao gồm:
PORTE: chứa giá trị các chân trong PORTE.
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.
ADCON: thanh ghi điều khiển khối ADC.
3.3.3.Nhận dữ liệu qua chuẩn giao tiếp nối tiếp bất đồng bộ USART
BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 20


DỒ ÁN TỐT NGHIỆP
Dữ liệu được đưa vào từ chân RC7/RX/DT sẽ kích hoạt khối phục hồi dữ liệu. Khối
phục hồi dữ liệu thực chất là một bộ dịch dữ liệu ctốc độ cao va có tần số hoạt động gấp
16 lần hoặc 64 lần tần số baud. Trong khi đó tốc độ dịch của thanh thanh ghi nhận dữ liệu
sẽ bằng với tần số baud hoặc tần số của oscillator.
Bit điều khiển cho phép khối nhận dữ liệu là bit RCEN (RCSTA<4>). Thành phần
quan trọng nhất của khối nhận dữ liệu là thsnh ghi nhận dữ liệu RSR (Receive Shift
Register). Sau khi nhận diện bit Stop của dữ liệu truyền tới, dữ liệu nhận được trong

thanh ghi RSR sẽ được đưa vào thanh ghi RCGER, sau đó cờ hiệu RCIF (PIR1<5>) sẽ
được set và ngắt nhận được kích hoạt. Ngắt này được điều khiển bởi bit RCIE (PIE1<5>).
Bit cờ hiệu RCIF là bit chỉ đọc và không thể được tác động bởi chương trình. RCIF chỉ
reset về 0 khi dữ liệu nhận vào ở thanh ghi RCREG đã được đọc và khi đó thanh ghi
RCREG rỗng. Thanh ghi RCREG là thanh ghi có bộ đệm kép (double-buffered register)
và hoạt động theo cơ chế FIFO (First In First Out) cho phép nhận 2 byte và byte thứ 3
tiếp tục được đưa vào thanh ghi RSR. Nếu sau khi nhận được bit Stop của byte dữ liệu
thứ 3 mà thanh ghi RCREG vẫn còn đầy, cờ hiệu báo tràn dữ liệu (Overrun Error bit)
OERR(RCSTA<1>) sẽ được set, dữ liệu trong thanh ghi RSR sẽ bị mất đi và quá trình
đưa dữ liệu từ thanh ghi RSR vào thanh ghi RCREG sẽ bị gián đoạn. Trong trường hợp
này cần lấy hết dữ liệu ở thanh ghi RSREG vào trước khi tiếp tục nhận byte dữ liệu tiếp
theo. Bit OERR phải được xóa bằng phần mềm và thực hiện bằng cách clear bit RCEN
rồi set lại. Bit FERR (RCSTA<2>) sẽ được set khi phát hiện bit Stop dủa dữ liệu được
nhận vào. Bit dữ liệu thứ 9 sẽ được đưa vào bit RX9D (RCSTA<0>). Khi đọc dữ liệu từ
thanh ghi RCREG, hai bit FERR và RX9D sẽ nhận các giá trị mới. Do đó cần đọc dữ liệu
từ thanh ghi RCSTA trước khi đọc dữ liệu từ thanh ghi RCREG để tránh bị mất dữ liệu.
Tóm lại, khi sử dụng giao diện nhận dữ liệu USART bất đồng bộ cần tiến hành
tuần tự các bước sau:
1. Thiết lập tốc độ baud (đưa giá trị thích hợp vào thanh ghi SPBRG và bit BRGH.
2. Cho phép cổng giao tiếp USART bất đồng bộ (clear bit SYNC và set bit SPEN).
3. Nếu cần sử dụng ngắt nhận dữ liệu, set bit RCIE.
4. Nếu dữ liệu truyền nhận có định dạng là 9 bit, set bit RX9.
5. Cho phép nhận dữ liệu bằng cách set bit CREN.
BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 21


DỒ ÁN TỐT NGHIỆP
6. Sau khi dữ liệu được nhận, bit RCIF sẽ được set và ngắt được kích hoạt (nếu bit RCIE

được set).
7. Đọc giá trị thanh ghi RCSTA để đọc bit dữ liệu thứ 9 và kiểm tra xem quá trình nhận
dữ liệu có bị lỗi không.
8. Đọc 8 bit dữ liệu từ thanh ghi RCREG.
9. Nếu quá trình truyền nhận có lỗi xảy ra, xóa lỗi bằng cách xóa bit CREN.
10. Nếu sử dụng ngắt nhận cần set bit GIE và PEIE (thanh ghi INTCON).
Các thanh ghi liên quan đến quá trình nhận dữ liệu bằng giao diện USART bất
đồng bộ:
Thanh ghi INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): chứa các bit cho phép toàn
bộ các ngắt (bit GIER và PEIE).
Thanh ghi PIR1 (địa chỉ 0Ch): chứa cờ hiệu RCIE.
Thanh ghi PIE1 (địa chỉ 8Ch): chứa bit cho phép ngắt RCIE.
Thanh ghi RCSTA (địa chỉ 18h): xác định các trang thái trong quá trình nhận dữ
liệu.
Thanh ghi RCREG (địa chỉ 1Ah): chứa dữ liệu nhận được.
Thanh ghi TXSTA (địa chỉ 98h): chứa các bit điều khiển SYNC và BRGH.
Thanh ghi SPBRG (địa chỉ 99h): điều khiển tốc độ baud.

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 22


DỒ ÁN TỐT NGHIỆP

3.4

Ngôn ngữ lập trình CCS

Công cụ lập trình CCS:

GIỚI THIỆU CCS :

CCS là trình biên dịch dùng ngôn ngữ C lập trình cho VĐK. Đây là ngôn ngữ lập
trình đầy sức mạnh, giúp bạn nhanh chóng trong việc viết chương trình hơn so với ngôn
ngữ Assembly. Mã lệnh được tối ưu khi biên dịch.
Tuy nhiên C không phải là vạn năng, có thể thực hiện mọi thứ như ý muốn. Trong
1 số trường hợp, nó có thể sinh mã chạy sai (tham khảo các cải tiến ở các version CCS
trên web : info.CCS.com hoặc trang web đi kèm ).
CCS chứa rất nhiều hàm phục vụ cho mọi mục đích và có rất nhiều cách lập trình mã cho
cùng 1 vấn đề dẫn đến khác nhau tốc độ thực thi mã, độ dài chương trình. Sự tối ưu là do
kỹ năng lập trình C của bạn.
CCS C có đủ khả năng để bạn không cần phải chèn thêm bất kỳ dòng lệnh
ASSEMBLY nào, và mặc dù vẫn cho phép bạn phối hợp ASSEMBLY cùnh với C, tuy
nhiên CCS sẽ không bảo đảm chương trình chạy chính xác.

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 23


DỒ ÁN TỐT NGHIỆP
CCS cung cấp các công cụ tiện ích giám sát hoạt động chương trình như: C/ASM
list: cho phép xem mã ASM của file bạn biên dịch, giúp bạn quản lý mã và nắm được các
thức mã sinh ra và nó chạy như thế nào, là công cụ rất quan trọng, bạn có thể gỡ rối
chương trình và nắm được hoạt động của nó; SYMBOL hiển thị bộ nhớ cấp phát cho
từng biến, giúp quản lý bộ nhớ các biến chương trình,. . . CallTree hiển thị phân bổ bộ
nhớ.

SỬ DỤNG CCS:
Để viết 1 chương trình C mới : chạy CCS , vào New để tạo 1 file C mới . Trên

thanh toolbar : Chọn “Microchip 12 bit” để viết chương trình cho PIC 12 bit .
“Microchip 14 bit” để viết chương trình cho PIC 14 bit . “Microchip PIC18” để viết
chương trình cho PIC18 .

Chọn “Compiler” để biên dịch chương trình bạn đang viết.
Trên đây là cách viết chương trình cấp tốc và gọn . để viết chương trình 1 cách chi
tiết và cụ thể , sử dụng Project -> New -> PIC Wizard . Sau đó chọn tên project sẽ lưu ,
nhấn save . Bảng sau hiện ra :

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 24


DỒ ÁN TỐT NGHIỆP

Nếu sử dụng mạch dao động thạch anh ngoài thì điền giá thị xung clock vào ô sau :

Phải nhấp kép vào mới hiệu chỉnh được .
Chọn con PIC muốn lập trình :

Muốn xem trước mã sinh ra khi hiệu chỉnh bất kỳ điều gì , chọn :

BẢNG BÁO GIÁ VÀNG VÀ NGOẠI TỆ CẬP NHẬT TỪ INTERNET

Page 25


×