1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế và thi công mạch điều khiển máy lạnh cho trạm BTS không người trực

100 699 1
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 đề Thiết kế và thi công mạch điều khiển máy lạnh cho trạm BTS không người trực
Trường học Trường Đại Học Công Nghiệp Thực Phẩm TP. Hồ Chí Minh
Chuyên ngành Electrical Engineering
Thể loại Dự án tốt nghiệp
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 100
Dung lượng 2,98 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Day Date Month Year Control O7h Rami8xs | 08h 3Fh e _ Thông tin về thời gian và ngày tháng được lấy ra bằng cách đọc các byte thanh ghi thích hợp , thời gian và ngày tháng cũng đ

Trang 1

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

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ

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

ĐỀ TÀI:

THIẾT KẾ VÀ THI CONG MACH

DIEU KHIEN MAY LANH CHO

TRAM BTS KHONG NGUOI TRUC

GVHD:Th S NGUYEN HUY HUNG SVTH : LƯU VĂN HẠNH

Trang 2

NHIỆM VỤ LUẬN ÁN TỐT NGHIỆP

Chú ý : SV phải đồng bản nhiệm vụ này vào trang thứ nhất của luận án

¬ Ty Pct Me sa Hy macs Abita ame Lenk

2 Nhiệm vụ (Yêu cầu về nội dung và số liệu ban đầu) :

A

so + die ơi v4 ai liek Hee act 3: Duta aot At 04’ 2

oe CT 26 od” dade pli tr Pag Mlb We 26 be ECE

co Dung LCD.dsén d dop he, nguke mig fh Pet AB AS Ed IEE DB lay 5 Ml Gh ˆ

voto EN Meld Negi, ME th te librtn At DC Cheay và laf 2

sa iMag, Leh ce mi das plain C Góc hÁza ⁄( 264)

3 Ngày giao nhiệm vụ luận án : 3/40/2008

4 Ngày hoàn thành nhiệm vụ :2/4/ 2009

5 Họ tên người hướng dẫn : Phần hướng đẫn

a À0 su HH HH AT SH 2s2H

xxx BE eccseecssessssnstneessstvestisssiuneatiatien

svete Nội dung và yêu cầu LATN đã được thông qua NGƯỜI HƯỚNG ĐẪN CHÍNH

Ngày ⁄Otháng /O năm 200 (Ký tà ghỉ rô lọ tên)

Trang 4

NHAN XET CUA GIAO VIEN PHAN BIEN

Trang 5

Chúng em xin chân thành cám ơn Quý Thầy Cô đã tận tình truyền đạt những

kiến thức mới và bổ ích cho chúng em, nhất là Quý Thầy Cô trong KHOA ĐIỆN

ĐIỆN TỬ đã giảng dạy trong suốt quá trình học tập cũng như trong thời gian thực hiện luận văn tốt nghiệp

Xin trân trọng cảm ơn Thầy NGUYÊN HUY HÙNG đã trực tiếp hướng dẫn em

hoàn thành tốt luận văn tốt nghiệp này

Xin cám ơn các bạn đã quan tâm và giúp đỡ

Xin cám ơn các bậc phụ huynh đã tạo mọi điều kiện về mặt tỉnh thần cũng như vật chất trong những năm học vừa qua

Sinh viên thực hiện:

LƯU VĂN HẠNH

Trang 6

TI MUC DICH YEU CAU DE TAL .-c2cccc2E2zsecerccczce 2

HI Ý TƯỞNG THIẾT KẾ .-©222222E2Et222EEE2SE222252222E2Szserree 3

I,CO CHE HOAT ĐỘNG CỦA DS1307 -2-©22c+cczzcCCsecEssccrsrre 4

II,CAM BIEN NHIET DO DS1820 ccssssescsssscssseessscssssessssecessescssscesseee 12

TIT MAN HINH LCD TC1602A wuu cecsscscssesecssecsssecssscsssesssssesesscscsssessesee 19

TV,SO LUGC MCU AT89C5 1 .ccccccsssssssessssssesscscsscstssssessecsessussussesecencase 25

INHIỆM VỤ THIẾT KE eccccsscccsssssssssessesssesseesevecseessesssessssssecssecsessseee 54

H,SƠ ĐỒ KHÔI VÀ CHỨC NĂNG TỪNG KHỒI: : 54

II,THIẾT KÉ VÀ PHÂN TÍCH HOẠT ĐỘNG CỦA TỪNG KHÓI 54

IV,LƯU ĐỎ GIẢI THUẬTT 2- 2° ©+t+EEE+2EEE2EEEE2EEE2Execrzevrsea 57

V, SO DO NGUYEN LY? hvssscsscsssssssescsssssssscssssesscssssseeesssssssecessessssevesensssses 60

1, CHƯƠNG TRÌNH ĐIÊU KHIÊN: 2 2+©2+t+2EEevEExeeEEeccrscre 61

Trang 7

PHAN A: GIOI THIEU

I DAT VAN DE

Ngày nay với sự phát triển của công nghiệp vi điện tử, kỹ thuật so, các hệ thống điều

khiển dần dần được tự động hóa Với những kỹ thuật tiên tiến như vi xử lí, vi mạch số

được ứng dụng vào linh vực điều khiến, thì các hệ thống điều khiển cơ khí thô SƠ,

với tốc độ xử lí chậm chạp ít chính xác được thay thế bằng các hệ thống điều khiển tự

động với các lệnh chương trình đã được thiết lập trước

Trong quá trình sản xuất ở các nhà máy, xí nghiệp hiện nay, việc đo và điều khiển

nhiệt độ tự động là một yêu cầu hết sức cần thiết và quan trọng Vì nếu nắm bắt được

nhiệt độ làm việc của các hệ thống, đây chuyền sản xuất .vv, giúp ta biết được tình

trạng làm việc của các yêu cầu Và có những xử lý kịp thời tránh được những hư hỏng

và sự cố có thể xảy ra

Để đáp ứng được yêu cầu đo và điều khiển nhiệt độ tự động, thì có nhiều phương pháp

để thực hiện,qua những năm học ở trường em thấy việc dung vi điều khiển AT89C51

vào việc đo và khống chế nhiệt độ tự động là phương pháp tương đối tốt Được sự

đồng ý của KHOA_ ĐIỆN ĐIỆN TỬ TRƯỜNG ĐẠI HỌC KĨ THUẬT CÔNG NGHỆ-

TPHCM Em tiến hành thực hiện đề tài " zhiết kế và thi công mạch điều khiền máy

lạnh trạm bís không người trực "

H MỤC DICH YEU CAU DE TAI

I.Muc dich:

Mục đích trước hết khi thực hiện đề tài này là để hoàn tất chương trình môn

học để đủ điều kiện ra trường

