Trong thời gian thực tập vừa qua em được giao đề tài "Tính toán thiết kế hệ thu thập số liệu 8 kênh sử dụng họ vi điều khiển và truyền số liệu lên máy tính" Được sự hướng dẫn tận tình củ
Trang 1Thiết kế mạch thu thập số liệu 8 kờnh sử dụng
họ vi điều khiển MCS – 51
Bộ giáo dục và đào tạo
Tr ờng đại học bách khoa hà nội
***
-Cộng hoà x hội chủ nghĩa việt namã hội chủ nghĩa việt nam
Độc lập - Tự do - Hạnh phúc
Trang 2
-NHIỆM VÔ THIẾT KẾ TỐT NGHIỆP
Họ và tên ……….
Khoá ……… Khoa ………
Ngành học ………
1 Đầu đề thiết kế: ………
………
………
………
………
………
2 Các số liệu ban đầu : ………
………
………
………
………
………
3 Nội dung thuyết minh và tính toán: ………
………
………
………
………
………
4 Các bản vẽ đồ thị ( ghi rõ các loại bản vẽ về kÝch thước các bản vẽ): ………
………
………
Trang 3Phần Họ tên cán bộ.
………
………
………
………
………
………
6 Ngày giao nhiệm vụ thiết kế ………
7 Ngày hoàn thành nhiệm vụ ………
Trường Đại Học Bách Khoa Hà Nội trang 2
Ngµy……… th¸ng……… n¨m
Chñ nhiÖm bé m«n
(Ký, Ghi râ hä tªn)
C¸n bé h íng dÉn
(Ký, Ghi râ hä tªn)
Häc sinh ® hoµn thµnh· héi chñ nghÜa viÖt nam
(vµ nép toµn bé b¶n thiÕt kÕ cho Khoa)
Ngµy th¸ng n¨m
(Ký, Ghi râ hä tªn)
Trang 4Lời nói đầu
Với sự tiến bộ không ngừng của khoa học kỹ thuật đặc biệt là trong ngànhđiện tử trong việc chế tạo các vi mạch điện tử, mạch vi xử lý đã tạo một bướcngoặt quan trọng đối với sự phát triển của khoa học
Việc phát triển công nghiệp hoá, hiện đại hoá là nhiệm vụ quan trọng hàngđầu đối với bất kỳ một quốc gia nào trong việc xây dựng và phát triển đất nước.Việc ứng dụng các thiết bị đo và hệ thống đo lường có sử dụng vi điện tử, vi xử
lý và máy tính ngày càng có hiệu quả Có thể tạo ra các hệ thống thông minh từcác bộ P, C Điều này cho phép các kỹ sư đo lường và tin học công nghiệp cótrong tay một công cụ mạnh để thu thập và xử lý thông tin, điều khiển tự độngcác quá trình sản xuất Một hệ vi xử lý tối đa không có giới hạn về số lượngthành phần, chức năng thực hiện và quy mô ứng dụng Vấn đề đặt ra đối với mộtthiết kế là tổ chức phần cứng phải tối thiểu thành phần nhằm tăng tốc độ, giảmgiá thành và tăng độ tin cậy Phải xây dựng được phần mềm điều khiển thật tối
ưu nhằm tăng khả năng linh hoạt và mềm dẻo trong xử lý, gia công và biến đổitín hiệu mà hệ phải thực hiện
Trong thời gian thực tập vừa qua em được giao đề tài "Tính toán thiết kế
hệ thu thập số liệu 8 kênh sử dụng họ vi điều khiển và truyền số liệu lên máy tính"
Được sự hướng dẫn tận tình của các thầy giáo hướng dẫn, các cán bộ nơithực tập và tạo điều kiện thuận lợi của bộ môn cùng với sự nỗ lực của bản thân
em đã làm được một số phần của bản đồ án Em rất mong được sự chỉ dẫn thêmcủa các thầy để em có thể hoàn thiện bản đồ án này
Nội dung đồ án gồm những phần sau:
Phần I: NHIỆM VỤ THƯ
Phần II: CƠ SỞ KIẾN THỨC
Trang 5PHẦN III : TÍNH TOÁN THIẾT KẾ.
Phần i Nhiệm vụ thư
Ngày nay với sự phát triển của khoa học kỹ thuật, việc áp dụng nhữngthành tựu khoa học vào trong đời sống và sản xuất ngày càng nhiều Hiện naytrong các nhà máy xí nghiệp việc tự động hoá các quá trình sản xuất, tự độnghoá các thiết bị điều khiển là một vấn đề hết sức quan trọng Trong các thiết bị
tự động muốn điều khiển một quá trình nào đó một cách tối ưu thì nhất thiết phải
có các thiết bị đo, chính nhờ các thiết bị đo người ta có thể kiểm soát được cácthông số của hệ thống mà từ đó đưa ra các tín hiệu điều khiển nhằm làm cho hệthống hoạt động ổn định
Trước đây khi ngành vật liệu chưa tìm ra các vật liệu mới, thì các dụng cụ
đo thường được làm bằng cơ có độ chính xác không cao, dải đo hẹp, không làmviệc được trong các môi trường đòi hỏi độ bền cơ học cao Khi ngành vật liệutìm ra được các vật liệu mới, công nghệ chế tạo phát triển đã có thể tạo ra cácthiết bị đo thông minh, có độ chính cao, làm việc được trong các môi trườngkhắc nghiệt như : đo nhiệt độ lò nung, đo nồng độ các chất hoá học, đo áp suấtcao … Nhờ các thiết bị đo thông minh này người ta có thể kiểm soát các thông
số của hệ thống một cách chặt chẽ
Khi khoa học kỹ thuật ngày càng phát triển việc đo không chỉ là biết giátrị của đại lượng cần đo mà những giá trị này còn là những thông tin cần đượclưu trữ và được xử lý Để cho quá trình thu thập các thông tin đo một cách tựđộng hiện nay người ta gắn vào các thiết bị đo các bộ vi điều khiển nhằm điềukhiển các quá trình đo, xử lý và truyền dữ liệu lên máy tính hoặc đưa sang các hệthống khác
Theo như yêu cầu của bài toán đặt ra là xây dưng một hệ thống đo, thuthập nhiệt độ trên tua bin của máy phát điện Với 8 kênh đo nhiệt độ ở những vị
Trường Đại Học Bách Khoa Hà Nội trang 4
Trang 6trí khác nhau và những dải nhiệt độ khác nhau thì việc sử dụng một bộ vi điềukhiển nào để điều khiển trong hệ là một điều cần thiết vì nó ảnh hưởng trực tiếpđến tốc độ xử lý của hệ thống Hiện nay, trên thị trường có rất nhiều họ vi điềukhiển như : MCS - 51, 68HC11, PIC, AVR… vì vậy việc lựa chọn một bộ viđiều khiển cho hệ thống cần phải có giá thành rẻ nhưng vẫn đáp ứng được yêucầu của bài toán tối ưu Ở đây ta sử dụng bộ vi điều khiển 8051 là đủ để điềukhiển hệ thống hoạt động tốt
Trong hệ thống đo ngoài bộ vi điều khiển 8051 ta còn sử dụng các vimạch điện tử và các thiết bị khác như : Mạch chuyển đổi tương tự - sè 12 bitICL7109 có độ chính xác cao, mạch giải mã địa chỉ 74LS138, mạch dồn kênhHEF4051, các cổng logic (AND) các phần tử cơ bản (điện trở, điện dung, tinhthể thạch anh), các IC thuật toán, các thiết bị cảm biến, cổng truyền tin theochuẩn RS232…
Từ các thiết bị trên ta có thể xây dựng một hệ đo và thu thập số liệu vớiphần tử trung tâm là bộ vi điều khiển 8051 để điều khiển hoạt động của cả mạch.Trong hệ thống này mọi hoạt động của hệ đều do bé vi điều khiển quản lý từviệc ra lệnh cho thiết bị đo lấy số liệu đến việc truyền và xử lý các số liệu này
Số liệu đo được từ sensor được đưa qua bộ chuẩn hoá để chuẩn hóa tínhiệu Tín hiệu tương tự này được đưa qua bé chuyển đổi tương tự - sè (ADC) đểchuyển đổi thành tín hiệu số và đưa vào vi điều khiển Vi điều khiển sẽ đọc sốliệu này, nhân chia số liệu và đưa ra hiển thị trên LED đồng thời gửi số liệu đólên máy tính để lưu trữ
Trang 7Phần II
Cơ sở kiến thức Chương I các phương pháp đo nhiệt độ
I Khái quát.
Trong tất cả các đại lượng vật lý, nhiệt độ là một trong những đại lượngđược quan tâm nhiều nhất Đó là vì nhiệt độ có vai trò quyết định trong nhiềutính chất của vật chất Một trong những đặc điểm tác động của nhiệt độ là làmthay đổi một cách liên tục các đại lượng chịu sự thay đổi của nó Bởi vậy trongnghiên cứu khoa học, trong công nghiệp và trong đời sống hàng ngày việc đonhiệt độ là điều rất cần thiết
Đối với việc đo nhiệt độ lại có rất nhiều phương pháp đo khác nhau.Trong đó có một số phương pháp đo chính sau:
- Phương pháp quang dựa trên sự phân bố phổ bức xạ nhiệt độ do daođộng nhiệt (Hiệu ứng Doppler)
- Phương pháp cơ dựa trên sự giãn nở của vật rắn, của chất lỏng hoặc chấtkhí (Với áp suất không đổi) hoặc dựa trên tốc độ âm
- Phương pháp điện dựa trên sự phụ thuộc của điện trở vào nhiệt độ, hiệuứng Seebeck hoặc dựa trên sự thay đổi tần số dao động của thạch anh
Trường Đại Học Bách Khoa Hà Nội trang 6
Trang 8Người ta thường chia làm 3 dải nhiệt độ đo: nhiệt độ thấp, trung bình vàcao.
Dải nhiệt độ thấp từ -2730C 1000 0C Nó thường được đo bằng cácdụng cụ nh nhiệt điện trở, bán dẫn, phương pháp cộng hưởng từ hạt nhân
Dải nhiệt độ trung bình từ 1000 0C 3000 0C Nó thường được đo bằngcác dụng chụ được chế tạo từ các vật liệu có độ chịu nhiệt cao, hoả quang kế,bức xạ và phương pháp cường độ sáng
Dải nhiệt độ cao từ 3000 0C 100.000 0C Đây là dải nhiệt độ đòi hỏi cácthiết bị đo phải có độ chịu nhiệt tốt nhưng có độ chính xác chỉ cần tương đối.Thông thường ta dùng hoả quang kế màu sắc và phổ quang kế
Để đo nhiệt độ người ta chia làm 2 loại phương pháp đo: Phương pháp đotiếp xúc và phương pháp đo không tiếp xúc Phương pháp đo tiếp xúc thườngdùng với dải nhiệt độ thấp và trung bình còn phương pháp đo không tiếp xúcdùng với dải nhiệt độ cao
Việc đo nhiệt độ được tiến hành nhờ một số các dụng cụ đo nh:
t2
Trang 9- Nguyên lý làm việc: Cặp nhiệt điện làm việc dựa trên hiện tượng nhiệtđiện Nếu hai dây dẫn khác nhau nối nlại với nhau tại hai điểm và một trong haiđiểm đó được đốt nóng thì trong mạch đó xuất hiện một dòng điện gây bởi sứcđiện động gọi là sức điện động nhiệt điện.
Khi t1=t2 thì Va=Vb dẫn đến Uab = 0, ET = 0
Khi t1 t2 thì Va Vb lúc đó ET = f(t1) – f(t2)
Nếu t2 = const thì ET = f(t1) + C
- Yêu cầu đối với vật liệu chế tạo cặp nhiệt điện:
+ độ dẫn điện tốt và phải có trị số sức điện động lớn
+ Suất điện động nhiệt điện phải lớn
+ Độ bền hóa học và cơ học với nhiệt độ phải cao
+ Điện dẫn lớn và hệ sô nhiệt độ của điện trở bé
+ Tính chất nhiệt điện không thay đổi
+ Quan hệ giữa sức điện động ET và nhiệt độ T phải là hàm đơn trị
+ Cấu tạo và thành phần kim loại phải ổn định, đồng nhất
Việc sử dụng cặp nhiệt độ có nhiều lợi thế: Kích thước cặp nhiệt độ nhỏnên có thể đo được nhiệt độ của từng điểm của đối tượng nghiên cứu Cặp nhiệt
độ cung cấp suất điện động nên khi đo không cần có dòng điện chạy qua và dovậy không có hiệu ứng đốt nóng
Tuy nhiên nó cũng có một số điểm bất lợi: Phải biết trước nhiệt độ sosánh Tref và do vậy sai số của Tref gây nên sai số Suất điện động của cặp nhiệtđiện trong dải nhiệt độ rộng là hàm không tuyến tính của Tc Bảng sau đây giớithiệu một sô loại cặp nhiệt điện thông dụng:
Tên cặp nhiệt điện
Giới hạn nhiệt độ trên
ức điện độngnhiệt điện với
100OC : mV
Đo lâu dài
Đo ngắn hạnPlatin-platin Rôdi (90%Pt, 10% Rh) 1300 1750 0,64
Trường Đại Học Bách Khoa Hà Nội trang 8
Trang 10800500500200
4,10
6,954,754,151,33
s A/BTrong đó S là hàm của nhiệt độ và có đơn vị là V/OC
- Nguyên nhân chủ yếu gây sai số đối với cặp nhiệt điện
Sai sè do nhiệt độ đầu tự do thay đổi Khi khắc độ thì đầu tự do được đặt
ở nhiệt độ 00C nhưng trong thực tế đầu tự do đặt trong môi trường có nhiệt độkhác 0
Sai sè do sù thay đổi điện trở của đường dây
Sai sè do đặt cặp nhiệt điện không đúng vị trí cần đo, không đúng hướng
và diện tích tiếp xúc của cặp nhiệt vơi đối tượng đo quá nhỏ
b.Nhiệt điện trở:
Nhiệt điện trở là chuyển đổi có điện trở thay đổi theo nhiệt độ tác độngvào nó Tùy theo tác dụng nhiệt của dòng điện cung cấp chạy quanhiệt điện trở
mà người ta phân ra: nhiệt điện trở đốt nóng và nhiệt điện trở không đốt nóng
Trong nhiệt điện trở không đốt nóng dòng điện chạy qua rất nhỏ khônglàm tăng (hoặc tăng rất Ýt) nhiệt độ của điện trở và nhiệt độ của nó bằng nhiệt
Trang 11Yêu cầu đối với vật liệu là có hệ số nhiệt độ lớn, có độ bền hóa học khi có tácdụng của môi trường, khó chảy.
b.1 Nhiệt điện trở dây
Chuyển đổi nhiệt điện trở dây thông thường được chế tạo từ đồng, platin
và Niken đường kính dây từ 0,02 0,06 mm với chiều dài từ 5 20 mm
R0: Điện trở chuyển đổi ở 0 0C
Nếu không biết giá trị của R0 thì ta có thể dùng công thức:
RT2 = RT1( - t2)/( + t1)
RT2, RT1 là điện trở ứng với nhiệt độ T2 và T1
= 1/ là hằng số phụ thuộc vào từng loại vật liệu = 234 đối với đồng
- Nhiệt điện trở Platin
Platin có thể chịu được đến nhiệt độ 1200 0C mà không bị ô xi hóa hoặcnóng chảy
Phương trình đặc trưng: RT=R0(1 + At + Bt2) ở nhiệt độ 0 0C 660
- nhiệt điện trở Niken
Niken có thể sử dụng để đo đến nhiệt độ: 3000C ở nhiệt độ cao hơn thìquan hệ RT = f(t) không đơn trị
Khi t = 0 0C 1000C thì hệ số =5.10-3 1/0C
Trường Đại Học Bách Khoa Hà Nội trang 10
Trang 12ưu điểm cơ bản của nó là có điện trở suất cao, hệ số nhiệt lớn cho phépchế tạo được các chuyển đổi có kích thước nhỏ.
b.2 nhiệt điện trở bán dẫn
Nhiệt điện trở bán dẫn được chế tạo từ một số ôxit kim loại khác nhau nhCuO, MnO … Quan hệ giữa nhiệt độ và điện trở được biểu diễn dưới dạng biểuthức:
RT = A.e/T.Trong đó:
A: Hằng số phụ thuộc vào tính chất vật lý của chất bán dẫn, kích
thước và hình dáng của nhiệt điện trở
: Hằng số phụ thuộc vào tính chất vật lý của chất bán dẫn
T: Nhiệt độ tuyệt đối
e: Cơ số logarit tự nhiên
Hệ số nhiệt độ của chất bán dẫn mang dấu âm và có giá trị 0,02 0,081/OC điện trở suất lớn do đó kích thước nhỏ
ứng của chuyển đổi nhiệt điện trở dùng để đo nhiệt độ, đo các đại lượngkhông điện nh đo di chuyển, đo áp suất và dùng để phân tích thành phần, nồng
độ của một số hợp chất và chất khí
c.Các IC đo nhiệt độ
Trang 13hiệu điện ta biết được giá tri của nhiệt độ cần đo Sau đây là thông số của một sốloại IC dùng để đo nhiệt độ
Trang 14Chương II
Họ vi điều khiển MCS-51 II.1 Giới thiệu họ họ vi điều khiển MCS-51
Họ vi điều khiển MCS-51 là họ vi điều khiển 8 bit được sử dụng phổ biếnnhất của hãng Intel trên thị trường thế giới.Sau đây là bảng tổng kết về kiến trúcphần cứng của một số bộ vi điều khiển họ MCS-51
Tên
gọi
Côngnghệ
ROMtrong
ROMngoài
RAMtrong
RAMngoài
TimerCounter
8031 NMOS Không
có
64KByte
128Byte
128Byte
64
Trang 158052 NMOS 8
Kbyte
64KByte
256Byte
64KByte
128Byte
64KByte
128Byte
64
Phần lớn cỏc vi điều khiển trong họ MCS-51 được đúng vỏ theo kiểu 2hàng (PDIP) với tổng cộng 40 chõn, một số khỏc được đúng vỏ theo kiểu hỡnhvuụng với 44 chõn Chip 8051 cú cỏc đặc trưng sau:
4 KB EPROM bờn trong
128 Byte RAM nội
4 Port xuất /nhập I/O 8 bit
Giao tiếp nối tiếp
64 KB vựng nhớ mó ngoài
64 KB vựng nhớ dữ liệu ngoại
Xử lý bit (thao tỏc trờn từng bit riờng rẽ)
210 vị trớ nhớ được định địa chỉ, mỗi vị trớ 1 bit
4s cho hoạt động nhõn hoặc chia
Ngoài ra nú cũn được thiết kế với logic tĩnh cho phộp hoạt động cú tần sốgiảm suống 0 và hỗ trợ 2 chế độ tiết kiệm năng lượng được lựa chọn bằng phầnmềm
Chế độ nghỉ dừng CPU trong khi vẫn cho phộp Ram và cỏc bộ định thời,đếm, cổng nối tiếp và cỏc hệ thống ngắt tiếp tục hoạt động
Chế độ nguồn giảm duy trỡ nội dung của Ram nhưng khụng cho mạch daođộng cung cấp xung clock nhằm vụ hiệu húa cỏc hoạt động của chip cho đến khi
cú reset cứng tiếp theo
Sau đõy là 3 loại cấu hỡnh chõn ra của IC 8051
Trường Đại Học Bỏch Khoa Hà Nội trang 14 Sơ đồ chân của 8051
Trang 17II.2 Cấu trúc phần cứng họ vi điều khiển MCS-51
Khối xử lý trung tâm
Thanh ghi chứa Acc
Thanh ghi chứa phụ B
Bộ điều khiển thời gian và logic
Thanh ghi đặc biệt SFR(Special Function Register)
Trường Đại Học Bách Khoa Hà Nội trang 16
Trang 18 Thanh ghi số liệu
Thanh ghi từ trạng thái PSW
Hai bộ địng thời/ bộ đếm (Timer/Counter ) với các chế độ hoạt độngkhác nhau để giúp việc định thời gian hay đếm các sự kiện, định tốc độBaud cho cổng nối tiếp
Một cổng nối tiếp bao gồm: giao diện truyền tin nối tiếp SCI có khả năngphát hay nhận một byte thông tin theo cách truyền tuần tự từng bit Giaodiện giao tiếp nối tiếp với thiết bị ngoại vi SPI, truyền tin nối tiếp vớithiết bị ngoại vi
Có 4 cổng vào/ra song song
Hệ thống điêug khiển ngắt với 5 nguồn ngắt
Bảng tóm tắt các chân và chức năng của nó
18 XTAL2 Lối vào của bộ dao động thạch anh bên trong
19 XTAL1 Lối vào của bộ dao động thạch anh bên trong
Trang 1930 ALE Cho phép chốt địa chỉ
31 EA Để làm việc với ROM trong hay ROM ngoài
3239 P0.0P0.7 Cổng vào/ra 0 và các đường địa chỉ thấp
A0A7
40 VCC Chân cấp nguồn (+5v)
II.3 Mô tả các chân
Họ vi điều khiển 8051 theo kiểu PDIP có tổng cộng 40 chân trong đó có 4
cổng vào ra song song: Cổng 0 (P0), cổng 1 (P1), cổng 2 (P2), cổng 3 (P3), các
chân cấp nguồn và các chân điều khiển các thiết bị ngoại vi khác
Port 0 (các chân 32 39 của 8951) là cổng có 2 công dông Trong các
thiết kế nhỏ không dùng bộ nhớ ngoài thì nó có chức năng như các đường
Trường Đại Học Bách Khoa Hà Nội trang 18
Trang 20vào/ra Đối với các thiết kế lớn cần phải có bộ nhớ ngoài, cổng này trở thành busđịa chỉ và bus dữ liệu đa hợp.
Port 1(các chân 1 8 của 8951) chỉ có tác dụng xuất/nhập Các chânđược ký hiệu P1.0, P1.1, p1.2, p1.7 có thể dùng cho giao tiếp với các thiết bịngoài nếu cần Port 1 không có chức năng khác, vì vậy chúng chỉ được dùng chogiao tiếp với các thiết bị ngoại vi
Port 2 (các chân 21 28 của 8951) là cổng có 2 công dụng, chúng đượcdùng như các đường xuất/nhập hoặc là byte địa chỉ cao của bus địa chỉ 16 bitcho các thiết kế có bộ nhớ chương trình ngoài hoặc các thiết kế có nhiều hơn256byte bộ nhớ dữ liệu ngoài
Port 3 (các chân 10 17 của 8951) là cổng có 2 công dụng Khi khônghoạt động xuất/nhập thì các chân của cổng 3 có nhiều chức năng riêng riêng biệt.Bảng dưới đây liệt kê các chức năng của từng chân của cổng 3 :
P3.0 RxD B0H Chân nhận dữ liệu của cổng nối tiếp
P3.1 TxD B1H Chân phát dữ liệu của cổng nối tiếp
P3.2 INT0 B2H Ngõ vào ngắt ngoài 0
P3.3 INT1 B3H Ngõ vào ngắt ngoài 1
P3.4 T0 B4H Ngõ vào củaTIMER/COUNTER thứ 0
P3.5 T1 B5H Ngõ vào củaTIMER/COUNTER thứ 1
P3.6 WR B6H Điều khiển ghi bộ nhớ dữ liệu ngoài
P3.7 RD B7H Điều khiển đọc bộ nhớ dữ liệu ngoài
Chân cho phép bộ nhớ chương trình PSEN.
8051 cung cấp cho ta 4 tín hiệu điều khiển Bus Tín hiệu cho phép bộ nhớ
Trang 21là tín hiệu đưa ra trên chân 29 đây là tín hiệu điều khiển cho phép ta truy xuất
bộ nhớ chương trình ngoài Chân này thường nối với chân cho phép xuất OE
(Output Enable) của Epprom (hoặc Rom) để cho phép đọc các byte lệnh
Trường Đại Học Bách Khoa Hà Nội trang 20
Trang 22Tín hiệu
PSEN
Trang 23ghi lệnh IR để được giải mã Khi thực thi chương trình chứa ở ROM nội,
PSEN
được duy trì ở mức không tích cực ( Mức 1)
Chân cho phép chốt địa chỉ ALE.
Trường Đại Học Bách Khoa Hà Nội trang 22
Trang 248051 sử dụng chân 30, chân xuất tín hiệu cho phép chốt địa chỉ ALE(Address Latch Enable) để giải đa hợp bus dữ liệu và bus địa chỉ Tín hiệu ALE
có tần số bằng 1/6 tần số của mạch dao động bên trong và có thể dùng làm xungclock cho phần còn lại của hệ thống Nếu mạch dao động có tần số 12MHz, tínhiệu ALE có tần số 2 MHz Chân ALE còn được dùng để nhận xung ngõ vào lậptrình cho EPROM trên chip 8051
Chân truy xuất ngoài EA.
Ngõ vào này có thể được nối với 5V (logic 1) hoặc GND (logic 0) Nếuchân này nối lên 5 V, 8051/8052 thực thi chương trình trong ROM nội Nếuchân này nối với GND (và PSEN cũng ở mức logic 0) thì chương trình cần thựcthi chứa ở bộ nhớ ngoài Nếu chân ở logic 0 đối với 8051/8052, ROM nội bêntrong chip bị vô hiệu hóa và chương trình thực thi chứa ở ROM ngoài đối vớinhững loại không có ROM trong thì chân phải ở mức logic 0
II.4 Cách tổ chức và truy cập bộ nhớ của 8051.
Bộ nhớ của 8051 nói riêng và họ MCS – 51 nói chung có khả năng địnhđịa chỉ cho ô nhớ dữ liệu và ô nhớ chương trình đến 64 Kbytes và được chia làm
2 vùng bộ nhớ riêng biệt: Bộ nhớ chương trình và bộ nhớ dữ liệu
Trang 252.4.1 Bộ nhớ chương trình.
Bé vi điều khiển 8051 có thể định dịa chỉ bộ nhớ chương trình tới 64Kbyte, bao gồm bộ nhớ ROM trong kích thước 4 Kbyte và bộ nhớ ROM ngoàikích thước 64 Kbyte Nếu bộ vi điều khiển dùng ROM trong thì chân (ExternalAccess) phải được treo cao, lúc này 4Kbyte ROM trong được coi là miền địa chỉthấp, miền địa chỉ còn lại do ROM ngoài quản lý Nếu chương trình đọc địa chỉ000H đến 0FFFH thì sẽ đọc trực tiếp từ ROM trong, còn lại địa chỉ 1000H đếnFFFFH là đọc từ ROM ngoài Ta phải sử dụng 16 bit địa chỉ để truy cập bộ nhớ
Trường Đại Học Bách Khoa Hà Nội trang 24
Trang 26chương trỡnh ngoài Bộ vi điều khiển cú thể dựng toàn bộ bộ nhớ ROM ngoài64Kbyte, lỳc này thỡ chõn được nối với đất (0V) và tất cả chương trỡnh được đọc
từ ROM ngoài Khi đọc bộ nhớ chương trỡnh bờn ngoài thỡ chõn (ProgramStrobe Enable) đưa ra cỏc xung đọc dựng cho bộ nhớ chương trỡnh bờn ngoài
Do vậy tớn hiệu chỉ cú tỏc dụng đối với ROM ngoài cũn đối với ROM trong thỡchõn này khụng cú tỏc dụng Sau khi Reset CPU bắt đầu thực hiện từ địa chỉ0000H, tiếp theo là đến vựng đặt cỏc ngắt của CPU từ địa chỉ 0003H đến 0023H.Việc sử dụng ROM trong ( đối với những loại cú ROM trong) và ROM ngoài(đối với những hệ thống đũi hỏi phải mở rộng bộ nhớ) bằng cỏch sủ dụng chõn
để điều khiển
Khi chõn nối với Vcc
Đối với những loại cú ROM trong 4KByte nh 8051 thỡ chương trỡnh thựchiện từ địa chỉ 0000H đến 0FFFH của ROM trong sau đú tiếp tục từ địa chỉ1000H đến FFFFH của ROM ngoài
Đối với những loại cú ROM trong 8KByte nh 8051 thỡ chương trỡnh thựchiện từ địa chỉ 0000H đến 1FFFH của ROM trong sau đú tiếp tục từ địa chỉ
Sơ đồ ghép nối vi xử lý với ROM ngoài
Trang 27Đối với những loại có ROM trong 16KByte nh 8051 thì chương trình thựchiện từ địa chỉ 0000H đến 3FFFH của ROM trong sau đó tiếp tục từ địa chỉ4000H đến FFFFH của ROM ngoài.
Khi chân nối với Vss
Khi chân nối với Vss thì lúc này CPU sẽ làm việc toàn bộ đối với ROMngoài Do vậy đối với những loại không có ROM trong thì chân EA bắt buộcphải được nối với Vss
Trong khi truy cập bộ nhớ chương trình ngoài thì nó sẽ đưa 0FFH tới bộchốt của cổng 0 Nh vậy nó có thể xoá bất cứ thông tin nào tại cổng 0 mà SFR
có thể còn đang giữ nên việc viết ra cổng 0 trong khi đang truy cập bộ nhơ ngoài
sẽ bị sai Vì vậy ta không được viết ra cổng 0 khi bộ nhớ chương trình ngoàiđang đựoc sử dụng Hai điều kiện để truy nhập bộ nhớ chương trình ngoài là:
- Khi chân tín hiệu EAtích cực
- Bộ đếm chương trình có nội dung lớn hơn 0FFFH (1FFFH đối với loại8052)
2.4.2 Bộ nhớ dữ liệu.
Bộ nhớ dữ liệu RAM nếu có địa chỉ là 8 bit thì cho phép CPU 8 bit thaotác nhanh hơn Nếu địa chỉ là 16 bit thì có thể truy cập được thông qua thanh ghiDPTR (Data Pointer ) Với 8051 có 128 byte RAM trong và có thể ghép với64KByte RAM ngoài Trong suốt quá trình CPU truy cập tới bộ nhớ dữ liệu sẽphát tín hiệu đọc /RD và tín hiệu ghi /WR Nửa thấp của 128 Bytes RAM trong
từ 00H đến 7FH có thể truy cập trực tiếp hoặc gián tiếp, trong khi nửa cao của
nó tù 80H đênFH chỉ có thể truy cập băng chế độ địa chỉ gián tiếp
Đối với 128 byte RAM trong, bao gồm:
-32 byte thấp nhất là 4 nhóm trong bank thanh ghi Mỗi bank bao gồm 8thanh ghi R0 R7 Khi sử dụng các thanh ghi trong bank thanh ghi nào đó là do
2 bit RS0, RS1 trong thanh ghi từ trạng thái PSW quy định
-16 byte tiếp theo trong vùng 20H 2FH là vùng RAM định địa chỉ bit.Trong vùng này có 128 bit, bit 0 của byte 20H là 0 và bit 7 của byte 2FH có địachỉ là 7FH
Trường Đại Học Bách Khoa Hà Nội trang 26
Trang 28II.5 hoạt động reset
8051 được reset bằng cách giữ chân RTS ở mức cao tối thiểu 2 chu kỳmáy và sau đó chuyển về mức thấp RTS có thể được tác động bằng tay hoặcđược tác động khi cấp nguồn bằng cách dùng mạch RC nh hình dưới
Sau khi reset thanh ghi PC được nạp 0000H Khi RTS trở lại mức thấp,việc thực thi chương trình luôn luôn bắt đầu tại vị trí đầu tiên trong bộ nhớchương trình Nội dung của Ram trên chip không bị ảnh hưởng bởi hoạt độngReset
Trạng thái của tất cả các thanh ghi cho dưới bảng dưới đây:
Bộ đếm chương trìnhThanh chứa AThanh chứa B
0000H00H00H
0
8 2 K
1 0 u F
R S T + 5 V H
Reset b»ng tay Reset khi cÊp nguån
H×nh : Hai m¹ch dïng Reset hÖ thèng
Trang 29Port 0 3IP
IE
Các thanh ghi định thời
SCON SBUFPCON (HMOS)PCON (CMOS)
FFHxxx00000B (8031/8051) xx000000B (8032/8052)0xx00000B (8031/8051) 0x000000B (8032/8052)
00H00H00H0xxx xxxxH0xxx 0000 B
II.2.6 Các thanh ghi chức năng đặc biệt (SFR S )
SFR S bao gồm các thanh ghi có các chức năng đặc biệt khác nhau nhthanh ghi điều khiển Timer, thanh ghi điều khiển cổng nối tiếp, thanh ghi điềukhiển ngắt… SFRS có địa chỉ từ 80H đến FFH
Bảng các thanh ghi đặc biệt của 8051:
c
Internal Address
HTrường Đại Học Bách Khoa Hà Nội trang 28B¶ng : Gi¸ trÞ cña c¸c thanh ghi sau khi reset hÖ thèng
Trang 30Data Pointer Low Byte DPL 82HData Pointer High Byte DPH 83H
Timer/Counter Control TCON 88HTimer/Counter Mode
Timer/Counter 0 Low Byte TL0 8AHTimer/Counter 1 Low Byte TL1 8BHTimer/Counter 0 High Byte TH0 8CHTimer/Counter 1 High Byte TH1 8DH
Interrupt Priority Control IP B8H
2.6.1 Thanh ghi PSW (Program Status Word):
Thanh ghi này bao gồm các bít trạng thái phản ánh trạng thái của CPU
Bit7(CY) :Cờ nhí, nó được set bằng 1 khi có nhớ từ bit 7 trong phép
cộng hoặc có mượn cho bit 7 trong phép trừ
Bit 6(AC) :Cờ nhí phụ Cờ này được set rtong phép cộng nếu có nhớ từ
bit 3 sang bit 4 hoặc Nếu kết quả trong 4 bit thấp nằm trongkhoảng từ 0AH đến 0FH
Bit5 (F0) :Cờ 0 Cờ này đanh cho người sử dụng
7 6 5 4 3 2 1 0