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

báo cáo vi điều khiển 8051

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 (558.81 KB, 35 trang )

ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
MỤC LỤC
A.PHẦN MỞ ĐẦU
I. Đặt vấn đề 1
II. Giới hạn của đề tài 1
B. PHẦN NỘI DUNG
Chương I. Giới thiệu chung và các phương pháp thực hiện 5
Chương II.Giới thiệu các linh kiện trong mạch 7
I. IC xử lý trung tâm 89C51 7
1. Sơ đồ chân vi điều khiển 89C51 7
2. Cấu trúc bên trong của vi điều khiển 89C51 9
a. Sơ đồ khối bên trong vi điều khiên 89C51 9
b. Tổ chức bộ nhớ 9
II. Khảo sát IC 78XX 18
a. cấu trúc bên trong và sơ đồ chân 18
b. Chức năng của các chân 19
2.Khảo sát IC TPIC 6B595 19
a. Sơ đồ chân 19
b. Cấu trúc bên trong của IC TPIC 6B595 20
c. Hoạt động của IC TPIC 6B595 thông qua dạng sóng 21
d. Các thông số của IC TPIC 6B595 21
3. Khảo sát IC ULN2803 21
a. Sơ đồ chân 21
b. Thông số của IC ULN 2803 22
4. Khảo sát transistor A1015 22
a. Sơ đồ chân 22
b. Trạng thái hoạt động 23
c. Thông số của transistor A1015 23
5. Led ma trận 8x8 24
a. Cấu trúc và sơ đồ chân của led 24


b. Thông số của led 25
Trang 2
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
Chương III. Thiết kế mạch 26
I. Mạch điều khiển 26
1. Thiết kế mạch điều khiển 26
2. Thíêt kế khối công suất hàng 27
3. Thiết kế khối nguồn 27
4. Sơ đồ mạch điện 28
a. Sơ đồ mạch nguyên lý 28
b. Sơ đồ mạch in 29
II. Thiết kế khối quét và khối hiển thị 30
1. Cơ sở lý luận 30
2. Sơ đồ nguyên lý 30
3. Sơ đồ mạch in 31
Chương IV.Thiết kế phần mềm và thi công 32
I. Thiết kế phần mềm 32
1. Lưu đồ chương chình chính 32
2. Chương trình cho vi điều khiển 35
II. Kết quả thi công 36
C. PHẦN KẾT LUẬN 37
Trang 3
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
A. PHẦN MỞ ĐẦU
I.ĐẶT VẤN ĐỀ:
 Ngày nay với sự phát triển vượt bậc của khoa học kỹ thuật, và góp phần rất
lớn cho sự phát triển đó phải kể đến công nghệ điện tử.
 Nhờ sự phát triển của công nghệ điên tử mà đặt biệt là công nghệ viễn thông

đã giúp ích rất nhiều cho cuộc sống của con người. cái mà chúng ta dễ dàng nhận thấy
nhất chẳn hạn như cập nhật thông tin qua mạng để hướng dẫn cho mọi người lưu thông
trên đường một cách dể dàng hơn hay là những bảng quảng cáo nhiều màu rực rở thể hiện
nhiều nội dung có thể thay đổi dược mà chúng ta thường thấy trong các cửa hàng hay là
các khách sạn lớn, hay là các bảng thông tin thể hiện tỉ giá ở trong ngân hàng có thể cập
nhật thông tin qua mạng internet…
 Có nhiều cách hiển thị thông tin. Nhưng những bảng thể hiện nội dung
thông tin bằng điện lại gây nhiều ấn tượng và tác động mạnh đến người xem nhất.
 Các biển báo để thể hiện nội dung cần truyền đạt trên gọi là mạch quang
báo, bao gồm cả phần điều khiển và phần hiển thị.
II.GIỚI HẠN CỦA ĐỀ TÀI:
 Có nhiều cách và phương án để thực hiện một mạch quang báo.
mạch điều khiển ta có thể thiết kế :
 Sử dụng thanh ghi kết nối với nhau và các linh kiện khác để điều khiển.
 Ưu điểm: chỉ thiết kế phần cứng không có phần mềm.
 Khuyết điểm: phần cứng phức tạp, thể hiện ít nội dung
 Sử dụng vi điểu khiển.
 Ưu điểm: phần cứng đơn giản, có thể thể hiện và thay đổi nhiều nội dung
một cách linh họat. Khi cần thay đồi nội dung chỉ cần thay đổi chương trình điều
khiển
 Khuyết điểm: phần mềm phức tạp.
 Sử dụng eeprom:
 Ưu điểm: phần cứng đơn giản, dễ lập trình
 Khuyết điểm: với số ngõ ra cố định và ít nên khó khăn trong
việc kết nối với các hệ thống lớn.
 Phần hiển thị: có nhiều thiết bị để hiện thị như đèn