Nhằm đáp ứng được phần nào yêu cầu đo lường, khống chế và điều khiển

nhiệt độ ở các thiết bị máy móc trong sản xuất cũng như phục vụ cho nhu cầu học tập,

thí nghiệm của sinh viên

Trang 8

Bên cạnh đó đề tài cũng để minh họa một trong nhiều ứng dụng của các hệ

thống điều khiển nhiệt độ thông minh trong thực tế như: Lò viba, bình nấu nước, hệ

thống sấy trong nông nghiệp

Cụ thể khi nghiên cứu thực hiện đề tài là chúng em muốn phát huy những thành quả ứng dụng của vi điều khiển nhằm tạo ra những sản

phẩm, những thiết bị tiên tiến hơn, và đạt hiệu quả sản xuất cao hơn

Mặt khác tập luận văn này cũng có thể làm tài liệu tham khảo cho những sinh

viên khóa sau Giúp họ hiểu rõ hơn về cách đo và điều khiển nhiệt độ thông qua máy

tính

Ngoài ra quá trình nghiên cứu thực hiện đề tài là một cơ hội để chúng em tự kiểm tra lại những kiến thức đã được học ở trường, đồng thời phát huy tính sáng tạo, khả năng giải quyết một vấn để theo yêu cầu đặt ra Và đây cũng là dịp để chúng em tự khẳng định mình trước khi ra trường để tham gia vào các hoạt động sản xuất của xã hội

2 Yêu cẩu:

° Đo được nhiệt độ hiện tại trên trạm và hiển thị trên LCD

° Tự động diều khiến hai máy lạnh trong giới hạn nhiệt độ yêu cầu

° Hiển thị thông tin về thứ ngày tháng, giờ phút giây

II, Ý TƯỞNG THIẾT KẺ

Trong phân thiết kế mạch điều khiển hai máy lạnh này em sử dụng 89c51 là khối điều

khiến trung tâm Day 1a IC ma em da được học lên viết phần mềm điều khiển cho IC

này sẽ thuận tiện hơn Phần cảm biến nhiệt độ em sử dụng DS1820 đây là IC rất nhạy với sự biến đổi của nhiệt độ, đặc biệt là khả năng chuyển trực tiếp nhiệt độ sang dạng

số mà không cần bộ chuyển đổi AD như khi ta dùng những loại cảm biến khác ví dụ như LM35 về thời gian em sử dung DS1307, đây là một IC thời gian thực với nguồn cung cấp nhỏ có khả năng tự điều chỉnh tháng và nhảy năm Khối hiển thị là LCD 1602

Trang 9

Vcc: nối với nguồn

XI,X2: nối với thạch anh 32,768 kHz

Vbat: đầu vào pin 3V

GND: dat

SDA: chudi data

SCL: day xung clock

SQW/OUT: xung vuông/đầu ra driver

e DS 1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dung để cấp nhất

thời gian và ngày tháng với 56 bytes SRAM Đỉa chỉ và dữ liệu được chuyền nối tiếp

trên hai đường bus 2 chiều Nó cung cấp thong tin về giờ phút giây ,thứ ngày tháng

năm Ngày cuối tháng sẽ tự động được điều chỉnh với các tháng nhỏ hơn 31 ngày, bao

gồm cả việc tự động nhảy năm đồng hồ có thể hoạt dộng ở chế dộ 24h hoạc 12h với

chỉ thị AM/PM DSI307 có một mạch cảm biến điện áp dung để đo điện áp nỗi và tự

động đóng ngắt với nguồn pin cung cấp

Trang 10

e DS1307 hoat d6ng v6i vai tro slave trén dudng bus nối tiếp Việc truy cập được

thi hành với chỉ thị Stare và một mã thiết bị nhất định được cung câp bởi địa chỉ của

các thanh ghi Tiếp theo đó các thanh ghi sẽ được truy cập lien tục đến khi chỉ thị

SFOP được thực thi

Sơ đồ khối của DS1307

Mô tả hoạt đông của các chân

e VCC, GND nguồn cung cấp được cung cấp tới các chân này Vcc là dầu vào 5v

khi 5v được cung cấp thì thiết bị có thể truy cập hoàn chỉnh và dữ liệu có thể đọc và

viết Khi pin 3V được nối với thiết bị này va Vcc nhỏ hơn 1.25Vbat thì quá trình đọc

và viết không được thực thi, tuy nhiên chức năng timekeeping không bị ảnh hưởng bởi

điện áp vào thấp Khi Vec nhỏ hơn Vbat thì RAM va timekeeper sé được ngắt tới

nguồn cung cấp trong (thuo7ng2 là nguồn 1 chiề 3V)

e Vbat đầu vào pin cho bất kì chuỗn pin 3V điện áp pin phải được giữ trong

khoảng 2.5 đến 3V để đảm bảo cho sự hoạt động của thiết bị

e SCL (serial clock input) SCL được sử dụng dễ đồng bộ sự chuyển đữ liệu trên

đường dây nối tiếp

Trang 11

6

————————_————————E

® SDAQserial data intpufoutput):là chân vào ra cho 2 đường dây nối tiếp, chân

SDA thiết kế theo kiểu cực máng hở, dòi hỏi phải có điện trở kéo lên khi hoạt động

® SQW\OUT(square wave/output drive):khi được kích hoạt thì bit SQWE được

thiết lập 1 ,chân SQW/OUT phát đi 1 trong 4 tần số (1hz, 4khz, 8khz, 32khz) Chân

này được thiết kế theo kiểu cực máng hở vì vậy nó cũng cần có một điện trở kéo trong

Chân này chỉ hoạt động khi cả Vcc và Vbat được cấp

e XI,X2 dược nối với một thạch anh tần số 32,76§khz Là một mạch để tạo đao

động ngoài,để hoạt động ổn định thì phải nối thêm hai tụ 33pF

e Cũng có DS1307 với bộ tạo dao động trong 32.786khz, thì chân 1 nối với cấu

hình này thì chân X1 nối vào tín hiệu dao động trong còn chân X2 đề hở

I1 Sơ đồ địa chỉ RAM và RTC

Trang 12

Day Date Month Year

Control O7h

Rami8xs | 08h

3Fh

e _ Thông tin về thời gian và ngày tháng được lấy ra bằng cách đọc các byte

thanh ghi thích hợp , thời gian và ngày tháng cũng được thiết lập thông qua các byte

thang ghi này bằng cách viết vào đó các giá trị thích hợp, nọi dung của các thanh phi

dưới dạng mã BCID(binari coded decreaseimal).bit 7 của thanh ghi là seconds là bit

clock haH(CH) khi bit này được thiết lập 1 thì đao động disable, khi no x6a về 0 thì

dao động được enable.chú ý là phải enable dao động trong suất quá trình cấu hình

