1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nghiên cứu cải tiến và thi công mạch quang báo giao tiếp máy tính

107 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu cải tiến và thi công mạch quang báo giao tiếp máy tính
Tác giả Nguyễn Hữu Chân Thành
Người hướng dẫn Ngô Văn Thuyên
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Điện - Điện Tử
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2003
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 107
Dung lượng 11,44 MB

Nội dung

Nhận xét của người hướng dẫn Nhận xét của người phẩn biện Chương M : Các lý thuyết liên quan 2.1 Các phương án thực hiện và điều khiển mạch quang báo 2.2 Sơ lược về giao tiếp máy tính .

Trang 1

THÀNH PHÓ HÒ CHÍ MINH

HGMUIIE

ĐỎ ÁN TÓT NGHIỆP NGÀNH LUẬN VĂN TÓT NGHIỆP

NGHIÊN CỨU CẢI TIỀN VÀ THỊ CÔNG MẠCH

QUANG BAO GIAO TIEP MAY TINH

GVHD: NGO VAN THUYEN

SVTH: NGUYEN HỮU CHÂN THÀNH

Trang 2

KHOA ĐIỆN - ĐIỆN TỬ

GVHD : NGÔ VĂN THUYÊN

SVTH : NGUYÊN HỮU CHÂN THÀNH

LỚP :N99KÐĐ

MSSV :99221629

Tp Hồ Chí Minh 22/ 02/ 2003

Trang 3

PIÂN Á

MO DAU

Trang 4

Các hình vẽ đủ minh họa cho các mục

S.Ngay giao nhiém vu : 23 -12 - 2002

6.Ngày hoàn thành nhiệm vụ : 22 - 2 - 2003

Thông qua bộ môn Ngày thá ng năm 2003

ii

Trang 8

các Thảy Cô giáo trong nhà trường,

nhất là quý thầy cô trong khoa Điện — Điện Tử

trường đại học Sư Phạm Kỹ Thuật

Xin bày tỏ lòng biết ơn sâu sắc Thầy

NGÔ VĂN THUYÊN, người đã nhiệt tình hướng dẫn, tạo mọi điều kiện thuận lợi

để tác giả hoàn thành quyển đồ án này

Xin cảm ơn tất cả các bạn đã góp ý

giúp đỡ tác giả trong lúc thực hiện đồ

án Xin chân thành cảm ơn !

Trang 9

eke

Do sự phát triển của xã hội và khoa học kỹ thuật , nên nhu cdu 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 Để đáp ứng nhu cầu trên, quang báo là hình

thức cung cấp thông tin hữu ích không thể thiếu trong cuộc sống hằng ngày,

Để người xem không chán nản khi phải nhớ những ký tự đã mất , yêu

cầu bảng quang báo cần phải lớn , mặt khác ký tự tiếng Việt khi thể hiện rất

cần độ phân giải cao để chữ được đẹp

Kỹ thuật điều khiển bảng quang báo có kích thước lớn rất phức tạp ,

nếu phương pháp quét khong thích hợp sẽ làm ảnh bị rung , mờ , có thể

không nhìn thấy được

Tập đồ án này đưa ra một phương pháp quét thích hợp để điều khiển các bằng quang báo có kích thước rất lớn Để kiểm chứng trên thực tế

người viết thi công một bảng quang báo có kích thước tương đối lớn 40 x 16

Trong thực tế các mạch quang báo ở nhà sách , nơi công cộng có

độ linh hoạt cao , dé dang sử dụng , việc nhập chữ Việt đơn giản Để đáp ứng được các tiêu chuẩn trên mạch quang báo cần được giao tiếp với máy

tính

Mô hình thi công đáp ứng được các tiêu chuẩn trong thực tế, nội dung hiển thị ra bảng LED được nhập vào máy tính theo chuẩn VNI thông

dụng , nội dung , màu sắc , kiểu chạy thay đổi dé dàng đạt được độ linh

hoạt cao , bằng quang báo được điều khiển trực tiếp bằng máy tính làm cho việc sử dụng được đơn giản và dé dàng

Mặt dù đã dành nhiều thời gian để thực hiện đề tài nhưng do kiến

thức và tay nghề có hạn nên không tránh khỏi thiếu sót, người viết rất mong

sự góp ý của quý thầy cô và bạn bè để đổ án được hoàn hảo hơn

Sinh viên thực hiện

Nguyễn Hữu Chân Thành

vi

Trang 10

PHẪN A : MỞ ĐẦU

Nhiệm vụ đồ án

Nhận xét của người hướng dẫn

Nhận xét của người phẩn biện

Chương M : Các lý thuyết liên quan

2.1 Các phương án thực hiện và điều khiển mạch quang báo

2.2 Sơ lược về giao tiếp máy tính

2.3 Sơ lược về vi điều khiển họ MCS ~ 5

2.4 Sơ lược các IC sử dụng trong mạch

3.2.2 Khối nguốn cung cấp

3.2.3 Khối giao tiếp

3.2.4 Khối xử lý dữ hiệu và nhớ

3.2.5 Khối điều khiển ma trận

3.2.6 Khối công suất

Trang 11

4.2 Giải thuật KT điều khiển bảng quang báo

4.3 Giải thuật dòng chữ chạy từ phải sang trái

4.4 Giải thuật đòng chữ chạy từ trái sang phả:

4.5 Giải thuật đòng chữ chạy từ trên xuống dưới

4.6 Giải thuật đồng chữ chạy từ dưới lên trên

Trang 12

Hình 2.5 :Sơ đô khối và sơ đổ chân vi điều khiển 8951

Hình 2.6 : Sơ đô khối của Port nối tiếp

Hình 2.7 : Giản đồ thời gian của Port nối tiếp ở Mode 0

Hình 2.8 : Thanh ghi Pơrt nối tiép

Hình 2.9 : Hình mô tả cách nối AT #89C51 với bộ nhớ ngoài

Hình 2.10 : Giản đổ chu ky duc bộ nhớ chương trình ngoài

của ATB9CSI

Hình 2.11 : Truy xuất dữ liệu ngo

Hình 2.12 : Giản đổ chu kỳ đọc bộ nhớ dữ liệu ngoài cla AT89C51

Hình 2.13 : Sơ đổ khối của 8255A

Hình 2.14 : Sơ đổ chân và so dé Logic của 825A „

Hình 2.15 :Cấu trúc từ điểu khiển của 8255A

Hình 2.16 : Sơ đồ chân và sơ dé logic của MAX 232

Hình 2.17 : Mạch chốt cơ bản dùng FF D

Hình 2.18 : Sơ đỗ chân và bảng sự thật của IC 74273

Hình 2.19 : Sơ đồ chân và bảng su that cba IC 74138

Hình 3.1 : Sơ đồ khối mạch quang báo giao tiếp máy tính

Hình 3.2 : Sơ đồ khối bộ nguồn cung cấp

Hình 3.3 : Sơ đồ bộ nguồn 5V DC

Hình 3.4 : Sơ đồ bộ nguồn 5V DC cấp cho LED

Hình 3.5 : Nguồn cung cấp cho mạch quang bá:

Hình 3.6 : Sơ đồ khối mach giao tiếp

