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

Điều khiển thiết bị bằng nhiệt Độ dùng vi Điều khiển 8951 và adcicl7109

120 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 đề Điều khiển thiết bị bằng nhiệt độ dùng vi điều khiển 8951 và ADC ICL7109
Tác giả Nguyễn Đức Linh, Ngô Đức Thành
Người hướng dẫn Trương Thị Bích Ngà
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 Luận vă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 120
Dung lượng 11,52 MB

Nội dung

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 ghi lệnh bên trong AT89C51 để giải mã lệnh.. ä _ Các thanh ghi và các port xuất nhập đã được định v

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG DAI HOC SU’ PHAM KY THUAT

THÀNH PHÓ HÒ CHÍ MINH

HGMUIIE

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

DIEU KHIEN THIET BI BANG NHIET DO

DUNG VI DIEU KHIEN 8951

Trang 2

PHẨNA GIỚI THIỆU

Trang 3

: TRUONG THI BiCH NGA

THỨ VIỆN TRƯỜNG ĐH§PKT : NGUYEN BUC LINH

NGO BUC THANH

01301076 Lớp: CT200IKĐĐ

Trang 4

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRUONG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH

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

BỘ MÔN ĐIỆN TỬ

NHIỆM VỤ CỦA LUẬN VĂN TỐT NGHIỆP

Ho va ten: NGUYỄN ĐỨC LINH

Lên để tài: ĐIỂU KHIẾN THIẾT BỊ BẰNG NHIỆT DO DUNG VI DIEU

KHIỂN 8951 & AC ICL711

2 Nội dung các phần thuyết minh:

GVHD: Trương thị Bích Ngà Ngày giao nhiệm vụ:

Trang 5

- _ BẢN NHẬN XÉT

DO AN TOT NGHIEP CUA GIAO VIEN HUGNG DAN

Giáo viênhướngdẫn : TRƯƠNG THỊ BÍCH NGÀ

Họ và tên sinh viên : NGUYEN DUC LINH

NGÔ ĐỨC THÀNH Lớp : CT 2001 KĐĐ

Tên dé tai; ĐIỀU KHIỂN THIẾT BỊ BẰNG NHIỆT ĐỘ DUNG VI DIEU KHIEN

8951 6 ADC ICL27109

Nhận xét của giáo viên hướng dẫn :

Trang 6

TP Hồ Chí Minh, ngày tháng năm 2003

Giáo viên hướng dẫn

Trang 7

- - BẢN NHẬN XÉT

ĐỒ ÁN TỐT NGHIỆP CỦA GIÁO VIÊN PHAN BIEN

Giáo viênhướngdẫn : TRƯƠNG THỊ BÍCH NGÀ

Họ và tên sinh viên : NGUYÊN ĐỨC LINH

NGÔ ĐỨC THÀNH

Lớp : CT 2001 KĐĐ

Tiên để tài : ĐIỀU KHIỂN THIẾT BỊ BẰNG NHIỆT ĐỘ DÙNG VI ĐIỀU KHIỂN

8951 & AIDC ICI.7109,

Nhận xét của giáo viên phần biện :

Trang 8

TP Hồ Chí Minh, ngày tháng năm 2003

Giáo viên phản biện

Trang 9

LỜI MỞ ĐẦU

wees

Ngày nay, ngành kỹ thuật điện tử đã phát triển mạnh mẽ và đạt được những thành tựu to lớn Nó không chỉ tạo ra những chuyển biến đáng kinh ngạc trong lĩnh vực điện tử mà còn trở thành một phương tiện mũi nhọn thúc đẩy sự tiến bộ của

nhiều ngành khác Nhất là lĩnh vực điểu khiển tự động ,điện tử, tin học, các hệ

thống vi xử lý đã đem lại cho nhân loại biết bao ứng dụng

: Do mức sống ngày càng nâng cao, con người nẩy sinh ra ý định điều khiển nhiệt độ, bất nó phái phục vụ cho mục đích của mình.Như trong sinh hoạt hằng ngây, ngươi ta nhận ra rằng nhiệt độ lý tưởng cho mội trường sống là 25°C Thế thì

bằng mọi cách phải tạo ra được nhiệt độ 25°C và máy điều hòa nhiệt độ ra đời

Trong nganh cóng nghiệp, điều khiển nhiệt độ là một vấn để rất quan trọng

„như ngành luyện kirn cần phải đạt đến một nhiệt độ nào đó để kim loại nóng chảy,

và cũng cần đạt một nhiệt độ nào đó để ủ kim loại nhằm đạt được tốt các đặc tính

cơ học như độ bên đó dẻo, độ chống gỉ sét, Trong ngành thực phẩm, cần duy trì một nhiệt độ nao đó để nướng bánh, để nấu, để bảo quần,

Từ đó, điều khiến nhiệt độ trở thành một lĩnh vực của điều khiển tự động Và

theo đà phát triển của các học thuyết về điều khiển tự động, kết quả của quá trình điều khiển nhiệt độ ngày càng một tốt hơn

Nắm được tẩm quan trọng của vấn đề trên nhóm thực hiện tiến hành nghiên

cứu và thiết kế một hệ thống đo và điều khiển thiết bị để khống chế nhiệt độ tự

động, với mong muốn là giải quyết những yêu câu trên, và lấy đó làm để tài tốt nghiệp cho mình

Do đó những người thực hiện đã tiến hành thực hiện để tài * ĐIỀU KHIỂN

THIET BỊ BẰNG NHIỆT ĐỘ DÙNG VI ĐIỀU KHIỂN 8951 VA ADC ICL7109 ”

Trang 10