thiết lập(CH=0) Thanh ghi thời gian thục được mô tả như sau

e DS1307 có thể chạy ở chế độ 24h hoạc 12h bit thứ 6 của thanh ghi hour la bit

chọn chế độ 24h hoặc 12h, khi bit này ở mức cao thì chế độ 12h được chọn,ở chế độ

Trang 13

8

—_——————_—_——— Er EE———————— EEE EE EE————————EEEE

12h hti bit 5 là bít AM/PM, với mức cao là PM, ở chế độ 24h thi bit 5 1a bit 20h (từ

20h đến 23h)

e Trong quá trình truy cập dữ liệu, khi chỉ thị STARE được thực thi thì dòng

thời gian được chuyển đến thanh ghi thứ 2, thông tin thời gian sẽ được dọc từ thanh

ghỉ thứ cấp này, trong khi đó đồng hồ vẫn tiếp tục chạy

Trong DS1307 có một thanh ghi điều khiển dung dé diều khiển hoạt động của chân

¢ OUT(output control) bít này điều khiển mức ra cảu chân SQW/OUT khi đầu ra

xung vuông là disable Nếu SQWE =0 thì mức logic o chân SQW/OUT sẽ là 1 nếu

OUT= 1, và = 0 nếu OUT = 0

se SQWEGquare wave enable): bit này được thiết lập 1 sẽ enable đầu ra của bộ

tạo dao động tần số của đầu ra song vuông phụ thuộc vào gia tri cha RS1 va RSO

DS1307 hỗ trợ bus 2 dây 2 chiều và giao thức truyền dữ liệu,thiết bị gởi dữ liệu lên

bus được gọi là bộ phát và thiết bị nhận gọi là bộ thu Thiết bị điều khiển quá trình này

gọi là master Thiết bị nhận sự điều khiển của master gọi là slave Các bus nhận sự

điều khiển của master là thiết bị phát ra chuỗi xung clock(SCL), master sẽ điều khiển

sự truy cập bus tạo ra các chỉ thị START và STOP

Sự truyền nhận đữ liệu trên chuỗi bus 2 dây:

Trang 14

tùy thuộc vào bit R/W mà 2 loại truyền dữ liệu sẽ được thực thi :

e_ Truyền dữ liệu từ master truyền và slave nhận :Master sẽ truyền byte dầu tiên

là địa chỉ của slave Tiếp sau đó là các byte dữ liệ slave sẽ giữ lại byte thong báo đã

nhận được(acknow ledge) sau mỗi byte dữ liệu nhận được , dữ liệu sẽ truyền từ byte

có gí trị lớn nhất (MSB)

° Truyền đữ liệu từ slave và master nhận : byte đầu tiên (địa chỉ của slave) được

truyền tới slave master , sau đó slave sẽ gửi lai master bit acknowledge tiép theo dé

slave sẽ gửi các byte dữ liệu tới master Master sẽ gửi cho slave cdc bit acknowledge

sau mỗi byte nhận được trừ byte cuối cùng , sau khi nhận được byte cuối cùng thì bit

acknowledge sẽ khog được gửi

Master phát ra tất cả cả các chuỗi xung clock và các chỉ thị START và STOP Sự

truyền sẽ kết thúc bởi chị thị STOP hoặc chỉ thị quay vòng START Khi chỉ thị

START quay vòng thì sự truyền chuỗi dữ liệu tiếp theo được thực thi và các bus vẫn

chưa được giải phóng Dữ liệu truyền luôn bắt đầu bang bit MSB

fo mone aytegane "slant CONDITION

Trang 15

10

2 DS1307 có thể hoạt động ở 2 chế độ :

© Ché dé slave nhận (chế độ DS1307 ghi) chuỗi dữ liệu và chuỗi xung clock sẽ

dược nhận thong qua SDA va SCL Sau méi byte được nhận thì 1 bit acknowledge sẽ

được truyền các diều kiện START và STOP sẽ được nhận dạng khi bắt đầu kết thúc

truyền một chuỗi Nhận dạng điều kiện được thực hiện bởi phần cứng sau khi chấp

nhận địa chỉ của slave và bit chiều byte địa chỉ là byte đầu tiên nhận được sau khi điều

kiện START được phát ra từ master, byte

e địa chỉ có chứa 7 bit dịa chỉ của ds1307 là 1101000 tiếp theo đó là bit chiều

(R/W) cho phép ghi khi nó = 0 sau khi nhận và giải mã byte địa chỉ thì thiết bị sẽ phát

đi 1 tín hiệu acknowledge lên đường SDA Sau khi DS1307 nhận dạng được diều kiện

và bịt ghi thì master sẽ gửi 1 dịa chỉ thanh ghi tới DS1307 sau mỗi bit acknowledge

nhận được, sau d6 master sẽ truyền điều kiện STOP khi việc ghi hoàn thành

A~ ACKNOWLEDGE

DATA Thy a pened

P « BT0" (ist BYTES ì ACKNOMALEDGE

"BÀ « READWRITE OR DIRECTION err, ADORESE 2 DOn

° Ché d6 slave phat(ché d6 DS1307 doc): byte dau tién slave nhận được tương

tự như chế d6 slave ghi Tuy nhiên trong chế độ này thì bit chiều lại chỉ chiều truyền

ngược lại chuỗi dữ liệu được phat đi trên SDA bởi DS1307 trong khi chuỗi xung

clock vào chân SCL Các điều kiện START và STOP được nhận dạng khi bắt đầu hoặc

kết thúc truyền 1 chuỗi byte địa chỉ nhận được đầu tiên khi master phat đi điều kiện

START Byte dia chỉ chứa 7 bít địa chỉ của slave va 1 bit chiều cho phép đọc là 1 sau

khi nhận và giải mã byte địa chỉ thì thiết bị sẽ nhận 1 bít acknowledge trên đường

SDA Sau đó DS1307 bắt đầu gửi dữ liệu tới địa chỉ con trỏ thanh ghi thông qua con

trỏ thanh ghi, nếu con trỏ thanh ghi không được viết vào trước khi chế độ đọc được

Trang 16

thiết lập thì địa chỉ đầu tiên được đọc sẽ là địa chỉ cuôi cùng chứa trong con trỏ thanh

ghi DS1307 sẽ nhận được 1 tin hiệu Not acknowledge khi kết thúc quá trình đọc

Đặc tính và thời gian thực hiện:

SCL Clock Bus Free Time Between a STOP and START i

triog

K

Trang 17

12

II CAM BIEN NHIỆT ĐỘ DS1820

1, Các đặc tính kĩ thuật:

° Sử dụng giao điện một dây lên chỉ cần một chân ra để truyền thông

° Độ phân giải khi đo nhiệt độ là 9 bit Dai do nhiệt độ tir-55 °Cdén