Hình 3.7 : Khối giao tiếp máy tính

Hình 3.8 : Sơ đồ khối xử lý dữ liệu và nhớ

Hình 3.9 : Bản đồ phân bố vùng nhớ SRAM 6116 và 8255A

Hình 3.10 : Sơ đồ kết nối với SRAM 6116

Hình 3.11 : Sơ đồ kết nối với PPI 8255

Hình 3.12 : Khối xử lý dữ liệu và nhớ

Hình 3.13 : Sơ đồ khối điều khiển ma trận

Hình 3.14 : Sơ đồ kết nối đường data của 8255A với 14273

Trang 13

Hình 3.17 : Sơ đồ kết nối 8255A với 74138 và 74139

Hình 3.18 : Khối điều khiển ma trận

Khối công suất

Sơ đỗ chỉ tiết khối công suất

Hình 3.21 : Sơ đồ kết nối ma tran LED

Bảng 2.2 :Địa chỉ cơ bản của cổng COM

Bảng 2.3 :Bảng chức năng chân cống COM

Bảng 2.4: Bảng chức năng của Port 3

Bảng 2.7 : Bảng mô tả các Mode hoạt động 30

Bang 2.8 : Bắng tóm tắt thanh ghi điều khiển Port nối tiếp 30

Bang 2.9 :Bang tóm tắt các thanh ghi của Timer 39

Bảng 2.10 : Bang thanh ghỉ TMOD của Timer -S- 40 Bảng 2.11 :Bắng mô tả các Mode của Timer 40

Bang 2.12 : Bảng mô tả thanh ghi điều khển TCON 41

Trang 14

PHAN

NOIDUNG

Trang 15

CHƯƠNG I : TỔNG QUAN

1.1 Đặt vấn đề:

Ngành điện tử đã và đang phục vụ đắc lực trong các hoạt động của

con người Một trong những ứng dụng phổ biến , rất cần thiết trong đời sống

hằng ngày là mạch quang báo

Trong quảng cáo tại các pa-nô, hay trên các nhà hàng , khách sạn ,

nhà sách , mạch quang báo gây ấn tượng mạnh tăng sự chú ý cho khách hàng và tăng thêm sự rực rỡ trong trang trí nội thất Các thiết bị quang báo độc đáo sẽ gầy cho khách hàng ấn tượng khó quên Quang báo là một trong những cách thức hướng dẫn , truyên đạt thông tin vừa là một phân

trang hoàng cho sinh hoạt con người , vừa làm tăng thu hút của khách hàng

$® Một bằng quang báo có kích thước nhỏ sẽ 8ây khó chịu cho người xem do phải nhớ những nội dung đã khéng còn hiển thị trên bảng LED khi đọc các nội dung dài Điều này làm cho mạch quang báo phản tác dụng ,

không tạo được ấn tượng cho người xem , giảm thu hút của khách hàngvào

sản phẩm

* Để thực hiện một bảng quang báo có kích thước lớn ta không thể

sit dung nguyên lý quét thông thường là chọn cột tuân tự rồi đưa dữ liệu ra

ma trận , do số cột của ma trận LED quá lớn nên thời gian sáng của LED

quá nhỏ không đủ thời gian lưu ảnh trên võng mạc mắt người , dẫn đến ảnh

bị rung và không sáng rõ gây ra sự khó chịu cho người xem

** Chính vì thế trong suốt quá trình học tập người viết đặc biệt quan

tâm tìm hiểu phương pháp điều khiển một ma trận quang báo có kích thước

lớn Để khắc phục nhược điểm trên nhằm gia tăng thời gian sáng cho LED, người viết đã thay đổi cách ghép nối các ma trận nhỏ , các cột của các ma trận nhỏ sẽ được nối chung với nhau , các hàng để riêng , nên dù ma trận tăng kích thước thì số cột vẫn cố định

Khi quét ta chọn cột thứ nhất của các ma trận nhỏ , xuất dữ liệu ra

led của một ma trận nhỏ và chốt lại , sau đó đưa dữ liệu ra ma trận khác , cứ

thế cho đến khi hết các ma trận nhỏ , ta sẽ chọn cột tiếp theo cho đến cột cuối cùng để hoàn thành một ảnh Nhờ có mạch chốt nên thời gian sáng của LED tăng lên đáng kể đáp ứng đủ thời gian lưu ảnh của mắt người

Trang 16

Qua quá trình tự tìm hiểu , nghiên cứu cùng với sự tư vấn của giáo

viên hướng dẫn người viết quyết dịnh chọn để tài “ Tìm biểu và thì công

mạch quang báo giao tiếp máy tính ” làm đổ án tốt nghiệp ra trường

Ưu nhược điểm của mạch quang báo thỉ công :

° Uudiém:

- _ Phương pháp điểu khiển ma trận mới , có thể điều khiển các ma trận

có kích thước rất lớn

- DQ phân giải của ma trận LED cao nên hiển thị tiếng Việt rõ rang

- Do 6 giao tiếp với máy tính nên việc nhập nội dung hiển thị tiếng

Việt rất dễ đàng theo quy cách gõ VNI

- Sử dụng đơn giản , dễ dàng thay đổi nội dung biển thị nên có tính

thực tiễn cao,

«Nhược điển:

-_ Chương ưình giao tiếp và điều khiển phức tạp

- T6n nhiéu linh kiện

1.2 Mục tiều nhiêm vu:

" Nhằm kiểm chứng trên thực tế phương pháp mới „ người viết thực

hiện một ma trận quang báo 40 x l6, đây là ma trận có kích

thước tương đối lớn , độ phân giải cao

"Để tạo được sự linh hoạt , dễ dàng nhập tiếng Việt , sử dụng mạch quang báo dể đàng người viết thực hiện giao tiếp mạch quang báo với máy tính , đây cũng là hướng đi chung của các thiết

bị mới

13 Cấu trúc đổ án;

Đồ án được thực hiện gồm năm chương :

> Chương I: Tổng quan

Chương này nêu bật lên tẩm quan trọng của mạch quang báo trong,

đời sống con người , các phương án điểu khiển đã có „ đưa ra phương án điều khiển mới Cuối chương trình bày mục tiêu nhiệm vụ và cấu trúc của

đồ án

> Chương II : Các lý thuyết liên quan

Trang 17

Chủ yếu trình bày các lý thuyết iên quan như nêu lên cấu tạo của ma

trận LED, các phương án thực hiện và điều khiển ma trận quang báo Giới

thiệu sơ lược các phương thức giao tiếp máy tính , ưu khuyết điểm của từng loại , cấu tạo và các thanh ghi họ vi điểu khiển MCS-51 Cuối chương tập

trung nói rõ các IC sử dụng trong mạch quang báo

> Chương III : Thiết kế phần cứng

Chương này tập trung thiết kế phẩn cứng mạch điện thi công , đưa ra

sơ đổ khối của mạch quang báo , sơ đổ nguyên lý và tính toán thiết kế chỉ

tiết cho từng khối nhỏ „

> Chương IV : Xây dựng phần mềm

Chương nà y trình bà y rõ ràng các lưu đỗ giải thuật giao tiếp máy tính

„ chương tình điều khiển chính , các chương trình con thực hiện các kiểu chữ

