Tải bản đầy đủ (.pdf) (56 trang)

đề tài VI ĐIỀU KHIỂN VỚI QUANG BÁO

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.28 MB, 56 trang )

HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 3
SVTH: Nguyễn Ngọc Luân





PHẦN I
GIỚI THIỆU

HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 4
SVTH: Nguyễn Ngọc Luân
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
· á ¸




























HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 5
SVTH: Nguyễn Ngọc Luân
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
· á ¸


























HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 6
SVTH: Nguyễn Ngọc Luân
LỜI MỞ ĐẦU
- - - ¹ ± º - - -

Ngày nay với sự phát triển vượt bậc của xã hội, đặc biệt là trong các ngành kỹ
thuật. Khi mà các sản phẩm mới liên tục ra đời, những vât liệu nổi trội hơn, công nghệ
mới cũng ra đời… Song song đó thì nhu cầu của con người đối với sự tiến bộ của xã hội
cũng ngày càng khắc khe hơn. Đặc biệt khi ngành công nghệ số, trí tuệ nhân tạo ra đời nó
cũng len lõi mọ
i lĩnh vực của xã hội. Ví dụ điển hình là tronh lĩnh vực quản bá truyền
thông. Khi nhu cầu của các nhà kinh doanh ngày càng cao hơn về việc quảng cáo các sản
phẩm, dịch vụ của mình đến với người tiêu dùng khắp mọi nơi và từ đó lĩnh vực này cũng
liên tục cải thiện. Khi máy tính ra đời đặc biệt là công nghệ số thì lĩnh vực truyền thông
đã có những bước phát triển đ
áng kể, các loại hình quảng cáo như pano, apphich, bản
hiệu,…đã dần nhường chỗ cho các bảng điện tử đầy đủ màu sắc. Và đặc biệt hơn chúng

có thể gửi đến mọi người các thông điệp đặc sắc, phong phú mà trước đây thì công nghệ
chưa cho phép. Chẳng hạn như: nhiều màu sắc, linh động, hình ảnh đẹp, có thể nhảy múa
với đầy đủ các hiệu ứng m
ới lạ trước mắt người xem. Khi mà quá trình đô thị hoá ngày
càng nhanh cùng với sự phát triển của các toà nhà, cao ốc,…thì không gian ngày càng thu
hẹp và tất nhiên những biển quảng cáo khổ rộng đã dần được thay thế bằng các bảng điện
tử, led, LCD,…
Khi bạn bước vào một ngân hàng, một cửa hiệu hay bất chợt đi trên đường bạn
cũng có thể bắt gặp những dòng chữ đầy màu sắc chạy qua ch
ạy lại thể hiện đầy đủ các
thông điệp mà nhà kinh doanh muốn gửi đến tất cả mọi người. Đáp ứng nhu cầu đó và
cũng để hiểu thêm về công nhệ cũng như quá trình thiết kế thi công các loại bảng led
quảng cáo, tôi quyết định chọn đề tài VI ĐIỀU KHIỂN VỚI QUANG BÁO để phục vụ
cho môn đồ án 2. Trong quá trình thực hiện đề tài do lượng kiến thứ
c khổng lồ nhưng sự
hiểu biết của tôi là có hạn nên không thể khai thác được hết các công năng của vi điều
khiển mà chỉ sử dụng một vài chức năng cơ bản. Và cũng chưa có nhiều kinh nghiệm
trong quá trình thực hiện các đề tài, tất nhiên cũng không thể tránh được những sai xót.
Rất mong nhận được những đóng góp chân thành của quý thầy cô và các bạn để có thể
thực hiệ
n tốt hơn cho các lần tiếp theo.
Xin chân thành cảm ơn./.
Tp Hồ Chí Minh tháng 01 - 2011
Sinh viên thực hiện




Nguyễn Ngọc Luân


HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 7
SVTH: Nguyễn Ngọc Luân
MỤC LỤC

PHẦN I GIỚI THIỆU 1
Nhận xét của giáo viên hướng dẫn 4
Nhận xét của giáo viên phản biện 5
Lời nói đầu 6
Mục lục 7
PHẦN II NỘI DUNG 9
Chương I Giới thiệu các linh kiện dùng trong đề tài 10
I. Khối xử lý trung tâm – vi điều khiển 10
I.1 Khái niệm vi điều khiển 10
I.2 Giới thiệu họ vi điều khiển PIC 16F887 10
I.2.1 PIC là gì? 10
I.2.2 Tại sao là PIC mà không là các họ vi điều khiển khác 10
I.2.3 Bộ vi điề
u khiển 8bit PIC 16F887 11
II. IC giao tiếp máy tính MAX 232 29
II.1 Tổng quan chuẩn RS232 29
II.1.1 Đặt vấn đề 29
II.1.2 Ưu điểm của chuẩn RS232 30
II.1.3 Những đặc điểm cần lưu ý trong chuẩn RS232 30
II.1.4 Các mức điện áp đường truyền 30
II.1.5 Chuẩn RS232 trên máy tính 30
II.1.6 Quá trình truyền nhận dữ liệu 31
II.2 Sơ đồ kết nối IC MAX232 32
III. Ram mở rộng 33
III.1 Giới thiệu 33