Sĩ nhiều phía và nhất là trong thời gian thực hiện để tài,

; nén đễ tai đã được hoàn thành đúng thời gian qui định

Những người thực hiện để tài xin chân thành cẩm tạ đến :

Bộ món Điện — Điện tử cùng tất cả quí thầy cô trong khoa Điện đã giảng dạy những kiến thức chuyên

môn lâm cơ sở để thực hiện tốt luận văn tốt nghiệp và

đã tạo điều kiện thuận lợi cho em hoàn tất khóa học

Đặc biệtCô TRƯƠNG THỊ BÍCH NGÀ- giáo viên hướng dẫn để tài đã nhiệt tình giúp đỡ và cho em những lời chỉ dạy qúi báu, giúp em định hướng tốt trong

khi thực hiện đồ án

Tất cả bạn bè đã giúp đỡ và động viên trong

suốt quá trình làm đồ án tốt nghiệp

Tp H6 Chi Minh, tháng 7 năm 2003

Sinh viên thực hiện

NGUYỄN ĐỨC LINH

NGÔ ĐỨC THÀNH

-ẺẼ‹—=C

Trang 11

MỤC LỤC

PHẦN A GIỚI THIỆU

Trang tựa

Nhiệm vụ đồ án

Nhận xét của giáo viên hướng dẫn

Nhận xét của giáo viên phản biện

PHAN B NOI DUNG

Chương! = DAN NHAP

2.2 Đối tượng nghiên cứu

2.3 Phương pháp và phương tiện nghiên cứu

2.4 Thời gian nghiên cứu

Chương3 GIỚI THIỆU VI ĐIỀU KHIỂN

3.1 Vi điểu khiển họ MSC -51

3.2 Giới thiệu cấu trúc phần cứng vi diéu khiển AT89C51

3.2.1 Giới thiệu tổng quát AT89C51

3.2.2 Sơ đồ khối vi diều khiển 3.2.3 Sơ đồ chân và sơ đồ logic 3.2.4 Chức năng và nhiệm vụ của các chân 3.2.5 Tổ chức bộ nhớ của vi điều khiển AT 89C51 3.2.6 Thanh ghi điểu khiển Port nối tiếp

Trang 12

Chương 4 GIGI THIEU ADC ICL7109CPL

4.1 So lugevé các phương pháp biến đổi AD

4.1.1 Biến đổi AD dùng bộ biến đổi DA 4.1.2 Biến đổi Flash AD

4.1.3 Bộ biến đổi AD theo hàm dốc dạng lên xuống

4.1.4 Bộ biến đổi AD dùng chuyển đổi áp sang tần số

4.1.5 Bộ biến đổi AD tích phân hai độ dốc

4.2 Giới thiệu cấu trúc ADC ICL 7109CPL

4.2.1 Cấu tạo chân 4.2.2 Mô tá các chân

4.2.3 Quá trình biến đổi AD

6.2.3 Thermistor 6.2.4 ICcảm biến

Chương7 THIẾT KẾ PHẨN CỨNG & PHẨN MỀM

Trang 14

LIET KE CAC BANG

Bảng 3.1 Bảng so sánh các IC trong họ MCS-5I

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

Bảng 3.3 Bang tóm tắt vùng nhớ của AT 89C51

Bảng 3.4 Bắng mô tả các bit trạng thái

Bang 3.5 Bang tóm tắt thanh ghi điều khiển Port nối tiếp

Bang 3.6 Bang các Mode hoạt động

Bang 3.7 Bang tom tắt tốc độ Baud

Bang 3.4 Thanb ghi TMOD cia Timer

Bang 3.9 Bang mé ta céc Mode cha Timer

Bang 3.10 Bang mé t4 thanh ghi diéu khién TCON

Trang 15

LIỆT KÊ CÁC HÌNH

