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

tìm hiểu và đưa ra mô hình quang báo sử dụng led ma trận 8x32

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.51 MB, 32 trang )

ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
Nhận xét của giáo viên hướng dẫn
…………………………………………………………………………………………………………………………… ………………
…………………………………………………………………………………………………………………………… ………………
…………………………………………………………………………………………………………………………… ………………
…………………………………………………………………………………………………………………………… ………………
…………………………………………………………………………………………………………………………… ………………
…………………………………………………………………………………………………………………………… ………………
Thái Nguyên, Ngày Tháng Năm 2011
Giáo viên hướng dẫn
(Ký ghi rõ họ tên)
Nhận xét của giáo viên chấm
…………………………………………………………………………………………………………………………… ………………
…………………………………………………………………………………………………………………………… ………………
…………………………………………………………………………………………………………………………… ………………
…………………………………………………………………………………………………………………………… ………………
…………………………………………………………………………………………………………………………… ………………
…………………………………………………………………………………………………………………………… ………………
…………………………………………………………………………………………………………………………… ………………
Thái Nguyên, Ngày Tháng Năm 2011
Giáo viên chấm
(Ký ghi rõ họ tên)
Bộ môn Kỹ thuật máy tính
1
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
MỤC LỤC
MỤC LỤC 2
LỜI NÓI ĐẦU 3
CHƯƠNG 1. PHÂN TÍCH HỆ THỐNG 4
CHƯƠNG 2. THIẾT KẾ HỆ THỐNG 8
2.6SƠ ĐỒ MÔ PHỎNG 26


2.7SƠ ĐỒ THUẬT TOÁN 27
2.7.1 Sơ đồ thuật toán tổng thể 27
2.7.2Sơ đồ thuật toán khối hiển thị 28
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG 29
Kết quả mô phỏng 31
ĐÁNH GIÁ VÀ KẾT LUẬN 32
TÀI LIỆU THAM KHẢO 32
Bộ môn Kỹ thuật máy tính
2
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
LỜI NÓI ĐẦU
Ngày nay với sự phát triển của xã hội cùng với sự phát triển của khoa
học kỹ thuật, cho nên nhu cầu về thông tin trở nên thiết yếu đối với con người
trong cuộc sống cũng như trong hoạt động sản xuất kinh doanh. Việc đưa
thông tin quảng cáo đến với người tiêu dùng,đến với xã hội trở nên dễ dàng
và nhanh chóng. Thông qua nhiều hình thức quảng cáo khác nhau mà các
doanh nghiệp giới thiệu sản phẩm của mình đến mọi người.Trong nhiều hình
thức đa dạng của thông tin quảng cáo như báo, đài, tivi,tờ rơi, áp phích… thì
việc dùng bảng thông tin điện tử là một cách đơn giản và hiệu quả để quảng
cáo.
Chúng ta bắt gặp rất nhiều bảng thông tin như vậy trong thực tế. Khi đi
vào một hiệu sách, bạn có thể biết được hiệu sách đó bán loại sách gì, giá cả
ra sao… là nhờ vào bảng đèn quang báo rất bắt mắt trước cửa hiệu. Hoặc khi
vào sân bay, bạn biết được giờ giấc các chuyến bay, các thông báo ngắn của
phi trường,…cũng là nhờ vào quang báo. Và khi đi trên đường phố lúc về
đêm, bạn sẽ bắt gặp cùng với ánh đèn màu là rất nhiều các bảng quang báo
lớn với các hình ảnh sinh động như ly bia Tiger đang trào bọt, hay các hình
ảnh, logo hiệnlên với đủ kiểu (từ trên xuống, từ trái sang, ……).
Với mong muốn giới thiệu những ứng dụng cơ bản của hệ thống nhúng
trong đời sống hiện đại và để mọi người biết đến một vài ứng dụng cụ thể