III.2 Sơ đồ chân IC HM62256ALP 33
III.3 Gi
ải thích sơ đồ chân 34
III.4 Sơ đồ khối HM62256ALP 35
III.5 Nguyên lý hoạt động truy xuất dữ liệu của HM62256ALP 35
III.5.1 Quá trình ghi dữ liệu vào Ram 35
III.5.2 Quá trình đọc dữ liệu từ ram 36
IV. IC ghi dịch 74HC595 36
IV.1 Giới thiệu 36
IV.2 Sơ đồ chân 36
IV.3 Giải thích sơ đồ chân 37
V. Led ma trận 38
V.1 Hình dạng và cấu tạo 38
V.2 Nguyên lý hoạt động 39
Chương II Nguyên lý hoạt động của đề tài 41
I. Sơ đồ khối hiễn thị 41
I.1 Bộ nguồn 41
I.2 Bộ dao động thạch anh 41
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 8
SVTH: Nguyễn Ngọc Luân
I.3 Bộ reset 42
I.4 Khối xử lý trung tâm 42
I.5 Khối giải mã cột 42
I.6 Khối giải mã hang 42
I.7 Khối hiển thị 42
I.8 Khối giao tiếp máy tính 42
II. Nguyên tắc hoạt động của đề tài 42
II.1 Nguyên tắc hoạt động của led ma trận 43
II.1.1 Hiển thị ký tự trên led ma trận 43

II.1.2 Dịch chữ trên led ma trận 45
II.2 Nguyên tắc truyền nhận dữ liệu từ máy tính 46
PHẦN III PHỤ LỤC 47
Phụ lục A Chương trình điều khi
ển 48
Phụ lục B Sơ đồ mạch in hai mặt 58






HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 9
SVTH: Nguyễn Ngọc Luân










PHẦN II
NỘI DUNG
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 10
SVTH: Nguyễn Ngọc Luân

CHƯƠNG I
GIỚI THIỆU CÁC LINH KIỆN DÙNG TRONG
ĐỀ TÀI
· n ¸

I. Khối xử lý trung tâm - vi điều khiển
I.1 Khái niệm vi điều khiển
Để hiểu khái niệm về bộ vi điều khiển, ta có thể làm phép so sánh với bộ vi xử lý
công dụng chung nhu sau:
Ta biết rằng, các bộ vi xử lý công dụng chung như họ INTEL X 86 ( 8086,80286,
80386, 80486 và PENTIUM) hoặc họ MOTOROLA 680x0( 6800, 68010,
68020,68030,68040 v v ) không có Ram , Rom và không có các các cổng ra vào trên
Chip…với lý do đó mà chúng được gọi là các bộ vi xử lý công dụng chung.
Một nhà thiết kế hệ thống sử dụng một bộ vi xử lý công dụng chung chẳng hạn
như Pentium hay 68040 sẽ phải bổ xung them RAM, ROM, các c
ổng vào ra và các bộ
định thời ngoài để làm cho chúng hoạt động được. Mặc dù việc bổ xung các RAM, ROM,
các cổng vào ra sẽ làm cho hệ thống cồng kềnh lên nhưng nó lại có ưu điểm khi sử dụng
các bộ vi xử lý này là rất linh hoạt. Chẳng hạn như người thiết kế có thể quyết định về số
lượng RAM, ROM, và các cổng vào ra cấn thiết sao cho phù hợp với khả năng, mục đích
sử dụng của hệ thống.
Điều này không thể có đối với các bộ vi điều khiển. Bởi vì, một vi điều khiển đã
có một CPU cùng với một số lượng RAM, ROM, các cổng vào ra và một bộ định thời
trên cùng một chip. Hay nói cách khác là bộ vi xử lý, RAM, ROM, các cổng vào ra và
một bộ định thời được nhúng trên một chip. Do vậy người thiết kế không thể bổ xung
thêm bộ nhớ ngoài, s
ố các cổng vào ra hoặc bộ định thời cho nó. Với số lượng RAM,
ROM và các cổng vào ra có định như vậy là một mặt hạn chế xong nó lại thật sự lý tưởng
đối với những ứng dụng mang tính chuyên biệt, tối ưu về giá thành, tối ưu về không
gian…