125°C, từng bậc 0.5°C, có thể độ chính xác 0.1°C bằng việc hiệu chỉnh phần mềm

° Rất thích hợp cho việc đo lường đa điểm vì nhiều đầu đo có thể được

nối trên một bus, bus này gọi là bus một dây

° Không cần thêm linh kiện bên ngoài

° Điện áp nguồn nuôi có thể thay đổi trên khoảng rộng từ 3.0V đến 5.5V

một chiêu và có thể cấp trên đường dẫn đữ liệu

° Dòng tiêu thụ tại chế độ ghi cực nhỏ

° Thời gian lẫy mẫu và biến đổi số tương đối nhanh, không quá 200ms”

° Mỗi cảm biến có 1 mã định danh duy nhất 64 bit chúa trong bộ nhớ

ROM trên chip(on chip), giá trị nhị phân được khác bằng tia laze

2 DQ chân dữ liệu vào ra

3 VDD chân nối nguồn

Trang 18

3 Đặc điểm DS18s20:

Đầu đo nhiệt độ số DS1820 đưa ra số liệu để biểu thị nhiệt đô đo được dưới

dang mã nhị phân 9 bit Các thong tin được gửi dến và nhậ về từ DS1820 trên dao diện

1-wire, do đó chỉ cần hai đường dẫn gồm một đường cho tín hiệu và một đường nối

đât là đủ kết nối vi điều khiển đến điểm do Nguồn nuôi cho các thao tác đọc, ghi,

chuyên đổi có thể được trích từ đường tín hiệu, không cần có đường dây riêng để cấp

điện áp nguồn

Mỗi vi mạch đo nhiệt độ DS1820 có một mã số định danh duy nhất, được khắc

bang tia laser trong quá trình chế tạo vi mạch, nên nhiều vi mạch DS1820 có thể cùng

kết nối vào một bus- wire mà không có sự nhằm lẫn đặc điểm này làm cho việc lắp

đặt nhiều cảm biến nhiệt độ tại nhiều vị trí khác nhau trở lên dé dàng và chỉ phí thấp

Theo chuén 1- wite độ dài cho phép tối đa một bus là 300m số lượng cảm biến nối

vào bus không hạn chế

Để nâng cao độ phân giải lên trên 9 bit ta phải tính toán them bằng phần mềm

dựa trên các số liệu lưu trữ trên thanh ghi nhiệt độ, COUNT và COUNT PER°C trong

nhóm các thanh ghi nháp(scratchpad) Việc tính toán dựa theo phương trình sau

TEMPERATURE=TEMP_READ-4 25xCOUNT,PCR, 0 - COUNT REMAIN

Trang 19

14

—————————————— EE EEEE——————————————— EEE

4.Hoat đông đo nhiệt độ:

Chức năng cốt lõi của DS18s20 là trực tiếp biến dối nhiệt độ sang dang số cảm

biến nhiệt độ với 9 bit ngỏ ra, tương ứng với 0.5°C một bước để bắt đầu đo nhiệt độ

và chuyển đổi A- D trước tiên phải thực hiện lệnh biến đổi T[44h] sau khi chuyển đổi

các kết quả đữ liệu dược luu trong 2 byte thanh ghi nhiệt độ trong bộ nhớ

SCRATCHPAD và trở về trạng thái ngưng hoạt động sau khi thực hiện lệnh T

DS18s20 sẽ phản ứng bằng cách truyền bít ‘0’ trong khi đang trong tiến trình chuyển

đỏi nhiệt độ và bít “1? khi chuyến đổi đã được thực hiện ngõ ra của DS18s20 được

chia ở nhiệt độ bách phân

Bảng nhiệt dộ và mối quan hé dữ liêu:

Như vậy dãy mã dược chia thanh ba nhóm, trong đó:

Tám bít dầu tiên là mã định danh họ một đây, mã của DS1820 là 10h 48 bit tiếp

theo là mã xuất xuỏng duy nhất,nghĩa là mỗi cảm biến chỉ có một mã số duy nhất tám

bít có ý nghĩa nhất là byte kiểm tra CRC (cyclic redundancy check), byte này được

tính toán từ 56bit đầu tiên của dãy mã trên ROM

Để truy cập lên cảm biến một dây DS1820 ta phải sử dụng hai nhóm lệnh: các

lệnh ROM và các lệnh chức năng(function commands) bộ nhớ, các lệnh này có thé

mô tả ngắn gọn như sau:

Sau khi thiết bị chủ (thường là một vi diều khiển) phát hiện ra một xung

presence pulse, nó có thể xuất ra một lệnh ROM Có 5 loại lệnh ROM, mỗi lệnh dài 8

lược lưc

Trang 20

bit Thiết bị chủ phải đưa ra lệnh ROM thích hợp trước khi đưa ra một lệnh chức năng

để giao tiếp vói cảm biến DS1820

Lénh ROM

e READ ROM (33h)

Cho phép doc ra 8 byte ma đã khắc trên ROM bang tia laze bao gom : 8 bit ma