cũng như tầm quan trọng của các hệ thống nhúng, nhóm chúng em đã tìm
hiểu và đưa ra mô hình quang báo sử dụng LED ma trận 8x32.
Nhóm thực hiện đồ án chúng em xin chân thành cảm ơn
sự hướng dẫn tận tình của ThS. Nguyễn Văn Huy – Bộ môn Kỹ
thuật máy tính - Khoa Điện Tử đã giúp nhóm hoàn thành đề
tài một cách tốt nhất.
Chúng em xin chân thành cảm
ơn!
Nhóm thực hiện đề tài: Vũ Thị Nguyệt
Trần Thị Lưu
Lê Thị Thu Phương
Bộ môn Kỹ thuật máy tính
3
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
CHƯƠNG 1. PHÂN TÍCH HỆ THỐNG
1.1 ĐẶT VẤN ĐỀ
Quang báo là hình thức thông báo trên bảng đèn. Bảng đèn quang báo
gồm nhiều ma trận LED ghép lại, mỗi một ma trận biểu diễn một kí tự. Tùy
chiều dài của bảng đèn mà có thể hiển thị những bản tin có độ dài khác
nhau.Với sự ra đời của máy tính điện tử đặc biệt là máy vi tính, chúng có
những tính năng ưu việt như khả năng xử lý dữ liệu nhanh chóng, độ tin cậy
cao, lưu trữ lượng thông tin lớn và quan trọng hơn cả là máy tính có thể kết
hợp với nhiều thiết bị ngoại vi tùy theo mục đích ứng dụng cụ thể, mà việc
trao đổi và điều khiển trở nên đơn giản, chúng phụ thuộc vào phần mềm điều
khiển. Dựa vào tính đa dạng và mềm dẻo của máy tính người ta tìm cách ứng
dụng nó vào mục đích quảng cáo, chẳng hạn như dùng trong quang báo. Nhờ
vậy, việc thiết kế phần cứng cho quang báo trở thành ít phức tạp hơn, nhưng
độ tin cậy cao hơn. Trong thực tế để hiển thị các văn bản, người ta dùng các
kiểu chữ là các Ma Trận LED 8x32, 8x12 hoặc 8x14 tuỳ thuộc vào mục đích
sử dụng và độ phân giải.

1.2 GIỚI THIỆU VỀ HỆ THỐNG QUANG BÁO
Các công nghệ thiết kế quang báo hiện nay gồm nhiều công nghệ ,song
thường sủ dụng Led 7 thanh, Led ma trận, LCD, Led đơn
1.2.1 Hệ thống quang báo dùng LED 7 đoạn
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người
sử dụng với thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng
"led 7 đoạn". Led 7 đoạn được sử dụng khi các dãy số không đòi hỏi quá
phức tạp, chỉ cần hiện thị số là đủ, chẳng hạn led 7 đoạn được dùng để hiển
thị nhiệt độ phòng, trong các đồng hồ treo tường bằng điện tử, hiển thị số
lượng sản phẩm được kiểm tra sau một công đoạn nào đó… Led 7 đoạn có
cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có thêm một led
đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của led 7
đoạn.8 led đơn trên led 7 đoạn có Anode(cực +) hoặc Cathode (cực -) được
nối chung với nhau vào một điểm, được đưa chân ra ngoài để kết nối với
Bộ môn Kỹ thuật máy tính
4
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
mạch điện. 8 cực còn lại trên mỗi led đơn được đưa thành 8 chân riêng, cũng
được đưa ra ngoài để kết nối với mạch điện. Nếu led 7 đoạn có Anode(cực +)
chung, đầu chung này được nối với +Vcc, các chân còn lại dùng để điều khiển
trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân
này ở mức 0. Nếu led 7 đoạn có Cathode(cực -) chung, đầu chung này được
nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái
sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức
1.Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo
dòng qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối
với nguồn 5V có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín
hiệu điều khiển.
Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn
dòng điện qua led nếu led 7 đoạn được nối với nguồn 5v.Chân nhận tín hiệu a

