Trường Đại Học SPKT Hưng Yên
Khoa Điện – Điện tử
Đồ án chuyên ngành1
Lớp: Đ-ĐTK5.4
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
Điểm : ……………
Nhóm SVTH : Trần Văn Đồn
Nguyễn Văn Bắc
Nguyễn Xn
Bình Giáo viên hướng dẫn: Nguyễn Thi Luyến
Hưng Yên, tháng 12 năm 2009
GVHD: Nguyễn Thị Luyến
@&?
-1-
SVTH :Nguyễn Văn Bắc
Nguyễn Xuân Bình
Trần Văn Đoàn
Trường Đại Học SPKT Hưng Yên
Khoa Điện – Điện tử
Đồ ỏn chuyờn ngnh1
Lp: -TK5.4
Lời cảm ơn
Chúng em xin chân thành cảm ơn cụ
Nguyn Th Luyn đà tận tình chỉ dạy hớng dẫn, đóng góp nhiều ý kiến quý báu và
tạo ®iỊu kiƯn chóng em sưa sai vµ hoµn
chØnh kiÕn thøc của mình trong suốt thời
gian qua. Sự chỉ dạy và những ý kiến của
thầy mở đờng cho chúng em nhanh chóng
khắc phục đợc những khúc mắc khó khăn
và sớm tìm ra đợc những phơng án giải
quyết hiệu quả trong quá trình thực hiện đề
tài.
Chúng em xin cảm ơn quý thầy cô
trong khoa Điện - Điện tử trờng ĐHSP KT
Hng Yên đà hết lòng dạy dỗ chúng em
trong thời gian qua.
Xin cảm ơn các bạn sinh viên cùng
khoá đà tận tình ủng hộ, giúp đỡ để chúng
tôi hoàn thành tốt đề tµi nµy.
GVHD: Nguyễn Thị Luyến
@&?
-2-
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đoàn
Trường Đại Học SPKT Hưng Yên
Khoa Điện – Điện tử
Đồ án chuyên ngành1
Lớp: Đ-ĐTK5.4
MỤC LỤC
Tên
trang
Lời nói đầu
5
CHƯƠNG I : TỔNG QUAN
8
1.1Tính ứng dụng và th thời sự của đề tà thi.
8
1.2. Tình hình nghiên cứu và hướng tập trung nghiên
cứu của đề tài.
8
CHƯƠNG II : LÝ THUYẾT LIÊN QUAN
10
2.1. Vi iu khin.
2.1.1. Tóm tắt về lịch sử của 8051.
10
10
2.1.2 Cu trúc bên trong và sơ đồ chân bên ngoài.
11
2.1.3 Cấu trúc bên trong và sơ đồ chân bên ngoài.
12
2.1.4 Phần mềm lập trình vi điều khiển MCS-51
2.2 LCD
2.2.1 Phèi ghÐp một LCD với 8051.
2.2.1.1 Hoạt động của LCD.
2.2.1.2 Mô tả các chân của LCD.
2.2.1.3 Gửi các lệnh và dữ liệu ®Õn LCD víi mét ®é trƠ.
2.2.1.4 Gưi m· lƯnh hc dữ liệu đến LCD có kiểm tra
cờ bận.
2.2.1.5 Bảng dữ liƯu cđa LCD.
2.3. Phèi ghÐp 8051 víi ADC
2.3.1 C¸c thiÕt bÞ ADC.
2.3.2 ChÝp ADC 0804.
2.3.3 KiĨm tra ADC 0804.
2.3.4 Phèi ghép với một cảm biến nhiệt của 8051.
2.3.5 Các bộ cảm biến nhiệt họ LM34 và LM35.
2.3.6 Phối hợp tín hiƯu vµ phèi ghÐp LM35 víi 8051.
GVHD: Nguyễn Thị Luyến
@&?
-3-
23
24
24
24
24
27
29
31
35
35
35
40
42
43
43
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Khoa Điện – Điện tử
Đồ án chuyên ngành1
Lớp: Đ-ĐTK5.4
CHƯƠNG III: THIẾT KẾ VÀ THI CÔNG
46
3.1. Sơ đồ và chức năng của từng khối.
46
3.2 Thiết kế và phân tích ngun lý hoạt đợng của từng khới.
46
3.2.1 Khối cảm biến:
50
3.2.2. Thiết kế khối ADC:
50
3.2.3. Thiết kế khối VĐK:
50
CHƯƠNG IV: LẬP CHƯƠNG TRÌNH CHO VI ĐIỀU KHIỂN
53
CHƯƠNG V: KẾT LUẬN
63
LỜI NÓI ĐẦU
GVHD: Nguyễn Thị Luyến
@&?
-4-
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Khoa Điện – Điện tử
Đồ án chuyên ngành1
Lớp: Đ-ĐTK5.4
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 và 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à khống chế nhiệt độ tự động làm sao để đáp ứng
nhanh nhất và dễ sử dụng nhất với mong muốn là giải quyết những yêu cầu trên
thì việc sử dụng bộ PID số để đạt được nhanh nhất những chỉ tiêu chất lượng đề
ra.
Và hiện nay nền nông nghiệp đang rất phát triển, một yêu cầu được đặt ra là
khi nơng sản, thực phẩm khơng bán được thì vấn đề bảo quản sao cho tốt nhất
Với u cầu đó thì chúng ta nghĩ ngay đến lò sấy để bảo quản nông sản, lương
thực.
Với mong muốn giải quyết những vấn đề trên và có lợi ích cao trong q
trình sản xuất chúng em đã tiến hành nghiên cứu và thiết kế hệ thống hiển thị
nhiệt độ sử dụng bộ điều khiển PID.
Tuy nhiên do thời gian và trình độ có hạn nên có nhiều thiếu sót, rất mong
có sự chỉ bảo tận tình của các thầy cơ giáo cũng như bạn bè để bản đồ án này
được hoàn thiện hơn.
Chúng em xin gửi lời cảm ơn sâu xắc đến các thầy cô giáo trong khoa Điện
– Điện tử đặc biệt là cô giáo Nguyễn Thị Luyến và các thầy cô giao trong khoa
đã tận tình giúp đỡ tạo điều khiện cho chúng em hoàn thành đồ án này.
Nghiên cứu, chế tạo mạch hiển thị nhiệt độ.
* Ý tưởng thiết kế mạch.
Từ một mạch hiển thị nhiệt độ trên led 7 đoạn chúng em đưa ra ý tưởng
hiển thị nhiệt độ trên LCD, sử dụng chíp AT89C51 để viết chơng trình điều
khiển.
Phng án và kế hoạch thực hiện.
GVHD: Nguyễn Thị Luyến
@&?
-5-
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Khoa Điện – Điện tử
Đồ án chuyên ngành1
Lớp: Đ-ĐTK5.4
1. Đưa ra ý tưởng thiết kế (sử dụng chíp vi sử lý AT89C51 )
2.Thiết kế sơ đồ phần cứng diều khiển LCD trên phần mềm mô phỏng Eagle.
3. Vẽ lưu đồ thuật tốn.
4.Viết chương trình hiển thị nhiệt độ trên LCD.
5.Test mạch trên boart thực tế để cân chỉnh cho phù hợp.
6.In mạch và hàn linh kiện vào mạch, chạy thử trong thời gian cần thiết để quan
sát tính bền vững của mạch.
Đối tượng, phạm vi nghiên cứu.
Ngoài việc tạo ra sản phẩm là 1 thiết bị hiển thị nhiệt độ thì mục đích thực hiện
đề tài của chúng em còn là nghiên cứu về cách thiết kế mạch và ứng dụng rộng
rãi của vi diều khiển vào trong đời sống. Chính vì vậy có thể nói đối tượng chủ
yếu mà chúng em nghiên cứu ở đề tài này là vi điều khiển. Hoặc những phần
mở rộng của vi điều khiển như dùng cổng giao tiếp kết nối với máy tính hoặc
điều khiển từ xa các dụng cụ và thiết bị điện điện tử trong gia đình hoặc nghiên
cứu và thiết kế mạch điều chỉnh và hiển thị nhiệt độ. Nhưng do trình độ và kiến
thức thực tế còn hạn hẹp nên chúng em mới đưa ra ý tưởng nghiên cứu và dừng
lại ở việc thiết kế sản phẩm là thiết bị hiển thị nhiệt độ.
Vì vậy đề tài được đưa ra chúng em rất mong thầy giáo hướng dẫn và các thầy
trong khoa tận tình hướng dẫn chúng em để chúng em có thể tự tay mình thiết
kế 1 sản phẩm mang tính ứng dụng cao.
Ý nghĩa khoa học và thực tiễn.
Ý nghĩa thực tiễn của đề tài này giúp chúng em không nhưng thực hành được
kiến thức đã học mà nó còn giúp chúng em vận dụng được những gì mình học
mà làm ra được sản phẩm có thể ứng dụng ngồi thị trường. tạo động lực cho
chúng em học hỏi nhiều hơn về chuyên ngành.
Trong bài viết của chúng em, chúng em xin giới thiêu ứng dụng IC
AT89C51 để hiển thị nhiệt độ trên LCD.Tuy nhiên trong quá trình viêt do trình
độ hiểu biết của chúng em còn hạn chế, nên còn xẩy ra nhiều sai sót mong thầy
GVHD: Nguyễn Thị Luyến
@&?
-6-
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Khoa Điện – Điện tử
Đồ án chuyên ngành1
Lớp: Đ-ĐTK5.4
và các bạn góp ý bổ sung để em được hiểu biết hơn trong quá trình học tâp tiếp
theo.
Chúng em xin chân thành cảm ơn!
Hưng Yên, tháng 11 năm 2009
CHƯƠNG I : TỔNG QUAN
1.1Tính ứng dụng và th thời sự của đề tà thi.
Tríc sù ph¸t triĨn mạnh mẽ của khoa học công nghệ thì việc ứng dụng các
thành tựu khoa học công nghệ vào cuộc sống cđa con ngêi ngµy cµng phỉ biÕn.
GVHD: Nguyễn Thị Luyến
@&?
-7-
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Đồ án chuyên ngành1
Khoa Điện in t
Lp: -TK5.4
Theo một cuốn sách trắng đợc công ty Sun Microsystems công bố và đa ra dự
đoán một gia đình có mức sống trung bình ở cuối thập niên này sẽ chứa khoảng
50 đến 100 vi điều khiển thực hiện các công việc nh : điều khiển điện thoại số,
điều khiển hệ thống máy điều hoà không khí, ®iỊu khiĨn hƯ thèng lß vi sãng,
®iỊu khiĨn tõ xa cho máy thu hình, hệ thống bảo vệ cho gia đình, thiết bị hỗ trợ
cá nhân PAD... Một con số khổng lồ các vi điều khiển và vi xử lý đợc sử dụng
trong các đồ điện tử gia dụng. Bên cạnh các ứng dụng trong gia đình, một lĩnh
vực khác cũng đang kích động sự tăng trởng của vi điều khiển là trong thơng mại
điện tử và trong công nghệ sản xuất. Vi xử lý ngày càng chiếm u thế hơn so với
các bộ điều khiển khác. Tính u việt của nó đợc thể hiện :
- Dễ dàng sử dụng trong các thiết bị điện tử hoặc hệ thống điện tử số.
- Chi phí nâng cấp thấp và cần rất ít linh kiện cho việc bảo hành bảo dỡng.
- Mang lại hiệu quả kinh tế cao.
Vi điều khiển mang lại nhiều lợi nhuận lại có thêm sức cạnh tranh lớn do
chất lợng cao nên ngày càng đợc sử dụng rộng dÃi, càng tăng thêm tính hấp dẫn
về phía ngời dùng đồng thời cũng mang lại nhiều lợi nhuận cho các nhà sản xuất.
Đó là động lực để vi điều khiển tăng trởng cả về số lợng và chất lợng.
1.2. Tỡnh hình nghiên cứu và hướng tập trung nghiên cứu của ti.
Qua quá trình tìm hiểu và học hỏi thì chúng em thấy khi vi xử lý tham gia
vào thì mạch quang báo sẽ có nhiều chức năng hơn, tiện lợi hơn, chơng trình đa
dạng hơn ... Đáp ứng đầy đủ nhu cầu, mong muốn và nguyện vọng của ngời sư
dơng. Víi vi xư lý điỊu khiĨn quang b¸o ta có thể thay đổi chơng trình hiển thị
một cách dễ dàng bằng cách nhập chơng trình mới Vi điều khiển. Khi dùng vi xử
lý thì nội dung hiển thị rất phong phó, víi néi dung nhá ta chØ cÇn dïng bộ nhớ
trong, nếu bạn cần hiện thị chơng trình với một dung lợng lớn thì cũng thật đơn
giản, ta chỉ cần kết nối thêm với bộ nhớ ngoài. Vi xử lý có u điểm nổi bật hơn so
với các bộ điều khiển khác. Ngày nay vi xử lý đợc sử dụng ngày càng phổ biến
trong sản xuất cũng nh trong cuộc sống của con ngời. Sau khi nhận định và phân
tích ở trên thì sử dụng vi điều khiển để điều khiển LCD hiển thị nhit ụ là ý tởng tèi u.
GVHD: Nguyễn Thị Luyến
@&?
-8-
SVTH :Nguyễn Văn Bắc
Nguyễn Xuân Bình
Trần Văn Đoàn
Trường Đại Học SPKT Hưng Yên
Khoa Điện – Điện tử
Đồ án chuyên ngành1
Lớp: Đ-ĐTK5.4
CHƯƠNG II : LÝ THUYẾT LIÊN QUAN
2.1. VI IU KHIN.
2.1.1. Tóm tắt về lịch sử của 8051.
Vào năm 1981. HÃng Intel giới thiệu một số bộ vi điều khiển đợc gọi là
8051. Bộ vi điều khiển này cã 128 byte RAM, 4K byte ROM trªn chÝp, hai bộ
định thời, một cổng nối tiếp và 4 cổng (đều rộng 8 bit) vào ra tất cả đợc đặt trên
một chíp. Lúc ấy nó đợc coi là một hệ thống trên chíp. 8051 là một bộ xử lý 8
bit có nghÜa lµ CPU chØ cã thĨ lµm viƯc víi 8 bit dữ liệu tại một thời điểm. Dữ
liệu lớn hơn 8 bit đợc chia ra thành các dữ liệu 8 bit để cho xử lý. 8051 có tất cả
4 cổng vào - ra I/O mỗi cổng rộng 8 bit (xem hình 1.2). Mặc dù 8051 có thể có
một ROM trên chíp cực đại là 64 K byte, nhng các nhà sản xuất lúc đó đà cho
xuất xởng chỉ với 4K byte ROM trên chíp. Điều này sẽ đợc bàn chi tiÕt h¬n sau
GVHD: Nguyễn Thị Luyến
@&?
-9-
SVTH :Nguyễn Văn Bắc
Nguyễn Xuân Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Đồ án chuyên ngành1
Khoa Điện in t
Lp: -TK5.4
này. 8051 đà trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản
xuất và bán bất kỳ dạng biến thế nào của 8051 mà họ thích với điều kiện họ phải
để mà lại tơng thích với 8051. Điều này dẫn đến sự ra đời nhiều phiên bản
Phần chính của vi điều khiển AT89C51 là bộ xử lý trung tâm CPU ( Central
processing unit ) bao gåm:
- Thanh ghi tÝch luü A
- Thanh ghi tích luỹ phụ B, dùng cho phép nhân và phép chia
- Đơn vị logic học ALU ( Arithmetic Logical Unit )
- Từ trạng thái chơng trình PSW ( Program Status Word)
- Bốn băng thanh ghi
- Con trỏ ngăn xếp
- Ngoài ra còn có bộ nhớ chơng trình, bộ giải mà lệnh, bộ điều khiển thời
gian và logic
Đơn vị xử lý trung t©m nhËn trùc tiÕp xung tõ bé dao động, ngoài ra còn có
khả năng đa một tín hiệu giữ nhìp từ bên ngoài.
Chơng trình đang chạy có thể cho dừng lại nhờ một khối điều khiển ngắt ở bên
trong. Các nguồn ngắt có thế là: các biến cố ở bên ngoài, sự tràn bộ đếm định
thời hoặc cũng có thể là giao diện nối tiếp.
Hai bộ định thời 16 bit hoạt động nh một bộ đếm
Các cổng ( port0,port1,port2,port3 ) sử dụng vào mục đích điều khiển.
ở cổng 3 có thêm các đơng dẫn điều khiển dùng để trao đổi với một bộ nhớ bên
ngoài hoặc để đầu nối giao diện nối tiếp cũng nh các đờng ngắt dẫn bên
ngoài.Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ
làm việc độc lập víi nhau. Tèc ®é trun qua cỉng nèi tiÕp cã thể đặt trong vảy
rộng và đợc ấn định bằng một bộ định thời.
Trong vi điều khiển AT89C51 có hai thành phần quan trọng khác là bộ nhớ
và các thanh ghi.
Bộ nhí gåm cã bé nhí Ram vµ bé nhí Rom dùng để lu trữ dữ liệu và mà lệnh.
Các thanh ghi sử dụng để lu trữ thông tin trong quá trình xử lý. Khi CPU làm
việc nó làm thay đổi nội dung của các thanh ghi chíp, nhng tất cả chúng đều tơng thích với 8051 ban đầu về các lệnh. Điều này có nghĩa là nếu ta viết chơng
trình của mình cho một phiên bản nào đó thì nó cũng sẽ chạy với mọi phiên bản
bất kỳ khác mà không phân biệt nó từ hÃng sản xuất nào.
2.1.2 Cu trúc bên trong và sơ đồ chân bên ngoài.
GVHD: Nguyễn Thị Luyến
@&?
- 10 -
SVTH :Nguyễn Văn Bắc
Nguyễn Xuân Bình
Trần Văn Đoàn
Trường Đại Học SPKT Hưng Yên
Đồ án chuyên ngành1
Khoa Điện in t
Lp: -TK5.4
Bộ vi điều khiển 8051 là thành viên đầu tiên của họ 8051. HÃng Intel ký
hiệu nó nh là MCS51 .Bảng 1 l trình bày các đặc tính của 8051
hơn sau này. 8051 đà trở nên phổ biến sau khi Intel cho phép các nhà sản xuất
khác sản xuất và bán bất kỳ dạng biến thế nào của 8051 mà họ thích với điều
của 8051 với các tốc độ khác nhau và dung lợng ROM trên chíp khác
nhau đợc bán bởi hơn nửa các nhà sản xuất. Điều này quan trọng là mặc dù có
nhiều biến thể khác nhau của 8051 về tốc độ và dung lơng nhớ ROM trên chíp,
nhng tất cả chúng đều tơng thích với 8051 ban đầu về các lệnh. Điều này có
nghĩa là nếu ta viết chơng trình của mình cho một phiên bản nào đó thì nó cũng
sẽ chạy với mọi phiên bản bất kỳ khác mà không phân biệt nó từ hÃng sản xuất
nào.
2.1.3 Cu trỳc bờn trong v s chõn bờn ngoi.
Bộ vi điều khiển 8051 là thành viên đầu tiên của họ 8051. HÃng Intel ký
hiệu nó nh là MCS51 .Bảng 1 l trình bày các đặc tính của 8051
Bảng 2.1 : Các đặc tính của 8051 đầu tiên.
Đặc tính
ROM trên chíp
RAM
Bộ định thời
Các chân vào - ra
Cổng nối tiếp
Nguồn ngắt
Số lợng
4K byte
128 byte
2
32
1
6
a) Bố trí bên trong của sơ đồ khối 89C51.
GVHD: Nguyn Th Luyn
@&?
- 11 -
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Khoa Điện – Điện tử
Đồ án chun ngành1
Lớp: Đ-ĐTK5.4
Hình 2.1. Sơ đồ khối của 89C51.
PhÇn chính của vi điều khiển AT89C51 là bộ xử lý trung t©m CPU ( Central
processing unit ) bao gåm:
- Thanh ghi tÝch luü A
- Thanh ghi tÝch luü phô B, dùng cho phép nhân và phép chia
- Đơn vị logic học ALU ( Arithmetic Logical Unit )
- Từ trạng thái chơng trình PSW ( Program Status Word)
- Bốn băng thanh ghi
- Con trỏ ngăn xếp
Ngoài ra còn có bộ nhớ chơng trình, bộ giải mà lệnh, bộ điều khiển thời
gian và logic
Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động, ngoài ra còn có
khả năng đa một tín hiệu giữ nhìp từ bên ngoài.
Chơng trình ®ang ch¹y cã thĨ cho dõng l¹i nhê mét khèi điều khiển ngắt ở bên
trong. Các nguồn ngắt có thế là: các biến cố ở bên ngoài, sự tràn bộ đếm định
thời hoặc cũng có thể là giao diện nối tiếp.
Hai bộ định thời 16 bit hoạt động nh một bộ đếm
Các cổng ( port0,port1,port2,port3 ) sử dụng vào mục đích điều khiển.
ở cổng 3 có thêm các đơng dẫn ®iỊu khiĨn dïng ®Ĩ trao ®ỉi víi mét bé nhí bên
ngoài hoặc để đầu nối giao diện nối tiếp cũng nh các đờng ngắt dẫn bên
ngoài.Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ
làm việc độc lập với nhau. Tốc độ truyền qua cổng nối tiếp có thể đặt trong vảy
rộng và đợc ấn định bằng một bộ định thời.
GVHD: Nguyn Th Luyn
@&?
- 12 -
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Đồ án chuyên ngành1
Khoa Điện – Điện tử
Lớp: Đ-ĐTK5.4
Trong vi ®iỊu khiĨn AT89C51 cã hai thành phần quan trọng khác là bộ nhớ
và các thanh ghi.
Bé nhí gåm cã bé nhí Ram vµ bé nhí Rom dùng để lu trữ dữ liệu và mà lệnh.
Các thanh ghi sử dụng để lu trữ thông tin trong quá trình xử lý. Khi CPU làm
việc nó làm thay ®ỉi néi dung cđa c¸c thanh ghi.
b) Sơ đồ và chc nng cỏc chõn.
Hình 2.2 : Sơ đồ chân AT89C51.
- Port0: Là port có 2 chức năng ở trên chân từ 32 đến 39 trong các thiết kế cỡ
nhỏ (không dùng bộ nhớ mở rộng) có 2 chức năng nh các đờng IO. Đối với các
thiết kế cỡ lớn (với bộ nhớ mở rộng) nó đợc kết hợp kênh giữa c¸c bus.
GVHD: Nguyễn Thị Luyến
@&?
- 13 -
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Đồ án chuyên ngành1
Khoa Điện – Điện tử
Lớp: Đ-ĐTK5.4
- Port1: Port1 lµ mét port I/O trên các chân 1 đến 8. Các chân đợc ký hiệu
P1.0, P1.1, P1. có thể dùng cho các thiết bị ngoài nếu cần. Port1 không có chức
năng khác, vì vậy chúng ta chỉ đợc dùng trong giao tiếp với các thiết bị ngoài.
- Port2: Port2 là một port công dụng kép trên các chân 21 đến 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 kế dùng
bộ nhớ mở rộng.
- Port3: Port3 là một port công dụng kép trên các chân 10 đến 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ín đặc biệt nh bảng sau:
Bit
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
Tên
Rxd
Txd
Into
Int1
To
T1
Wr
rd
Chức năng chuyển đổi
Dữ liệu nhận cho port nối tiếp
Dữ liệu phát cho port nối tiếp
Ngắt 0 bên ngoài
Ngắt 1 bên ngoài
Ngõ vào của timer/counter0
Ngõ vào của timer/count1
Xung ghi bộ nhớ dữ liệu ngoài
Xung đọc bộ nhớ dữ liệu ngoài
Bảng 2.2 Chức năng của các chân trên Port3
- PSEN (Program Store Enable): PSEN là tín hiệu ra trên chân 29. Nó 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
chân OE (Ouput Enable) của một EPROM để cho phép đọc các byte mÃ
lệnh.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 và đợc chốt vào thanh ghi lệnh của AT89C51
sẽ giải mà lệnh. Khi thi hành chơng trình trong ROM nội (AT89C51) sÏ ë møc
thơ ®éng (møc cao).
- ALE (Address Latch Enable): Tín hiệu ra ALE trên chân 30 tơng hợp với
các thiết bị làm việc với các xử lí 8585, 8088, 8086 dùng ALE một cách tơng tự
cho làm việc giải các kênh, các bus địa chỉ và dữ liệu khi port0 đợc dùng trong
chế độ chuyển đổi của nó: vừa là bus dữ liệu và là bus thấp của địa chỉ, ALE là
tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nửa đầu của chu kỳ
bộ nhớ. Sau đó, các đờng port0 dùng để xuất hoặc nhập dữ liệu trong nửa sau
chu kỳ của bộ nhớ. 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à nguồn xung nhip cho các hệ thống. Nếu
xung trên AT89C51 là 12MHz thì ALE có tần số 2MHz. ChØ trõ khi thi hµnh
GVHD: Nguyễn Thị Luyến
@&?
- 14 -
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Đồ án chuyên ngành1
Khoa Điện – Điện tử
Lớp: Đ-ĐTK5.4
lƯnh MOVX, mét xung ALE bÞ mÊt. Chân này cũng đợc làm ngõ vào cho xung
lập trình cho EPROM trong AT89C51
- EA (External Access):
TÝn hiƯu vµo EA trên chân 31 thờng đợc mắc lên mức cao (+5V) hoặc mức thấp
(GND). Nếu ở mức cao, AT89C51 thi hành chơng trình từ ROM nội trong
khoảng địa chỉ thấp (4K). Nếu ở mức thấp, chơng trình chỉ đợc thi hành từ bộ
nhớ mở rộng.
- SRT (Reset):
Ngõ vào RST trên chân 9 lµ ngâ reset cđa AT89C51. Khi tÝn hiƯu nµy đợc nối
lên mức cao (trong ít nhất 2 chu kỳ máy), các thanh ghi trong AT89C51 tải các
giá trị thích hợp để khởi động hệ thống.
- Các ngõ vào bộ dao động trên chip:
Nh đà thấy trong cac hình trên, AT89C51 có một bộ dao động trên chip. Nó thờng đợc nối với thạch anh giứa hai chân 18 và 19. Các tụ giữa cũng cần thiết.
Tần số thông thờng là 12MHz.
- Các chân nguồn:
AT89C51 vận hành với nguồn đơn +5V. Vcc đợc nối vào chân 40 và Vss (GND)
đợc nối vào chân 20.
c) Tổ chức bộ nhớ
*Bộ nhớ chơng trình và bộ nhớ dữ liệu nội trú
Tất cả các bộ Flash Microcontrollers của Atmel đều tổ chức các vùng địa
chỉ tách biệt đối với bộ nhớ chơng trình và bộ nhớ dữ liệu, đợc mô tả ở hình dới
đây. Các vùng nhớ chơng trình và dữ liệu tách biệt cho phép bộ nhớ dữ liệu đợc
truy cập bởi địa chỉ 8 bit, có thể đợc lu trữ với tốc độ cao và đợc vận hành bởi
một bộ CPU 8 bit. Tuy nhiên, địa chỉ bộ nhớ dữ liệu 16 bit cũng có thể đợc tạo
ra thông qua thanh ghi con trỏ dữ liệu (DPTR). Bộ nhớ chơng trình có thể chỉ đợc đọc. Chúng có thể là bộ nhớ chơng trình 64 Kbyte có khả năng định địa chỉ
trực tiếp. Để đọc nội dung từ bộ nhớ chơng trình ngoài, cần xác định trạng thái
phù hợp cho chân /PSEN. Bộ nhớ dữ liệu chiếm 1 vùng địa chỉ riêng biệt so với
bộ nhớ chơng trình. 64 Kbyte bộ nhớ ngoài có thể đợc định địa chỉ trực tiếp
trong vùng bộ nhớ dữ liệu ngoài. CPU tạo ra tín hiệu đọc và ghi (/RD, /WR) để
truy cập bộ nhớ dữ liệu ngoài. Bộ nhớ chơng trình ngoài và bộ nhớ dữ liệu ngoài
có thể đợc kết hợp bởi các tín hiệu /RD và /PSEN để đa vào 1 cổng AND và sử
dụng đầu ra của cổng này để đọc nội dung từ bộ nhớ dữ liệu/chơng trình ngoài.
GVHD: Nguyn Th Luyến
@&?
- 15 -
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Khoa Điện – Điện tử
Đồ án chun ngành1
Lớp: Đ-ĐTK5.4
H
H×nh 2.3: CÊu tróc bé nhí cđa AT89C51.
*Bộ nhớ chơng trình nội trú
Bộ nhớ chơng trình của AT89C51 đợc tổ chức nh thể hiện ở hình trên.
Không gian nhớ cực đại của bộ nhớ này chiếm 64 Kbyte, đợc định địa chỉ từ
0000h đến FFFFh, trong đó có 4 Kbyte Flash nội trú bên trong nó và đợc định
địa chỉ từ 0000h đến 0FFFh. Do đó có thể mở rộng thêm 60 Kbyte bộ nhớ chơng
trình bên ngoài, đợc định địa chỉ từ 1000h đến FFFFh. Tuy nhiên bộ VĐK này
cũng có thể sử dung toàn bộ bộ nhớ chơng trình ngoài bao gồm 64 Kbyte đợc
định địa chỉ từ 0000h đến FFFFh.
Cũng từ hình trên ta thÊy, th«ng qua viƯc chän møc logic cho bit /EA có thể
lựa chọn để truy cập bộ nhớ chơng trình nội trú (4Kb), bộ nhớ chơng trình mở
rộng ngoại trú (60Kb), hoặc toàn bộ bộ nhớ chơng trình ngoại trú bên ngoài Onchip (64Kb). Cụ thể, khi /EA = 1 thì bộ VĐK sử dụng cả bộ nhớ chơng trình nội
trú và ngoại trú. Ngợc lại, khi /EA = 0 thì bộ VĐK chỉ sử dụng bộ nhớ chơng
trình ngoại trú. Mỗi khi đợc Reset, bộ VĐK sẽ truy cập bộ nhớ chơng trình tại
địa chỉ khởi đầu là 0000h, sau đó nếu cơ chế ngắt đợc sử dụng thì nó sẽ truy cập
tới địa chỉ quy định trong bảng vecter ngắt. Khi truy cập bộ nhớ chơng trình, bộ
VĐK sư dơng xung chän /PSEN ®Ĩ ®iỊu khiĨn. NÕu on-chip lµm viƯc víi bé nhí
GVHD: Nguyễn Thị Luyến
@&?
- 16 -
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Đồ án chuyên ngành1
Khoa Điện in t
Lp: -TK5.4
chơng trình nội trú thì chân phát ra xung chọn /PSEN không sử dụng. Nếu bộ
VĐK làm việc với bộ nhớ chơng trình ngoại trú thì chân phát ra xung chọn
/PSEN đợc sử dụng. Khi đó nếu /PSEN = 0 thì cho phép bộ VĐK đọc bộ nhớ chơng trình ngoài, ngợc lại nếu /PSEN = 1 thì bộ VĐK chỉ làm việc với bộ nhớ chơng trình nội trú.
*Bộ nhớ dữ liệu nội trú
Hình 2. 4: Bé nhí d÷ liƯu néi tró
AT89C51 cã bé nhí d÷ liệu chiếm một khoảng không gian bộ nhớ độc lập
với bộ nhớ chơng trình. Dung lợng của RAM nội trú ở họ VĐK này là 128 Byte,
đợc định địa chỉ từ 00h đến 7Fh. Phạm vi địa chỉ từ 80h đến FFh dành cho SFR.
Tuy nhiên bộ VĐK cũng có thể làm việc với RAM ngoại trú có dung lợng cực
đại là 64 Kbyte đợc định địa chỉ từ 0000h ®Õn FFFFh.
* Vïng nhí 128 Byte thÊp.
Vïng nhí 128 Byte thấp đợc định địa chỉ từ 00h đến 7Fh, đợc chia thành 3
vùng con nh thể hiện ở hình 2.10.
- Vùng thứ nhất có độ lớn 32 Byte đợc định địa chỉ từ 00h đến 1Fh bao gồm 4
băng thanh ghi ( băng 0...băng 3), mỗi băng có 8 thanh ghi 8 bit. Các thanh ghi
trong mỗi băng có tên gọi từ R0 đến R7. Vùng RAM này đợc truy cập bằng địa
chỉ trực tiếp mức Byte, và quá trình chọn để sử dung băng thanh ghi nào là tùy
thuộc vào việc lựa chon giá trị cho RS1 và RS0 trong PSW.
- Vïng thø 2 cã ®é lín 16 Byte đợc định địa chỉ từ 20h đến 2Fh, cho phép truy
cập trực tiếp bằng địa chỉ mức bit. Bộ VĐK cung cấp các lệnh có khả năng truy
cập tới vùng nhớ 128 bit này (nếu truy cập ở dạng mức bit thì vùng này có địa
chỉ đợc định từ 00h đến 7Fh) ở mức bit. ở vùng nhớ này, địa chỉ đợc truy xuất dới dạng Byte hay Bit tuỳ vào lệnh cụ thể. Chẳng hạn, để đặt bit tại ®Þa chØ 5Fh cã
GVHD: Nguyễn Thị Luyến
@&?
- 17 -
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Đồ án chuyên ngành1
Khoa Điện – Điện tử
Lớp: Đ-ĐTK5.4
møc logic 1, ta thùc hiÖn lÖnh: SETB 5Fh . Sau khi thực hiện lệnh này, mặc dầu
5Fh là địa chỉ bit cao nhất trong Byte có địa chỉ 2Bh, nhng nó không làm ảnh hởng tới các bit khác trong Byte này. Đây là u điểm rõ nét của các bộ VĐK khi
thực hiện việc truy xuất các bit riêng rẽ thông qua phần mềm. Các bit có thể
đựơc đặt, xoá, hay thực hiện chức năng AND, OR...chỉ thông qua 1 lệnh. Ngoài
ra các cổng xuất/nhập cũng có thể đợc định địa chỉ dạng bit, điều này làm đơn
giản việc giao tiếp bằng phần mềm với các thiết bị xuất/nhập đơn bit.
- Vùng nhớ còn lại gồm 80 Byte có địa chỉ từ 30h đến 7Fh đợc dành riêng cho
ngời sử dụng để lu trữ dữ liệu. Đây có thể xem là vùng RAM đa mục đích. Có
thể truy cập vùng nhớ này bằng địa chỉ trực tiếp hoặc gián tiếp thông qua các
thanh ghi (R0 hoặc R1) ở dạng mức byte.
Hình 2.5: T chc 128 byte thấp của RAM trong
GVHD: Nguyễn Thị Luyến
@&?
- 18 -
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Khoa Điện – Điện tử
Đồ ỏn chuyờn ngnh1
Lp: -TK5.4
*Bộ nhớ chơng trình ngoài và bộ nhớ dữ liệu ngoại trú
- Bộ nhớ chơng trình ngoại trú:
AT89C51
P1
P0
EPROM
AD0...AD7
Latch
D Q
/EA
A0...A7
ALE
A8...A15
P2
P3
PSEN
/0E
Hình2. 6 : Truy cập bộ nhớ chơng trình ngoài
Bộ nhớ chơng trình ngoài là bộ nhớ chỉ đọc, ®ỵc cho phÐp bëi tÝn hiƯu
/PSEN. Khi cã mét EPROM ngoài việc sử dụng, cả P0 và P2 đều không còn là
các cổng I/O nữa. Khi bộ vi điều khiển truy cập bộ nhớ chơng trình ngoại trú, nó
luôn sử dụng kênh địa chỉ 16 bit thông qua P0 và P2. Một chu kỳ máy của bộ vi
điều khiển có 12 chu kỳ dao động. Nếu bộ dao động trên chíp có tần số 12MHz,
thì một chu kỳ máy dài 1s . Trong một chu kỳ máy điển hình, ALE có hai
xung và hai byte của lệnh đợc đọc từ bộ nhớ chơng trình (nếu lệnh chỉ có một
byte thì byte thứ hai đợc loại bỏ). Khi truy cập bộ nhớ chơng trình ngoại trú, bộ
vi điều khiển phát ra hai xung chốt địa chỉ trong mỗi chu kỳ máy. Mỗi xung chốt
tồn tại trong hai chu kỳ dao động từ P2 - S1 đến P1 S2, và từ P2 S4 đến P1
S5. Để địa chỉ hoá bộ nhớ chơng trình ngoại trú, byte thấp của địa chỉ (A0
A7) từ bộ đếm chơng trình của bộ vi điều khiển đợc xuất qua cổng P0 tại các
trạng thái S2 và S5 của chu kỳ máy, byte cao của địa chỉ (A8A15) từ bộ đếm
chơng trình đợc xuất qua cỉng P2 trong kho¶ng thêi gian cđa c¶ chu kú máy.
Tiếp theo xung chốt, bộ vi điều khiển phát ra xung chọn /PSEN. Mỗi chu kỳ
máy của chu kỳ lệnh gồm hai xung chọn, mỗi xung chọn tồn tại trong 3 chu kú
GVHD: Nguyễn Thị Luyến
@&?
- 19 -
SVTH :Nguyễn Văn Bắc
Nguyễn Xn Bình
Trần Văn Đồn
Trường Đại Học SPKT Hưng Yên
Đồ án chuyên ngành1
Khoa Điện – Điện tử
Lớp: Đ-ĐTK5.4
dao ®éng tõ P1 – S3 ®Õn hết P1 S4 và từ P1 S6 đến hÕt P1 – S1 cđa chu
kú m¸y tiÕp theo. Trong khoảng thời gian phát xung chọn thì byte mà lệnh đợc
đọc từ bộ nhớ chơng trình để nhập và on chip.
-Bộ nhớ dữ liệu ngoại trú
RAM
AT89C51
Writh
internal
FLASH
P0
/EA
DATA
Latch
D
Q
Vcc
A0...A7
ALE
P1
P2
A8...A15
I/O
Page Bits
/RD
/OE
P3 /WR
/WE
Hình 2.7 : Truy cập bộ nhớ dữ liệu ngoài
Bộ nhớ dữ liệu ngoại trú đợc cho phép bởi các tín hiệu / WR và /RD ở các
chân P3.6 và P3.7. Vi điều khiển truy cập bộ nhớ dữ liệu ngoài bằng địa chỉ hai
byte (thông qua cổng P0 và P2) hoặc 1 byte (thông qua cổng P0).
Từ sơ đồ trên ta thấy.
- /EA nèi víi +Vcc ®Ĩ cho phÐp vi ®iỊu khiĨn với bộ nhớ chơng trình nội trú.
- /RD nối với ®êng cho phÐp xt d÷ liƯu(/OE - Output data Enable) của Ram.
- /WR nối với đờng cho phép ghi dữ liƯu(/WE - Write data Enable) cđa Ram.
Nguyªn lý truy cËp bộ nhớ dữ liệu ngoại trú đợc thể hiện bằng các đồ thị thời
gian. Tuy nhiên, tuỳ thuộc vào nhiệm vụ đọc dữ liệu từ bộ nhớ hay ghi dữ liệu
vào bộ nhớ mà nguyên lý truy cập bộ nhớ dữ liệu là khác nhau.
- Quá trình đọc dữ liệu từ bộ nhớ ngoại trú:
Khi truy cập bộ nhớ dữ liệu ngoại trú, bộ vi điều khiển phát ra một xung chốt địa
chỉ (ALE) cho bộ chốt bên ngoài (Latch) trong mỗi chu kỳ máy, tồn tại trong hai
chu kỳ dao ®éng tõ P2 – S4 ®Õn P1 – S5. Để địa chỉ hoá bộ nhớ dữ liệu ngoài,
byte thấp của địa chỉ từ thanh ghi con trỏ dữ liệu ( DPL) hoặc Ri của vi điều
khiển đợc xuất qua cổng P0 trong khoảng các trạng thái S5 của chu kú m¸y
trong chu kú lƯnh. TiÕp theo byte thÊp cđa địa chỉ từ bộ đếm chơng trình ( PCL)
cũng đợc xuất qua cổng P0 đa tới bộ đếm chơng trình ®Ĩ thùc hiƯn lƯnh tiÕp
theo. Byte cao cđa ®Þa chØ từ DPTR (DPH) của vi điều khiển đợc xuất qua cæng
GVHD: Nguyễn Thị Luyến
@&?
- 20 -
SVTH :Nguyễn Văn Bắc
Nguyễn Xuân Bình
Trần Văn Đồn