cha y trên mạch quang báo,

> Chương kết luận

Trong chương này ngưỡi viết tóm tất quá trình thực hiện , và để nghị hướng phát triển cho đồ án ,

Trang 18

CHƯƠNG II : CÁC LÝ THUYẾT

LIÊN QUAN

2.1 Các phương án thực hiện và điều khiển mạch quang báo :

2.1.1 Giới thiệu ma tran LED:

Do để tài là mạch quang báo nên ta phải dùng bảng đèn để hiển thị

(bing đèn sử dụng ở đáy là ma trận LED) Có hai cách để có được một ma

trận LIED : ráp các LED rỡi lại với nhau hoặc mua các ma trận LED đã được tích hợp sẩn vào trong một vỏ

Khi ráp các LED rời lại thành ma trận thì giá thành tuy có rẻ nhưng,

lại không được thẩm mỹ cho lắm: độ sáng không đổng đều khi nhìn ở các

góc nhìn khác nhau, độ sáng giữa các LED cũng không giống nhau; và không đạt được các tiêu chuẩn tối ưu về kỹ thuật : mạch điện phức tạp vì có

quá nhiều chân đưa ra ngoài

Khi sử dụng ma trận LED được tích hợp sẵn thì ta sẽ khấc phục được

tất cả các khuyết điểm về thẩm mỹ cũng như kỹ thuật của ma trận dùng LED rời: độ sáng đổng đều cho tất cả các LED (điểu này chỉ có tính chất tương đối nhưng ta cũng khó có thể phân biệt được sự khác nhau này bằng mắt thường), các LED sáng đều như nhau ở mọi góc nhìn, đạt các tiêu chuẩn

yêu câu về kỹ thuật: do được tích hợp vào trong cùng một vỏ nên các đường

mạch bên trong LED được vẽ với độ chính xác cao, số lượng chân đưa ra

ngoài ít hơn nhiều so với ma trận dùng LED rời Và một điều nữa rất quan

trọng là khi cân hiển thị hai màu trên bảng đèn (như yêu cầu của để tài này)

thì ta khó có thể thực hiện được đối với LED rời nhưng với ma trận LED tích hợp thì lại có sẵn trên thị trường, giá lại không cao

Ngoài ra, để hiển thị các bảng đèn lớn thì ta có thể đùng các bóng

đèn tim nung rấp lại thành ma trận Tuy nhiên, do điểu kiện kính tế và thời gian có hạn nên để tài này chỉ dừng lại ở mức hiển thị các bảng đèn cỡ nhỏ

'Với những ưu điểm vượt trội như trên thì ma trận LED tích hợp được ding dé thay thế cho ma trận LED rời ở để tài này là điều hiển nhiên

Trang 19

Để việc sử dụng ma trận LED được tối ưu thì trước tiên ta phải biết được kết cấu bên trong (cách thức các LED nối lại với nhau) và sơ đổ chân của nó Do để tài sử dụng ma trận LED hai màu nên ở đây chỉ giới thiệu về loại ma trận LED này Sau đây là sơ đổ chân và cách kết nối bên trong của

inh 2.1: Ma trận Led 2 màu thực tế

Hai hình ảnh thực tế của ma trận LED nhìn từ trên xuống Trong thực

tế thì ma trận LED có hai loại như trên (có thứ tự các chân đảo nhau tuy nhìn cấu tạo bền ngoài giống hệt nhau) nên trước khi ráp vào mạch thi can

dùng VOM kiểm tra trước Các khớp nối ở bốn cạnh cho phép ghép nối nhiều ma trận lại với nhau, và chỉ có những ma trận có cùng thứ tự chân thì

mới hoạt động ổn định được khi ráp chung vào mạch Hình dưới là sơ đổ

chân của ma trận LED 5x4 hai màu xanh-đỏ :

Hình 2.2 : Cấu tạo ma trận Led 2 màu 5x 4

Rown : Anode của hàng LED đỏ thứ n

Trang 20

CmD : Cathode của cột LED đỏ thứ m

CkX : Cathode của cột LED xanh thứ k

2.1.2 Các phương án thực hiện một mạch quang báo :

Có nhiễu cách để làm một mạch quang báo : dùng IC rời, dùng EPROM, dùng vi xử lý hoặc dùng máy vi tính để điều khiển mạch

*_ Nếu dùng IC rời thì ta sử dụng các IC giải đa hợp (Demultiplexer) kết hợp với các Diode để làm thành mạch ROM (kiểu ROM này được gọi là Made Home), Chương trình cho loại ROM này được tạo ra bằng cách sắp Xếp vị trí các Diode trong ma trận, mỗi khi cẩn thay đổi chương trình thì phải thay đổi lại vị trí các Diode này (thay đổi về phân cứng) Dung lượng

bộ nhớ kiểu này thay đối theo kích thước mạch, kích thước càng lớn thì dung

lượng càng lớn (vì khi táng dung lượng thì phải thêm IC giải đa hợp, thêm

các Diode nén kích thước của mạch tăng lén) Nếu muốn đủ bộ nhớ để chạy

một mạch quang báo bình thương thì kích thước mạch phải rất lớn nên giá thành sẽ lên cao, độ phức tạp táng lén Do đó, dạng ROM này thường không

đáp ứng được yêu cầu của mạch quang báo

"Khí thay các IC rời ở trên bằng EPROM thì kích thước mạch và giá

thành sẽ giảm đáng kể Kích thước của EPROM hầu như không tăng theo dung lượng bộ nhớ của nó Ngoài ra, khi muốn thay đổi chương trình hiển thị thì ta chỉ việc viết chương trình mới (thay đổi vể phần mêm) nạp vào

EPROM hoặc thay EPROM cũ bằng một EPROM mới có chứa chương trình

cần thay đổi Việc thay đổi chương trình kiểu này thực hiện đơn giản hơn rất

nhiều so với cách dùng IC rời ở trên Tuy nhiên phương án này gây bất lợi cho người sử đụng , vì phần lớn người sử dụng không biết gì về điện tử , nên không thể thay thế được EPROM trong mạch Trong những môi trường đòi

hỏi phải thay đổi nội dung dòng thông báo liên tục , phương án này cho thấy

nhiều bất cập

* Khi vi xử lý tham gia vào thì mạch quang báo sẽ có được nhiều

chức năng hơn, tiện lợi hơn nhưng cũng đắt tiền hơn Với kit vì xử ly diéu khiển quang báo ta có thể thay đổi chương trình hiển thị một cách dễ đàng bằng cách nhập chương trình mới vào RAM ( thay đổi chương trình ngay

trên kit, không cẩn phải tháo IC nhớ ra đem nap chương trình như EPROM )

Do vi xử lý có nhiều chức năng nên việc đổi màu cho bảng đèn cũng được thực hiện một cách dễ dàng Tuy nhiên, khi sử dụng vi xử lý để làm mạch

quang báo thì giá thành của mạch lại tăng lên nhiều so với khi sử dụng EPROM vì kít vi xử lý cẩn phải có EPROM lưn chương trình điều khiển cho

Trang 21

vi xử lý, các IC ngoại vi (giao tiếp bàn phím, hiển thị, ), các RAM để nhớ