điều khiển led a sáng tắt, ngõ vào b để điều khiển led b. Tương tự với các
chân và các led còn lại.
1.2.2 Hệ thống quang báo dùng LED đơn
Diode phát quang là Diode phát sáng khi ta phân cực thuận cho nó và
có dòng điện cấp qua. Diode này có thể phát ra màu sắc khác nhau. Tùy theo
mức năng lượng giải phóng cao hay thấp mà bước sóng ánh sáng phát ra khác
nhau (tức màu sắc của LED sẽ khác nhau). Mức năng lượng (và màu sắc của
LED) hoàn toàn phụ thuộc vào cấu trúc năng lượng của các nguyên tử chất
bán dẫn.
LED thường có điện thế phân cực thuận cao hơn diode thông thường, trong
khoảng 1,5 đến 3V. Nhưng điện thế phân cực nghịch ở LED thì không cao.
Do đó, LED rất dễ bị hư hỏng do điện thế ngược gây ra.
Ưu điểm: giá thành rẻ.
Nhược điểm: Phải xếp LED theo những gì muốn hiển thị, không thể
thay đổi được, khó khăn trong việc thi công những bảng quang báo có diện
tích lớn
Bộ môn Kỹ thuật máy tính
5
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
1.2.3 Hệ thống quang báo dùng LCD
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau.
Trong thời đại hiện nay LCD cũng được ứng dụng khá nhiều trong lĩnh vực
quang báo vì nó có khả năng hiển thị các nội dung cần truyền tải tốt hơn và
đưa lại kết quả tốt hơn nhiều so với các loại hình quang báo khác. Nhưng
trong thực tế loại hình này được sử dụng với tỉ lệ khá ít so với các loại hình
khác do giá thành và chi phí bảo dưỡng cao, khó khăn trong việc sửa chữa,
bảo dưỡng.
1.2.4 Hệ thống quang báo dùng LED ma trận
Bảng hiển thị ma trận LED (dot-matrix display) co rất nhiều loại và đủ
kích cỡ to nhỏ khác nhau, mỗi bảng gồm có rất nhiều LED đơn được ghép lại

vời nhau thánh một khối.Trong khối đó các LED đơn được sắp xếp theo các
hàng và các cột,tại mỗi giao điểm của hàng và cột là một LED đơn,và người
ta thường phân biệt các loại bảng LED theo số hàng và cột. Môt bảng led 5x7
tức là có 5 cột dọc và 7 hàng ngang,tổng cộng sẽ có 5x7=35 led đơn được
ghép lại.Cũng như vậy một bảng led 8x8 là có 8 hàng và 8 cột,do đó có 64 led
đơn ghép lại.Và nhiều loại cỡ to hơn như 16x16 hay 32x32.Trong đề tài này
chúng em sử dụng bảng led 8x32 tức là có 8 cột và 32 hàng, do đó có 256 led
đơn ghép lại.
1.3 CÁC GIẢI PHÁP VÀ CÁCH XÁC ĐỊNH BÀI TOÁN
1.3.1 Phân tích và lựa chọn phương án
Có rất nhiều các để điều khiển một bảng LED ma trận, trong đề tài này
chúng em sử dụng vi điều khiển PIC 16F877A.
Để có thể điều khiển được một khối LED ma trận 8x32 chúng ta không
thể chỉ sử dụng các chân của vi điều khiển nên ở đây em sử dụng thêm IC
dịch 74HC595 để mở rộng cổng, tiết kiệm chân cho vi điều khiển.
Để cấp đủ nguồn cho các LED và cho các LED sáng đều, chúng em sử
dụng IC đệm dòng ULN2803.
1.3.2 Xác định bài toán và giới hạn của đề tài
Hệ thống điều khiển 4 LED ma trận ,bảng led bao gồm 8 cột và 32
hàng
Hiển thị 3 chữ “DO AN HE THONG NHUNG - LED MATRIX 8x32”
trên nền led ma trận 8x32
Dòng chữ chạy từ phải qua trái.
Bộ môn Kỹ thuật máy tính
6
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
Bộ môn Kỹ thuật máy tính
7
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
CHƯƠNG 2. THIẾT KẾ HỆ THỐNG

2.1 SƠ ĐỒ KHỐI TỔNG THỂ CỦA HỆ THỐNG
Sơ đồ khối của hệ thống quang báo
Khối nguồn: Tạo ra điện áp một chiều ổn định 5V từ nguồn xoay chiều
220V để cung cấp cho các khối và linh kiện trong hệ thống.
Khối xử lý trung tâm: Tạo ra tín hiệu điều khiển khối điều khiển LED
ma trận và khối hiển thị để hiển thị các ký tự như chương trình đã định trước.
Khối điều khiển LED ma trận: Nhận tín hiệu từ khối xử lý trung tâm,
giải mã và cung cấp nguồn ổn định và đủ lớn để chuyển ra khối hiển thị.
Khối hiển thị: Nhận tín hiệu từ khối xử lý trung tâm và khối điều
khiển LED ma trận để hiển thị các ký tự theo chương trình đã trong khối xử lý
trung tâm
Bộ môn Kỹ thuật máy tính
KHỐI
NGUỒN
KHỐI
XỬ LÝ
TRUNG
TÂM
KHỐI
ĐIỀU
KHIỂN
LED
MA TRẬN
KHỐI
HIỂN
THỊ
8
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
2.2 SƠ ĐỒ CALL GRAPH
Sơ đồ Callgraph