Hiện nay trên thị trường có các bộ vi điều hiển 8 Bit chính là 6811 của Motorola,
8051 của Intel, Z8 của Xilog và PIC16X của Microchip Technology. Mỗi loại trên đểu có
một tâp l
ệnh và thanh ghi duy nhất, nên chúng đều không tương thích lẫn nhau. Cũng có
những bộ vi điều khiển 16 bít và 32 bít được sản xuất ra bởi các hãng sản xuất khác nhau.
I.2 Giới thiệu họ vi điều khiển PIC16F887
I.2.1 PIC là gì ??
PIC là viết tắt của “Programable Inteled ma trậnigent Computer”, có thể tạm dịch
là “máy tính thông minh khả trình” do hãng Genenral Intrument đặ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 khiển này sau đó được nghiêm cứu phát triển
I.2.2 Tại sao là PIC mà không là các họ vi điều khiển khác ??
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 11
SVTH: Nguyễn Ngọc Luân
Hiện nay trên thị trường có rất nhiều họ vi điều khiển như 8051, Motorola 68HC,
AVR, ARM,… Ngoài họ 8051 được hướng dẫn một cách căn bản ở một số trường đại
học, bản thân người viết đã chọn họ vi điều khiển PIC để mở rộng vốn kiến thức và phát
triển các ứng dụng trên công cụ này vì các nguyên nhân sau:
- Họ vi điều khiển này có thể tìm mua d
ễ dàng tại thị trường Việt Nam.
- Giá thành không quá đắt
- Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập.
- Là sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho hơ vi điều khiển
mang tính truyền thống: họ vi điều khiển 8051
- Số lượng người sử d
ụng họ vi điều khiển PIC: hiện nay tại Việt Nam cũng như
trên thế giới, họ vi điều khiển này sử dụng khá rộng rãi. Điều này tạo thuận lợi
trong quá trình tìm hiểu và phát triển các ứng dụng như: số lượng tài liệu, số các
ứng dụng mở đã được phát triển thành công, dễ dàng trao đổi, học tập, dễ dàng

tìm được sự chỉ dẫn khi gặp khó kh
ăn,…
- Sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương
trình từ đơn giản đến phức tạp,…
- Các tính năng đa dạng của vi điều khiển PIC, và các t1inh năng này không ngừng
phát triển.
Ngày nay, các bộ vi điều khiển đang có ứng dụng ngày càng rộng rãi trong các lĩnh
vực kỹ thuật và đời sống xã hội, đặc biệ
t là trong kỹ thuật tự động hóa và điều khiển từ
xa. Giờ đây với nhu cầu chuyên dụng hóa, tối ưu (thời gian, không gian, giá thành), bảo
mật, tính chủ động trong công việc…ngày càng đòi hỏi khắt khe. Việc đưa ra công nghệ
mới trong lĩnh vực chế tạo mạch điện tử để đáp ứng những yêu cầu trên là hoàn toàn cấp
thiết mang tính thực tế cao
I.2.3 Bộ vi điều khiển 8 bit PIC16F887
I.2.3.a Đặc tính nổi bật của bộ vi xử lý
+ Sử dụng công nghệ tích hợp cao RISC CPU
+ Người sử dụng có thể lập trình với 35 câu lệnh đơn giản.
+ Tất cả các câu lệnh thực hiện trong một chu kỳ lệnh ngoại trừ một số câu lệnh rẽ
nhánh thực hiện trong hai chu ký lệnh.
+ Tốc độ hoạt động là : - Xung đồng hồ vào là DC – 20MHz - Chu kỳ lệnh thực
hiện trong 200ns
+ Bộ nhớ ch
ương trình Flash 8Kx14 words
+ Bộ nhớ SRAM 368x8 bytes
+ Bộ nhớ EFPROM 256x8 bytes
+ Số port I/O 35 ports
Khả năng của bộ vi xử lý này
+ Khả năng ngắt (lên tới 14 nguồn ngắt trong và ngắt ngoài)
+ Ngăn nhớ Stack được phân chia làm 8 mức
+ Truy cập bộ nhớ bằng địa chỉ trực tiếp hoặc gián tiếp.