Hình 3.1 Sơ đồ khối Vi điều khiển AT 89C51`

Hình 3.2 Hình sơ đồ chân vi điều khiển AT 89C51

Hình 3.3 Bộ nhớ ngoài

Hình 3.4 Sơ đồ khối của Port nối tiếp

Hình 3.5 Giản đồ thời gian của Port nối tiếp

Hình 3.6 Thanh ghi Port nối tiếp

Hình 3.7 Mô tả cách nối AT 89C51 với bộ nhớ ngoài

Hình 3.8 Giấn đỗ chu kỳ đọc bộ nhớ chương trình ngoài của AT89C51

Hình 3.9 Truy xuất dữ liệu ngoài

Hình 3.10 Giản dé chu ky đọc bộ nhớ dữ liệu ngoài của AT 89C51

Hình 4.1 Sơ đồ biến đổi AD dùng bộ biến đổi DA

Hình 4.2 Sơ đá biến đối AD dùng bộ biến đổi DA

Hình 4.3 Sơ đó mạch và giải thuật

Hinh 4.4 Sơ đồ biến đối Flash AD

Hình 4.5 Cấu tạo chân ICL7109

Hình 5.I Sơ để n OPO7

Hình 5.2 Sơ đồ chân 74138

Hình 6.1 Sơ đổ khối hệ thống đo lường số

Hình 7.1 Sơ đồ khối của hệ thống

Hình 7.2Khối xử lý trung tâm

Hình7.3 Khối hiển thị

Hình 7.4Khối biến đổi tương tự sang số

Hinh 7.5 Khối cảm biến

Hình 7.6 Khối bàn phím

Hình 7.7 Khối công suất

Hình 7.8 Khối nguồn

Hình 8.1 Sơ đồ nguyên lý

Hình 8.2 Sơ đồ mạch in khối xử lý trung tâm,ADC &cảm biến

Hình 8.3 Sơ đồ mạch in khối hiển thị

Hình 8.4 Sơ đô mạch in khối công suất

Trang 16

PHẨNB NỘI DUNG

Trang 17

CHƯƠNG1 DẪN NHẬP

Trang 18

er en nT

Chương 1 : DẪN NHẬP

1.1 ĐẶT VẤN ĐỀ

Lĩnh vực điện tử-tin học ngày càng phát triển và đã được ứng dụng nhiều vào

trong thực tế để nâng cao năng xuất lao động Với sự ra đời của các bộ vi điều khiến, các vi mạch tích hợp, vi mạch lập trình Nhờ vậy, những người thiết kế”

mạch, người học, đặc biệt là sinh viên chuyên ngành Điện — Điện tử có những thao

tác đơn giản hơn trong quá trình kết nối mạch điện tử

Trong nhiều lĩnh vực sản xuất công nghiệp hiện nay, nhất là ngành công

nghiệp luyện kim, chế biến thực phẫm vấn để đo , điểu khiển thiết bị để khống chế nhiệt đô đác biệt được chú trọng đến vì nó là một yếu tố quyết định chất lượng

sản phẩm Nấm được tâm quan trọng cửa vấn để trên nhóm thực hiện tiến hành nghiên cứu và thiết kế mót hệ thống đo và điều khiển thiết bị để khống chế nhiệt độ

tự động, với mong muốn la giải quyết những yêu cầu trên, và lấy đó làm để tài tốt

nghiệp cho mình

Do đó những người thực hiện đã tiến hành thực ) hiện để tài * ĐIỀU KHIỂN

THIẾT BỊ BẰNG NHIỆT ĐỘ DÙNG VI DIEU KHIEN 8951 VA ADC ICL7109 ”

1.2 TÂM QUAN TRỌNG CỦA ĐỀ TÀI :

Ngày nay, kỹ thuật điện-điện tử đã phát triển khá mạnh mẽ, đã thúc đẩy sự

phát triển nên kinh tế toàn câu làm tiền để cho các lĩnh khác phát triển Đặt biệt là

trong lĩnh vực viễn thông cũng như trong việc điều khiển tự động , chẳng hạn như

việc điều khiển thiết bị bằng nhiệt độ

Hiện nay có rất nhiều hệ thống điểu khiển thiết bị bằng nhiệt độ như dùng vi

mach và vi diéu khiển 8951 kết hợp với ADC 0809( 8bit), cảm biến LM335

Những người thực hiện để tài muốn tăng độ chính xác hơn nữa đối với hệ thống này

này Muốn vậy dùng cẩm biến có sai số thấp kết hợp với ADC có số bit cao, nhưng cảm biến sai số thấp có giá thành cao -> không kinh tế Nên những người thực

_hiện để tài dùng ADC 12bit kết hợp LM335_ Giá thành ré -> phù hợp

Do đó việc thiết kế hệ thống này là một nhu cầu hết sức cần thiết và đây chính là mục tiêu để những người thực hiện thiết kế hệ thống này

Trang 19

- Chưa đặt trước được độ trôi nhiệt độ của thiết bị

Do đó mà chúng em chưa viết chương trình cho phần này, do thời gian có hạn

nên chúng em không chuẩn bị đủ kiến thức, nhưng nếu có đủ thời gian chúng cm

hứa sẽ thi công hoàn chỉnh hê thống này

1.4 MỤC DÍCH NGHIÊN CỨU :

“Trén thực tế nhú câu đo và khống chế nhiệt độ cách chính xác là rất cần thiết nó được ứng dụng nhiều trong thưc tế, đây cũng là một đề tài còn khá mới tuy có một

sở anh chị đi trước có nghiên cứu nhưng chưa đi vào chỉ tiết cụ thể, có thể xem dây

là một mô hình có thể đưa vào giảng dạy Cũng như thực tế trên thị trường của chúng ta rất cần mã chita có Đề tài “ ĐIỀU KHIỂN THIẾT BI BANG NHIET DODUNG VI PILL KHIỂN 8951 VÀ ADC ICL7109 * ra đời sẽ đáp ứng được phần nào cho thị trưởng của chúng t4

Trang 20

CHƯƠNG2_ CƠ SỞ LÝ LUẬN

Trang 21

"“ NHRNEHHNA AE EPPEBMOHHIVEĐEEBD CA TẠI CA RE EEEODREERRRNEPSHTHSPDNVPDHHPNPPĐHVRNWHHNPPTVPSEEVVONHHRVPAVOIPVPIP KP ĐẾN HH ĐỚN TỔN CÀ ĐA AI ỌAODRRBERRDCUOEAQGBAAQugaagya

Chương2: CƠ SỞ LÝ LUẬN

2.1 DẦN Ý NGHIÊN CỨU

e Các phương pháp đo nhiệt độ

e Giới thiệu vi điều khiển 8951 , ADC ICL7109CPL

e Thiết kế mô hình đo- hiển thị và khống chế thiết bi

e Thiết kế board công suất giao tiếp với thiết bị bên ngoài

© Lap tinh phần mềm cho vi điều khiển

2.2 DỐI TUỢNG NGHIÊN CỨU

Nghiên cứu chủ yếu là mồ hình đo nhiệt độ và điều khiển thiết bị bên ngoài

2.3 PHƯƠNG PHÁP NGHIÊN CỨU VÀ PHƯƠNG TIỆN NGHIÊN CỨU

2.3.1 Phương pháp

"Tham khảo ti liệu: ủm hiểu các tài liệu để cập đến biến đổi ADC, van dé đo- hiển thị nhiệt độ , giao tiếp với các thiết bị bên ngoài và các tài liệu về đặc điểm kỹ

của ví điều khiển AT 89C51

Thực nghiệm: viết chương tình thực nghiệm trực tiếp trên vi điều khiển

2.3.2 Phương tiện

Máy tính cá nhần

Card nạp ví điều khiển

Các testboard thực hiện việc thử nghiệm

2.4 THỜI GIAN NGHIÊN CUU

Nhóm nghiên cứu đã thực hiện để tài từ ngày đăng ký, công việc được phân bố

e Tuần 1: Lập để cương tổng quát

e Tuần 2: Thu thập tài liệu

e Tuần 3: Lập để cương chỉ tiết

e Tuần 4, 5, 6, 7: Triển khai để cương và đánh máy

e Tuần 8: Sửa chữa định dạng toàn bộ để tài

e Tuần 9:In ấn

Trang 22

CHƯƠNG 3 GIỚITHIỆU VI DIEU KHIEN

Trang 23

_SHETERSAREORSOVGHSEVS 42 00030H000A010BSPH SA 514B) 2NVUHHMRS04244408//80/4088/2808P

St hoiitN0A01000001030/4181009000S8.E01928010/205/7H12T01/”E1S LEE EEA,

Chương 3: GIỚI THIỆU VI ĐIỀU KHIỂN

3.1 VI DIEU KHIEN HQ MCS-51

MCS-51™ là họ vi diéu khiển do hang INTEL sản xuất vào đầu những năm 80 và ngày nay đã trở thành một chuẩn trong công nghiệp Bắt đầu từ IC tiêu biểu là 805

đã cho thấy khả năng thích hợp với những ứng dụng mang tính điều khiển Việc xử

lí trên byte và các phép 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 dữ liệu nhanh trên RAM nội Tập lệnh cung cấp một bản tiện

dụng của những lệnh số học 8 bit gồm cả lệnh nhân và lệnh chia Nó cung cấp

những hỗ trợ mở rộng on-chip ding cho những biến một bit như là kiểu dữ liệu riêng

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í

Bang 3.1 ang so s4nh cde IC trong họ MCS-51”M ;

TEN LINH | #ONHOCHUONG | BONHG DU LIBU TIMER

3.2 GIỚI THIỆU CẤU TRÚC PHÂN CỨNG VI ĐIỀU KHIỂN AT89C5I :

3.2.1 Giới thiệu tổng quát AT89C51:

Do họ MCS-51TM đã trở thành chuẩn công nghiệp nên có rất nhiều hãng sản xuất ra

nó, điển hình là ATMEL Corporation Hãng này đã kết hợp rất nhiều tính năng dựa trên nền tầng kỹ thuật của mình để tạo ra các vi điều khiển tương thích với MCS-

51M nhưng mạnh mẽ hơn

AT89C51 1a mét vi điều khiển 8 Bit, chế tạo 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 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 BiL với một PEROM trên một Chip đơn, ATMEL AT89C51 là một vi điểu khiển

Trang 24

1ä29000 0T SA 1G

mạ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á

cả đối với nhiều ứng dụng vi điều khiển

AT89C5I 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 I/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, 1 mạch dao động tạo xung Clock và bộ dao độ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és (IDLE MODE) sé ditng CPU trong khi vin cho phép RAM, timer/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

AM 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 khi lcset hệ thống

Các đặc điểm của AT#9C5] được tóm tắt như sau:

0 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

o Tan s6 hoat dong ur: OHz dén 24 MHz

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

oa 2 bO Timer/counter 16 Bit

128 Byte RAM ndi

4 Port xuất /nhập L/O 8 bịt

Giao tiếp nối tiếp

Trang 25

S000100110/0//000//500.0/0/7720H0001003H4018106000biihihfPHPHMEHIISPRPCNEPTEPREE

3.2.2 Sơ đồ khối IC vi điều khiển AT89C51

INTO INTT

Timer 2 [—— Timer 1

Trang 26

£30 ATSOCSI EA/VEE 77 [gy ADT PED " ALE/PROG

2 RDN P37 P27 AIS

Hình 3.2 Sơ dỗ chan Vi diéu khién AT 89C51

3.2.4 Chức năng và nhiệm vụ các chân của AT 89C51

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ỉ

3.2.4.1 Các Port :

* Port 0 : Port0 là port có 2 chức năng ở các chân 32-39 của AT89C51 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 1/0 Đối 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 1 Ja port I/O trên các chân 1-8 Các chân được ký hiệu P.0,

PI.1, P1.2, có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần Port 1 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

Trang 27

CN NA RA ĐA NA ERAREBIEIPRIPRAIIBHUBEIVRDPItRdUH00iAUđUGG03U0M2H80084000/9/4H350.U90M, MUaMS/3U0//44/8HU8ĐIE

a

* Port 2 : Port 2 là port có tác dụng 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 1a port c6 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 :

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

BịL |Tên | Chức năng chuyển đổi

P3.0 RXD Ngõ vào đữ liệu nối tiếp

P3 |TXI) | Ngõ xuất dữ liệu nối tiếp

P32] INTO\| Ngõ vao ngất cứng thứ 0

P3.3 | INTI\ | Ngo vao ngất cứng thứ I

p3.4| TO Ngõ vào của TIMI2R/COUNTER thứ 0

P35 | TE Ngõ vào của TIMER/COUNTER thứ 1

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

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

3.2.4.2 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

PSEN ở 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 ghi lệnh bên trong

AT89C51 để giải mã lệnh Khi AT89C51 thi hành chương trình trong ROM nội PSEN

sẽ ở mức logic 1

® Ngõ tín hiệu điều khiển ALE (Address Latch Enable) : Khi AT89C51

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 6 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 ra ở chân ALE là một xung trong khoảng thời gian PortÔ dóng vai uò

là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động

Trang 28

%2/0180A000400/A0/30150 800

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 AT89C51

® Ngõ tín hiệu EA\ (External Aceẻss) : 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, AT8§9C51 thi hành chương trình từ

ROM nội trong khoảng địa chỉ thấp 4k byte Néu ở mức 0, AT89C5I 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

ATSICSI 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

phí bên trong được nap những giá trị thích hợp để khởi động hệ thống Khi cấp điện

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

3.2.5 Tổ chức bộ nhớ của vi điều khién AT89CSI :

Trang 29

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

Bit Address

27|26 |25 |24 |23 |22 2120] 8D |not bit address

IF] 18/1D/1C [1B] 1A|19|18] 8C |not dit address

17| 16 |15 [14 [13 112 |11 [10] 8B |not bit address

or|oE|oD|0C |0B |0A |09 |08 | 8A |not bít address

07 [06 |0s |o4 |03 |02 |01|00| 89 |not bịt address

Bank 3 $8 |SF |SE|8D|SC |&B |§A |89 |88

Bộ nhớ trong AT89C51 bao gồm ROM và RAM RAM trong AT89C5I 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 biL, các

bank thanh ghi và các thanh ghi chức năng đặc biệt

Trang 30

ä _ 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 ATS9C5I có được phân chia như sau :

Các bank thanh ghi có địa chỉ từ 00H đến 1FH,

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

- RAM đa dung tư 30H đến 7EFH

- Các thanh ghi chức náng đặc biệt từ 80H đến FFH

3.2.5.1 RAM đa dụng z

Mặc dù trên hình vẽ cho thấy 80 byte đa dụng chiếm các địa chỉ từ 30H đến

7FH, 32 byte dưới từ 92H đến IFH cũng có thể được dùng với mục đí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ỉ 5FH của RAM

nội vào thanh ghi tích lũy (A), lệnh sau sẽ được dùng :

Trang 31

NON NNHENEAEHPNHHHANNHISĐPSEIHIHHIPRRGGHC2MJPSBPIPPSHIĐRMSTUBHE.DIESPGGOHHUHEIH

3.2.5.2 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 ghi 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 bit làm đơn giản phần mềm xuất nhập từng

bịt

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

bịt phụ thuộc vào lệnh được dùng, Ví dụ để đặt bit 67 ta dùng lệnh sau :

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

AT89C51 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 nay 6 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:

MOV A, RS

Đây là lệnh 1 byte dùng địa chi thanh ghi Tuy nhiên yêu cầu trên có thể thi hành bằng lệnh 2 byte dùng dia chi trực tiếp nằm trong byte thứ 2:

MOV A,05H

Các lệnh dùng các thanh ghỉ 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 ghi nên tại một thời điểm chỉ có một bank thanh ghỉ được

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

thanh ghi ta phải thay đổi cdc bit chon bank trong thanh ghỉ trạng thái Giả sử bank thanh ghi 3 dang đượ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

Trang 32

KHẢ AAẢAÝŸÍóÓ oO SEE

LETTE ETE

3.2.5.4 Các thanh ghỉ chức năng đặc biệt :

Các thanh ghi trong một vị điều khiển gồm có : thanh ghi ứch lũy

(Accumulator Register), thanh ghi PC (Program Counter Register), thanh ghi con tré ngan xép (Stack Pointer Register), thanh ghi trang th4i (Status Register), thanh

ghi dia chi (Progarm Address Register), thanh ghi lénh (Instruction Register), c4c thanh ghi thong dung

# Thanh giủ tích lũy (thanh ghỉ A - Accumulator Register) :

"Thanh ghi A là mội 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 phí A, nhưng cân lưu ý rằng hầu hết sau khi thực hiện phép

tính, AL.D thưởng gởi đữ liệu vào thanh ghi A làm dữ liệu trong thanh ghi A trước dó

bị mất

Thanh ghi A thưởng lam trung gian để trao đổi dữ liệu của vi điều khiển với

các thiết bị ngoại vỉ

Với ví điều khiến AT89C51, thanh ghi A có độ dài 8 bit

# Thanh ghỉ PC (Program Counter Register) :

Bộ đếm chương trình PC (Program Counter) là thanh ghi đặc biệt dé chi 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 dữ

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 dữ 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 nhiên trong chương trình có lệnh có khả

năng làm thay đổi nội dung thanh ghi PC

Với vi điều khiển AT89C51, thanh ghi PC có độ dài 16 bit và khi vi điều khiến

dude reset lại, thanh ghi PC sẽ tự động nap cho mình giá trị 00000

® Thanh ghỉ trạng thái chương trình (Program Status Register) :

Thanh ghi trạng thái còn gọi là thanh ghi cd (Flag Register - thanh ghi F) dùng dé

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

l39/9008t9tdotteeteotteetoceoosceeyorin

Trang 33

Ợ0RỢAERNEANinttionivfHHSNHSI0010RHIRMHMI3810IPHRMMB.ĐREMM/i,iS08/0/ANI140HIUTHGU ng

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

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

Bảng 3.4 Bảng mô tả các bit trạng thái

PSW.4 RSI D4H Bit 1 chon bank thanh ghi

SW.3 RS0 D3H BiL0 chọn bank thanh ghi

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

01 = bank 1; địa chỉ 08H - OFH

| 11 = bank 3: dia chi 18H - IFH

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:

ADD A, #1

Phép cộng nay cé tran nén bitC = 1 và kết quả trong thanh ghi A = 00H

Cờ nhớ có thể xem như là thanh ghi 1 bit cho các lệnh luận lý thi hành trên

biL Ví dụ: lệnh sau sẽ AND bit 25H với cờ nhớ và đặt kết quả trở vào cờ nhớ;

} Các bit chon bank thanh ghi truy xuất : Các bit chọn bank thanh ghi

(RS0 và RS1) 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 ghi R7 (địa chỉ byte IFH) vào

thanh ghi A:

ee Si

Trang 34

eh TT có CÓ CÓ EEEPTERLDEELER LEE SEALER AIT

SETB RS1

SETB RSO

MOV A, R7

Khi chương trình được dịch sang mã máy cho AT89C51 thi hành, các địa chỉ

bit được thay thế cho các ký tự RS1 va RSO Vay lệnh SETB RSI sẽ giống như

SETB D4H

° Cờ tràn : Cờ tràn (OV) có tác dụng như sau : OV=1 sau I 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 nay để 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, biL OV có thể được bỏ qua Các

kết quả lớn hơn +127 hoác nhồ hơn -128 thi bit OV=1 Vi du phép cộng sau khi bị

trần và bịt QV được set: 0H + 7PH= 8E

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

142 vi vay bit OV=1

¢ Thanh ghi B:

Thanh ghi B ở địa chỉ OFOH dude ding cùng với thanh ghi 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 và B rồi trả

về kết quả 16 bit trong A (byte thấp) và B (byte cao) Lệnh DỊV AB sé chia A cho B tô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 ghi đệm đa dụng Nó được địa chỉ hóa từng bít với các địa chỉ bit từ F0H - F7H

¢ Con tré ngdn xép (Stack Pointer Register thanh ghi SP):

Con trổ ngăn xếp 1a | thanh ghi 8 bit 6 dia chi 81H N6 chifa dia chi của bytc

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 AT89C5L đượ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à 128 byte dau của AT89C51

Để khởi động SP với ngăn xếp cla AT89C51 chỉ có 32 byte vì địa chỉ cao nhất của RAM trên chip là 7FH Sở dĩ giá tri SFH được nạp vào SP vì SP sẽ tăng lên 60H trước khi cất byte dữ liệu đầu tiên

Khi Reset AT89C51, 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 ghi 166 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 trinh cop LACS ác lệnh trở về

Trang 35

my

(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é dit ligu (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 vao RAM ngoai G dia chi 1000H:

MOVX @DPTR,A

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

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 có địa chỉ chứa trong

DPTR (đà 1000H)

@ Cac thanh ghi Timer:

AT89CS51 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 Tímer9 ở địa chi 8AH (TLO : byte thấp) và §CH (TH0 : byte cao) Timerl ở địa chỉ SðH (TLI : byte thấp) và 8DH (THỊ : byte cao) Việc khởi động Timer được set bởi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghỉ điều khiển (TCON) ở địa chỉ 58H Chỉ có TCON được địa chỉ hóa từng bit

® Các thanh ghí Port nối tiếp :

AT§9C51 chứa 1 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 nh, modcm hoặc giao tiếp nối tiếp với các IC khác (các bộ

chuyển đổi A/D, các thanh ghi dịch ) Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp

(SBUF) 6 địa chỉ 99H sẽ dữ 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 được địa chỉ hóa từng

bit 6 dia chi 98H)

Port nối tiếp của 8951 có thể hoạt động trong các mode riêng biệt trên phạm

vi cho phép của tần số Chức năng chủ yếu của Port nối tiếp là thực hiện sự chuyển đổi song song thành nối tiếp cho dữ liệu ra và sự chuyển đổi nối tiếp thành song

song cho dữ liệu vào,

Phần cứng truy xuất tới Port nối tiếp qua các chân TXD (P3.1) và RXD

Trang 36

gill thanh ghỉ chức năng đặc biệt cung cấp cho phần mém truy xual dén Port

nối tiếp là SBUF va SCON Thanh ghi đệm nối tiếp (SBUF) ở địa chỉ 99H có 2 chức

năng: ghi dữ liệu lên thanh ghi SBUF thì dữ liệu đó được truyền đi, nếu hệ thống,

khác gởi dữ liệu đến thì sẽ được lưu vào thanh ghỉ đệm ˆ :

Sơ đồ khối của Port nối tiếp như sau :

Hình 3.4 Sơ dé khối của Port nối tiếp

Thanh ghi diéu khiển Port nối tiếp SCON (98H) là thanh ghi được định vị bit

bao gồm các trạng thái và các bit điểu khiển Các bit điểu khiển set mode ctia Port

nối tiếp, còn các bit trạng thái cho biết sự kết thúc việc thu phat | ki tự Các bit trạng thái có thể được kiểm tra trong phần mềm hoặc có thể lập trình để sinh ra sự ngất cách phù hợp Tân số hoạt động của Port nối tiếp hoặc tốc độ BAUD có thể

được lấy từ dao động trên Chip 8951 hoặc thay đổi Nếu một tốc độ Baud thay đổi

được dùng, thì Timer cung cấp 1 tốc độ aud ghi giờ và phẩi được lập trình một cách thích hợp

3.2.6 Thanh ghi diéu khién port n6i tiép (serial port control register) :

Mode hoạt động của Port nối tiếp 8951 được set bdiviéc ghỉ lên thanh ghi

mode của Port nối tiếp SCON ổ địa chỉ 29H

Bảng tóm tắt thanh ghỉ điều khiển Port nối tiếp SCON như sau :

Bảng 3.5 Bảng tóm tất thanh ghỉ điều khiển Port nối tiếp —

Bit lỆ Địa chỉ Mô tả hoạt động

§CON.7 SM0 9FH Bit 0 cla mode Port nối tiếp

Trang 37

acacia

SCON.6 SMI 9EH Bit 1 cửa mode Port nối tiếp

SCON.S5 SM2 9DH Bit 2 cia mode Port noi tiếp Cho phép sự

truyền của bộ xử lý da kênh ở mode 2 và 3; RI

Sẽ không tích cực nếu bịt thứ 9 đã thu vào là 0 SCON.4 REN 9CH REN=1 sẽ cho thu kí tự

SCON.3 TB8 9BH Phát bit 8 Bit 9 phat trong mode 2 và 3, nó được

set hoặc xóa bởi phần mềm

S§CON.2 RB§ 9AH Thu bit 8, bit 9 thu

SCON.1 TI 99H Cờ ngắt phát Được set khi kết thúc sự truyền kí

tự và được xóa bởi phần mềm

SCON.O RE 9811 Cờ ngắt thu Được set khi kết thúc sự thu và

được xóa bởi phần mềm

3.2.7 Cae mode hoat ding (mode of operation) :

Modc hoạt động

0 0 9 Thanh ghi dịch Cố định (tần số dao động f/12)

1 0 2 UART 9 bit Cố định (tần số dao động f/12 or f/64:

Trước khi dùng Port nối tiếp, SCON phải được gần đúng mode Ví dụ để khởi gán Port nối tiếp MOIDE 1 (SM0/SMI = 0/1), cho phép thu (REN =l), và set cờ ngắt của việc phát sẵn sàng hoạt động (TI = 1), ta dùng lệnh sau : MOV SCON, # 01010010b

Port nối tiếp của 8951 có 4 mode hoạt động tùy thuộc theo 4 trạng thái của

§M0/SMI

Ba trong bốn mode cho phép truyền sự đồng bộ với mỗi kí tự thu hoặc phát sẽ được bố trí bởi-bit Start hoặc bit SI0P

3.2.7.1 Thanh ghi dich 8 bit (MODE 0):

Để đặt Port nối tiếp vào mode 0 thì 2 bit của SCON là SM0/SMI = 0/0 Dữ

thoát ra thông qua RXD và TXD truy xuất ra xung clock đã

dịch 8 bit được phát hoặc thu với trọng số nhỏ nhất trước tiên Tốc độ Baud được cố

định 6 tan số Ms tần số dao động trên Chỉp

Lệnh phát được khởi động bằng bất kỳ lệnh nào mà nó ghỉ dữ liệu vào SBUF

Dữ liêu được dịch ra ngoài trên đưỡng RXD (P3.0) với các xung nhịp đuợc gởi ra

đường TXD (P3.0).Mỗi bịt phát là gi

mỗi chu kỳ máy, tín hiệu clock dua x

á trị rên chân RXD bởi một chu kỳ máy Trong uống thấp S3P1 và quay lại cao trên S6P!

Trang 38

Sự thu được khởi động khi bit cho phép thu REN = 1 và bit ngắt sự thu RI = 0

Nguyên tắc chung là set bit REN ở đầu chương trình để khởi động Port.ndi tiếp, và

sau đó xóa bit RI để bắt đầu hoạt động nhập vào.Khi RI được xóa, các xung clock

được ghỉ ra đường TXD để bắt đầu chu kỳ máy kế tiếp và dữ liệu ngoài được ghi giờ

trong đường RXD

Biểu đồ thời gian của dữ liệu vào Port nối tiếp bởi mode 0 như sau :

| le One maching cycle

xz.LƒLfL†L†L†L†L†L†L

đAU)

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

Một ứng dụng cu thể của thanh ghí dịch là nó tham gia vào khẩ năng xuất dữ

liệu của 8951 Mót íC thanh ghi dịch từ nối tiếp thành song song có thể được nối

đến các đường TXD và RXI của 8951 để cung cấp 8 đường ra

Hình 3.6 Thanh ghi Port nối tiếp

3.2.7.2 Thu phát bất đông bộ 8 bit với tốc độ Baud thay đổi (MODEL) :

Trong mode 1, Port nối tiếp hoạt động như bộ thu phát bất đồng bộ UART 8

bit có tốc độ Baud thay đổi UART là một thiết bị mà nó thu và phát dữ liệu nối

tiếp với mỗi ký tự dữ liệu được đặt trước bằng 1 bit StarL (thấp) và được theo sau

bằng 1 bit Stop (cao), bit parity thỉnh thoảng được lồng vào giữa bit dữ liệu sau cùng

va bit Stop

Hoạt động thiết yếu của UART là bí

tiếp và biến đổi dữ liệu từ nối tiếp sang song song

Trong mode 1, 10 bit được phát trên đường TXD hoặc được thutrén đường

RXD.Những bit đó la : 1 bit start (luén =0 ) ,8 bit data (Isb dau tién), va 1 bit stop

(luôn =1) Để đi vào hoạt động thu, bit Stop được đưa vào RB8 trong SCON

Trong 8951, tốc độ Baud được định bởi tốc độ tràn của Timer 1

én déi dif liéu xuất từ song song sang nối

Trang 39

Việc phát được khởi động bằng cách ghi lên thanh ghi đệm nối tiếp SBUI',

nhưng nó không thực sự bắt đầu cho đến khi sự tràn kế tiếp của bộ đếm chia l6

được cung cấp tốc độ Baud của Port nối tiếp Dữ liệu dịch được xuất ra trên TXD

bắt đầu với biL start theo sau là 8 bit data và sau cùng là bit stop Các cờ phát TI

đượs set ngay tức thời cùng lúc với sự xuất hiện cửa bit Stop trên chân TXD

Sự thu được khởi động bởi sự chuyển đổi từ 1 sang 0 trên đường RXD Bộ đếm

chia 16 được reset lập tức để sắp xếp các sự đếm với sự đưa tới các bit mới được lấy mẫu trong 4 bit của sự đếm

Bộ thu chứa “Sự kiểm ta biL Start sai” Nếu sai thì bộ thu được reset và quay

lại rạng thái Idlc giống như sự phát từ 1 sang 0 kế tiếp

Giả sử bịt Starl hợp kiểm tra hợp lệ và sự thu ký tự tiếp tục, bit Start được nhảy quầng và & bil data dude ghi vao thanh ghi dịch Port nối tiếp

Khi tất cả # hit được ghi giờ vào thanh ghi dịch thì 3 điều sau sẽ xảy ra :

Ý Bịt thứ 9 (bít Suap) được đếm thời gian vào trong RB8 trong SCON

Ý Thanh ghi đém Port nối tiếp SBUF được LOAD vào nó 8 bit data

Ý Cỡ ngắt thu RI duge set

Tuy nhién, điều này thường xấy ra nếu hai điều kiện sau tổn tại :

e RI=Ova

© SM2= 1 va bit Stop của bít thu = 1 hoặc SM2 =0

Sự yêu cầu RI = 0 dam bdo phan mềm đã đọc ký tự trước (và xóa RI) Điều

kiện thứ haiđưa ra phức tạp, nó chỉ ứng dụng trong mode truyén cửa bộ xử lý đa

kênh

3.2.7.3 Sự thu phát bất đông bộ 9 bit có tốc độ Baud cố định (MODE 2) : Khi SMI = 0 và SM0 = I thì Port nối tiếp hoạt động ở mode giống như UART

9 bit có tốc độ Baud cố định Có 11 bit được phát hoc thu : 1 bit Start, 8 bit data, |

bit data thứ 9 được lập trình va 1 bit Stop Trên sự phát, bit thứ 9 được đặt vào TB8

của §CON (có thé bit parity) Trên sự thu, bit thứ 9 được đặt vào bit RB8 cửa

SCON Tốc độ Baud trong mode 2 bung 1/12 hoặc 1/64 tân số dao động trén Chip

3.2.7.4 Sự thu phát bất đông bộ 9 bit có tốc độ Baud thay đổi (MODE 3) :

Khi SM1/SM0 = 1/1 thì Port nối tiếp hoạt động ở mode 3 giống như UART 9

biL có tốc độ Baud thay đổi Mode 3 tương tự mode 2 ngoại trừ tốc độ Baud được lập

5 Timer Sy that céc mode 1, mode 2, mode 3 rất giống

tốc độ Baud (mode 2 cố định, mode 1 va mode 3

6 8 bit data, mode 2 va mode 3 có 9 bit data)

trình và được cung cấp bởi bộ

nhau, những điểm khác nhau ở

thay đổi) và số bit data(mode 1c t K ita

3.2.8 Quá trình khỏi động và truy xuất các thanh ghỉ của port nối tiếp :

3.2.8.1 Cho phép bộ thu (Receive Enable) :

Trang 40

Bit cho phép thu REN trong thanh ghi SCON phải được set bởi phần mềm để

cho phép sự thu các ký tự, Điểu này thường được làm ở đầu chương trình khi các

Port nối tiếp và các Timer được khởi động,

Ta có thể động bằng lệnh : =

SETB REN hoặc MOV CON, # XXXIXXXXB

3.2.8.2 Bit data thi 9 (the9" data bit) :

Bit data thứ 9 được phat tong mode 2 va mode 3 phải được LOAD vào TB8

bởi phần mềm, còn bit data thứ 9 được thu thì đặt trong RB8

Phần mềm có thể (hoặc không) đòi hồi một bit data thứ 9 tham gia vào những

chỉ tiết kỹ thuật của thiết bị nối tiếp với điều kiện màsự truyền data được thành lập

3.2.8.3 Hùt kiếm tra chẵn lễ Parity

Cách tổng quát dung chung bịt data thứ 9 là cộng Bit Parity vào một ký tự

BìL P (Parity) trong uf trang th4i chương trình PSW sẽ được set hoặc xóa với mọi chủ kỳ máy để tianh lập bít Parity chẩn với 8 bít trong thanh ghỉ tích lũy A

Ví dụ nếu sự ưuyền yếu cầu 8 bit data cộng thêm 1 bit Parity chan, thi céc

lệnh sau đáy có thể được dung để phát8 bit vào thanh ghỉ A với Parity chắn dược

Việc dùng bit Parity không bị giới hạn trong mode 2 hoặc mode 3 8 bit data

được phát trong mode l có thể bao gồm 7 bit data, và 1 bit Parity Dé phat | ma

ASCII 7 bit với 1 bit Parity chẳn vào 8 bit, các lệnh sau đây được dùng :

CLR ACC,7 : Xóa bit MSB trong A dam bdo Parity chẩn

MOV C,P : Đưa Parity chẳn vào C

MOV ACC.7,C : Đưa Parity chan vào bit SB của A

MOV SBUF,A : Gởi biLdata cùng bit Parity chan

3.2.8.4 Cờ ngắt :

Cờ ngắt thu RI và

trong sự truyền nối tiếp 8951 C

bởi phần mềm

phát TI trong thanh ghỉ SCON vận hành 1 role quan trong,

ả hai bit đều được set bởi phần cứng nhưng phải xóa

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

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

TÀI LIỆU LIÊN QUAN

w