chương trình, các phím nhập dữ liệu (do có phím nên kích thước mạch tăng lên nhiều) Ngoài ra, đo vi xử lý phải gởi dữ liệu ra IC ngoại vi (thường là

8255A) rồi mới điểu khiển việc hiển thị trên bảng đèn nên khi cẩn hiển thị

hình ảnh thì cách dùng vi xử lý sẽ phức tạp hơn nhiễu so với khí dùng EPROM (như đã giải thích ở trên)

*" Ngoài ra, mạch quang báo còn có thể được điều khiển trực tiếp

bằng máy vi tính kết hợp với KỊT vi xử lý diéu khién ma tran LED Với phương pháp này mạch quang báo sẽ hiển thị đa dạng , kể cả hình ảnh lẫn mầu sắc theo ý muốn của người sử dụng Để đơn giản quá trình sử dụng

đòi hỏi sự phức tạp , khó khán cả về phẩn cứng lẫn phần mềm điều khiển %

tuy nhiên với phương hướng phát triển hiện nay thì phương án này thường

> Phương pháp một : Điểu khiển các ma trận có kích thước nhỏ

© Doi vdi các ma trận nhỏ hàng của các ma trận được nối chung lại, cột để riêng , khi điều khiển thì chọn lần lượt từng cột rồi xuất dữ

liệu ký tự hay hình ảnh ra hàng , do hiện tượng lưu ảnh ở mắt người nên với

tốc độ chọn cột và xuất dữ liệu ra hằng cao , người xem cảm thấy hình ảnh

và ký tự liên tục không bị chớp tắt

© Phương pháp này thường sử dụng các IC 74138 , 74154 #

74164 để chọn cột , và sử dụng các IC chốt 74373 + 74573 để chốt dữ liệu

màu , chốt hàng khi số hàng lớn hơn tám ,

© Nhược điểm : do thời gian LED tắt rất lớn hơn so với thời

gian LED sáng nên làm cho người xem cảm thấy khó chịu vì hình ảnh bị

chớp giật liên tục do tốc độ quét không đủ thời gian lưu ảnh của mắt „cần

tăng điện áp cấp cho LED lên cao Điều này dể gây nguy hiểm , nếu vì một

lý đo nào đó mạch tạo xung chọn cột bị mất , tất cả LED ở cột đó sẽ bị cháy

„ nguy hiểm hơn nữa nếu tẩn số xung chọn cột giảm thì cả ma trận LED sẽ

bi hong

© Ưuđiểm: khi điểu khiển các ma trận nhỏ phương pháp này

là để dàng điều khiển và kinh tế nhất

Trang 22

> Phương pháp hai : Điều khiển các ma trận có kích thước lớn

© Dé khắc phục nhược điểm trên cẩn cải tiến cách ghép ma

trận và phương pháp quét Các ma trận nhỏ được nối chung các cột lại , hàng của mỗi ma trận để riêng, với cách ghép này dù ma trận rất lớn nhưng vẩn có số cột cố định của các ma trận nhỏ Khi quét chọn cột thứ nhất , xuất lần lượt dữ liệu ra mỗi ma trận nhỏ và chốt lại khi xuất sang ma trận kế , sau

đó xóa tất cả các hàng để chống lem rồi chọn cột tiếp theo Nhờ có mạch chốt nên thời gian sáng của các LED được tăng lên đáng kể , áp cấp cho

LED không quá cao như phương pháp trên ,

® _ Phương pháp này thường sử dụng các IC 74138, 74154 ,

74164 để chọn cột , và sử dụng các IC chốt 74373 , 74573 › 74273 để chốt

dữ liệu cho hàng của mỗi ma trận

© _ Nhược điểm ; Về phương diện kỹ thuật phương pháp này tốt hơn , nhưng nếu sử dụng để điều khiển ma trận có kích thước nhỏ là không kinh tế vì số lượng IC sử dụng trơng mạch nhiều hơn , bộ nguồn sẽ nóng hơn đo nhiều LED sáng cùng một lúc

© Uu diém : Thỏa mãn yêu cầu hiển thị cho các ma trận có

kích thước lớn , áp cấp cho LED không cao , thời gian sáng của LED tăng

lên đáp ứng được thời gian lưu ảnh của mắt người

2.2 Sơ lược về giao tiếp máy tính :

2.2.1 Giao tiếp qua Slot — Card :

Bên trong máy tính, ngoài những khe cắm dùng cho card vào - ra,

card màn hình, vẫn còn những rãnh cắm để trống Có thể thiết kế card mở

rộng gắn vào khe cắm mở rộng này để giao tiếp với máy tính Ở các máy

tính PC thì thường có các rãnh cắm theo tuân theo các tiêu chuẩn như: ISA (Industry Standard Architecture) 8 bit hoc 16 bịt, ngoài ra còn có rãnh cắm theo tiêu chuẩn PCI (Peripheral Component Interconnection) 32 bit hoic 64

bit, qua các đường tín hiệu này máy tính có thể giao tiếp dễ dàng với thiết bị

bên ngoài thông qua card mở rộng Trên rãnh cắm mở rộng, ngoài các

đường địa chỉ và đường dữ liệu, còn có một số đường điểu khiển như:

RESET, IOR, IOW, AEN, CLK,

" Ưu điểm : Card giao tiếp với máy tính qua Slot Card đơn giản, số bit

có thể tăng dễ dàng, giảm được nhiều linh kiện, tốc độ truyền đữ liệu nhanh (truyền song song)

Trang 23

" Nhược điểm : Tuy nhiên, do khe cắm nằm bên trong máy tính nên khi muốn gắn card giao tiếp vào thì phải mở nắp ra, điều này gây bất tiện cho người sử dụng Hơn nữa nếu mạch có một sai sót nhỏ sẽ gây

nguy hiểm cho mainboard và sẽ không được bảo hành nếu máy còn

mới

2.2.2 Giao tiếp qua Printer Port :

Đây là cách giao tiếp được dùng để truyền dữ liệu giữa máy tính và

má y in Khác với cách giao tiếp qua cổng COM, ở đây cách giao tiếp này dữ

liệu được truyén song song cùng một lúc 8 bit vì thế nó có thể truyền ở tốc

độ cao Đầu nối (Connector) của Port này gồm có 25 chân bao gôm 8 đường

dữ liệu và các đưỡng bất tay (handshaking) T&t cd các đường đữ liệu và tín

hiệu điều khiển đều ở mức logic có thể hoàn toàn tương thích với mức TTL

Hơn nữa người lập trình có thể điều khiển cho phép hoặc không cho phép các ứn hiệu tạo ngất (Inlerrupt) từ ngõ vào nên việc giao tiếp đơn giản và

Các máy tính ra đời từ năm 1995 trở lại đây đều có trang bị giao tiếp

theo chuẩn IEEE (Institude Electronic And Electronic Engineering) Chuẩn

này ra đời vào năm 1994 qui định một chuẩn giao tiếp mới giữa máy tính cá nhân với các thiết bị ngoại vi Chuẩn giao tiếp mới này tương thích được với chuẩn giao tiếp song song cơ bản nhưng có trốc độ nhanh hơn 50 — 100 lần