định tén linh kién(10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC Lệnh này chỉ sử

dụng khi trên bus chỉ có một cảm biến DS!820, nếu không sẽ xảy ra xung dot tren

bus, do tất cả các thiết bị tớ cùng đáp ứng

e MATCH ROM (55h)

Lệnh này dược gửi đi cùng 64 bit ROM tiếp theo, lệnh này cho phép bđiều

khiển chỉ chọn ra một cảm biến DS1820 cụ thể khi trên bus có nhiều cảm biến cùng

nối vào Chỉ có DS1820 nào có 64 bit trên ROM trùng khớp với chuỗi 64 bit vừa

được gừi tới mới đáp ứng lại các lệnh về bộ nhớ tiếp theo Còn các cảm biến DS1820

có 64 bit ROM không trùng khớp sẽ tiếp tục chờ mo0t65 xung resets Lệnh này được

sử dụng trong trường hợp chỉ có một cảm biến và cả trong trường hợp có nhiều cảm

biến

e SKIP ROM (CCh)

Lệnh này cho phép thiếy bị điều khién truy nhap thang dén cdc lénh b6 nhé

của DS1820 ma không cần gửi chuỗi mã 64 bit ROM Như vậy sẽ tiết kiệm dược

thời gian chờ đọi, nhưng hiệu quả khi trên bus chỉ có một cảm

e SEARCH ROM (F0h)

Lệnh này cho phép bộ diều khiển bus có thể dò tìm được số lượng thành viên

tớ đang dược dấu vào bus và các giá trị cụ thể trong 64 bit ROM của chúng bằng

một chu trình dò tìm

e ALARM SEARCH (ECh)

Tiến trình của lệnh này giống như lệnh SEARCH ROM , nhưng cảm biến

DS1820 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo nhiệt

độ cuối cùng Điều kiện cảnh báo ở đây dược định nghĩa là giá trị nhiệt dộ lớn hơn

Trang 21

16

Es

giá tri TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và thấp nhất đã được

đặt trong thanh ghi trong bộ nhớ của cảm biến

Lệnh chức năng bô nhớ

Sau khi thiết bị chủ (thường là một vi điều khiển) sử dụng các lệnh ROMI để

định địa chỉ cho cảm biến DS1820 đang được đấu vào bus , thiết bị chủ sẽ đưa ra các

lệnh chức năng DS1820 bằng các lệnh chức năng thiết bị chủ có thể ghi vào hoặc

đọc ra giá trị từ bộ nhớ nháp (scratchpath) của cảm biến DS1820 khởi tạo quá trình

chuyển đổi nhiệt độ đo được và xác định chế độ cung cấp điện áp nguồn các lệnh

chức năng có thể được mô tả ngắn gọn như sau:

e WRITE SCRATCHPAD(4Eh)

Lệnh này cho phép ghi 2 byte dữ liệu vào bộ nhớ nháp của DS1820 byte đầu

tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai được ghi

vào thanh ghi TL (byte 3 của bộ nhớ nháp) Dữ lieu truyền theo trình tự đầu tiên là

bít có ý nghĩa lớn nhất và kế tiếp là bit có y nghĩa giảm dần cả 2 byte này phải được

ghỉ trước khi thiết bị chủ xuất ra xung reset hoặc khi có đữ liệu khác xuất hiện

e READ SCRATCHPAD (BEh0

Lệnh này cho phép thiết bị chủ đọc nội dung trong bộ nhớ nháp Quá trình đọc bắt dầu từ bít có ý nghĩa nhất của byte 0 và tiếp tục cho đến byte thứ 9

(byte8- CRCO0 thiết bị chủ có thể xuất ra một xung reset dể làm dừng quá trình

đọc bắt kì lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ nháp cần

Lệnh này khởi dộng quá trình đo và chuyển đổi giá trị thành số (nhị

phân) sau khi chuyển đổi giá trị kết quả đo nhiệt độ được lưu trữ trên thanh

ghi nhiệt độ 2 byte trong bộ nhớ nháp Thòi gian chuyển đổi không quá 200

Trang 22

ms, trong thời gian đang chuyền đổi nếu thực hiện lệnh đọc thì các giá trị đọc

được đều bằng 0

SCRATCHPAD (FOWER-UP STATE) Byie O | Terperatere LSB aan asey Byte 1 | Tempanten MSB Go 9” EEPROM Byie 2 | Ty Register or Loser Byres 1° ot User Byie 3 | Ty Register or User Byte 2° or User Byis 4 | Reserved (FF ID

fie F | Reserved FFh) Byie 6 | COUNT REMAIN (OC hi Bye 7] COUNT PER PC 410tG fee 8 | CRC?

hy dapends on viet aerad in EP RGA

Tất cả truyền thông với DS1820 bắt đầu bằng một sự tiếp tục khởi tạo gồm có xung

reset từ người điều khiến từ xung hiện thời của DS1820 Điều này được minh hoạ ở

atoms acme

<i Wale AMMO BG im

CC ee xôn m*_,,

Khi cam bién DS1820 gửi một xung hiện tại khi có một xung reset, nó báo cho

người điều khiển bus đã chuẩn bi và thiết bị đã sẵn sàng Trong thời gian tiếp tục khới

tạo quá trình người điều khiển truyền xung TX bằng việc kéo bus một dây mức thấp

trong thời gian nhỏ nhất là 480us Người điều khiển sau đó giải phóng bus và đưa ra

mã nhận dạng RX Khi mà bus được giải phóng, điện trở kéo lên pullup 5K đưa bus

một dây lên mức cao Khi DS1820 phát hiên ra cạnh lên, nó đợi trong khoảng thời

Trang 23

18

aS

gian từ 15 - 60us và sau đó truyền một xung tín hiệu đến để đưa bus một dây về mức

thấp trong khoảng từ 60 -240 us

" Ghưđọc thời gian nghỉ:

Người điều khiển viết dữ liệu cho DS1820 trong suốt thời gian viết và đọc đữ

liệu từ DS1820 trong suốt thời gian đọc Một bit của dữ liệu thì được truyền qua bus

một dây trong những rãnh thời gian

Cách viết thời gian nghỉ:

Có hai cách viết cho những thời gian nghỉ: viết tín hiệu mức 1 cho thoi gian

nghỉ và mức 0 cho thời gian nghỉ Người điều khiển sử dụng viết tín hiệu 1 cho ghi tín

hiệu mức 1 cho DS1820 và sử dụng viết tín hiệu 0 cho ghi tín hiệu mức 0 cho DS1820

tất cả các thời gian nghỉ có thời gian thấp nhất là 60us và thới gian thấp nhất giữa các

thời gian nghỉ' là 1 us Tiến hành thời gian nghĩ', sau khi đưa bus một dây xuống mức

thấp, người điều khiển phải giải phóng bus một dây trong thời gian 15 us Khi bus

được giải phóng thì điện trở kéo lên pullup 5K sẽ đưa bus lên lại mức cao.trong thời

gian viết tín hiệu 0, sau khi kéo bus một dây xuống mức thấp, người điều khiển phải

tiếp tục giữ bus thấp trong khoảng thời gian của thời gian nghỉ (ít nhất là 60 us) Nếu

bus ở mức cao trong suốt thời gian lấy mẫu tín hiệu, tín hiệu mức 1 duoc phi vào

DS1820 nếu bus ở mức thấp thì tín hiệu mức 0 được ghi vào DS1820

" Cách đọc thời gian nghỉ:

Ds1820 có thể chỉ truyền dữ liệu đến người điều khiển khi có những vấn đề trên

thời gian nghỉ Bởi vậy người điều khiển phải tiến hành đọc thời gian nghỉ ngay

lập tức sau khi tiến hành đọc bộ nhớ nháp (BEh) hay lệnh cấp nguồn (44h) để DS1820

có thể cung cấp đữ liệu yêu cầu Ngoài ra người điều khiển có thể tiến hành đọc thời

gian nghỉ sau khi chuyển đội T (44h) hoặc lệnh gọi E2 (B8h) để tìm ra tình trạng thao

tác Tất cả khi đọc thời gian nghỉ phải thấp nhất là 60 us với thời gian khôi phục thời

gian nghĩ thấp nhất là 1 us Thời gian đọc thời gian nghỉ bắt đầu khi người điều khiển

kéo bus một dây xuống mức thấp trong thời gian thấp nhất là lus sau đó giải phóng

bus Sau khi người điều khiển bắt đầu đọc thời gian nghỉ' DS1820 sẽ bắt đầu phát tín

Trang 24

hiệu mức 1 hay 0 dén bus DS1820 truyén tin hiệu mức 1 để đưa bus lên mức cao va 0

để đưa bus về mức thấp Khi truyền đi mức 0 thì DS1820 sẽ giải phóng bus khỏi thời

gian nghỉ và bus sẽ được kéo về lại mức cao nhờ điện trở kéo lên Dữ liệu đầu ra của

DS1820 kéo đài 15us sau khi cạnh lên tác động thời gian nghỉ Bởi vậy người điều

khiển phải giải phóng bus và sau đó lấy mẫu bus trong 15us từ khi bắt đầu nghỉ

Sơ đồ tính toán ghi/đọc thời gian nghỉ:

semen ‘hi pee ‘ae

- LCD 1602 là một module hiển thị bằng tỉnh thể lỏng, với định dạng kí tự ma trận

điểm, được sản xuất theo công nghệ COMS năng lượng thấp, có thể hiển thị 16 kí tự

trên một hàng, và 32 kí tự trên hai hàng, với độ phân giải tới 5x8 điểm/kí tự Có thể

giao tiếp với vi điều khiển qua bus 4 bits hoặc 8 bits

Trang 25

20

Sơ đồ cấu trúc bên trong của LCD 1602

- Trong LCD 1602, gồm hai module chính là module điều khiển và module hiển thị,

module điêu khiển thu nhận những tín hiệu điều khiển từ vi điều khiển bên ngoài, lưu

trữ , xử lý và thực hiện kích cho màn hình hiển thị

" Sơ đô chân kết nôi:

Trang 26

và đặc tính của các chân như sau:

VỊ | Kíhiệu | Tên Mô tả

trí chân

3 VEE |NguồnchoLCD | Phân áp thúc cho LCD

4 RS Lựa chọn thanh | Đầu vào lựa chọn thanh phi

ghi

6 E Cho phép Tín hiệu cho phép đọc hay

viết dữ liệu

7 DBO Bus dif liéu 0-7 Trong chế độ giao tiếp 8 bit,

Bit 7 còn được dùng làm bit

2 Té chire bén trong va hoat dong

-Hoạt động của 2 chân RS và RW:

Trang 27

0 0 Hoạt động ghi lệnh(Vi điều khiển viết mã

lệnh vào thanh ghi lệnh (IR))

0 1 Đọc cờ báo bận (DB7) và bộ đếm địa chỉ

1 |0 _ | Hoạt động ghi dữ liệu (VĐK ghi dữ liệu vào

thanh ghi dữ liệu (DR))

1 1 Hoạt động đọc dữ liệu

Cờ báo bận (BE): khi RS = 0 và RW = 1, cờ BF được xuất ra qua chân DB7, nếu BE =

1: LCD đang trong quá trìh xử lý các lệnh hay đang bận Các hoạt động khác không

được tiếp nhận Khi BF = 0, LDC đã sẵn sàng tiếp nhận lệnh

- Bo nhé hién thị đữ liệu (DDR): bộ nhớ DDR có dung lượng 80x8 bits có nghĩ

là có thể lưu 80 kí tự Dữ liệu từ DDR được truy cập bởi bộ đếm địa chỉ AC Mô hình

địa chỉ của DDR như sau:

Bộ đếm địa chỉ (AC) : bộ đếm địa chỉ lưu địa chỉ của DDR và CGR, được truy

cập từ TR, sau mỗi lần đọc hay viết đữ liệu, AC tự động tăng lên 1

- Bộ nhớ phát kí tự chỉ đọc (CGROM): bộ nhớ này chứa tổng cộng 192 kí tự cố

định, bao gồm các kí tự trong bang ma ASCII

- Bộ nhớ phát kí tự người dùng (CGRAM): Đây là bộ nhớ lưu những đữ liệu về

các kí tự đặc biệt, được định nghĩa trước bởi người dùng

Trang 28

C Lưu đồ chương trình con khởi tạo LCD:

Trang 29

24

Day là lưu đồ khởi tạo mà nhà sản xuất LCD khuyến cáo Khới đầu chương

trình khởi tạo bằng lệnh gọi trì hoãn 20ms nhằm đảm bảo điện áp cung cấp cho LCD

đã lên đủ Hai lần liên tiếp đưa xuất lệnh giống nhau qui định chế độ giao tiếp 8 bit

nhằm đồng bộ chương trình của vi điều khiển với chế độ giao tiếp của LCD

-_ Khi LCD và vi điều khiển ở chế độ nguồn lên, LCD đang ở chế độ nguyên thủy,

chưa được khởi tạo Do đó, hai lệnh này sẽ thực hiện thiết lập LCD ở chế độ giao tiếp

8 bit Sau đó, lệnh qui định chế độ giao tiếp 4 bit được gởi tiếp theo tới LCD, sẽ thiết

lập chế độ giao tiếp 4 bit cho LCD

- _ Khi LCD đang hoạt động ở chế độ 4 bit, vì một lý do nào đó, vi điều khiển phải

Reset lại chương trình, lúc này, LCD vẫn đang ở chế độ 4 bit Do đó, hai lệnh này sẽ

tương đương với 1 lệnh nhập ở chế độ 4 bit Và chúng sẽ

thiết lập LCD hoạt động ở chế độ 8 bit Sau đó, LCD lại được trả về giao tiếp ở chế độ

4 bit nhờ lệnh tiếp theo sau

- - Vậy, hoạt động giao tiếp của LCD sẽ không bị xung đột khi nguồn lên và khi Reset

LCALL COMMAND ;Thuc hién lệnh

MOV A,#0EH ;Bật hiến thị nhấp nháy con trỏ

Trang 30

LCALL READY ;Kiem tra co ban neu san sang

MOV P0,A ;thi chuyen ma lenh ra cong PO

CLR RS ;RS =0 Cho xuat

CLR RW ;RW = O De gi lenh toi LCD

SETB EN ;Chan E nhan duoc mot xung cao

CLR EN ;xuong thap cho phep LCD chot lenh

RET

Hàm này dùng điều khiển cho LCD thự hiện các chân cho phép khi các chân này cho

phép thì LCD bắt da lay dữ liệu ra để hiển thị

IV,SƠ LƯỢC MCU AT89C5I1

1 Giới thiệu khái quát về họ IC MCS-51TM

MCS-51 là một họ IC vi điều khiển do Intel phát triển và sản xuất Một số nhà

sản xuất được phép cung cấp các IC tương thích với các sản phẩm MCS-51 của Intel

là Siemens, Advanced Micro Devices, Fujitsu, Philips, Atmel

Các IC của họ MCS-51I có các đặc trưng chung như sau:

" 4 port I/O 8 bit

Giao tiếp nối tiếp

64K không gian bộ nhớ chương trình mở rộng

64K không gian bộ nhớ dữ liệu mở rộng

Một bộ xử lý luận lý (thao tác trên các bit đơn)

" 210 bịt được địa chỉ hóa

" Bộ nhân/chia 4 s

Trang 31

26

bh EEE

Ngoài ra, tùy theo sô hiệu sản xuât ma chúng có những khác biệt vê bộ nhớ và bộ định

thời/bộ đếm như trong bảng so sánh dưới đây:

Số hiệu sản |Bộ nhớ chương |Bộ nhớ dữ liệu | Số bộ định thời

2 Giới thiệu AT§9C51

AT89C5I là một Microcomputer 8 bit, loại CMOS, có tốc độ cao và công suất

thấp với bộ nhớ Flash có thể lập trình được Nó được sản xuất với công nghệ bộ nhớ

không bay hơi mật độ cao của hãng Atmel, và tương thích với chuẩn công nghiệp của

80C51 và 80C52 về chân ra và bộ lệnh Vì lý do đó, kể từ đây về sau ta sẽ dùng thuật

ngữ "§0C51" (hoặc "8051")

Trang 32

EXT Yee cot, | RESRTER

RET

PORT 1 POAT 3 LATCH LATCH

+ 128 x § bit RAM nội

+ 32 đường xuất-nhập lập trình được (tương ứng 4 port)

Trang 33

28

———————&——E&———EE=&&———————————————————— EEE EEE

+ Hai timer/counter 16 bit

+ Mach đồng hồ và bộ dao động trên chip

" Cấu hình chân của AT§9C51 như sau:

t 40

30p

Trang 34

Như vậy AT§9C51 có tất cả 40 chân Mỗi chân có chức năng như các đường

I/O (xuat/nhap), trong đó 24 chân có công dụng kép: mỗi đường có thể hoạt động như

một đường I/O hoặc như một đường điều khiển hoặc như thành phần của bus địa chi

Port 0 là một port xuất/nhập song lưỡng cực máng hở 8 bit Nếu được sử dụng

như là một ngõ xuất thì mỗi chân có thể kéo 8 ngõ vào TTL Khi mức 1 được viết vào

các chân của port 0, các chân này có thể được dùng như là các ngõ nhập tống trở cao

Port 0 có thể được định cấu hình để hợp kênh giữa bus địa chỉ và bus dữ liệu (phần

byte thấp) khi truy cập đến bộ nhớ đữ liệu và bộ nhớ chương trình ngoài Ở chế độ

này, P0 có các điện trở pull up bên trong

Port 0 cũng nhận các byte code (byte mã chương trình) khi lập trình Flash, và xuất ra

các byte code khi kiểm tra chương trình Cần có các điện trở pull up bên ngoài khi

thực hiện việc kiểm tra chương trình

"Port 1

Port 1 là một port xuất/nhập song hướng 8 bit có các điện trở pull up bên trong

Các bộ đệm ngõ ra của port 1 có thể kéo hoặc cung cấp 4 ngõ nhập TTL Khi mức 1

được viết vào các chân của port 1, chúng được kéo lên cao bởi các điện trở pullup nội

và có thể được dùng như là các ngõ nhập Nếu đóng vai trò là các ngõ nhập, các chân

của port 1 (được kéo xuống thấp qua các điện trở bên ngoài) sẽ cấp dòng IIL do các

điện trở pullup bên trong

" Port2

Port 2 là một port xuất/nhập song hướng 8 bít có các điện trở pullup bên trong

Trang 35

30

fe

Các bộ đệm ngõ ra của port 2 có thể kéo hoặc cung cấp 4 ngõ vào TTL Khi các mức 1 được viết vào các chân của port 2 thì chúng được kéo lên cao bởi các điện trở pullup nội và có thể được dùng như các ngõ vào Khi được dùng như các ngõ vào, các chân của port 2 (được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng IIL do có các điện trở pullup bên trong

Port 2 phát ra byte cao của địa chỉ khi đọc từ bộ nhớ chương trình ngoài và khi truy cập bộ nhớ dữ liệu ngoài dùng các địa chỉ 16 bit MOVX @DPTR) Trong ứng dụng này, nó dùng các điện trở pullup nội "mạnh" khi phát ra các mức 1 Khi truy cập

bộ nhớ dữ liệu ngoài dùng các địa chỉ 8 bít (MOVX @RI), port 2 phát ra các nội dung của thanh ghi chức năng đặc biệt P2

Port 2 cũng nhận các bit cao của địa chỉ và một vài tín hiệu điều khiển khi lập

trình và kiểm tra Flash

" Port 3 Port 3 là một port xuất-nhập song hướng 8 bit có điện trở pullup nội bên trong

Các bộ đệm ngõ ra của port 3 có thể kéo hoặc cung cấp 4 ngõ vào TL Khi các mức 1 được viết vào các chân của port 3 thì chúng được kéo lên cao bởi các điện trở pullup nội và có thể được dùng như các ngõ vào Khi được dùng như các ngõ vào, các chân của port 3 (được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng IIL do có các điện trở pullup bên trong

Port 3 cũng cung cấp các chức năng của các đặc trưng đặc biệt như được liệt kê

dưới đây:

Chân Tên Các chức năng chuyển đổi

P3.1 TXD Port xuất nối tiếp

P3.4 T0 Ngõ vào Timer/Counter 0 P3.5 T1 Ngõ vào Timer/Counter 1

P3.6 WR Xung ghi bộ nhớ dữ liệu ngoài P3.7 RD Xung đọc bộ nhớ dữ liệu ngoài

Trang 36

Các chức năng chuyền đổi trên Port 3

" RST (chân 9)

Ngõ vào reset Một mức cao trên chân này khoảng hai chu kỳ máy trong khi bộ dao

động đang chạy sẽ reset thiết bị

" ALE/

ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi truy cập bộ nhớ

ngoài Chân này cũng là ngõ nhập xung lập trình ( ) khi lập trình Flash

Khi hoạt động bình thường, ALE được phát với một tỷ lệ không đổi là 1/6 tan

số bộ dao động và có thể được dùng cho các mục đích timing và clocking bên ngoài

Tuy nhiên, lưu ý rằng một xung ALE sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu

ngoài

Nếu muốn, hoạt động ALE có thể cắm được bằng cách set bit 0 cia SFR tai dia

chi 8Eh Néu bit này được set, ALE chỉ được hoạt động khi có một lệnh MOVX hoặc

MOVC Ngược lại, chân này được kéo lên cao bởi các điện trở pullup "nhẹ" Việc set

bit cim ALE không có tác dụng khi bộ vi điều khiển đang ở chế độ thi hành ngoài

PSEN (Program Store Enable) là xung đọc bộ nhớ chương trình ngoài Khi

AT89C52 đang thị hành mã (code) từ bộ nhớ chương trình ngoài, được kích hoạt hai

lần mỗi chu kỳ máy, nhưng

hai hoạt động sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngoài

" /Vpp

(External Access Enable) phải được nối với GND để cho phép thiết bị đọc code từ bộ

nhớ chương trình ngoài có địa chỉ từ 0000H đến FFFFH Tuy nhiên, lưu ý rằng nếu bit

khoá 1 (lock-bit 1) được lập trình, sẽ được chốt bên trong khi reset

phải được nối với Vcc khi thi hành chương trình bên trong Chân này cũng

nhận điện áp cho phép lập trình Vpp=12V khi lập trình Flash (khi đó áp lập trình 12V

được chọn)

Trang 37

32

—————————————————_————EE————————————————EEoxoxo*xo]EEEEe

" XTALI và XTAL2

XTALI và XTAL2 là hai ngõ vào và ra của một bộ khuếch dai dao động nghịch

được cấu hình để dùng như một bộ dao động trén chip

Không có yêu cầu nào về duty cycle của tín hiệu xung ngoài, vì ngõ nhập nối với mạch

tạo xung nội là một flip-flop chia đôi, nhưng các chỉ định về thời gian high và low, các

mức áp tôi đa và tối thiểu phải được tuân theo

#' S5 gym c6 7 ©oscitlator Connections

Notes: (71 C2 « 3O pF ct 10 pF for Crystals

= <hO pd ch 1 pF for Ceramic Resonators

Các đặc trưng khác sẽ được trình bày một cách chỉ tiết hơn ở những phần tiếp theo sau

đây

3 Tổ chức bộ nhớ

AT§9C51 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 Như đã nói ở trên, cả chương trình và dữ liệu có thể ở bên

trong; dù vậy chúng có thể được mở rộng bằng các thành phần ngoài lên đến tối đa 64

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

Bộ nhớ bên trong bao gồm ROM và RAM trên chip, RAM trên chip bao gồm

nhiều phần : phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bịt, các bank thanh

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

Trang 38

Hai đặc tính cần lưu ý là :

Các thanh ghi và các port xuất nhập đã được xếp trong bộ nhớ và có thể được truy

xuất trực tiếp giống như các địa chỉ bộ nhớ khác | Ngăn xếp bên trong RAM nội nhỏ hơn so với RAM ngoài như trong các bộ vi xử

ly khác

"_ Chỉ tiết về bộ nhớ RAM trên chip:

Địa chỉ Dia chi bit Bia chi Dia chi bit

28 |47]46 |45 |44|43 |42 |41 |40 99 dudc dia chi héa bit} SBUF

27 |3F|3E/3D]3C |3B/3A]39 [38 98 9E|9D Al99|98| SCON

26 |37|36|35|34|33|32|31|30

25 |2F|2E|2D|2C|2B|2A|29 |28 90 96 |95 |94 |93 |92|91|90| PI

23 |IF|IE|IDHCIBILA|19|18 8 chỉ hóa bit| THỊ |

22 |17I16|15|14|13|12|11]10 § được dia chi héa bit} THO