220V, đèn 12V hay 24V, led hiển thị ma trận, led đơn…vv.
 Trong đề tài thiết kế mạch quang báo sử dụng
vi điều khiển 89C51 và hiển thị bằng led ma trận này chỉ trình bày một cách khái quát về
vi điều khiển 89C51. Nội dung hiển thị của bảng quang báo muốn thay đổi được thì phải

thay đổi chương trình nạp cho vi điều khiển, dẩn đến khó khăn trong muốn thay đổi nội
dung hiển thị.
Trang 4
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
B. PHẦN NỘI DUNG
CHƯƠNG I: GIỚI THIỆU CHUNG VÀ CÁC
PHƯƠNG PHÁP THỰC HIỆN
• Như đã đề cập một cách tổng quát ở trên để thiết kế một mạch quang báo
thì có rất nhìêu cách: dùng IC rời, vi điều khiền và giao tiếp máy tính, efprom….
 Nếu dùng các IC rời thì phần cứng điều khiển rất phức tạp, bảng quảng cáo
ít sinh động. khi muốn thay đổi kiểu hiển thị thì phảo thay đổi phần cứng.
 Nếu dùng Efprom thì gía thành rẻ dễ thiết kế phần cứng, chương trình viết
tương đối dễ dàng hơn vi điều khiển, khi thay đồi cách hiển thị ta chỉ cần thay đổi chương
trình nạp cho epprom nhưng nội dung của bảng quang báo không thay đổi được.
 Nếu dùng vi điều khiển và led ma trận để hiển thị thì nội dung của bảng
quang báo có thể thay đổi dễ dàng hơn, nhưng chương trình viết cho vi điều khiển lại khá
phức tạp hơn so với việc lập trình cho efprom.
 Từ những phân tích trên ta có thể thấy được mạch quang báo sử dụng vi
điều khiển và led ma trận phù hợp với mức độ yêu cầu của đồ án môn học phần 1. Đó
cũng là lý do để em chọn đề tài này.
Sơ đồ khối mạch quang báo:
Trang 5
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
Chức năng của các khối:
 Khối nguồn: đảm bảo cung cấp nguồn với dòng điện cung cấp cho tòan mạch
nhưng bản thân nó không bị quá dòng.
 Khối điều khiển: gồm vi điều khiển có nhiệm vụ xuất tín hiệu điều khiển khối
quét và khối công suất để cung cấp sự điều khiển cho led ma trận.

 Khối quét cột: nận tín hiệu điều khiển để quét cột cho led ma trận bao gồm các
thanh ghi dịch 8 bit.
 Khối công suất hàng: khuyếch đại dòng và áp do vi điều khiển xuất ra để hiển thị
dữ liệu cho led.
 Khối hiển thị: bao gồm các ma trận led 8x8 ghép nối lại với nhau. Nhận tín hiệu
từ bộ khuếch đại công suất để hiện thị nôi dung thông tin của bàng quang báo.
Trang 6
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
CHƯƠNG II:GIỚI THIỆU CÁC LINH KIỆN TRONG
MẠCH
I. IC XỬ LÝ TRUNG TÂM 89C51 :
1. Sơ đồ chân 89C51:
 89S51 là IC vi điều khiển (Microcontroller) do hãng Intel sản xuất. IC này có đặc
điểm như sau:
 4k byte ROM,128 byte RAM nội.
 4 Port I/O 8 bit.
 2 bộ đếm/ định thời 16 bit.
 Giao tiếp truyền dữ liệu nối tiếp.
 64k byte bộ nhớ bên ngoài dung để lưu chương trình điều khiển.
 64k byte bộ nhớ bên ngoài dung để lưu dữ liệu.
 210 bit có thể truy xuất từng bit
 Có các lệnh xử lý bit.
 Sơ lược về các chân của 89C51:

Hình 2-1. Sơ đồ chân 89C51
Trang 7
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
Chức năng của các chân 89C51:

Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7). Port 0 có 2 chức năng: trong các thiết kế
cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO, đối với thiết kế
lớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và bus dữ liệu.
Port 1: từ chân 1 đến chân 8 (P1.0 _ P1.7). Port 1 chỉ có chức năng dung làm các
đường điều khiển xuất nhập IO
Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7). Nếu không dùng bộ nhớ mở rộng bên
ngoài thì port 2 dùng làm các đường điều khiển IO.Nếu dung bộ nhớ mở rộng bên ngoài
thì port 2 có chức năng là bus địa chỉ cao A0 – A15.
Port 3: từ chân 10 đến chân 17 (P3.0 _ P3.7). Port 3 là port có 2 chức năng.Các chân
port này có nhiều chức năng , các công dụng chuyển đổi có liên hệ đặc biệt của 89C51
như ở bảng sau:
Bit Tên Chức năng chuyển đổi
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD
TXD
/INT0
/INT1
T0
T1
/WR
/RD
Ngõ vào nhập dữ liệu nối tiếp.
Ngõ xuất dữ liệu nối tiếp.