so với giao tiếp cũ

Chuẩn IEEE 1484 qui định 5 chế độ truyền đữ liệu tùy theo hướng

truyền :

" Chỉ truyển ra: chế độ tương thích với chuẩn giao tiếp song

song cơ bản hay chuẩn “Centronic”

= Chi truyền vào:

10

Trang 24

* Ché d6 Nipple: truyền song song 4 bit dùng các đường tín hiệu

trạng thái,

* _ Chế độ byte: truyền song song 8 bít qua đường dữ liệu, chuẩn

&iao tiếp song song của chế độ này được gọi là cổng 2 chiều

" Truyển2chiểu:

Cổng song song cải tiến EPP (Enhanced Parallel Port) được các thiết

bị khác máy in sử dụng ( ổ đĩa CD, ổ đĩa cứng, bộ điều khiển mạng

Cổng song song 2 chiểu dùng chế độ tương thích, chế độ Nipple và chế độ Byte chỉ dùng phần mềm để truyền dữ liệu, Chương trình điều khiển cổng song song có trách nhiệm kiểm tra tín hiệu bắt tay (Handshacking, ví

dụ như busy), và trao tín biệu điểu khiển thích hợp cho thiết bị ngoại vi (ví

du như Sưobe), và truyền byte dữ liệu Quá trình này cẩn nhiều phân mềm

va giới hạn tốc độ truyền dữ liệu trơng khoảng 50n đến 100 Kbyte trong Is

Chế độ EPP, ECP được cài đặt trong moi vi mach Supper LO hiện đại Hai chế độ này dùng phẩn cứng trợ giúp một phẩn truyền dữ liệu ra cổng EPP chương trình chỉ cẩn gọi lệnh OUT, phan cứng đảm nhận nhiệm

vụ điều khiển các tín hiệu bắt tay

Việc giao tiếp giữa vi điều khiển với máy tính được thực hiện qua chân cắm 25 chân ở phía sau máy tính Qua cổng này đữ liệu được truyền di song song, nên đôi khí còn được gọi là cổng ghép nối song song

“Ưu điểm : Giao tiếp qua cổng máy in có tốc độ truyền dữ liệu nhanh (truyền song song) , giao thức đơn giản

" Nhược điểm : Chi phí đường truyền cao và không thể truyền với

khoảng cách xa

Trang 25

CHÂN |KÝ HIỆU TVAORA MÔ TẢ

15 ERROR Léi vao Error (L6i)

16 INIT Lối ra 0: Đặt lại máy in

Trang 26

2.2.3 Giao tiếp qua Com Port :

Khác với cổng máy in, cổng COM là cổng truyền dữ liện nối tiếp Nó thường được dùng để giao tiếp với các thiết bị ngoại vì có tốc độ xử lý chậm, cổng này giao tiếp theo chuẩn RS 232

Dữ liệu được truyền dưới dạng nối tiếp từng bít một Tốc độ truyền

bit do người lập trình quyết định( thường là 1200bps, 2400pbs, 4800bps, 9600bps ) chiéu dài bit dữ liệu có thể là 5, 6, 7, 8 bit kèm theo 1, 3/2, 2

Stop bit, va 1 bit Start tao thanh 1 khung gọi là Frame Cổng này gồm các đường phát, đường thu, các đường bắt tay và đường mass chung, Vi giao tiếp

với chuẩn RS 232 nên có khoảng cách truyền xa hơn so với cổng máy in

nhưng nó có tốc đó truyền chậm

Ở phía sau các máy tính PC điều có hai cổng nối tiếp với tên gọi là

COMI và COM2 dưới dạng chân cắm 9 chân hoặc 25 chân, Hình dưới chỉ ra

sự sấp xếp chân của các chán cấm này Trên thực tế việc truyền đữ liệu

được tiến hành trên đường dẫn truyền TXD và đường dẫn nhận RXD Ngoài

ra cổng nối tiếp còn có hai lối ra và bốn lối vào khác nữa, chúng được gọi là những đường bắt tay đóng vai trò điểu khiển dong đữ liệu nối tiếp Các

đường dẫn này có thể được đát hoặc được đọc trực tiếp nhờ những lệnh đơn

giản Trong các đường dẫn này thì hai đường DTR và RTS cẩn được chú ý

tới vì chúng thường được sử dụng như những đường dẫn phụ để chuyển đổi

chế độ làm việc của các họ vi xử lý

Địa chỉ cơ bản của cổng nối tiếp của máy tính PC có thể tóm tắt trong

bảng các địa chỉ sau :

COM I (cổng nối tiếp thứ nhất ) Địa chỉ cơ bản = 3F8(Hex)

COM 2 (cổng nối tiếp thứ hai ) Địa chỉ cơ bản = 2F8(Hex) COM 3 (cổng nối tiếp thứ ba ) Địa chỉ cơ bản = 3E8(Hex) COM 4 (cổng nối tiếp thứ tư ) Địa chỉ cơ bản = 2E8(Hex)

Bang 2.2 :Địa chỉ cơ bản của cổng OOM

Cũng như ở cổng máy in, các đường dẫn tín hiệu riêng biệt cũng cho

phép trao đổi qua các địa chỉ trong máy tính PC Trong trường hợp này,

người ta thường sử dụng những vi mạch có mức độ tích hợp cao để có thể

hợp nhất nhiều chức năng trên một chip Ở máy PC thường có một bộ phát

/nhận không đồng bộ vạn năng (gọi tắt là UART: Universal Asnchronous Receiver/Transmitter) để điểu khiển sự trao đổi thông tin giữa máy tính và

Trang 27

các thiết bị ngoại vi Phổ biến nhất là vì mạch 8250 của hãng NSC hoặc các

thế hệ tiếp theo

Thông thường với các yêu cầu ứng dụng tốc độ thấp người ta giao tiếp qua ngõ nối tiếp, nó giao tiếp theo tiêu chuẩn RS232C và dùng để giao tiếp giữa máy tính với Modem hoặc Mouse Ngoài cũng có thể đùng giao tiếp printer hay plotter nhưng không thông dụng lắm bởi tốc độ truyền qúa

chậm Đối với máy AT cho ta hai ngõ giao tiếp COM | va COM 2 Trong

Để giao tiếp nối tiếp với 2 ngõ COM này Bus hệ thống của CPU

(Dau Bus và Address Bus ) hãng IBM sử dụng hai Chip lập trình của Intel là

8250 UART (Universal Asnchronous Receiver Transmitter ) Địa chỉ theo bộ nhớ của hai chip này là 0040:0020 cho UERT của ngõ COM I và 0040:0002 cho UART của ngõ COM 2 (Địa chỉ logic do hệ điểu hành qui định) và địa chỉ theo Port để truy xuất khí sử dụng là 3F8-3FF cho COM 1 va 2F8-2FF cho COM 2

Thông thường thì các cổng nối tiếp thứ nhất với tên COMI có dang chân cắm 9 chân được dùng để cắm chuột, còn cổng thứ hai có đạng chân cắm 25 chân dùng cho các mục đích ghép nối khác

Một số ưu nhược điểm :

"Ưu điểm : Chi phí đường truyền thấp , có thể truyền với khoảng cách

xa,

"_ Nhược điểm : Giao tiếp qua cổng nối tiếp có giao thức phức tạp hơn

giao tiếp song song, tốc độ thấp Các chân và đường dẫn được mô tả như sau :

14

Trang 28

CHÂN © |CHÂN 7ˆ Ízý mpU” [vàoA ˆ | wôTA `

(Loại 9 chân) | (Logi 25 chan) sec [on te bi lở

4 20 DTR Léira | DataTerminalReady

5 7 GND Nối đất

Bang 2.3 :Bảng chức năng chan céng COM

2.3 Sơ lược về vi điều khiển ho MCS - 51:

2.3.1 Giới thiệu :

MCS-51 là họ IC vi điểu khiển do hãng Intel sản xuất Các IC tiêu biểu cho họ là 8951 và 8031 Các sản phẩm MCS-51 thích hợp cho những, ứng dụng điểu khiển Việc xử lý trên Byte va các toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất đữ liệu nhanh trên RAM nội Tập lệnh cung cấp một bảng tiện dụng của những lệnh số học 8 Bit gdm cả lệnh nhân và lệnh chia Nó cung cấp những hỗ trợ mở rộng trên Chip dùng cho những biến một Bit như là kiểu dữ liệu riêng biệt cho phép

quản lý và kiểm tra Bit trực tiếp trong điều khiển và những hệ thống logic

đồi hỏi xử lý luận lý

8951 là một vi diéu khiển 8 Bit, ché tao theo công nghệ CMOS chất

lượng cao, công suất thấp với 4 KB PEROM (Flash Programmable and erasable read only memory) Thiết bị này được chế tạo bằng cách sử dụng

Trang 29

bộ nhớ không bốc hơi mật độ cao của ATMEL và tương thích với chuẩn công nghiệp MCS-5I về tập lệnh và các chân ra PEROM ON-CHIP cho phép bộ nhớ lập trình được lập trình trong hệ thống hoặc bởi một lập trình viên bình thường Bằng cách kết hợp một CPU 8 Bit với một PEROM trên

một Chip đơn, ATMEL AT89C5I là một vì điểu khiển mnạnh (có công suất lớn) mà nó cung cấp một sự linh động cao và giải pháp về giá cd đối với nhiều ứng dụng vi điều khiển

AT82C5l cung cấp những đặc tính chuẩn như sau : 4 KB bộ nhớ chỉ

đọc có thể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường L/O,

2 TIMER/COUNTER 16 Bit, 5 vectơ ngắt có cấu trúc 2 mức ngắt, một Port

nối tiếp bán song công, | mach dao động tạo xung Clock và bộ đao động ON-CHIP Thêm vào đó, AT89C51 được thiết kế với logic tĩnh cho hoạt

động đến mức không tắn số và hỗ trợ hai phẩn mềm có thể lựa chọn những

chế độ tiết kiệm cóng suất, chế độ chờ (IDLE MODE) sẽ dừng CPU trong

khi vẫn cho phép RAM, Urner/counter, port nối tiếp và hệ thống ngắt tiếp tục hoạt động Chế độ giảm cóng suất sẽ lưu nội dung RAM nhưng sẽ treo

bộ dao động làm mất khả náng hoạt động của tất cả những chức năng khác cho đến khí Reset hệ thống

Các đặc điểm của 8951 được tóm tắt như sau:

a 4 KB bộ nhớ có thể lập trình lại nhanh, có khả năng tới 1000 chu kỳ ghi xóa

œ_ Tần số hoạt động từ : 0Hz đến 24 MHz

ä 3 mức khóa bộ nhớ lập trình

Q 26 Timer/counter 16 Bit

a 128 Byte RAM ni

a_ 4Port xuất /nhập I/O 8 bít,

a Giao tiếp nối tiếp

Trang 30

a_ 210 vị trí nhớ có thể định vị bit

a 4s cho hoạt động nhân hoặc chia

2.3.2 Sơ đổ khối và sơ đổ chân vi điểu khiển AT895

PLO B2 B d POS Ty XTAL p04 b¢—p AD4 P05 |lẾ—*ˆ AD5

ĐẠU pt 9 G ATROCSI xaweya ALES FA ep Dns (eh an

Tl ——~ P35 P25+—> a3

TWER1 }¢—

WWTERRUPT One 1221 + THER kẹp INPUTS

Trang 31

2.3.3 Chức năng và nhiệm vụ các chân của AT8951 :

AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập

Trong đó có 32 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi

đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển

hoặc là thành phần của bus dữ liệu và bus địa chỉ

= Cac Port:

* Port 0 : Port 0 là port có 2 chức năng ở các chân 32-39 của AT89C5I

“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

dung VO, DO với các 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: Port I la port /O wén các chân 1-8 Các chân được ký hiệu

P10, PLA, P].2, có thể dùng cho giao tiếp với các thiết bị ngoài nếu cẩn Port l không có chức náng khác, vì váy chúng chỉ được dùng cho giao tiếp với các thiết bị bền ngoài

* Port 2 : Port 2 là port o6 tac dung kép trên các chân 21-28 được dùng như

các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng

* Port 3: Port 3 là port có tác dụng kép trên các chân 10-17 Các chân

của port này có nhiều chức năng, các công, dụng chuyển đổi có liên hệ với

các đặc tính đặc biệt của AT89C51 như ở bảng sau :

P3.0 |RXD | Ngõ vào dữ liệu nối tiếp P3.1 |TXD | Ngõ xuất dữ liệu nối tiếp

P3.2 | INT0\ | Ngõ vào ngắt cứng thứ 0 P3.3 | INTI\ | Ngõ vào ngắt cứng thứ 1

P3.4 | T0 Ngõ vào của TIMER/COUNTER thứ 0 P3.5 | TI Ngõ vào của TIMER/COUNTER thứ I

P3.6 | WR\_ | Tín hiệu ghi dữ liệu lên bộ nhớ ngoài

P3.7 | RD\_ | Tín hiệu đọc bộ nhớ dữ liệu ngoài

Bảng 2.4 : Bảng chức năng của Port 3

Trang 32

“Các ngõ tín hiệu điều khiển :

® Ngõ tín hiệu 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 và thường được nối đến chân OE\ (Ouput Enable) của Eprom cho phép đọc các byte

mã lệnh

PSIN ở mức thấp trong thời gian AT89C51 lấy lệnh Các mã lệnh của

chương trình được đọc từ EPROM qua bus dữ liệu và được chốt vào thanh phí lệnh bên trong AT#9C5I để giải mã lệnh Khi AT89C5I thi hành chương trình trong ROM nội PSI:N sẽ ở mức logic 1

® Ngõ tín hiệu điểu khiển ALE (Address Latch Enable) : Khi AIW9CSI truy xuất bộ nhớ ngoài, port 0 có chức năng là bus địa chỉ và bus

dử liệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở

châu 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 ra ở chan 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

Các xung tín hiệu ALE có tốc độ bằng 1/6 lẩn tấn số dao động trên chip và có thể được dùng làm tín hiệu clock cho các phẩn khác của hệ thống Chân ALE được dùng làm ngõ vào xung lập trình cho EPROM trong,

AT89C5I

® Ngõ tín hiéu EA\ (External Access) : Tín hiéu vao EA\ 6 chan 31

thường được mắc lên mức 1 hoặc mức 0 Nếu ở mite 1, AT89C51 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 4k byte Nến ở mức 0,

AT89C51 sẽ thi hành chương trình từ bộ nhớ mở rộng Chân EA\ được lấy

làm chân cấp nguồn 21V khi lập trình cho EPROM AT89C51

® Ngõ tín hiệu RST (Reset) : Ngõ vào RST ở chân 9 là ngõ vào Reset

của AT89C51 Khi ngõ vào tín hiệu này đưa lên cao ít nhất là 2 chu kỳ máy,

các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ

thống Khi cấp điện mạch phải tự động Reset

19

Trang 33

@ Các ngõ bộ dao động XI, X2 : Bộ tạo dao động được tích hợp bên

trong AT89C5I Tẩn số tụ thạch anh thường sử dụng cho AT89C51 là 12

MH¿

@ Chan 40 (Vcc) được nối lên nguồn 5V

* Tổ chức bộ nhớ của vi điều khiển AT89C5I :

Bộ nhớ trong AT89C5I bao gổm ROM và RAM RAM trong,

AT89CS1 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 ghí chức năng đặc biệt

AT89C51 có bộ nhớ theo cấu trúc Havard: có những vùng bộ nhớ

riêng biệt cho chương trình dữ liệu Chương trình và dữ liệu có thể chứa bên

trong AT89C51 nhưng AT89C5I vẫn có thể kết nối với 64k byte bộ nhớ

chương trình và 64k byte bộ nhớ dữ liệu

® Hai đặc tính cần chú ý là :

ä Các thanh ghi và các port xuất nhập đã được định vị trí (xác định)

trong bộ nhớ và có thể truy xuất trực tiếp giống như các địa chỉ bộ nhớ khác

a Ngăn xếp bên trong RAM nội nhỏ hơn so với RAM ngoại như trong các bộ MCU khác

$ RAM bên trong AT89C5I có được phân chia như sau :

- Các bank thanh ghi có địa chỉ từ 00H đến IFH

~ RAM địa chỉ hóa từng bịt có địa chỉ từ 20H đến 2FH

Trang 34

đích tương tự (mặc dì các địa chỉ này đã có mục đích khác)

Mọi địa chỉ trong vùng RAM đa dụng đều có thể được truy xuất tự do dùng kiểu địa chỉ trực tiếp hoặc gián tiếp Ví dụ để đọc nội dung ở địa chỉ

ŠSEH của RAM nội vào thanh ghỉ tích lũy (A), lệnh sau sẽ được dùng :

MOV A,5H

RAM bén trong cũng có thể được truy xuất dùng cách địa chỉ gián

tip qua RO hay RI Vi dy bai lệnh sau sẽ thi hành cùng nhiệm vụ như lệnh

chỉ chứa trong R0 vào thanh ghi tích lũy

RAM có thể truy xuất từng bít :

AT89C5I chứa 210 bit được địa chỉ hóa, trong đó 128 bit chứa ở các byte có địa chỉ từ 20H đến 2FH và các bit còn lại chứa trong nhóm thanh ghỉ

có 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

MCU nói chung Các bit có thể được đặt, xóa, AND, OR, với 1 lệnh đơn

Đa số các MCU xử lý đòi hỏi một chuỗi lệnh đọc - sửa - ghi để đạt được

mục đích tương tự, 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

128 bit truy xuất từng bit này cũng có thể truy xuất như các byte hoặc

như các bit phụ thuộc vào lệnh được dùng

a

Trang 35

BANG TOM TAT CAC VUNG NHG 8951

Byte Address Bit Address Byte Address Bit Address

27 |26 |25 |24 23 22 21 20 8D mo bit address THI

22 [T716 [15 |14 |13 ]12 |11)10, #B jnotbit address TLL

21 |0E|0E|0D |OC|0B|0A |09Ì08 8A, |notbitaddress TLO

20 |07|06 |05 |04 03 |02 [01 [00] 89 [nce bit address TMOD

IE | Bank3 38 |RF]SE|SD|SC [gp [8a ]89]88| TCON

17 | Bank2

oF | Bank 1 82 |not bit address DPL

08 81 [not bit address SP

00 | forRO~R7 Special Function Register

RAM

Bảng 2.5 : Bảng tóm tắt vùng nhớ của 8951

" Các bank thanh ghi :

32 byte thấp của bộ nhớ nội được dành cho các bank thanh chì Bộ

lệnh AT89C5I 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 ghỉ này ở các địa chỉ 00H-07H Lệnh sau đây

sẽ đọc nội dung của ô nhớ có địa chỉ 05H vào thanh ghi A:

Trang 36

MOV A, RS

Đây là lệnh 1 byte dùng địa chỉ thanh ghi Tuy nhiên yêu cẩu trê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

Các lệnh dùng các thanh ghi R0 đến R7 sẽ ngắn hơn và nhanh hơn so

với các lệnh có chức năng tương ứng dùng kiểu địa chỉ trực tiếp Các dữ liệu

được dùng thường xuyên nên dùng một trong các thanh ghi này

Do có 4 bank thanh ghỉ nên tại một thời điểm chỉ có một bank thanh

ghi được truy xuất bởi các thanh ghi từ RO đến R7 Để chuyển đổi việc truy

xuất các bank thanh ghi ta phải thay đổi các bit chọn bank trong thanh ghi trang thái, Giả sử bank thanh ghỉ 3 đang được truy xuất, lệnh sau đây sẽ di chuyển nội dung của thanh ghí A vào ô nhớ RAM có địa chỉ 18H

MOV RO, A

* Cac thanh ghi chifc nang dac biết :

Các thanh ghi trong một vi điểu khiển gổm có : thanh ghi tích lũy

(Accumulator Register), thanh ghi PC (Program Counter Register), thanh ghi

con trỏ ngăn xếp (Stack Pointer Register), thanh ghi trang th4i (Status

Register), thanh ghi dia chi (Progarm Address Register), thanh ghi lệnh (Instruction Register), các thanh ghi thông dụng

® Thanh ghi tich ly (thanh ghi A - Accumulator Register) :

Thanh ghi A là một thanh ghi quan trọng của vi điểu khiển có chức năng lưu trữ dữ liệu khi tính toán Hầu hết các phép toán số học và phép

toán logic đều xảy ra giữa ALU và thanh ghỉ A, nhưng cẩn lưu ý rằng hầu

hết sau khi thực hiện phép tính, ALU thường gởi dữ liệu vào thanh ghi A

làm đữ liệu trong thanh ghi A trước đó bị mất

Thanh ghi A thường làm trung gian để trao đổi đữ liệu của vi điểu khiển với các thiết bị ngoại vi

Với vi điều khiển AT89C51, thanh ghỉ A có độ dài 8 bịt

23

Trang 37

@ Thanh ghi PC (Program Counter Register) :

Bộ đếm chương trinh PC (Program Counter) la thanh ghi đặc biệt để

chỉ cho CPU thứ tự lệnh hay dữ liệu tiếp theo cân thực hiện Các thanh ghỉ khác chứa các đữ liệu và địa chỉ

Thanh ghi PC sẽ chứa địa chỉ của các lệnh đang thực hiện của một chương trình, Chính vì vậy, trước khi vi điểu khiển thực hiện một chương trình thì thanh ghi PC phải được nạp một đữ liệu, đó chính là địa chỉ đầu tiên

của chương trình Trong quá trình thực hiện chương trình, vi điểu khiển tự động tăng nội dung thanh ghí PC để chuẩn bị đón các lệnh tiếp theo, tuy

" trong chương trình có lệnh có khả năng làm thay đổi nội dung thanh

gu PC,

Với vi điều khiển AT#951, thanh ghi PC có độ dài I6 bit và khi vỉ

điểu khiển được reset lại, thanh ghi PC sẽ tự động nạp cho mình giá trị

0000),

Thanh ghi trang thái chương trình (Program Status Register) :

Thanh ghi trạng thái còn gọi là thanh ghỉ cờ (Flag Register - thanh ghi F) dùng để lưu trữ kết quả của một số lệnh kiểm tra Việc lưu trữ kết quả của các lệnh kiểm tra giúp cho người lập trình có khả năng điều khiển chương trình theo

các nhánh khác nhau

Thanh ghi trạng thái chương trình PSW (Program Status Word) ở địa

chỉ 0D0H chứa các bit trạng thái như bằng tóm tắt sau :

24

Trang 38

00H

PSW.4 | RSI D4H _ | Bit I chọn bank thanh ghỉ

PSW.3 | RS0 D3/1 | BiL0 chọn bank thanh ghi

00 = bank 0: địa chỉ 00H - 07H

01 = bank 1: địa chỉ 08H - 0FH

10 = bank 2: địa chỉ 10H - IFH

1I= bank 3: địa chỉ 18H - IFH

PSW.2 |OV D2H | Catan

PSW.I |- DIH |Dựưữ

PSW.0 DOH | C8 parity chin lẻ

® Cờ nhớ : Cờ nhớ Carry có tác dụng kép Thông thường nó được

dùng cho các lệnh toán học: C=I nếu phép toán cộng có tràn hoặc phép

toán trừ có mượn và ngược lại C=0 nếu phép toán cộng không tràn và phép

toán trừ không có mượn Ví dụ: nếu thanh ghi tích lũy A có giá trị FFH thì lệnh sau:

Bing 2.6 : Bảng mô tả các bit trạng thái

Trang 39

ANL C, 25H

$ Cờ nhớ phụ : Khi cộng các số BCD, cờ nhớ phụ AC = I nếu kết quả

4 bit thấp trong khoảng OAH đến OFH Ngược lại AC = 0

$ Cờ 0 : Cờ 0 (F0) à 1 bit cờ đa dụng đành cho các ứng dụng của

người dùng

$ Các bit chọn bank thanh ghi truy xuất : Các bit chọn bank thanh ghỉ

(RS0 và RSI) xác định bank thanh ghi được truy xuất Chúng được xóa sau

khi reset hệ thống và được thay đổi bằng phẩn mềm nếu cân Ví dụ 3 lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của bank thanh ghỉ R7

(địa chi byte IPI) vào thánh ghi A:

$ Cờ tràn : Cờ tràn (OV) có tác dụng như sau : OV=1 sau L lệnh cộng

hoặc trừ nếu có một phép toàn bị tràn Khi các số có dấu được cộng hoặc trừ

với nhau, phẩn mềm có thể kiểm tra bit này để xác định xem kết quả có

nằm trong tẩm xác định không Khi các số không dấu được cộng, bỉt OV có

thể được bỏ qua Các kết quả lớn hơn +127 hoặc nhỏ hơn -128 thì bìt OV=I

Ví dụ phép cộng sau khi bị tràn và bit OV được set: OFH + 7FH= 8E

Kết quả là 1 số có dấu 8EH được xem như -116, không phải là kết

quả đúng 142 vì vậy bit OV=l,

® Thanh ghi B :

Thanh ghỉ B ở địa chỉ 0F0H được dùng cùng với thanh ghỉ tích lũy A cho

| các phép toán nhân và chia Lệnh MUL AB sẽ nhân các giá trị không dấu 8 bit

| trong A va B rồi trả về kết quả 16 bit trong A (byte thấp) và B (byte cao) Lệnh

| DIV AB sé chia A cho B rồi trả về kết quả nguyên trong A và phần dư trong B

Thanh ghỉ cũng có thể được xem như thanh ghỉ đệm đa dụng Nó được địa chỉ

26

Trang 40

hóa từng bịt với các địa chỉ bit từ F0H - F7H

® Con trỏ ngăn xếp (Stack Pointer Register - thanh ghi SP):

Con trỏ ngăn xếp là 1 thanh ghi 8 bit ở địa chỉ 81H Nó chứa địa chỉ

của byte dữ liệu hiện hành trên đỉnh của ngăn xếp Các lệnh trên ngăn xếp

bao gồm các lệnh cất dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp

Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu và lệnh

lấy dữ liệu ra khỏi ngăn xếp sẽ làm giảm SP, Ngăn xếp của AT89C51 được

giữ trong RAM nội và giới hạn các địa chỉ có thể truy xuất bằng địa chỉ gián tiếp, chúng là I2 byte đâu của AT89C5I

Để khởi động SP với ngán xếp của AT89C5I chỉ có 32 byte vì địa chỉ cao nhất của RAM trên chip la 7FH SO đĩ giá trị SFH được nạp vào SP vì SP

sẽ tăng lên 60H trước khi cat byte dữ liệu đầu tiên

Khi Reset AT89CS1, SP sẽ mang giá trị mặc định là 07H và dữ liệu

đầu tiên sẽ được cất vào ô nhớ ngăn xếp có địa chỉ 08H Nếu phần mềm

ứng dụng không khởi động SP mót giá trị mới thì bank thanh ghỉ 1 có thể cả

2 và 3 sẽ không dùng được vì vùng RAM này đã được dùng làm ngăn xếp

Ngăn xếp được truy xuất trực tiếp bằng các lệnh PUSH và POP để lưu trữ tạm thời và lấy lại dữ liệu, hoặc truy xuất ngầm bằng lệnh gọi chương trình

con (ACALL, LCALL) và các lệnh trở về (RET, RETI) để lưu trữ giá trị của

bộ đếm chương trình khi bắt đâu thực hiện chương trình con và lấy lại khi kết thúc chương trình con

® Con trỏ dữ liệu (Data Pointer — DPTR) :

Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngoài là một

thanh ghi 16 bit ở địa chỉ 82H (DPL: byte thấp) và 83H (DPH:byte cao) Ba

lệnh sau sẽ ghi 55H vào RAM ngoài ở địa chỉ 1000H:

Lệnh đầu tiên dùng để nạp 55H vào thanh ghi A Lệnh thứ 2 dùng để

nạp địa chỉ của ô nhớ cẩn lưu giá trị 55H vào con trẻ dữ liệu DPTR Lệnh

thứ 3 sẽ di chuyển nội dung thanh ghi A (là 55H) vào ô nhớ RAM bên ngoài

27

Ngày đăng: 19/11/2024, 11:51

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w