21 |0F|0E|oD|oC|0B|oA |09 |08 8 dude dia chi héa bit} TL!

20_ |07|06 |05 |04 |03 |02 |07 |00 § chỉ hóa bit| TL0

18 88 8E|SD|SC |8B|8A|S9 |88| TCON

OF Bank 1 83 dudc dia chi héa bit] DPH

07 Bank thanh ghi 0 81 ¡a chỉ hóa bit| SP

00 Í (mặc định cho RO-R7) 80 86 |85 184 [83 182 |81 1/80] P0

RAM CÁC THANH GHI CHỨC NĂNG ĐẶC

Trang 39

34

Như ta thấy trên hình , RAM bên trong ATS9C51 được phân chia giữa các bank thanh ghi (00H-IFH), RAM địa chỉ hóa từng bit (20H-2FH), RAM da dung (30H- 7FH) và các thanh ghi chức năng đặc biệt (80H-FFH)

3.1 RAM đa dụng

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

32 byte dưới cùng từ 00H đến IFH cũng có thể được dùng với mục đích tương tự (mặc

Lệnh này di chuyển 1 byte đữ liệu dùng cách đánh địa chỉ trực tiếp để xác định

"địa chỉ nguồn" (5FH) Đích nhận dữ liệu được ngầm xác định trong mã lệnh là thanh ghi tích lũy A

RAM bên trong cũng có thể được truy xuất dùng cách đánh địa chỉ gián tiếp qua R0

hay R1 Ví dụ, hai lệnh sau thi hành cùng nhiệm vụ như lệnh đơn ở trên

" Tóm tắt các vùng bộ nhớ của 8051

Trang 40

MOV RO, #5FH

MOV A,(@R0

Lệnh đầu dùng địa chỉ tức thời để di chuyền giá trị SFH vao thanh ghi RO, va

lệnh thứ hai dùng địa chỉ trực tiếp để di chuyến dữ liệu "được trỏ bởi R0" vào thanh

ghi ti

3.2 RAM dia chỉ hóa từng bít

8051/8031 chứa 210 bít được địa chỉ hóa, trong đó 128 bít là ở các địa chi byte

20H đến 2FH, và phần còn lại là trong các thanh ghi chức năng đặc biệt

Ý tưởng truy xuất từng bit riêng rẽ bằng phần mềm là một đặc tính tiện lợi của

vi điều khiển nói chung Các bit có thể được đặt, xóa, AND, OR, với một lệnh đơn

Đa số các vi xử lý đòi hỏi một chuỗi lệnh doc-stra-ghi dé dat duoc hiệu quả tương tự

Hơn nữa, các port L/O cũng được địa chỉ hóa từng bít làm đơn giản phần mềm xuất

nhập từng bít

Có 128 bit được địa chỉ hóa đa dụng ở các byte 20H đến 2FH Các địa chỉ này

được truy xuất như các byte hoặc như các bit phụ thuộc vào lệnh được dùng Ví dụ, để

đặt bịt 67H, ta dùng lệnh sau :

SETB 67H

Chú ý rằng "địa chỉ bit 67H" là bit có trọng số lớn nhất (MSB) ở "địa chỉ byte

2CH" Lệnh trên sẽ không tác động đến các bit khác ở địa chỉ này Các vi xử lý sẽ phải

thị hành nhiệm vụ tương tự như sau :

MOV A,2CH ; doc ca byte

ORL A, #10000000B ; set MSB

MOV 2CH,A ; ghi lai ca byte

3.3 Cac bank thanh phi :

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

8051/8031 hỗ trợ 8 thanh ghi (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-07H Lệnh sau đây sẽ đọc nội dung ở địa chỉ 05H

vào thanh ghi tích lũy :

Ngày đăng: 21/06/2014, 17:27

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w