+
Nguồn khởi động lại ( POR)
+
Bộ tạo thời gian (PWRT) và bộ tạo dao động (OST|)
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 12
SVTH: Nguyễn Ngọc Luân
+ Bộ đếm xung thời gian (WDT) với nguồn dao động trên chip (nguồn dao động
RC) hoạt động đáng tin cậy.

+
Có mã chương trình bảo vệ.
+
Phương thức cất giữ Sleep
+
Thiết kế hoàn toàn tĩnh.
+
Dải điện thế hoạt động rộng: 2.0V đến 5.5V
+
Nguồn điện sử dụng hiện tại 25mA
Các đặt tính nổi bật của thiết bị ngoại vi trên chip
+
TIMER0: 8 bit của bộ định thời, bộ đếm với hệ số tỷ lệ trước.
+
TIMER1: 16 bit của bộ định thời, bộ đếm với hệ số tỷ lệ trước, có khả năng tăng
trong khi ở chế độ Sleep qua xung đồng hồ được cung cấp bên ngoài.

+
TIMER2: 8 bit của bộ định thời, bộ đếm với 8 bit của hệ số tỷ lệ trước, hệ số tỷ lệ
sau.


+
Bộ chuyển đổi tín hiệu số sang tương tự với 10 bit.
+
Cổng truyền thông tin nối tiếp SSP với SPI phương thức chủ và I
2
C(chủ / phụ).
Sơ đồ chân vi điều khiển PIC16F877A


HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 13
SVTH: Nguyễn Ngọc Luân


Hình 1: Sơ đồ chân PIC 16F887

Sơ đồ khối vi điều khiển PIC16f877A

HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 14
SVTH: Nguyễn Ngọc Luân

Hình 2: Sơ đồ khối PIC 16F887
I.2.3.b Tổ chức bộ nhớ
Cấu trúc bộ nhớ của vi điều khiển PIC16F887 bao gồm bộ nhớ chương trình
(Programmemory) và bộ nhớ dữ liệu (Data Memory)
a). Bộ nhớ chương trình
Bộ nhớ chương trình của vi điều khiển PIC16F887 là bộ nhớ Flash, dung lượng
bộ nhớ 8K word (1 word = 14 bit) và được phân chia làm nhiều trang ( từ page 0 đến

HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 15
SVTH: Nguyễn Ngọc Luâ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ã hoá sẽ có dung lượng 1 word (14 bit))
Để 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
Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h
(Interrupt vector).
Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hoá bở
i
bộ đếm chươ trình.
Bảng bộ nhớ chương trình và các ngăn xếp


Hình 3: Tổ chức bộ nhớ PIC 16F887
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 chia làm 4 bank. Mỗi bank có dung lượng 128 byte, bao gồm
các thanh ghi có chức năng đặc biệt SFG (Spencial Function Register) nằm ở các vùng
địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở các
vùng địa chỉ cón lại trong bank. Các thanh ghi SFG 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ộ
đếm 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 PIC16F887 nhu sau:
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 16
SVTH: Nguyễn Ngọc Luân




Hình 4: Bộ nhớ dữ liệu.
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 17
SVTH: Nguyễn Ngọc Luân


c). Thanh ghi chức năng đặc biệt
Đây là các thanh ghi đượ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 đựoc tích hợp bên trong vi điều khiển. Có thể phân chia SFR
làm hai loại: thanh ghi SFR lien quan đến các 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,…). Các thanh ghi lien quan đến chức năng bên trong:

¾ Thanh ghi SATUS (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 suấ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 puled ma trận-up của các chân 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 Timer0.


HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 18
SVTH: Nguyễn Ngọc Luân
¾ 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 ngọai 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 PEI1.

¾ 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à nga81t 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.

d). Thanh ghi mục đích 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 Rersister). Đây là các thanh ghi dữ liệu thông thường, người sử dụng
có thể tuỳ theo mục đích chương trình mà có thể dùng các thanh ghi này dể 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.
II.2.3.c 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 có lệnh gọi chương trình con thực thi hay

khi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị bộ đếm chương trình PC tự động
được vi điều khiển cất vào stack. Khi một trong các lệnh RETURN, RETFILE hay
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 19
SVTH: Nguyễn Ngọc Luân
RETLW đượ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 quy trình định trước.
Bộ nhớ Stack trong vi điều khiển PIC16F887 có khả năng chứa được 8 địa chỉ và
hoạt động theo 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ứ 2.
Không có cờ hiệu nào cho biết trạng thái Stack, do đó ta không biết khi nào Stack
tràn.

II.2.3.d Các cổng xuất nhập của PIC16F887
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ớ 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), tuỳ theo
cách bố trí và chức năng của vi điều khiển mà số
lượng các chân và số lương cổng nhập
xuất 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ực 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 đó.
Vi điều khiển PIC16F887 có 5 cổng xuất nhập, bao gồm PORTA, PORTB,