2.3 SƠ ĐỒ ĐẶC TẢ CỦA HỆ THỐNG
Bộ môn Kỹ thuật máy tính
Module
Giải mã
Module
Hiển thị
IC Giải mã Led
Ma trận
Chương
trình điều
khiển chính
Tắt hết
LED
Hiển thị từng cột
Dịch trái
Bắt đầu
Delay
Hiển thị cột
tiếp theo
Delay
Hiển thị
hết
9
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
2.4 CÁC MODULE TRONG HỆ THỐNG
2.4.1 Module điều khiển trung tâm
Khối điều khiển trung tâm dùng vi điều khiển PIC16F877A. Vi điều
khiển sẽ xuất tín hiệu để điều khiển khối hiển thị (Led ma trận) và khối điều
khiển hiển thị theo các chương trình đã lập trình sẵn.
Bộ tạo dao động dùng thạch anh 20MHz cung cấp ngồn dao động cho

vi điều khiển
Bộ reset như trong hình vẽ dưới nhằm tạo ra xung reset, xác lập trạng thái ban
đầu cho vi điều khiển khi nút reset được nhấn.
Sơ đồ nguyên lý module điều khiển trung tâm
Bộ môn Kỹ thuật máy tính
10
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
2.4.2 Module hiển thị
Module hiển thị sử dụng 4 led ma trận 8x8 ghép nối lại với nhau thành
một ma trận 8x32. Các LED ma trận được nối chung các chân cho phép hàng
với nhau(H1 đến H8). Các chân cho phép cột được tách riêng và nối vào
Module điều khiển LED ma trận (C1 đến C32)
Sơ đồ module hiển thị
2.4.3 Module điều khiển LED ma trận
Module điều khiển LED được kết nối như hình dưới đây. Module sử
dụng IC chốt dịch 74HC595 và IC đệm dòng ULN2803.
Các chân Clock và Latch của IC 74HC595 được mắc song song như
hình vẽ. Chân Data của IC 74HC595 đầu tiên được nối vào vi điều khiển. Các
chân Data của 3 IC còn lại được mắc vào chân số 9 của IC 74HC595 trước
đó.
Các đầu ra của IC chốt dịch 74HC595 được mắc vào các cổng vào của
IC đệm dòng ULN2803, các đầu ra của ULN2803 sẽ được nối trực tiếp với
các chân cho phép cột của các LED ma trận trong module hiển thị.
Bộ môn Kỹ thuật máy tính
11
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
Sơ đồ module điều khiển LED ma trận
2.4.4 Module nguồn
Module này tạo ra điện áp một chiều từ nguồn xoay chiều 220V để
cung cấp cho các linh kiện trong hệ thống. Sử dụng biến áp để biến điện áp

xoay chiều 220V thành điện áp xoay chiều 12V, dùng chỉnh lưu từ 12V xoay
chiều sang 12V một chiều, dùng IC ổn áp để lấy ra điện áp ổn định 5V ở ngõ
ra.
Bộ môn Kỹ thuật máy tính
12
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
J 2
2 2 0 V ~
1
2
L 1
B i e n a p
- +
D i o t c a u
2
4
3
1
U 4
7 8 0 5
I N
1
G N D
2
O U T
3
V c c - 5 V
C 1
C
C 2

