Khi sử dụng bằng VXL mạch hoạt động tốt, tiện lợi và đa dạng tuy nhiên giá thành tăng lên nhiều so với EPROM vì kit VXL phẩi có EPROM lưu chương trình điều khiển VXL, cài IC ngoại vi, cá
Trang 1BO GIAO DUC VA DAO TAO 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
MACH QUANG BAO SU’ DUNG VI DIEU KHIEN
GVHD: NGUYÊN PHƯƠNG QUANG SVTH: NGUYÊN PHƯƠNG TUẦN
<K<LOO1200
TP Hồ Chí Minh, thang 07/2002
Trang 2$KL 004200 THÀNH PHỐ HỖ CHÍ MINH 7-2002
Trang 3
BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
'TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐỘC LẬP _ TƯ DO _ HẠNH PHÚC
vee P0008 couse eee
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ
NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP
Ho va tên sinh viên: NGUYỄN PHƯƠNG TUẦN MSSV: 00301064
Lap > CT2000KDD
1 Tên để tài:
MACH QUANG BAO UNG DUNG VI DIEU KHIEN AT89C51
2 Các số liệu ban dau:
vn Sib dying AMC atti na Land Ánh aig
3 Nội dung các phần thuyết minh và tính toán:
Latin plasty ddan e
wha Mate thd BILE ce
Trang 4
5 Gido vién huéng din: NGUYEN PHUONG QUANG
6 Ngay giao nhiém vu: 30/05/2002
7 Ngay hoan thanh nhiém vu:13/07/2002
Thông qua bộ môn
J
Z
Nguyin đhệng Rucaung
Trang 5BAN NHAN XET
LUẬN VĂN TỐT NGHIỆP CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên sinh viên: NGUYEN PHƯƠNG TUÂN MSSV: 00301064
Tên để tài:
MẠCH QUANG BÁO ỨNG DỤNG VI ĐIÊU KHIỂN AT89C51
Nhận xét của giáo viên hướng dẫn:
Trang 6BAN NHAN XET LUẬN VĂN TỐT NGHIỆP CUA GIAO VIEN PHAN BIEN
Họ và tên sinh viên: NGUYỄN PHƯƠNG TUAN MSSV: 00301064
'Tên để tài:
MACH QUANG BAO ỨNG DỤNG VI ĐIỀU KHIỂN AT89C51
Nhận xét của giáo viên phần biện:
Ngày Giáo viên phần biệntháng 07năm 2002
Trang 7BẢN NHẬN XÉT LUẬN VĂN TỐT NGHIỆP CỦA HỘI ĐỒNG GIÁM KHẢO
Họ và tên sinh viên: NGUYỄN PHƯƠNG TUẦN — MSSV:00301064
Tên đề tài:
MACH QUANG BAO UNG DỤNG VI ĐIÊU KHIỂN AT89C51
Nhận xét của hội đồng giám khảo:
Ngày Hội đồng giám khảotháng 07năm 2002
Trang 8Lei cém on
Sinh viên thực hiện xin bày tổ lòng biết ơn đến thầy
Nguyễn Phương Quang với cương vị là người hướng dẫn
chính đã tận tình giúp đỡ trong, suỐt quá trình thực hiện luận văn
Sinh viên thực hiện cũng xin bay tổ lòng biết ơn đến các
thầy cô ưong trường Đại Học Sư Phạm Kỹ Thuật đã tận tình
day dé va ưuyền thụ những kinh nghiệm quý báu trong suốt
thời gian học tập tại trường
Cuối cùng sinh viên thực hiện xin chân thành cảm ơn
sự đóng góp ý kiến cua tat cd cdc ban sinh viền trong quá
trình thực hiện luận văn
Sinh viên thực hiện
“yên ØÑuay ân
Trang 9MUC LUC
Trang
Nhiệm vụ của luận văn tốt nghiệp
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
Nhận xét của hội đông giám khảo
Lời cảm ơn
Mục lục
PHAN I: GIỚI THIỆU ĐỂ TÀI
Lời giới thiệu
Phương án thực hiện 1
PHAN II: NOI DUNG
PHAN A: LY THUYET
CHUONG I: KHAO SAT VI DIEU KHIEN 8951
1 GIỚI THIỆU CẤU TRÚC PHẦN CỨNG HỌ MSC 51 3
II KHẢO SÁT SƠ ĐỒ CHÂN 8951 5
III CẤU TRÚC BỘ NHỚ TRONG CỦA VI ĐIỀU KHIỂN 14
1 Hoạt động tổng quát của một bộ nhơ 14
2 Phân loại bộ nhớ 14
3 Tổ chức bộ nhớ vi điều khiển 8951 18
4 Các bank thanh ghi 20
5 Các thanh ghi có chức năng đặc biệt 20
Trang 10IV HOAT DONG TIMER CUA VI DIEU KHIEN 8951 21
1 Giới thiệu, 21
2 Thanh ghi mode timer 23
3 Thanh ghi diéu khién timer 24 4 Các mode và cờ tràn timer 25
5 Các nguồn xung clock 28
V, TỔ CHỨC NGẮT TRONG 8051 2
1 Cho phép và không cho phép ngắt 29
2 Vectdngắt, 30
3 NgẤt port nối tiếp,
VI HOAT DONG INTERRUPT CCA 8051 30
1 Giới thiệu 30
2 Tổ chức ngắt 8051 32
3 Việc xử lý các sự ngắt 35 CHƯƠNG II : CÁC IC DỪNG TRONG MẠCH
CHƯƠNG II: LINH KIỆN QUANG BÁO
1 KHÁI NIỆM CHUNG VỀ LINH KIỆN QUANG BÁN DẪN 44
II DIODE PHÁT QUANG (LIGHT EMITTING DIODE-LED) 44 III MA TRẬN HIỂN THỊ 8* 8 45
PHẲNB: THIẾT KẾ - THI CONG
CHUONGI: PHAN CUNG
Trang 11Khối xử lý trung tâm
Khối bộ nhớ và nguồn back up
Khối hiển thị
Khối đệm công suất cho hàng và cột
Khối giải mã chọn led
Khối bàn phím
Khối nguồn cung cấp
Các bước thi công, cân chỉnh mạch
CHUGONG I: PHAN MEM
Cac mode hoạt đóng
Nhập dữ liệu
Quy định phím
Hoạt động của chương trình
Giải thuật của chương trình chính
Trang 12PHANI GIGI THIEU DE TAI
Trang 13Như chúng ta đã biết mất người rất nhạy bén với những gì nổi bật ở xung
quanh chúng ta Sự tác động của các bảng điện tác động đến mắt người là sớm
nhật và rõ nhất chẳng hạn như: các bằng quảng cáo, các bảng đèn trước cửa bưu
điện, si@u thi
Ngày này, với sự tiến bộ của khoa học kỹ thuật thì việc thông báo, truyền tín phát triển rất nhiều Các bảng thông báo bằng cách ghi chép đã dẫn bị thay thế bởi các bing điện mà trong đó các bang quang báo chiếm ưu thế hơn Việc sử
dụng mạch quang báo không chỉ giới hạn ở mục đích quảng cáo, mà nó còn là
phương tiện truyền tải thông tin ngắn gọn, súc tích đến cộng đồng dân cư Đồng
thời mạch quang báo làm cho thông tin trở nên sinh động, dễ gây chú ý và đây là
một trong những yếu tố quan trong trong nền kinh tế
Để hiểu rõ hơn về quang báo qua để tài mạch quang báo ứng dung VDK,
sinh viên thực hiện sẽ khảo sát các ứng dụng thực tiễn và các tính năng của mạch quang báo với ứng dụng VDK8951.
Trang 14MACH QUANG BAO UNG DUNGUDK GVHD: Aguydin Phetong Quang
Muc tiéu cia dé lai
Vì là mạch quang báo nên các led phải sáng tổ không mờ để người xem
dễ thấy Mạch phải có nhiều chương trình, các chương trình phải sinh động Đồng
thời qua để tài phải hiểu được cơ chế hoạt động của mạch quang báo với ứng dụng
nhưng theo hiện nay phương pháp dùng VĐK có ưu thế hơn
Khi dùng IC rời IC giải đa hợp cùng với các led tạo thành mạch ROM,
ác led sẽ được sắp xếp theo một trật tự nào đó đáp ứng yêu cẩu hiển thị Khi muốn thay đổi nội dung hiển thị thì phải thay đối vị trí các led, khi cần hiển thị nhiều led cần có thêm IC giải đa hợp dẫn đến kích thước mạch lớn và giá thành cao
Khi sử dụng bằng EPROM thì kích thước mạch giảm đáng, kể, kích thước EPROM hầu như không tăng theo dung lương bộ nhớ Khi muốn thay đổi chương
trình hiển thị ta chỉ việc viết chương trình mới nạp vào EPROM
Khi sử dụng bằng VXL mạch hoạt động tốt, tiện lợi và đa dạng tuy nhiên
giá thành tăng lên nhiều so với EPROM vì kit VXL phẩi có EPROM lưu chương trình điều khiển VXL, cài IC ngoại vi, các RAM để nhớ chương trình, các phím nhập dữ liệu do đó kích thước mạch tăng lên nhiều ngoài ra còn phải gửi dữ liệu qua IC ngoai vi (8255A) mới hiển thị trên bảng đèn Do đó việc hiển thị hình ảnh
sẽ rất khó khăn
SVTH: NGUYÊN PHƯƠNG TUAN trang 1
Trang 15MACH QUANG BAO UNG DUNGUBK GVHD: Apuydin Phuamg Quang
Khi sử dụng VĐK thì việc thay đổi chương trình trở nên năng động hơn
Ta có thể thay đổi chương trình hiển thị một cách liên tục thông qua kít nạp, không làm ảnh hưởng đến sự kết nối của mạch vì không cần tháo VĐK ra khỏi mạch
Khi sử dụng mạch quang báo bằng máy tính thì giá thành cao không phù
hợp với thực tế
Qua các phương án nêu ra ta thấy khi sử dụng VĐK ứng dụng trong mạch
quang báo là phù hợp với thực tế hơn hết Mạch đơn giản không phức tạp như
dùng IC rời, chương trình dễ thay đổi hơn khi dùng EPROM Mạch đơn giản và giá
thành thấp hơn khi dùng máy tính
SVTH: NGUYỄN PHƯƠNG TUÂN trang 2
Trang 16PHAN II
NOI DUNG
Trang 17PHANA
LY THUYET
Trang 18MACH QUANG BAOUNGDUNGUDK GVHD: Aguydn Phutmg Quang
CHUONG I: KHAO SAT VI DIEU KHIEN 8951
1 GIỚI THIỆU CẤU TRÚC PHẲẦN CỨNG HỌ MSC - 51 (8951)
Đặc điểm và chức năng hoạt động của các VĐK họ MSC -51 hoàn toàn
tương tự như nhau MSC —51 do hãng Intel sản xuất có các đặc điểm chung như sau :
Y C6 4Kbyte bộ nhớ EPROM bên trong dùng để lưu trữ chương trình
điều khiển
¥ C6 128 byte RAM ndi
¥ C64 port xuấU nhập (InpuUOutput) Rbit
ˆ Có khá nâng giao tiếp truyền dữ liệu nối tiếp
¥ C6 thé giao tiếp với 64 Kbyte bộ nhớ EPROM bén ngoài dùng để
hi chương trình điểu khiển,
vˆ Co thể giao tiếp với 64 Kbyt bộ nhớ EPROM bến ngoài dùng lưu dữ liệu
892051 2K EEPROM
Y C62dé6 dinh thdi 16 bit
Để dễ dàng hiểu được cấu trúc của họ MSC - 51 ta có thể xem bằng sơ
đổ khối sau:
SVTH: NGUYỄN PHƯƠNG TUÂN trang 3
Trang 19MACH QUANG BAO UNG DUNG VbK GVHD:
Sơ đồ khối của 8951:
inveaeeor |f Orne 128 byte 4K: 4951
Trang 20MACH QUANG BAO UNG DUNGUDK GVHD: Aguydn Phetmg Quang
II KHẢO SÁT SƠ DO CHAN 8951
Do ho MSC ~51”M4ã trở thành chuẩn công nghiệp nên có rất nhiễu hãng
sản xuất điển hình là ATMEL Coporation 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 VĐK tương thích với MSC
~51” nhưng mạnh hơn
AT89C51 là 1 VĐK 8bit do ATMEL sản xuất, chế tạo theo công nghệ
CMOS véi 8KB Flash (flash programmable and erasable read only memory)
Thiết bị này được chế tao bằng cách sử dụng kỹ thuật bộ nhớ không bốc hơi mật
độ cao cha ATMEL và tương thích với chuẩn công nghiệp MSC- 51” về tập lệnh
và các chân ra Flash on = chip cho phép bộ nhớ lập trình được lập trình trong hệ
thông bởi một lập trình viên bình thường AT 89C51 là một VĐK mạnh (có công
svat lin) eo tinh lịnh động cao và phù hợp về giá cả đối với các ứng dụngVĐK
Các đặc diểm chủ yếu của AT 89C51:
s _ Tương thích hoàn toàn với họ MSC -51TM của INTEL
e _ Bộ nhớ chương trình 4Kbyte thuộc loại Flash memory
« _ Độ bền : 1000 lần ghi/xoá
e _ Tân số hoạt động : 0Hz đến 24MHzZ
e 3 chế độ khoá bộ nhơ
© _ 256x8 bit RAM nội
e 32 đường ƯO lập trình được (4 port)
© _2timer/conuter l6 bit
e _5nguồn ngắt
e _ Chế độ hạ nguồn và chế độ lười tiêu tốn công suất thấp
1 Sơ đồ chân của VĐK 8951
SVTH: NGUYỄN PHƯƠNG TUÂN trang 5
Trang 22MACH QUANG BAO UNG DUNGUDK GVHD: Apuyén Phung Quang
2 Chức năng của các chân
- Chân 40 là chân cung cấp điện áp nguồn Vcc +5V
~ Chân 20 là chân nối mass
- Các từ chân 32 -39 là port 0 các chức năng từ P0.7 đến P0.0 Port 0 là
port có 2 chức năng, trong các thiết kế cỡ nhỏ (không dùng bộ nhớ mở rộng) port 0
đóng vai trò như các đường nhập xuất dữ liệu và phải đệm nhờ IC 74244,2008 v.v
Đối với các ứng dụng lớn với bộ nhớ mở rộng khi này port 0 đóng vai trò là các
đường tải địa chí byte thấp (A0 ~ A7) và là đường ti dữ liệu (D7 — D0)
- Các chân từ 21 =28 là port 2 (có 2 chức nắng ) từ P2.0 đến P2.7 Đối với
các ứng dụng điểu nhỏ sử dụng bộ nhớ nội khi đó port 2 đóng vai trò là các đường
(MO) nhập xuất đữ liệu Đối với các ứng dụng lớn sử dụng bộ ngoài khi này port 2
đồng vai trà là các đường địa chỉ byte cao (A8 - A15) và khí sử dụng các đường
địa chỉ không đếm thì dùng điện trở kéo lén
- Khi sử dụng bộ nhớ bên ngoài có tổng cộng 16 đưỡng địa chỉ từ A0 —
A15, khả năng truy xuất bộ nhớ là 216 (64 Kbyte)
~ Các chân từ 1 — 8 là port 1 (có một chức năng) từ P 1.0 đến P 1.7 Port 1
là port xuấưnhập dữ liệu có thể dùng để giao tiếp với các thiết bị ngoài bất chấp
sử dụng bộ nhớ nao, port 1 tín hiệu ở mức cao không, cần đệm
- Các chân từ 10 ~17 là port 3 (là port có công dụng kép) từ P3.0 đến P3.7
vừa có chức năng trao đổi dữ liệu vừa có các chức năng đặc biệt như ở bảng sau:
BIT TEN CHUC NANG THAY THE
P32 /INTO Ngắt ngoài 0
P33 ANTI Ngắt ngoài 1
P35 Tl Ng6 vao cho timer/counter 1
P37 /RD Xung đọc bộ nhớ dữ liệu ngoài
SVTH: NGUYỄN PHƯƠNG TUÂN trang 7
Trang 23MACH QUANG BAO UNG DUNG VbK GVHD: Npayén Phiamg Quang
- Chân số 9 RST là ngõ vào Reset Khi ngõ này đựơc đưa lên mức cao
(trong ít nhất 2 chu kỳ máy), các thanh ghi bên trong AT 89C51 duoc tải những giá
trị thích hợp để khởi động hệ thống
~ Chân 18 XTAL2 : đầu ra của bộ khuếch đại dao động đảo
~ Chân 19 STALI : đầu vào của bộ khuếch đại dao động đảo cũng là đầu
vào đến mạch tạo xung clock nội
- Chan 29 PSEN (Program Store Enable) tin hiéu lay ra ở chân 29 là tín
hiệu điều khiển để cho phép bộ nhớ chương trình mở rộng và thường đựơc nối đến
chin OF (Output Enable) cla 1 EPROM PSEN sẽ ở mức thấp trong thời gian lấy
lệnh Các mã nhị phân của chương trình đựơc đọc từ EPROM qua bus dữ liệu và
được chốt vào thanh ghí lệnh IR của MSCS5I để giải mã lệnh Khi thi hành chương
trình trong RƠM nội PSEN sẽ ở mức thụ động (mức ca6),
Chin 30: ALE (Address Latch Enable)
Tin higu ra ALE wén chan 30 tương hợp với các thiết bị làm việc với các
VNL §US0,§O§5,8086 MSC51 dùng ALE một cách tương tự cho việc giải kênh
các bus địa chỉ và dữ liệu, khi port 0 được dùng trong chế độ chuyển đổi của nó:
vừa là bus dữ liệu vừa là byte thấp của bus địa chỉ, ALE là tín hiệu để chốt địa chỉ
vào 1 thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ Sau đó, các đường
port 0 dùng để xuất hoặc nhập dữ liệu trong, nửa sau chu kỳ bộ nhớ
Các xung tín hiệu ALE có tốc độ =1/6 lần tần số dao động trên chip và có
thé duoc ding làm nguồn xung nhịp cho các phần khác của hệ thống Tuy nhiên,
cần chú ý là một xung ALE sẽ bị mất khi truy xuất bộ nhớ ngoài Chân này cũng
duoc 1am ngõ vào cho xung lập trình cho EPROM trong các loại có ROM nội Có
thể hủy bỏ chức năng của set bit 0 của thanh ghi ở vị trí 8EH Khi bit này được set,
ALE chỉ tích cực khi có lệnh MOVX hoặc MOVC, nếu không có các lệnh này
ALE ở mức cao Việc set bit 0 của thanh ghi ở vị trí 8EH không làm ảnh hưởng
đến VĐK khi truy cập bộ nhớ ngoài
- Chân 31 EA/Vpp (External Access)
SVTH: NGUYỄN PHƯƠNG TUÂN trang 8
Trang 24MACH QUANG BAO UNG DUNGUDK —_GVED: Agaydn Phang Quang
EA là ngõ vào để cho phép truy xuất bộ nhớ chương trình từ bên ngoài khi
được nối với GND Khi EA được nối lên Vcc chương trình sẽ được thực thi trong
ROM nội Chân này cũng nhận điện áp 12V (Vpp) trong khi lập trình Flash
‘Operating lempersaze Tamm BCC | ‘NOTICE: Stresses beyond those listed under “Absolute
Maxum Ratings" may cause permanant dam- Storage Tenperenure "4M sge lo he devico THỊ la a stress rating only and
{unetional operaton of ine device at these or any
‘Veviage an Any Pan ‘other conditions beyond those indicated in the
with Respect ty Ground 10V wer Ov ‘operational sections ofthis specication Is not
Implied Expeaute to absolute maximurn rating Maxinwam Operating Vonage om ‘excite fos enterded periods may aflect device
- upd High Woe lạ" 4000Ä, Vu =9 £ 101% 24 ¥
IRoltaEieinet Ben Medh] ee uA ive 7
he aged HiaDTieseenGeiel | Vege 2 GG «ths 10% + BÀ
IPxh 124)
le np Laahagge Cirinal (Reet, BA) | 118 < Vn a 8 HÀ
tn in Capuotarce Tied fig, = 1 RHE Yee 25S 10 #
Trang 25
‘symbol Parameter 12 MHz Oscillator 16 to 24 MHz Oscillator Units
Min Max Min Max
ST Low to Vali Insta or 45 | —— | z8 ng
RD Low to Vali Data In 282 So o.90 ns
ALE Low to RD or WR Low 200 0 Steuci50_| Steuc.*80 =
433 AT89C 51 —
Trang 26PORT 2 A8- A15 _ Leb =
External Data Memory Read Cycle
s—Š„c—# have tari troy
PORT 0 AO = A? FROM RI OR DAL) DATA FROM PCL _—⁄ INSTR TN
# Www.————”"”
Port 2 3K pao Fay OR A= iS FROM BFF A8 - A16 FROM PCH
(MEL
Trang 27External Clock Drive
Trang 28serial Port Timing: Shift Register Mode Test Conditions 0 V # 20%; Load Capacitance = 80 pF)
Parameter 12 MHz Ose Variable Oscillator Units
Serial Port Clock Cycle Time 10 Ban a
‘Output Data Setup to Clock Rising Edge 700 10t,o.-133 ng
Output Data Hold After Clock Rising Edge 50 2teroi-117 ns
| Glock Rising Edge fo Input Data Vad — | me 10g o-183 ng
| write ro sine 3! 1) OR KOS RE OY
ANT PUT DAIA hese | eee sert
| CUEARC Fe a KOS ae Hal fi AK
+
AC Testing Input/Output Waveforms") Float Waveforms'")
Nole: 1 AC Inputs during testing are driven at Voc -0.5V for Note: Í fs se a purposes 2 pet i fo kiệm floating
| allogic 1 and 0.45V for a logic 0 Timing measure- Toca ven 00 NY iso root
mies me of Vex enn, fora logic tend Vi a logic 0. the loaded Vox/Vo level occurs
Trang 29MACH QUANG BAO UNG DUNG UK Km
II.CẤU TRÚC BỘ NHỚ TRONG CỦA VĐK
MCS 1 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, cả chương trình và dữ liệu có thể ở bên trong, tuy nhiên chúng có thể đựơc mở rộng bằng các thành phẩn ngoài lên đến tối đa 64Kbytes bộ nhớ chương trình và 64Kbytes bộ nhớ dữ liệu
1 Hoạt động tổng quát của một bộ nhớ
Qúa trình hoạt động truy xuất dữ liệu của bộ nhớ đều thông qua các bước:
« - Nhận địa chỉ để chọn đúng ô nhớ cần truy xuất
® - Nhân tín hiệu điều khiển, tín hiệu này sẽ cho phép đọc hay ghi dữ liệu
từ bộ nhớ
«- Nhận dữ liệu vào ô nhớ khi thực hiện chức náng ghi hoặc gởi dữ liệu
Khi thự hiện chức nâng đọc
Các đường điều khiển bao gồm ngõ vào Memory Enable và ngõ vào Read/Write
- Ngõ vào Memory Enable dùng để cho phép bộ nhớ hoạt động
- Ngõ vao Read/Write ding để xác định chế độ hoạt động của bộ nhớ
đọc dữ liệu ra hay ghỉ dữ liệu vào
~ Các đường địa chỉ vào xác định đúng địa chỉ ô nhớ cần truy xuất
- Các đường dữ liệu đùng để truyền dữ liệu 2 chiỀu
2 Phân loại bộ nhớ
Bộ nhớ được phân thành 2 loại, mỗi loại có cơ chế hoạt
động khác nhau
nhưng cù - năng chính là lưu trữ dữ liệu ‹
Trang 30MACH QUANG BAO UNG DUNG VaK Gvm: 6
kỳ ô nhớ nào cũng dễ đàng truy xuất nhự những ô nhớ khác tức là dữ liệu có thể dễ
dàng ghi vào cũng như đọc ra
a) Bộ nhớ ROM
ROM là bộ nhớ được thiết kế cho các ứng dụng cần tỷ lệ đọc dữ liệu cao,
ROM lưu trữ dữ liệu cố định và trong khi hoạt động bình thường chỉ dùng để đọc
dữ liệu ra chứ không thể ghi dữ liệu vào ROM
Có nhiều loại ROM khác nhau, dưới đây là một số loại ROM thường gặp:
¥ PROM (Programmable ROM) : Logi ROM này chỉ có thể lập trình được một
lin, sau đó không thể xóa hay nạp lại để thay đổi dữ liệu,
¥ EPROM (Erasable Promgrammable ROM) : Với loại ROM này, dữ liệu có thể
xóa đi để nạp dữ hệu mới được Tuy nhiên, khi cấn thay đổi giá trị của một ô nhớ thì không thể chỉ xóa dữ liệu của ô nhớ đó mà phải xa hết rồi nạp lại toàn
bộ dữ liệu
Để xóa dữ liệu của EPROM phải dùng ánh sáng cực tím Còn để nạp dữ
liệu cho ROM phái dùng mạch nạp cho ROM
Họ EPROM có mã số 27xxx
Ý_ EEPROM (Electrically Erasable Programmable ROM) : Day la loại ROM cải
tiến từ EPROM Với loại EEPROM này có thể xóa và nạp các ô nhớ một cách
độc lập, không cần xóa đi toàn bộ các 6 nhớ chứa chương trình như của EPROM Họ EEPROM có mã 86 28xxx
b) Bộ nhớ RAM
Bộ nhớ RAM là bộ nhớ thay đổi,
¢ 6 nhớ là như nhau Khác với bộ nhớ ROM,
bất kỳ ô nhớ nào cũng có thể truy xuất
dé dàng và thời gian truy xuất của cát
n cung cấp bị mất Tuy vậy có thể khắc
k up cho RAM
dữ liệu trong RAM sẽ mất đi khi nguồn điệ N
phục điều này bằng cách sử dụng nguồn pin để bac
RAM thường được dùng trong các hệ thống đi
trình hay các đữ liệu Do nội dung dữ liệu
trong RAM
liều khiển tự động để lưu trữ
quá trình hoạt động nên yêu cẩu chu kỳ đọc và ghỉ thường thay đổi liên tục trong
ảnh hưởng đến tốc độ của cả hệ thống
của RAM phải nhanh để không làm
gg SVTH: NGUYEN PHUONG TUAN
Trang 31MACH QUANG BAO UNG DUNG UBK sv iz v
Cũng như bộ nhớ ROM, bộ nhớ RAM cũng dùng thanh ghi để lưu trữ dữ liệu, mỗi thanh ghi lưu trữ một dữ liệu và chỉ tương ứng với một địa chỉ duy nhất Khác với bộ nhớ ROM, bộ nhớ RAM còn có đường điều khiển cho phép ghi hoặc
đọc dữ liệu:R\W
Bộ nhớ RAM được chia làm hai loại : SRAM và DRAM
¥ SRAM (Static RAM) cdn goi la RAM nh Đây là loại RAM lưu trữ dữ liệu cho đến khi nào nguồn nuôi không còn SRAM thực chất là những Flip - Flop
(FF), trong đó mỗi FF là một phần tử nhớ đại diện cho một bit
¥ DRAM (Dynamic RAM) con gọi là RAM động RAM động có tế bào nhớ là một Flip - Flop những đùng kỹ thuật MOS để lưu trữ các bit 0 hay 1 trong các
điện dụng bẩm sanh giữa cửa và lớp nên của transistor MOS, do đó dữ liệu này
Không được duy trì lâu do sự nd eda ede ty cũng như của các transistor MOS
xung quanh nó nên cần đựớc lầm tưới (refesh) wong khoang vai mili giay nếu
Không sẽ bị mắt dữ liệu Sự làm tươi RAM cẩn phải có bộ điều khiển điều đó
nói lên khuyết điểm của RAM tĩnh nhưng ngựớc lại nó có nhiều ưu điểm : dung
Ifdne nhở, tốc độ, công xuất tiêu thụ, giá thành hạ
RAM có nhiều loại với các dung lượng khác nhau Sau đây là bảng liệt kê
một số loại RAM
Trang 32
MACH QUANG BAO UNG DUNG UpK Gian: &
Các đặc điểm chủ yếu của SRAM 6264 :
-_ Dung lượng 8KB,
- _ Nguồn cung cấp 5V+/- 10%,
- _ Thời gian truy xuất nhanh 10,15,25,35ns,
- _ Công suất tiêu tán thấp 1W,
- Giao tiép TTL _ ngõ ra 3 trạng thái
Cấu tạo và chức năng các chân
Trang 33
MACH QUANG BAO UNG DUNG UpK cm 2
3 Tổ chức bộ nhớ VĐK 8951
Bộ nhớ trong 8951 bao gồm EPROM và RAM
RAM trong 8951 bao gồm nhiều thành phân : phân trữ đa dụng, phần lưu trữ địa chỉ có thể truy xuất từng bit, các băng thanh ghi va các thanh ghi chức năng đặc
Trang 34MACH QUANG BAO UNG DUNGUDK — cvụp, „„
Bảng tóm tắt các vùng nhớ 8951
3e kĩ bé bš kì 0 AB [AF AC ]AB ]AA ]A9 ]A8 [IE
23 [iF [ie [ip fic ip fia [19 [8 8D [khong duoc dia chỉ hod bit [THI
22 {i7 fie fis fia l3 Jl2 Hl h0 8C |không được địa chỉ hoá bit [THO
21 bF bE bp bc bB A 09 08 8B |không được địa chỉ hod bit (TL1
20 07 6 fs 4 Ð3 2 1 po 8A không được địa chỉ hoá bit JTL0
1E [Bank 3 89 không được địa chỉ hoá bit [[MOD
18 88 BF BE BD BC BBBABo bs [TCON
17 lBank2 87 không được địa chỉ hoá bit IPCON
*e baner 83 không được địa chỉ hoá bít IDPH
08 82 không được địa chỉ hoá bit IDPL
07 |Bank thanh ghi 0 81 ge được địa chỉ hoá bit ISP
Trang 35MACH QUANG BAO UNG DUNGUDK — GVHD: Ajuyin Pheamy Quang
Hai đặc tính cần lưu ý về tổ chức bộ nhớ mà VĐK 8951 là:
+* Các thanh ghi và các port xuất nhập đã được định vị trong bộ nhớ và
có thể truy xuất trực tiếp giống như các địa chỉ bộ nhớ khác
> Ngan xếp bên trong RAM nội nhỏ hon so với RAM ngoại so với các
bộ nhớ VXL khác
- RAM bén trong 8951 được phân chia như sau:
©_ Các bank thanh ghi có địa chỉ từ 00H đến 1FH
© RAM dia chi hod ting bit 66 dia chi tt 20H đến 2FH
© RAM da dụng từ 30H đến TFH
© Cae thanh ghi chức năng đặc biệt từ 0 H đến FFH
4, Cae bank thanh ghi
42 byte thap eda bộ nhớ nội được danh cho các bank thanh ghi Bộ lệnh
K51 hỗ trợ thành phú có tên là RO đến R7 và theo mác định sau khi reset hệ thống
thi cae thanh ghi RO đến R7 được gán cho § ô nhớ có địa chỉ từ #)H đến Ơ7H,
- Các lệnh dùng các thanh ghỉ R0 đến R7 sẽ ngấn hơn và nhanh hơn so
yea lệnh có chức năng tương ứng nếu dùng kiểu địa chỉ trực tiếp Các dữ liêu
© Nường xuyên nên dùng 1 trong các thanh ghỉ này
\ 4 bank thanh ghi nên tại 1 thời điểm chỉ có 1 bank, thanh ghi được
\ c thanh ghi từ R0 đến R7, để chuyển đổi việc truy xuất các bank
thay đổi các bit chọn bank trong thanh ghi trạng thái
ghi có chức năng đặc biệt
\ ch! Mi ca 8951 dude truy xudt ngdm bdi bé Jénh
của 8951 đựơc định dang như một phần của RAM trên
` $6 một địa chỉ ( trừ thanh ghỉ bộ đếm chương trình và
1i này hiếm khi bị tác động trực tiếp) Cũng như các
¡951 có 21 thanh ghi có chức năng đặc biét (SFR
¡m ở vùng trên của RAM nội từ địa chi 80H đến
¡ thể đựơc truy xuất ngầm đa số các thanh ghi có
ï hóa từng bít hoặc byte
: TUÂN trang 20
Trang 36MACH QUANG BAO UNG DUNGUDK GVHD: /24yố» đa 2⁄a„
Hai đặc tính cần lưu ý về tổ chức bộ nhớ mà VĐK 8951 là:
+# Các thanh ghi và các port xuất nhập đã được định vị trong bộ nhớ và
có thể 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 so với các
bộ nhớ VXL khác
-_ RAM bên trong 8951 được phân chia như sau:
¢ Cac bank thanh ghi có địa chỉ từ 00H đến 1EH
® - RAM địa chỉ hoá từng bít có địa chỉ từ 20H đến 2FH
© RAM da dụng từ 30H đến 7EH
«+ Các thành ghí chức năng đặc biệt từ 80 H đến FFH
4 Cae bank thanh ghi
‘2 byte thap cua bO nhd nOi được dành cho các bank thanh ghí Bộ lệnh
8951 1 trợ thành ghi có tên là RO đến R7 và theo mặc định sau khi reset hệ thống
thì các thanh phì RO đến R7 dược gán cho 8 ô nhớ có địa chỉ từ ⁄)H dén 07H
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 nếu 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 1 trong các thanh ghi này
~ Do có 4 bank thanh ghi nên tại 1 thời điểm chỉ có 1 bank, thanh ghi đượ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 các bit chọn bank trong thanh ghi trạng thái
5 Các thanh ghi có chức năng đặc biệt
Các thanh ghi nội của 8951 đựơc truy xuất ngầm bởi bộ lệnh
Các thanh ghỉ nội của 8951 đựơc định dạng như một phân của RAM trên
chip vì vậy mỗi thanh ghi sẽ có một địa chỉ ( trừ thanh ghi bộ đếm chương trình và
thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp) Cũng như các thanh ghi RO đến R7, VĐK 8951 có 21 thanh ghi có chức năng đặc biệt (SER
:§pecial Function Register) nằm ở vùng trên của RAM nội từ địa chỉ 80H đến FFH Ngoại trừ thanh ghi A có thể đựợc truy xuất ngầm đa số các thanh ghi có chức năng đặc biêt có thể địa chỉ hóa từng bit hoặc byte
SVTH: NGUYÊN PHƯƠNG TUÂN trang 20
Trang 37MACH QUANG BAO UNG DUNGUDK GVA: Ajuydn Phang Quang
IV HOAT DONG TIMER CUA 8951:
1 Giới Thiệu:
- Bộ định thời của Timer là một chuỗi các Flip Flop được chia làm 2, nó
nhận tín hiệu vào là một nguồn xung clock, xung clock được đưa vào Flip Flop thứ nhất là xung clock của Flip Flop thứ hai mà nó cũng chia tần số clock này cho 2 và cứ tiếp tục
Trang 38
MACH QUANG BAO UNG DUNG UDK GVED : Aguydn Phuamg Quang
- Trong hình trên mỗi tẳng là một FF loại D phủ định tác động cạnh xuống được hoạt động ở mode chia cho 2 (ngõ ra Q\ được nối vào D) FF cờ là một bộ
chốt đơn giản loại D được set bởi tầng cuối cùng trong Timer Trong biểu đồ thời
gian, tầng đâu đổi trạng thái ở x tần số clock, tầng thứ hai đổi trạng thái ở tần số 1⁄4 tân số clock Số đếm được biết ở dạng thập phân và được kiểm tra lại dễ dàng bởi
việc kiểm tra các tẳng của 3 FF Ví dụ số đếm “4” xuất hiện khi Q2=1, Q1=0,
Q0=0 (4ig=100;)
- Các Timer được ứng dụng thực tế cho các hoạt động định hướng 8951
có 2 bộ Timer 16 bú, mỗi Timer có 4 mode hoạt động Cac Timer dùng để đếm
giờ, đếm các sự kiện cần thiết và sự sinh ra tốc độ của tốc độ Baud bởi sự gắn liền
Pon nồi tiếp,
Mãi sự định thài là một Timer 16 bit, do đó tắng cuối cùng là tẳng thứ 16
s€ chia tin s6 clock yao cho 2!° = 65.536
> Trong cae ting dung dinh thdi, 1 Timer được lập trình để trần ở một khoảng thời gian đều đặn và được set cờ tràn Timer Cờ được dùng để đồng bộ
chương trình để thực hiện một hoạt động như việc dua ti 1 tang các ngõ vào hoặc
gởi dữ liệu đếm ngõ ra Các ứng dụng khác có sử dụng việc ghi giờ đều đều của
Timer dé đo thời gian đã trôi qua hai trạng thái (ví dụ đo độ rộng xung) Việc đếm
một sự kiện được dùng để xác định số lần xuất hiện của sự kiện đó, tức thời gian
trôi qua giữa các sự kiện
~ Các Timer của 8951 được truy xuất bởi việc dùng 6 thanh ghi chức năng
đặc biệt như sau:
Timer SFR Purpose Address Bit-Addressable
TLO Timer 0 low-byte 8AH NO
Trang 39
MACH QUANG BAO UNG DUNG UpK GVED : Ngayin Phaamg Quang
2 Thanh ghi mode timer (TIMER MODE REGITER):
- Thanh ghi mode gém hai nhóm 4 biL là: 4 bịt thấp đặt mode hoạt động
cho Timer 0 va 4 bít cao đặt mode hoạt động cho Timer 1 8 bit của thanh ghi
TMOD được tôm tắt như sau:
7 GATE 1 Khi GA' 1, Timer chỉ lam việc khi INT1=1
6 € " 1 Bit cho đếm sự kiện hay ghi gid
C7T = 1: Đếm sự kiện
C/T =0: Ghi giờ đều đạn
5: MI 1 Bit chọn mode của Timer 1
4 MO 1 Bit chon mode cia Timer 1
Trang 40MACH QUANG BAO UNG DUNG UBK GVHD: Mpuyén Phuong Quang
0 0 0 Mode Timer 13 bit (mode 8048)
0 1 1 Mode Timer 16 bit
1 0 2 Mode tự động nap 8 bit
Timer 0; TLO la Timer 8 bịt được điều khiển bởi các
bít của Tìmer 0 THO tương tự nhưng được điều khiển
bởi các bit cia mode Timer 1
Timer 1 : Được ngừng lại
TMOD không có bit định vị, nó thường được LOAD một lần bởi phẩn
mềm ở đầu chương trình để khởi động mode Timer Sau đó sự định giờ có thể
vùng lại, được khởi động lại như thế bởi sự truy xuất các thanh ghi chức năng đặc
biệt của Timer khác
3 Thanh ghi điều khiển timer (TIMER CONTROL REGISTER):
- Thanh ghỉ điểu khiển bao gồm các bit trạng thái và các bit điều khiển
bởi Timer 0 và Timer 1 Thanh ghi TCON có bit định vị Hoạt động của từng bit
được tóm tắt như sau:
Bit Symbol | Bit Address | Description
TCON.7 | TFI 8FH Cỡ tràn Timer 1 được set bởi phân cứng ở
sự tràn, được xóa bởi phần mềm hoặc bởi phân cứng khi các vectơ xử lý đến thủ tục phục vụ ngắt ISR
SVTH: NGUYÊN PHƯƠNG TUÂN trang 24