PORTC, PORTD và PORTE.
a). PORTA
PORTA (RPA) bao gồm 8 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à outout, 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 ).




HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 20
SVTH: Nguyễn Ngọc Luân

b). 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ó đượ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.










HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 21
SVTH: Nguyễn Ngọc Luân


Hình 5: Sơ đồ khối PORTB <RB3:RB0>
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 22
SVTH: Nguyễn Ngọc Luân


Hình 6: Sơ đồ khối PORTB <RB7:RB4>
c). PORTC
PORTC gồm 8 pin I/O : RC0 đến RC3 ứng với các chân từ số 15 đến số 18; RC4
đến RC7 ứng với các chân từ số 23 đến số 26 .
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 IC2,
SPI, SSP, USART.



d). PORTD
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2

GVHD: thầy Phạm Hùng Kim Khánh Trang 23
SVTH: Nguyễn Ngọc Luân
PORTD gồm 8 pin I/O: RD0, RD1, RD2, RD3 ứng với các chân số 19, 20, 21 và
chân số 22 của vi điều khiển, RD4 đến RD7 ứng với các chân số 27 đến chân số 30.
Thanh ghi điều khiển xuất nhập tương ứng là TRISD ( địa chỉ 88h ). PORTD còn là cổng
xuất dữ liệu của chuẩn giao tiếp PSP (Paraled ma trậnel Slave Port).



Hình 7: Sơ đồ khối PORTD <RD4:RD0>
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 24
SVTH: Nguyễn Ngọc Luân


Hình 8: Sơ đồ khối PORTD<RD7:RD5>
e). PORTE
PORTE gồm 4 chân I/O: RE0, RE1, RE2, RE3 ứng với các chân số 8, 9,10 và
chân số 1.Thanh ghi điều khiển xuất nhập tương ứng là TRISE (địa chỉ 89h ). 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.
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 25
SVTH: Nguyễn Ngọc Luân

Hình 9: Sơ đồ khối PORTE RE3


Hình 10: Sơ đồ khối PORTE<RE2:RE0>


II.2.3.e Các bộ định thời của chip
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 26
SVTH: Nguyễn Ngọc Luân
Bộ vi điều khiển PIC16F887 có 3 bộ định thời Timer đó là: Timer0, Timer1,
Timer2.
a). Bộ Timer0:
Đây là một trong ba bộ đếm hoặc bộ định thời của vi điều khiển PIC16F887.
Timer0 là bộ đếm 8 bit được kết nối với bộ chia tần (prescaler) 8 bit. Cấu trúc của Timer0
cho phép ta lựa chọn xung clock tác động và cạnh tich cực của xung clock. Ngắt Timer0
sẽ xuất hiện khi Timer0 bị tràn. Bit TMR0IE ( INTCON<5>) là bit điều khiển của
Timer0. TMR0IE=1 cho phép ngắt Timer0 tác động, TMR0IE=0 không cho phép ngắt
Timer0 tác động.

Hình 11: Sơ đồ khối bộ TIMER0
b). Bộ Timer1:
Timer1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong thanh ghi
(TMR1H:TMR1L). cờ ngắt của Timer1 là bit TMR1IF. Bit điều khiển của Timer1 sẽ là
TMR1IE.
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 osciled ma trậnator (tần số của Timer bằng ¼
tần số của osciled ma trậnator) 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 RCO/T1OSO/T1CKI (cạnh tác
động là cạnh lên). Việc lựa chọn chế độ hoạt động của Timer được điểu khiển bởi bit
TMR1CS.
HỌC VIỆN HÀNG KHÔNG VIỆT NAM ĐỒ ÁN MÔN HỌC 2
GVHD: thầy Phạm Hùng Kim Khánh Trang 27
SVTH: Nguyễn Ngọc Luân


Hình 12: Sơ đồ khối bộ TIMER1

c). Bộ Timer2:
Timer2 là bộ định thời 8 bit và được hỗ trợ bởi hai bộ chia tần prescaler và
postscaler. Thanh ghi chứa giá trị đếm của Timer2 là TMR2. Bit cho phép ngắt Timer2
tác động là TMR2ON. Cờ ngắt của Timer2 là bit TMR2IF. Xung ngõ vào được đưa qua
bộ chia tần số prescaler 4 bit (với các tỉ số chia tần là 1:1, 1:4 hoặc 1:16) và được điều
khiển bởi các bit T2CKPS1:T2CKPS0.

×