C
1 2 V
Module nguồn
2.5 LỰA CHỌN LINH KIỆN
2.5.1 Khối điều khiển
a. Sơ đồ chân vi điều khiển PIC 16F877A
Hình 2.9: Sơ đồ chân PIC 16F877A
b. Một vài thông số về vi điều khiển PIC 16F877A
Đâ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
Bộ môn Kỹ thuật máy tính
13
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
độ 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 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.
• 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 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ộ 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ộ môn Kỹ thuật máy tính
14
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
c. Sơ đồ khối vi điều khiển PIC 16F877A
Hình 2.10 : Sơ đồ khối vi điều khiển PIC16F877A
d. Tổ chức bộ nhớ
Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ
chương trình (program memory) và bộ nhớ dữ liệu (data memory) .
Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash ,
dung lượng bộ nhớ 8k word (1 word= 14bit) và được phân thành nhiều trang
(từ page 0 đến page 3) .Như vậy bộ nhớ chương trinh có khả năng chứa được
8*1024 =8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14
Bộ môn Kỹ thuật máy tính
15
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
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 (PC<12:0>) . Khi vi điều khiển reset , bộ
đếm chương trình sẽ chỉ đến địa chỉ 0000h (reset vector). Khi có ngắt xảy ra ,
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 sẽ được đề cập cụ thể trong phần
sau.
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm
nhiều bank. Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm 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 (Special Function Register) nằm ở các vùng địa chỉ thấp và các
thanh ghi mục đích chung GPR (General Purpose Pegister) nằm ở vùng địa

chỉ còn lại trong bank. Các thanh ghi SFR thường xuyên được sử dụng (ví dụ
như thanh ghi STATUS) sẽ được đặt ở tất cà các bank của bộ nhớ dữ liệu
giúp thuận tiện trong quá trình truy xuất và làm giảm bớt lệnh của chương
trình.
Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là
một vùng nhớ đặc biệt không cho phép đọc hay ghi. Khi lệnh CALL được
thực hiện hay khi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị của bộ
đếm chương trình PC tự động được vi điều khiển cất vào trong stack. Khi
một trong các lệnh RETURN, RETLW hat RETFIE được thực thi, giá trị PC
sẽ tự động được lấy ra từ trong stack, vi điều khiển sẽ thực hiện tiếp chương
trình theo đúng qui trình định trước.
Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa
được 8 địa chỉ và hoạt động 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ị 6 cất vào Stack lần thứ
2. Cần chú ý là không có cờ hiệu nào cho biết trạng thái stack, do đó ta
không biết được khi nào stack tràn. Bên cạnh đó tập lệnh của vi điều khiển
dòng PIC cũng không có lệnh POP hay PUSH, các thao tác với bộ nhớ stack
sẽ hoàn toàn được điều khiển bởi CPU.
e. 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
Bộ môn Kỹ thuật máy tính
16
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
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 đặ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 đó.
 Port A
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 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õ ra của bộ ADC, bộ so sánh, ngõ vào
analog ngõ vào xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP
(Master Synchronous Serial Port).
Các thanh ghi SFR liên quan đến Port A bao gồm:
Port A (địa chỉ 05h) : chứa giá trị các pin trong
Port A. 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.
 Port B