Ngõ vào ngắt cứng thứ 0.
Ngõ vào ngắt cứng thứ 1.
Ngõ vào của TIMER/ COUNTER thứ 0.
Ngõ vào của TIMER/ COUNTER thứ 1.
Tín hiệu điều khiển ghi dữ liệu lên bộ nhớ
ngoài.
Tín hiệu điều khiển đọc bộ nhớ dữ liệu ngoài.
Bảng 2-2. Chức năng các chân của Port 3
PSEN (Program store enable):
PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình
mở rộng thường được nối đến chân OE\ của Eprom cho phép đọc các byte mã lệnh.
PSEN ở mức thấp trong thời gian 89C51 lấy lệnh. Các mã lệnh của chương trình
được đọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong 89C51 để
giải mã lệnh. Khi 89C51 thi hành chương trình trong EPROM nội PSEN ở mức logic 1.
ALE (Address Latch Enable):
Khi 89C51 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ và dữ
liệu (AD7 – AD0) do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra ALE ở chân
thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết
nối chúng với IC chốt.
Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ
thấp nên chốt địa chỉ hoàn toàn tự động.
EA\ (External Access):
Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1 hoặc mức 0.
Nếu ở mức 1 thì vi điều khiển thi hành chương trình từ bộ nhớ nội.
Nếu ở mức 0 thì vi điều khiển thi hành chương trình từ bộ nhớ ngoại.
Trang 8
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
RST (Reset):
Ngõ vào chân 9 là ngõ vào Reset.Khi cấp điện cho hệ thống hoặc nhấn nút reset thì

mạch sẽ reset vi điều khiển.Khi reset thì tín hiệu reset phải ở mức cao ít nhất 2 chu kì
máy.
Các ngõ vào bộ dao động Xtal1, Xtal2:
Bộ tạo dao động được tích hợp bên trong 89C51. Khi sử dụng 89C51, người ta chỉ
cần nối thêm tụ thạch anh và các tụ. Tần số tụ thạch anh thường là 12 Mh – 24 Mh.
2. Cấu trúc bên trong của 89C51
a. Sơ đồ khối bên trong 89C51:
Hình 2-3. Cấu trúc bên trong của vi điều khiển
b. Tổ chức bộ nhớ:
Trang 9
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
Hình 2-4. Bảng tóm tắt các vùng nhớ 89C51
7F FF
F0 F7 F6 F5 F4 F3 F2 F1 F0 B
RAM đa dụng
E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC
D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW
30 B8 - - - BC BB BA B9 B8 IP
2F 7F 7E 7D 7C 7B 7A 79 78
2E 77 76 75 74 73 72 71 70 B0 B7 B6 B5 B4 B3 B2 B1 B0 P.3
2D 6F 6E 6D 6C 6B 6A 69 68
2C 67 66 65 64 63 62 61 60 A8 AF AC AB AA A9 A8 IE
2B 5F 5E 5D 5C 5B 5A 59 58
2A 57 56 55 54 53 52 51 50 A0 A7 A6 A5 A4 A3 A2 A1 A0 P2
29 4F 4E 4D 4C 4B 4A 49 48
28 47 46 45 44 43 42 41 40 99 Không được địa chỉ hoá bit SBUF
27 3F 3E 3D 3C 3B 3A 39 38 98 9F 9E 9D 9C 9B 9A 99 98 SCON
26 37 36 35 34 33 32 31 30
25 2F 2E 2D 2C 2B 2A 29 28 90 97 96 95 94 93 92 91 90 P1

24 27 26 25 24 23 22 21 20
23 1F 1E 1D 1C 1B 1A 19 18 8D Không được địa chỉ hoá bit TH1
22 17 16 15 14 13 12 11 10 8C Không được địa chỉ hoá bit TH0
21 0F 0E 0D 0C 0B 0A 09 08 8B Không được địa chỉ hoá bit TL1
20 07 06 05 04 03 02 01 00 8A Không được địa chỉ hoá bit TL0
1F Bank 3 89 Không được địa chỉ hoá bit TMOD
18 88 8F 8E 8D 8C 8B 8A 89 88 TCON
17 Bank 2 87 Không được địa chỉ hoá bit PCON
10
0F Bank 1 83 Không được địa chỉ hoá bit DPH
08 82 Không được địa chỉ hoá bit DPL
07 Bank thanh ghi 0 81 Không được địa chỉ hoá bit SP
00 (mặc định cho R0 -R7) 88 87 86 85 84 83 82 81 80 P0
Hình 2-5. Cấu trúc bộ nhớ Ram bên trong vi điều khiển
 Bộ nhớ trong 89C51 bao gồm ROM và RAM. RAM trong 89C51 bao gồm
nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các bank thanh
ghi và các thanh ghi chức năng đặc biệt.
 89C51 có bộ nhớ theo cấu trúc Harvard: có những vùng bộ nhớ riêng biệt cho
chương trình và dữ liệu. Chương trình và dữ liệu có thể chứa bên trong 8951 nhưng 8951
vẫn có thể kết nối với 64K byte bộ nhớ chương trình và 64K byte dữ liệu.
Ram bên trong 89C51 được phân chia như sau:
Trang 10
Địa chỉ
byte
Địa chỉ bit
Địa chỉ
byte
Địa chỉ bit
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`

 Các bank thanh ghi có địa chỉ từ 00H đến 1FH.
 Ram địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH.
 Ram đa dụng từ 30H đến 7FH.
 Các thanh ghi chức năng đặc biệt từ 80H đến FFH.
Ram đa dụng:
Vùng nhớ Ram đa dụng gồm có 80 byte địa chỉ từ 30H – 7FH .Vùng nhớ bank
thanh ghi 32 byte từ 00H – 1FH cũng có thể dung làm vùng nhớ Ram đa dụng. Mọi địa
chỉ trong vùng Ram đa dụng đều có thể truy xuất tự do dùng kiểu địa chỉ trực tiếp hoặc
gián tiếp. Bộ nhớ ngan xếp của vi điều khiển dùng bộ nhớ Ram nội nên dung lượng bộ
nhớ ngăn xếp nhỏ trong khi đó các bộ vi xử lý bên ngoài làm bộ nhớ ngăn xếp nên dung
lượng tùy ý mở rộng.
Ram có thể truy xuất từng bit:
89C51 chứa 210 bit được địa chỉ hóa từng bit, trong đó 128 bit chứa ở các byte có
địa chỉ từ 20H đến 2FH, các bit còn lại chứa trong nhóm thanh ghi chức năng đặc biệt.
Ýtưởng truy xuất từng bit bằng phần mềm là một đặc tính mạnh của vi điều khiển
nói chung. Các bit có thể được đặt, xóa, and, or,… với 1 lệnh đơn. Ngoài ra các port cũng
có thể truy xuất được từng bít làm đơn giản phần mềm xuất nhập từng bit.
Các bank thanh ghi:
 Bộ lệnh 89C51 hỗ trợ 8 thanh ghi có tên là R0 đến R7 và theo mặc định
(sau khi reset hệ thống), các thanh ghi nàyở các địa chỉ 00H đến 07H.
 Đây là lệnh 1 byte dùng địa chỉ thanh ghi. Tuy nhiên có thể thi hành bằng
lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ 2: MOV A, 05H.
 Lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn nhiều
so với lệnh tương ứng dùng địa chỉ trực tiếp.
 Bank thanh ghi tích cực bằng cách thay đổi các bit trong từ trạng thái
chương trình (PSW). Giả sủ thanh ghi thứ 3 đang được truy xuất, lệnh sau đây sẽ di
chuyển nội dung của thanh ghi A vào ô nhớ ram có địa chỉ 18H:
MOV R0, A.
Các thanh ghi có chức năng đặc biệt:
89C51 có 21 thanh ghi chức năng đặc biệt (SFR: Special Funtion Register) ở vùng

trên của RAM nội từ địa chỉ 80H đến FFH.
• Chú ý: tất cả 128 địa chỉ từ 80H đến FFH không được định nghĩa, chỉ có
21 thanh ghi chức năng đặc biệt được định nghĩa sẵn các địa chỉ.
Các thanh ghi port xuất nhập:
Trang 11
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
Các port của 89C51 bao gồm port 0 ở địa chỉ 80H, port 1 ở địa chỉ 90H, port 2 ở
địa chỉ A0H, và port3 ở địa chỉ B0H. tất cả các port này đều có thể truy xuất từng bit nên
rất thuận tiện trong khả năng giao tiếp.
Các thanh ghi timer:
89C51 có chứa 2 bộ định thời/ đếm 16 bit được dùng cho việc định thời hoặc đếm
sự kiện. Timer 0 ở địa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao). Timer 1 ở địa
chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao). Việc khởi động timer được Set bởi
Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiển timer (TCON) ở địa chỉ
88H, chỉ có TCON được địa chỉ hóa từng bit.
Các thanh ghi port nối tiếp:
89C51 chứa một port nối tiếp dành cho việc trao đổi thông tin với các thiết bị nối
tiếp như máy tính, modem hoặc giao tiếp nối tiếp với các IC khác. Một thanh ghi gọi là
bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả 2 dữ liệu truyền và dữ liệu nhận.
Khi truyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF. Các mode vận hành
khác nhau được lập trình qua thanh ghi điều khiển port nối tiếp SCON ở địa chỉ 98H.
Các thanh ghi ngắt:
89C51 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên. Các ngắt bị cấm sau khi reset hệ
thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở địa chỉ A8H, cả
2 thanh ghi được địa chỉ hóa từng bit.
Thanh ghi điều khiển công suất:
Thanh ghi điều khiển công suất (PCON) ở địa chỉ 87H chứa các bit điều khiển.
Tín hiệu Reset:
89C51 có ngõ vào reset RST tác động ở mức cao trong khoảng thời gian 2 chu kỳ,

sau đó xuống mức thấp để 89C51 bắt đầu làm việc. RST có thể kích bằng tay bằng một
phím nhấn thường mở, sơ đồ mạch reset như hình trên (hình a)
sau khi reset hệ thống được tóm tắt như sau:
Trang 12
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
Thanh ghi Nội dung
Đếm chương trình PC
Thanhghi tích lũy A
Thanh ghi B
Thanh ghi trạng thái
SP
DPTR
Port 0 đến Port 3
IP
IE
Các thanh ghi định thời
0000H
00H
00H
00H
07H
0000H
FFH
XXX0000 B
0XX00000 B
00H
Hoạt động thanh ghi TIMER
 89C51 có hai timer 16 bit, mỗi timer có bốn cách làm việc. Người ta sử
dụng các timer để:

 Định khoảng thời gian.
 Đếm sự kiện.
 Tạo tốc độ baud cho port nối tiếp trong 89C51.
 Trong các ứng dụng định khoảng thời gian, người ta lập trình
timer ở những khoảng đều đặn và đặt cờ tràn timer. Cờ được dùng để đồng bộ hóa
chương trình để thực hiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc gửi
sự kiện ra các ngõra. Các ứng dụng khác có thể sử dụng việc tạo xung nhịp đều đặn của
timer để đo thời gian trôi qua giữa hai sự kiện (ví dụ đo độ rộng xung ).
 Truy xuất các timer của 89C51 dùng sáu thanh ghi chức năng
đặc biệt cho trong bảng sau:
SFR Mục Đích Địa chỉ Địa chỉ hóa từng bit
TCON Điều khiển Timer 88H Có
TMOD Chế độ Timer 89H Không
TL0 Byte thấp của Timer 0 90H Không
TL1 Byte thấp của Timer 1 91H Không
TH0 Byte cao của Timer 0 92H Không
TH1 Byte cao của Timer 1 93H Không
Các thanh ghi chức năng của timer trong 8031.
Trang 13
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
Thanh ghi chế độ timer (TMOD):
Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho Timer 0, và
Timer 1.
Bit Tên Timer Mô tả
7 GATE 1 Bit mở cổng, khi lên 1 timer chỉ chạy khi INT1 ở mức cao
6 C/T 1 Bit chọn chế độ Count/Timer
1 = bộ đếm sự kiện
0 = bộ định khoảng thời gian
5 M1 1 Bit 1 của chế độ mode

4 M0 1 Bit 0 của chế độ mode
3 GATE 0 Bit mở cổng, khi lên 1 timer chỉ chạy khi INT0 ở mức cao
2 C/T 0 Bit chọn chế độ Count/Timer
1 M1 0 Bit 1 của chế độ mode
0 M0 0 Bit 0 của chế độ mode
Tóm tắt thanh ghi chức năng TMOD.
Thanh ghi điều khiển timer(TCON)
Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho Timer 1, Timer 0
Bit Ký hiệu Địa chỉ Mô tả
TCON.7 TF1 8FH Cờ báo tràn timer 1. Đặt bởi phần cứng khi tràn,
được xóa bởi phần mềm, hoặc phần cứng khi bộ xử
lý chỉ đến chương trình phục vụ ngắt.
TCON.6 TR1 8EH Bit điều khiển timer 1 chạy đặt xóa bằng phần mềm
để cho timer chạy ngưng.
TCON.5 TF0 8DH Cờ báo tràn Timer 0.
TCON.4 TR0 8CH Bit điều khiển Timer 0 chạy
TCON.3 IE1 8BH Cờ cạnh ngắt 1 bên ngoài. Đặt bởi phần cứng khi
phát hiện một cạnh xuống ở INT1 xóa bằng phần
mềm họăc phần cứng khi CPU chỉ đến chương trình
phục vụ ngắt.
TCON.2 IT1 8AH Cờ kiểu ngắt 1 bên ngoài. Đặt xóa bằng phần mềm
để ngắt ngoài tích cực cạnh xuống /mức thấp.
TCON.1 IE0 89H Cờ cạnh ngắt 0 bên ngòai
TCON.0 IT0 88h Cờ kiểu ngắt 0 bên ngoài
Tóm tắt thanh ghi chức năng TCON
Trang 14
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
Khởi động và truy xuất thanh ghi timer:
 Thông thường các thanh ghi được khởi động một lần đầu ở chương trình để

đặt ở chế độ làm việc đúng. Sau đó, trong thân chương trình, các thanh ghi timer được
cho chạy, dừng, các bit được kiểm tra và xóa, các thanh ghi timer được đọc và cập
nhật…. theo đòi hỏi các ứng dụng.
 TMOD là thanh ghi thứ nhất được khởi động vì nó đặt chế độ hoạt động. Ví
dụ, các lệnh sau khởi động Timer 1 như timer 16 bit (chế độ 1) có xung nhịp từ bộ dao
động tên chip cho việc định khoảng thời gian:
MOV TMOD, #1B
Lệnh này sẽ đặt M1 = 1 và M0 = 0 cho chế độ 1, C/ T= 0 và GATE = 0 cho xung
nhịp nội và xóa các bit chế độ Timer 0. Dĩ nhiên, timer không thật sự bắt đầu định thời
cho đến khi bit điều khiển chạy TR1 được đặt lên 1.
Nếu cần số đếm ban đầu, các thanh ghi TL1/TH1 cũng phải được khởi động. Một
khoảng 100µs có thể được khởi động bằng cách khởi động giá trị cho TH1/TL1 là
FF9CH:
MOV TL1, #9CH
MOV TH1, #0FFH
Rồi timer được cho chạy bằng cách đặt bit điều khiển chạy như sau:
SETB TR1
Cờ báo tràn được tự động đặt lên 1 sau 100µs. Phần mềm có thể đợi trong 100 µs
bằng cách dùng lệnh rẽ nhánh có điều kiện nhảy đến chính nó trong khi cờ báo tràn chưa
được đặt lên 1:
WAIT: JNB TF1, WAIT
Khi timer tràn, cần dừng timer và xóa cờ báo tràn trong phần mềm:
CLR TR1
CLR TF1
Ngắt ( INTERRUPT)
 Một ngắt là sự xảy ra một điều kiện, một sự kiện mà nó
gây ra treo tạm thời thời chương trình chính trong khi điều kiện đó được phục vụ bởi một
chương trình khác.
 Các ngắt đóng một vai trò quan trọng trong thiết kế và
cài đặt các ứng dụng vi điều khiển. Chúng cho phép hệ thống đáp ứng bất đồng bộ với

một sự kiện và giải quyết sự kiện đó trong khi một chương trình khác đang thực thi.
Trang 15
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
Tổ chức ngắt của 89C51:
 Có 5 nguồn ngắt ở 89C51: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port
nối tiếp. Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và được cho
phép từng cái một bằng phần mềm.
 Khi có hai hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra khi một
ngắt khác đang được phục vụ, có cả hai sự tuần tự hỏi vòng và sơ đồ ưu tiên hai mức
dùng để xác định việc thực hiện các ngắt. Việc hỏi vòng tuần tự thì cố định nhưng ưu tiên
ngắt thì có thể lập trình được.
 Cho phép và cấm ngắt :mỗi nguồn ngắt được cho phép hoặc cấm ngắt
qua một thanh ghi chức năng đặt biệt có định địa chỉ bit IE ( Interrupt Enable : cho phép
ngắt ) ở địa chỉ A8H.
Bit Ký hiệu Địa chỉ bit Mô tả
IE.7 EA AFH Cho phép / Cấm toàn bộ
IE.6 _ AEH Không được mô tả
IE.5 ET2 ADH Cho phép ngắt từ Timer 2 (8052)
IE.4 ES ACH Cho phép ngắt port nối tiếp
IE.3 ET1 ABH Cho phép ngắt từ Timer 1
IE.2 EX1 AAH Cho phép ngắt ngoài 1
IE.1 ET0 A9H Cho phép ngắt từ Timer 0
IE.0 EX0 A8H Cho phép ngắt ngoài 0
Tóm tắt thanh ghi IE
Các cờ ngắt :
Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó được đặt lên một
để xác nhận ngắt.
Ngắt Cờ Thanh ghi SFR và vị trí bit
Bên ngoài 0 IE0 TCON.1

Bên ngoài 1 IE1 TCON.3
Timer 1 TF1 TCON.7
Timer 0 TF0 TCON.5
Port nối tiếp TI SCON.1
Port nối tiếp RI SCON.0
Các lọai cờ ngắt
Các vectơ ngắt :
Khi chấp nhận ngắt, giá trị được nạp vào PC được gọi là vector ngắt. Nó là địa chỉ
bắt đầu của ISR cho nguồn tạo ngắt, các vector ngắt được cho ở bảng sau
Trang 16
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
Ngắt Cờ Địa chỉ vector
Reset hệ thống RST 0000H
Bên ngoài 0 IE0 0003H
Timer 0 TF0 000BH
Bên ngoài 1 IE1 0013H
Timer 1 TF1 001BH
Port nối tiếp TI và RI 0023H
Timer 2 002BH
Vector reset hệ thống (RST ở địa chỉ 0000H) được để trong bảng này vì theo nghĩa
này, nó giống ngắt : nó ngắt chương trình chính và nạp cho PC giá trị mới.
Kết hợp 89C51 với bộ nhớ ngoài
 Vi xử lý (Microprocessor) là IC chuyên dụng về xử lý dữ liệu, điều khiển
theo một chương trình, muốn Microprocessor thực hiện một công việc gì người sử dụng
phải lập trình hay viết chương trình. Chương trình phải lưư trữ ở đâu để Microprocessor
nhận lệnh và thi hành, đôi khi trong lúc xử lý chương trình Microprocessor cần nơi lưư
trữ tạm thời các dữ liệu sau đó lấy ra để tiếp tục xử lý. Nơi lưu trữ chương trình cho
Microprocessor thực hiện và nơi lưu trữ tạm thời dữ liệu chính là bộ nhớ. Các bộ nhớ
của Microprcessor là các IC, các IC nhớ này có thể đọc dữ liệu ra, ghi dữ liệu vào hoặc

chỉ đọc dữ liệu ra. Đôi khi bộ nhớ của Microprocessor không đủ để lưu trữ những thông
tin cần thiết khi chạy chương trình, khi đó phải dùng kỹ thuật mở rộng bộ nhớ. 89C51 có
khả năng mở rộng bộ nhớ đến 64k byte bộ nhớ chương trình và 64k byte bộ nhớ dữ liệu
bên ngoài. Bộ nhớ chương trình là bộ nhớ Rom còn bộ nhớ dữ liệu là bộ nhớ Ram.
 Bộ nhớ Ram chia ra làm 2 loại Sram và Dram. Dram được chế tạo dùng kỹ
thuật MOS, có dung lượng bộ nhớ lớn, công xuất tiêu tán thấp và tốc độ hoạt động trung
bình. Ơ Sram dữ liệu lưu trữ vào các Flip- Flop còn Dram dữ liệu lưu trữ mức 0 và 1
tương đương với quá trình nạp và xả của một tụ điện khoảng vài pF. Bởi vì điện áp của tụ
sẽ suy giảm dần do đó Dram đòi hỏi chu kỳ nạp lại nếu không muốn mất dữ liệu và được
gọi là quá trình làm tươi Ram, đây chính là khuyết điểm của Dram so với Sram. Bộ nhớ
Rom có nhiều loại: PROM, EPROM, EEPROM nhưng EPROM có thể lập trình bởi
người dùng, có thể xóa và lập trình lại nhiều lần nên trong đồ án này chúng em dùng
EPROM 2764 và dùng SRAM 6264. Đặc điểm, sơ đồ chân và bảng sự thật của 2764 và
6264 ở hình dưới đây
II. Khảo sát IC 74XX:
 Có nhiều lọai IC ổn áp, trong đó lọai IC ổn áp 3 chân được sử dụng rộng rãi vì
chúng nhỏ gọn và cần rất ít các linh kiện bên ngòai kèm theo. IC ổn áp 3 chân có lợi cho
việc thiết kế các bộ nguồn nhỏ ổn định hay các ổn áp trên các card.
Trang 17
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
 IC ổn áp 3 chân lọai có điện áp ra cố định có 2 lọai là ổn áp âm và ổn áp dương.
Có nhiều lọai IC ồn áp nhưng ta chỉ xét đến họ 78xx tương ứng với Ic ổn áp dương. XX
chỉ điện áp ra cố định của nó. Cụ thể là IC 7805 là IC ổn áp dương có điện áp ra cố định
là 5v. IC 7812 là IC ổn áp dương có điện áp ra cố định là 12v. tùy dòng điện ở ngõ ra là
bao nhiêu mà ta chọn các loại IC cho phù hợp.
 78lxx: dòng điện ra định danh là 100mA
 78xx: dòng điện ra định danh là 1A
 78Hxx: dòng điện ra định danh là 5A
 Đặc biệt có 78L62 : ổn áp 6,2V

a. Cấu trúc bên trong và sơ đồ chân
b. Chức năng của các chân:
 Chân số 1 lấy điện áp vào.
 Chân số 2 nối mass
 Chân số 3 lấy điện áp ra.
2. KHẢO SÁT IC TPIC 6B595:
Trang 18
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
IC TPIC6B595 là một IC tích hợp gồm nhiều thanh ghi dịch được mắc nối tiếp. dữ
liệu được đưa vào nối tiếp và được lấy ra song song qua hai tầng xung CK. IC 6B595 có
dòng ra lớn có thể đạt được 500mA.
a. Sơ đồ chân:
Trong đó:
 Các chân 4,5,6,7,14,15,16,17. Là các ngõ ra song song của IC.
 Chân 18 là chân dữ liệu ra nối tiếp nhằm kết nối với các tầng tiếp theo.
 Chân 8 (srclr\) là chân chó pháp xóa các dữ liệu ngõ ra.
 Chân 12,13 (srck và rck) là các xung ck.
 Chân 9 (g\) chân cho pháp xuất dữ liệu ở đầu ra.
 Chân 10,11,2,19 là các chân cấp nguồn.
b. Cấu trúc bên trong của IC 6B595:
Trang 19
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
c. Hoạt động của IC 6B595 thông qua dạng sóng.
Trang 20
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
d. Các thông số của IC TPIC 6B595:
Điện áp cung cấp 4.5 - 5.5 V

Điện áp tối đa cho 1 ngõ ra (DRAIN) khi sử dụng điện trở treo 50V
Dòng điện ra tối đa chỉ cho 1 ngõ ra 500mA
Dòng điện xung có thể cung cấp 1A
Dòng điện ra tối đa cho tất cả các ngõ ra 150mA
Thời gian đáp ứng của các xung ck với ngõ vào 20ns
Thời gian đáp ứng của G\ 150ns
Điện áp ngõ ra cũa SER-OUT 4 - 4.2 V
Giới hạn nhiệt độ của IC -40 – 125
0
C
3. KHẢO SÁT IC ULN2803.
Là IC gồm 8 cổng đảo, mỗi cổng đảo gồm transistor ghép darlington với dòng điện
và điện áp ngõ ra cao.
a. Sơ đồ chân.

Trong đó :
 Chân 9,10 là các chân cấp nguồn.
 Chân 1 8 là các ngõ vào.
 Chân 11 18 là các ngõ ra đảo.
b. Thông số của IC ULN 2803
Ta có thể tăng điện áp ngõ ra bằng cách thêm các điện trờ treo ở ngỏ ra với điện áp
kéo lên cao.
Trang 21
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
Điện áp cung cấp 5-12V
Điện áp ngõ vào tối đa 30V
Điện áp ngõ ra tối đa 50V
Dòng điện ngõ ra tối đa 500mA
Dòng điện ngõ vào 25mA

4. KHẢO SÁT TRANSISTOR A1015:
Transtor A1015 loại transistor PNP có dòng điện ra bảo hòa cao.
a. Sơ đồ chân:
Trang 22
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
b.Trạng thái hoạt động:
c.Thông số của Transistor A1015:
Trang 23
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
5. LED MA TRẬN 8X8:
Gồm những mối nối PN được ghép nối chung anod và được điều khiển bằng cathod.
a. Cấu trúc và sơ đồ chân:
]
Trang 24
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
bThông số của led:
Trang 25
ĐỒ ÁN MÔN HỌC GVHD: Nguyễn Thanh Bình
`
CHƯƠNG III: THIẾT KẾ MẠCH
I. MẠCH ĐIỀU KHIỂN:
1. THIẾT KẾ MẠCH ĐIỀU KHIỂN