Port B (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 Port B 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.
Port B còn liên quan đến ngắt ngoại vi và bộ Timer0. Port B còn được tích
Bộ môn Kỹ thuật máy tính
17

ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
hợp chức năng điện trở kéo lên được điều khiển bởi chương trình.
Các thanh ghi SFR liên quan đến Port B bao gồm:
Port B (địa chỉ 06h,106h) : chứa giá trị các pin trong
Port B 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
 Port C
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 đó Port C 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 Port C:
Port C (địa chỉ 07h) : chứa giá trị các pin trong
Port C TRISC (địa chỉ 87h) : điều khiển xuất nhập.
 Port D
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 Port D : chứa giá trị các pin trong Port D.
Thanh ghi TRISD : điều khiển xuất nhập.
Thanh ghi TRISE : điều khiển xuất nhập Port E và chuẩn giao tiếp PSP.
 Port E
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 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
ADCON1: thanh ghi điều khiển khối ADC.

Bộ môn Kỹ thuật máy tính
18
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
f. Ngắt (Interrupt)
PIC16F877A có đến 15 nguồn tạo ra hoạt động ngắt được điều khiển
bởi thanh ghi INTCON (bit GIE). Bên cạnh đó mỗi ngắt còn có một bit điều
khiển và cờ ngắt riêng. Các cờ ngắt vẫn được set bình thường khi thỏa mãn
điều kiện ngắt xảy ra bất chấp trạng thái của bit GIE, tuy nhiên hoạt động ngắt
vẫn phụ thuộc vào bit GIE và các bit điều khiển khác. Bit điều khiển ngắt
RB0/INT và TMR0 nằm trong thanh ghi INTCON, thanh ghi này còn chứa
bit cho phép các ngắt ngoại vi PEIE. Bit điều khiển các ngắt nằm trong thanh
ghi PIE1 và PIE2. Cờ ngắt của các ngắt nằm trong thanh ghi PIR1 và PIR2.
Trong một thời điểm chỉ có một chương trình ngắt được thực thi,
chương trình ngắt được kết thúc bằng lệnh RETFIE. Khi chương trình ngắt
được thực thi, bit GIE tự động được xóa, địa chỉ lệnh tiếp theo của chương
trình chính được cất vào trong bộ nhớ Stack và bộ đếm chương trình sẽ chỉ
đến địa chỉ 0004h. Lệnh RETFIE được dùng để thoát khỏi chương trình ngắt
và quay trở về chương trình chính, đồng thời bit GIE cũng sẽ được set để cho
phép các ngắt hoạt động trở lại. Các cờ hiệu được dùng để kiểm tra ngắt nào
đang xảy ra và phải được xóa bằng chương trình trước khi cho phép ngắt tiếp
tục hoạt động trở lại để ta có thể phát hiện được thời điểm tiếp theo mà ngắt
xảy ra.
Đối với các ngắt ngoại vi như ngắt từ chân INT hay ngắt từ sự thay đổi
trạng thái các pin của PORTB (PORTB Interrupt on change), việc xác định
ngắt nào xảy ra cần 3 hoặc 4 chu kì lệnh tùy thuộc vào thời điểm xảy ra ngắt.
Cần chú ý là trong quá trình thực thi ngắt, chỉ có giá trị của bộ đếm
chương trình được cất vào trong Stack, trong khi một số thanh ghi quan trọng
sẽ không được cất và có thể bị thay đổi giá trị trong quá trình thực thi chương
trình ngắt. Điều này nên được xử lý bằng chương trình để tránh hiện tượng
trên xảy ra.

 Ngắt INT
Ngắt này dựa trên sự thay đổi trạng thái của pin RB0/INT. Cạnh tác
động gây ra ngắt có thể là cạnh lên hay cạnh xuống và được điều khiển bởi
bit INTEDG (thanh ghi OPTION_ REG <6>). Khi có cạnh tác động thích
hợp xuất hiện tại pin RB0/INT, cờ ngắt INTF được set bất chấp trạng thái các
bit điều khiển GIE và PEIE. Ngắt này có khả năng đánh thức vi điều khiển từ
Bộ môn Kỹ thuật máy tính
19
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
chế độ sleep nếu bit cho phép ngắt được set trước khi lệnh SLEEP được thực
thi.
 Ngắt do sự thay đổt trạng thái các PIN trong Port B
Các pin PORTB<7:4> được dùng cho ngắt này và được điều khiển bởi
bit RBIE (thanh ghi INTCON<4>). Cờ ngắt của ngắt này là bit RBIF
(INTCON<0>).

Hình ảnh thực tế vi điều khiển PIC 16F877A
2.5.2 Khối nguồn
Khối nguồn của mạch sử dụng IC ổn áp LM7805 thuộc dòng 78xx.
78xx là loại IC dùng để ổn định điện áp dương với điều kiện điện áp đầu vào
luôn luôn lớn hơn đầu ra 3V. Dòng IC 78xx có nhiều loại, ổn định nhiều mức
điện áp khác nhau, cụ thể ở đây 7805 là dùng để ổn định điện áp đầu ra ở mức
5V.

Sơ đồ chân và hình ảnh thực tế IC 7805
7805 đóng gói dạng TO-220 gồm có 3 chân:
1. Vin: Chân đầu nguồn vào
2. GND: Chân nối đất
Bộ môn Kỹ thuật máy tính
20

ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
3. Vo: Chân đầu nguồn ra
Như chúng ta biết, mạch ổn áp dùng Diode Zener tuy nhỏ gọn, đơn
giản nhưng có nhược điểm cho dòng điện nhỏ (~20mA). Để tạo ra một điện
áp cố định nhưng dòng điện lớn hơn người ta mắc thêm một Tranzitor để
khuếch đại như sơ đồ dưới đây:
Sơ đồ cấu tạo IC ổn áp 7805
Đây cũng chính là sơ đồ cấu tạo của IC 7805. Thông qua R và Dz ghim
điện áp cố định trên chân E của Tranzitor Q1
Mạch ổn áp dùng trên ổn áp 7805 (78xx nói chung) rất ổn định và hiệu
quả nên được sử dụng rộng rãi, sơ đồ lắp mạch đơn giản như sau:
Sơ đồ mạch ổn áp dùng IC ổn áp 7805
2.5.3 IC dịch 74HC595
74HC595 là một thanh ghi dịch 8 bit đầu vào nối tiếp, có các đầu ra
song song và nối tiếp, ngõ ra có bộ đệm 3 trạng thái.
Sơ đồ chân của 74HC595 như sau:
Bộ môn Kỹ thuật máy tính
21
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
Sơ đồ chân 74HC595
Sơ đồ logic của 74HC595
QA,QB,QC,QD,QE,QF,QG,QH: là các ngõ ra song song của 74HC595
- Chân 14 (A): đầu vào nối tiếp
- Chân 9 (SQ
H
) : đẩu ra nối tiếp
Bộ môn Kỹ thuật máy tính
22
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
- Chân 13 (Output Enable): Tích cực mức thấp, khi chân này ở mức thấp

thì tín hiệu từ bộ chốt được đưa ra đầu ra. Khi nó ở mức cao thì các đầu
ra song song ở trạng thái trở kháng cao. Đầu ra nối tiếp không bị ảnh
hưởng bởi chân này.
- Chân 12 (Latch clock): Quá trình chuyển từ mức thấp sang mức cao ở
Latch clock sẽ chốt dữ liệu được dịch trong thanh ghi dich vào bộ chốt.
- Chân 11 (Shift Clock) : Đầu vào xung nhịp, một quá trình chuyển từ
mức thấp đến mức cao ở chân này sẽ dịch dữ liệu trong thanh ghi dịch
một nhịp.
- Chân 10 (Reset) : Reset không đồng bộ, tích cực mức thấp. Mức thấp ở
chân này sẽ reset thanh ghi dịch nhưng không reset bộ chốt lối ra.
Hình ảnh thực tế IC chốt dich 74HC595
2.5.4 IC đệm dòng ULN2803
Đây là IC gồm 8 transistor NPN ghép Darlington gắn mạch điện tử
trong dãy này của chuổi là một bộ lý tưởng để giao tiếp với mạch điện dạng
số mức logic thấp như: TTL, CMOS hoặc PMOS/NMOS
Sơ đồ khối IC ULN2803
Bộ môn Kỹ thuật máy tính
23
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
ULN2803 được thiết kế để phù hợp với chuẩn TTL
Vài chỉ số kĩ thuật của IC ULN2803:
• Dòng điện ngõ vào khoảng 25mA
• Điện áp ngõ vào khoảng 0.5V – 30V
• Dòng ra tới 500 mA/ 50 V
• Đệm 8 kênh riêng biệt
• Đầu ra đảo.
Sơ đồ cấu tạo 1 kênh đệm dòng của ULN2803
Hình ảnh thực tế IC ULN2803
2.5.5 Khối hiển thị (LED ma trận)
Khối hiển thị là một khối LED ma trận 8x32 được ghép thành từ 4 LED

ma trận 8x8.
Mỗi LED ma trận 8x8 được tạo nên bằng cách ghép 64 LED đơn vào
với nhau theo sơ đồ dưới đây:
Bộ môn Kỹ thuật máy tính
24
ĐAMH Hệ thống nhúng GVHD: Nguyễn Văn Huy
Sơ đồ nguyên lý LED ma trận 8x8
Hình ảnh thực tế của một LED ma trận 8x8
Kết nối 4 LED ma trận 8x8 như trên theo nguyên tắc nối chung hàng
hoặc chung cột ta sẽ được một LED ma trận 8x32 với 40 chân điều khiển.
Nếu nối chung hàng thì sẽ có 8 chân điều khiển hàng và 32 chân điều khiển
cột. Và ngược lại, nếu nối chung cột thì sẽ có 8 chân điều khiển cột và 32
chân điều khiển hàng.
Bộ môn Kỹ thuật máy tính
25

×