Cơ sở lý luận.
 Mạch điều khiển trong đồ án này là vi điều khiển 89C051. Là nơi ta có thể
nạp chương trình điều khiển để điều khiển hoạt động của toàn mạch.
Vi điều khiển sử dụng xung clock cấp từ thạch anh 12Mhz. vậy 1 chu kỳ máy của vi

điều khiển tương ứng với 1us.
Vi điều khiển được reset ở mức cao. Khi reset con trỏ chương trình được đưa về tại
địa chỉ 000h.
Mạch auto reset
IC có ngõ vào reset mức cao, tức là khi ngỏ vào reset đặt ở mức cao thì tất cà các ngõ
ra sẽ được đặt lại trạng thái cố định và sẽ không bị thay đổi bời sự tác động ở ngõ vào.
Các IC đặc biệt là các IC đếm khi mới cấp điện nếu không được reset trước sẽ làm
cho ngõ ra xuất hiện dữ liệu một cách ngẫu nhiên. Để tránh trường hợp này ta sử dụng
mạch auto reset.
Giải thích và tính toán các thông số:
Nguyên tắc họat động của mạch dựa vào thời gian nạp xả của tụ điện qua điện trở
R.khi vừa cấp nguồn thì điện áp trên tụ bằng 0V nên ngõ ra đưa đén chân Reset ở mức
cao, làm cho các IC được reset. Sau một khoảng thời gian rất ngắn thì điện áp trên tụ tăng
lên và chân Reset của IC được đưa xuống mức thấp, nên các IC hoạt động bình thường.
Tính toán các thông số của mạch:
Do nguồn cung cấp cho toàn mạch là 5V nên các IC thuộc họ CMOS sẽ hiểu là mức
logic cao khi điện áp ở các chân ngõ vào là 3.5V, mức thấp là 1V. do đó để IC thoát khỏi
trạng thái Reset thì điện áp ở chân Reset phải nhỏ hơn 1V.
Từ đó ta có:
Vcc=5V=Vc+Vr=Vc+1V => Vc=4V
Mặt khác ta có phương trình nạp của tụ là:Vc=Vcc(1-e^
-t/T
)=4V
Trang 26

×