PHẦN 1:GIỚI THIỆU LÝ THUYẾT Chương I: I.Khái niệm về hệ thống điều khiển nhiệt độ: Nhiệt độ là đại lượng vật lý hiện diện khắp mọi nơi và trong nhiềulĩnh vực, đặc biệt là trong công ngh
Trang 1MỤC LỤC
PHẦN 1: GIỚI THIỆU LÝ THUYẾT……… 1
CHƯƠNG I: GIỚI THIỆU VỀ HỆ THỐNG ĐIỀU KHIỂN NHIỆT ĐỘ…………1
I KHÁI NIỆM VỀ HỆ THỐNG ĐIỀU KHIỂN NHIỆT ĐỘ…………1
II CÁC NGUYÊN TẮC ĐIỀU KHIỂN……… 1
III CÁC LOẠI ĐIỀU KHIỂN……… 2
IV MÔ HÌNH TỔNG QUÁT VÀ CÁC PHƯƠNG PHÁP ĐO NHIỆT ĐỘ……… 3
CHƯƠNG II: CẢM BIẾN NHIỆT……….7
I CÁC THÔNG SỐ CẢM BIẾN………7
II CÁC LOẠI CẢM BIẾN THÔNG DỤNG……… 7
CHƯƠNG III: GIỚI THIỆU HỌ MICROCONTROLLER……….12
I PHẦN CỨNG……….12
II TẬP LỆNH CỦA 8051/8031……….25
III HOẠT ĐỘNG CỦA BỘ ĐỊNH THỜI ( TIMER ) ……… 31
IV HOẠT ĐỘNG CỦA PORT NỐI TIẾP ………35
V HOẠT ĐỘNG NGẮT ( INTERRUPT) ………38
CHƯƠNG IV: GIỚI THIỆU IC AT 8952……… 42
I ĐẶC ĐIỂM VỀ PHẦN TỔ CHỨC BỘ NHỚ……… 42
II CÁC MODE HOẠT ĐỘNG ……….43
CHƯƠNG V: MỞ RỘNG PORT DÙNG PII 8255……….46
I CẤU TẠO PHẦN CỨNG 8255……….46
II CẤU TRÚC PHẦN MỀM CỦA 8255……… 47
III GIAO TIẾP GIỮA VI XỬ LÝ VỚI 8255……… 48
CHƯƠNG VI: BIẾN ĐỔI TƯƠNG TỰ_ SỐ ……….51
I TỔNG QUÁT……….51
II CÁC KỸ THUẬT ADC……….53
III GIAO TIẾP PHẦN MỀM……… 60
IV GIAO TIẾP PHẦN CỨNG………61
PHẦN 2: THIẾT KẾ VÀ CHƯƠNG TRÌNH……… 62
CHƯƠNG I : THIẾT KẾ KIT VI XỬ LÝ AT 8952………65
I GIỚI THIỆU CHUNG……… 65
Trang 2II GIỚI THIỆU CÁC LINH KIỆN CHÍNH TRONG
MẠCH……… 65
CHƯƠNG II: THIẾT KẾ BÀN PHÍM VÀ KHỐI HIỂN THỊ………68
I THIẾT KẾ MẠCH BÀN PHÍM………68
II THIẾT KẾ KHỐI HIỂN THỊ………69
CHƯƠNG III: THIẾT KẾ MẠCH CÔNG SUẤT VÀ MẠCH GIAO TIẾP XUẤT……… 71
I MẠCH CÔNG SUẤT………71
II PHƯƠNG PHÁP ĐIỀU KHIỂN ĐỘ RỘNG XUNG………
72 III THIẾT KẾ MẠCH GIAO TIẾP XUẤT………73
CHƯƠNG IV :THIẾT KẾ MẠCH THU THẬP DỮ LIỆU……….75
I CẢM BIẾN NHIỆT……… 75
II CHỌN BIẾN ĐỔI ADC……….76
CHƯƠNG V :THIẾT KẾ KHÂU HIỆU CHỈNH PID SỐ ……….80
I ĐỐI TƯỢNG LÒ NHIỆT ……….80
II THIẾT KẾ BỘ HIỆU CHỈNH PID SỐ……….81
CHƯƠNG VI: GIẢI THUẬT VÀ CHƯƠNG TRÌNH………87
I GIẢI THUẬT……….87
II CHƯƠNG TRÌNH……… 92
Trang 3PHẦN 1:
GIỚI THIỆU LÝ THUYẾT
Chương I:
I.Khái niệm về hệ thống điều khiển nhiệt độ:
Nhiệt độ là đại lượng vật lý hiện diện khắp mọi nơi và trong nhiềulĩnh vực, đặc biệt là trong công nghiệp vì mỗi sản phẩm , thiết bị hayđiều kiện làm việc cần những nhiệt độ khác nhau Muốn có được nhiệtđộ phù hợp cần phải có một hệ thống điều khiển.Tùy theo tính chất ,yêucầu của quá trình mà nó đòi hỏi các phương pháp điều khiển thích hợp
Hệ thống điều khiển nhiệt độ có thể phân làm hai loại :Hệ thốngđiều khiển hồi tiếp (feedback control system) và hệ thống điều khiểntuần tự (sequence control system)
khiển , so sánh nó với yêu cầu thực thi và tự động điều chỉnh đúng
động điều khiển trước khi xác định tuần tự
II Các nguyên tắc điều khiển :
1.Nguyên tắc thông tin phản hồi:
Trong các quá trình điều khiển ,tồn tại hai dòng thông tin một từ
cơ quan chủ quản đến đối tượng và một từ đối tượng đi ngược về cơquan điều khiển , được gọi là liên kết ngược hay hồi tiếp
a) Quá trình điều khiển theo
nguyên tắc bù nhiễu:
Tác động vào đối tượng
là luật điều khiển u theo
nguyên tác bùnhiễu để đạt đầu
ra c mong muốn,nhưng không
quan sát tín hiệu ra c
Về nguyên tắc ,đối với
hệ phức tạp thì điều khiển theo
mạch hở không cho kết quả tốt
b) Điều khiển theo sai lệch:
n
Điều khiển
Đối tượng
r
Điều khiển
Trang 4Điều khiển
Đối tượng
n
c u
khiển có chất lượng thì sự đa dạng của cơ quan điều khiển phải tươngxứng với sự đa dạng của đối tượng Tính đa dạng của cơ quan điều khiểncó thể dùng để chế ngự đối tượng thể hiện ở :khả năng thu thập thôngtin , lưu trữ ,phân tích xử lý ,chọn quyết định ,tổ chức thực hiện
3.Nguyên tắc bổ sung ngoài:
Một hệ thống luôn tồn tại và hoạt động trong môi trường cụ thể vàcó tác động qua lại chặt chẽ với môi trường đó Trong điều kiện thừanhận nguyên tắc bổ sung ngoài sau:thừa nhận có một đối tượng chưabiết (hộp đen)tác động vào hệ thống và ta phải điều khiển cả hệ thốnglẫn hộp đen
4.Nguyên tắc dự trư:õ
Vì nguyên tắc 3 luôn coi thông tin chưa đầy đủ phải đề phòng cácbất trắc có thể xảy ra và không được dùng toàn bộ lực lượng trong điềukiện bình thường Vốn dự trữ là không sử dụng ,nhưng cần để bảo đảmcho hệ thống vận hành an toàn
5.Nguyên tắc phân cấp:
Đối với một hệ thống phức tạp cần xây dựng nhiều lớp điều khiểnbổ sung cho trung tâm ,để khuếch đại khả năng điều khiển Phải tránhkhuynh hướng hình thức và phân cấp quá đáng ,xử lý cho đúng nhiện vụvà quyền hạn ở mỗi cấp
6.Nguyên tắc cân bằng nội:
Trang 5Mỗi hệ thống cần được xây dựng với cơ chế cân bằng nội để cókhả năng tự giải quyết những biến động xảy ra.
III.Các loại điều khiển:
Sự phân loại điều khiển có tính chất quy ước
1.Điều khiển ổn định hóa:
Mục tiêu điều khiển là kết quả đầu ra bằng đầu vào chuẩn r(t) =
2.Điều khiển theo chương trình:
Nếu r(t) là một hàm định trước theo thời gian ,yêu cầu đáp ứng racủa hệ thống sao chép lại các giá trị của tín hiệu vào r(t) thì ta có hệthống điều khiển theo chương trình
Ví dụ: hệ thống điều khiển máy công cụ CNC ,điều khiển tự độngnhà máy xi măng Hoàng Thạch ,hệ thống thu thập và truyền số liệu hệthống điện, quản lý vật tư ở nhà máy …
3.Điều khiển theo dõi:
Nếu tín hiệu tác động vào hệ thống r(t) là một hàm không bếttrước theo thời gian ,yêu cầu điều khiển đáp ứng ra c(t) luôn bám sátđược r(t) ,ta có hệ thống theo dõi.Điều khiển theo dõi được sử dụng rộngrãi trong các hệ thống điều khiển vũ khí ,hệ thống lái tàu ,máy bay…
4.Điều khiển
thích nghi:
Tín hiệu
v(t) chỉnh định
lại tham số
điều khiển sao
cho hệ thích
nghi với mọi
biến động của
Trang 65.Điều khiển tối ưu hàm mục tiêu đạt cực trị:
Ví dụ các bài toán qui hoạch ,vận trù trong kinh tế ,kỹ thuật đều làcác phương pháp điều khiển tối ưu
IV.Mô hình tổng quát và các phương pháp đo nhiệt độ:
1.Mô hình hệ thống điều khiển:
Hệ thống đo và điều khiển nhiệt độ là một đạng của hệ thống thuthập dữ liệu Nhìn chung một hệ thống thu thập dữ liệu đầy đủ có nhữngthành phần sau:
lý-máy tính Phần này gồm các cảm biến ,mạch gia công tín hiệu ,bộchuyển đổi tín hiệu tương đồng sang tín hiệu số (ADC) và các thiết bịngoại vi khác như nguồn, đường dây truyền dữ liệu …
động vào đối tượng
máy tính nhằm thu nhận dữ liệu và điều khiển nhiệt độ cũng như giaotiếp với người sử dụng Các thành phần trên liên quan chặt chẽ vớinhau ,tạo thành một hệ thống hợp nhất Từ phân tích trên một hệthống thu thập dữ liệu (ADS)sẽ có những thành phần cấu trúc sau:
Trang 72.Chức năng các khối trong hệ thống điều khiển:
2.1.Kít chủ vi xử lý:
Kit sử dụng một chip vi xử lý ,là đơn vị master nhận yêu cầu từngười sử dụng và truyền dữ liệu cho các slave khác ,ở đây sử dụng kỹthuật truyền thông đa xử lý để giao tiếp kit chủ và các kit xử lýslave,giữa kit chủ và máy tính, chỉ có thể giao tiếp khi tác động phím từkit
Kit chủ có thiết kế phần cứng như các kit slave, duy chỉ có thêmvề phần cứng mạng truyền và phần chương trình quản lý các thông sốcủa các đơn vị slave
2.2.Các kit xử lý tạm thời (slave):
Các kit xử lý tạm thời có nhiệm vụ thu nhận các giá trị từ ADC vàcó khả năng điều khiển nhiệt độ theo các phương pháp khác nhau.Chứcnăng của các thông số từ cổng nối tiếp
2.3 Mạng truyền:
Dùng để giao tiếp giữa các kit ,giữa các kit với máy tính Mạngtruyền sử dụng ở đây là theo khuyến cáo của nhà sản xuất chip giao tiếpmã 485.Chuẩn truyền 485 được sử dụng rộng rãi trong các thiết bị điềukhiển vi tính đơn giản trong kết nối phần cứng cũng như giao thức truyềnđây là mạng Half Duplex Trong một thời gian sử dụng nhất định chỉ có
Kênh n
KÊNHTƯƠNGTỰ
KÍTLƯU TRỮ VÀĐIỀU KHIỂN
ADC
Mạch đối tượng 1
DAC
MạchGia công n
BỘ PHÂN KÊNH
Máy tính chủ
Mạch đối tượng n
MạchGia công 1
Trang 8thể nhiều nhất hai đối tượng liên lạc với nhau.Các cách thức giao tiếp làmột vi xử lý chủ và các vi xử lý tớ ,các vi xử lý tớ không thể liên lạc vớinhau mà chỉ có thể liên lạc thông qua vi xử lý chủ.
2.4 Chương trình điều khiển:
Thực hiện việc giao tiếp giữa các vi xử lý và kit chủ ,giữa kit chủvà máy tính ,đặt trị
3.Các phần tử trong thiết bị đo và phương pháp đo nhiệt độ:
3.1.Các phần tử trong thiết bị đo:
Phần tử biến đổi các đại lượng không điện sang đại lượng điện,bộphận này thường dùng thermocouple
Biến đổi tín hiệu điện thu được từ thermocouple cho phù hợp vớimức vào mạch biến đổi tín hiệu A/D
Hiển thị kết quả thu được dưới dạng hiển thị số
Thực hiện điều khiểntheo phương pháp PID hay ON/OFF
Khuếch đại tín hiệu điều khiển để điều chỉnh nhiệt độ
3.2.Các phương pháp đo:
Hiện nay có rất nhiều phương pháp đo khác nhau :từ đơn giản đếnphức tạp, từ loại có độ chính xác vừa đến loại chính xác cao
Đo nhiệt độ dùng cảm biến thạch anh có ưu điểm hơn so với cácphương pháp khác ,vì nó có độ chính xác cao ,việc chuyển đổi dạng sốrất dễ dàng đối với thông tin liên quan đến tần số
Ví dụ: đặc tính đo lường của tinh thể thạch anh do hãng Heulett Packardchế tạo có:
Trang 9+ Khoảng đo -80oC ÷ 250oC.
Tuy nhiên có hạn chế là khó chế tạo ,các mạch dao động thạchanh khó tinh chỉnh
a) Cách lắp đặt bộ cảm ứng nhiệt:
Vị trí của cảm ứng nhiệt ảnh hưởng rất lớn đến việc đo đạc vàđiều khiển nhiệt độ của vật thể Cảm ứng nhiệt càng xa nguồn nhiệt thìcàng vọt lố cao do đó tùy theo yêu cầu cụ thể mà ta lắp đặt vị trí thíchhợp
b) Quan hệ giữa các thang đo nhiệt độ:
Chương II:
CẢM BIẾN NHIỆT ĐỘ
Cảm biến nhiệt độ là dụng cụ chuyển đổi đại lượng nhiệt thànhcác đại lượng vật lý khác chẳng hạn như điện, áp suất, độ giãn nở dài,độ giãn nở khối, điện trở, … Cảm biến nhiệt độ là phần tử không thểthiếu trong bất kỳ hệ thống đô lường điều khiển nhiệt độ nào Cảm biếnnhiệt độ có khả năng nhận biết được tín hiệu nhiệt độ một cách chínhxác, trung thực và chuyển đổi thành tín hiệu có thể đo lường được nhưđiện áp, dòng điện, điện trở, thể tích áp suất…
I.CÁC THÔNG SỐ CẢM BIẾN:
1.Thông số cấu tạo : được quyết định do nhà sản xuất và phụ thuộc vào
từng loại cảm biến
2.Thông số sử dụng: bao gồm các yếu tố sau:
♦ Khoảng làm việc : là khoảng nhiệt độ mà cảm biến có khả năng
khi chưa bị bảo hòa Khoảng làm việc cao hay thấp là do tínhchất cấu tạo và tính lý hóa của từng loại cảm biến qui định
♦ đôä nhạy: được định nghĩa:
df
Trang 10
df: sự thay đổi đại lượng đo của cảm biến
dx : sự thay đổi đại lượng vật lý
♦ Ngưỡng độ nhạy: là mức thấp nhất mà cảm biến có thể phát hiện
được
♦ Tính trễ: còn gọi là quán tính của cảm biến Tính trễ của cảm
biến tạo ra sai số của phép đo Tốc độ thay đổi cuả đại lượng đophải phù hợp với tính trễ của cảm biến Nếu đại lượng đo thay đổiquá nhanh mà quán tính của cảm biến lớn thì không thể đo chínhxác được Mọi cảm biến đều có tính trễ do ảnh hưởng của vỏ bảovệ
II.CÁC LOẠI CẢM BIẾN THÔNG DỤNG:
1.Cặp nhiệt điện :
Cặp nhiệt điện là dụng cụ đo nhiệt độ thường được sử dụng rộngrãi trong công nghiệp.Cơ sở chế tạo cặp nhiệt điện dựa trên các nguyênlý sau:
trên dây là T1-T2 thì sẽ có một sự hấp thụ hay tỏa nhiệt
dẫn thì tại vị trí mối nối sẽ có sự hấp thụ hay tỏa nhiệt
nhiệt độ tại một điểm thì ngay tại điểm đó sẽ xuất hiện một suất điệnđộng
bất kỳ sự phân bố nhiệt độ ra sao, suất điện động tổng cộng củamạch luôn bằng không
Trang 11Rỏ ràng ở đây nếu ta dùng hai dây kim loại đồng chất a ,nối vớinhau qua hai điểm T1 và T2 trong mạch sẽ xuất hiện hai suất điện độngbằng nhau nhưng ngược chiều nhau nên tổng suất điện động bằngkhông.
Nhưng nếu mạch kín trên được cấu tạo bởi hai dây kim loại khácnhau a và b thì tổng suất điện động xuất hiện trong mạch này bằng suấtđiện động Thomson phụ thuộc vào nhiệt độ tuyệt đối T1,T2 ở hai đầumối ghép của dây dẫn Ngoài ra trong mạch còn có suất điện độngSeebeck ,điều này được giải thích là do sự tập trung khác nhau của điệntử tự do ở hai đầu mối ghép Mặt khác ,do sự xuất hiện thế năng tiếpxúc tại khu vực mối ghép bởi hai dây dẫn không đồng chất lý thuyếttrên được thể hiện bằng công thức:
Eab(T1,T2)=Eab(T2)-Eab(T1)
Trong đó:
ghép có nhiệt độ T1,T2
ghép có nhiệt độ T1
ghép có nhiệt độ T2
Công thức trên chính là cơ sở chế tạo cạêp nhiệt điện Nếu để
tại mối ghép khi T2=T là:
A,B,C là các hằng số phụ thuộc vào vật liệu chế tạo Như vậy
nhạy của cặp nhiệt thay đổi trong từng khoảng đo.Hoặc về mặt toán học
3 2
2
12
AT
Trang 12
Tóm lại: suất điện động được xem là tuyến tính với nhiệt độ trongkhoảng làm việc nào đó tùy theo cấu tạo của từng loại kim loại để làmcặp nhiệt
• Cấu tạo :
Cặp nhiệt điện được chế tạo bằng hai sợi kim loại khác nhau ,vàcó ít nhất là hai mối nối.Một đầu được giữ ở nhiệt độ chuẩn gọi là đầu
ra đầu còn lại tiếp xúc với đối tượng đo
Cặp nhiệt điện có cực dương và cực âm,cực dương thường đánhdấu màu đỏ
Tùy theo vật liệu chế tạo ,cặp nhiệt điện được phân thành các loạisau:
• Vật liệu cấu tạo
Về nguyên tắc ,khi đốt nóng mối hàn của hai kim loại bất kỳ đềuphát sinh một suất điện động nhiệt Nhưng không phải tất cả các kimloại và hợp kim nào cũng đều dùng làm cặp nhiệt được.Vật liệu làm cặpnhiệt điện đòi hỏi một số yêu cầu sau:
Trang 13+ một số tính chủ yếu như dẫn điện ,dẫn nhiệt tốt
Ngoài ra độ chính xác của cặp nhiệt điện còn phụ thuộc vào độchính xác chế tạo và lý tính của môi trường đo
+ Phải đặt cặp nhiệt ở nơi thích hợp vì thường là nhiệt không phânbố đều
+ Vị trí lắp đặt phải tránh chổ có từ trường ,điện trường mạnh
+Để cặp nhiệt thẳng đứng đề phòng ống bảo vệ bị biến dạng do nhiệtcao
+Nên lắp đặt dây bù vào ống sắt nối đất để tránh nhiễu
2.Nhiệt kế điện trở:
Nguyên lý làm việc của nhiệt kế là dựa vào sự thay đổi điện trởtheo nhiệt độ của các vật liệu dẫn điện
2.1.Nhiệt điện trở kim loại:
• Cấu tạo:
Vật liệu cấu tạo điện trở kim loại đòi hỏi các yêu cầu sau:
+ Hệ số nhiệt lớn
+ Điện trở suất lớn
+ Tính ổn định lý hóa tốt
Ro: là điện trở ở 0oC
• Hệ số nhiệt điện trở:
Hệ số nhiệt điện trở của kim loại sẽ tính như sau:
Trang 141dR
α ≈
RdT
2.2.Nhiệt điện trở bán dẫn:
Thay đổi nhiệt độ được chế tạo bằng chất bán dẫn thường gọi làThermistor
Thành phần chính của thermistor là bột của các oxyt kim loại như
…
• Phân loại:
Nhiệt điện trở bán dẫn được chia thàn hai loại :
là nhiệt độ tăng thì R giảm
tinh khiết của vật liệ chế tạo Nct thường có hình dạng như:dạnghạt ,dạng dĩa ,dạng khoen
• Hệ số thu nhiệt độ:
Thermistor sẽ bị đốt nóng khi khi nhiệt độ môi trường xung quanhtăng từ nhiệt độ T0 đến T ,như vậy là nhiệt điện trở đã tiêu thụ đượcmột công suất theo công thức như sau:
W= C(T-T0)
C : là hệ số thu nhiệt của điện trở :là năng lượng cần thiết để làm
• Cách sử dụng:
Khi sử dụng nhiệt kế không nên dùng nhiệt điện trở ở nhiệt độquá cao hay qúa thấp làm cơ cấu tinh thể kim loại thay đổi ,cũng khôngnên để nơi quá ẩm sẽ tạo điều kiện cho điện trở rỉ không kiểm soát được.Không nên đặt điện trở kim loại nơi có chấn động rung hay va đập
• Các ưu điểm: có độ chính xác cao,có thể kết nối với máy tính… 3.IC cảm biến nhiệt độ:
Đây là mạch tích hợp nhận tín hiệu nhiệt độ chuyển đổi thànhđiện ,cho phép đo được ở dạng biến áp hay dòng
Trang 15Một số loại IC cảm biến thông dụng:LX5700, LX135, LM235,LM335, AD590, LM134,…
Chương III:
GIỚI THIỆU HỌ MICROCONTROLLER
I.PHẦN CỨNG:
1 Sơ đồ khối:
Microcontroller 8051/8031 là một IC thuộc họ vi điều khiểnMCS_51 do hãng Intel phát minh và chế tạo.Các IC tiêu biểu cho họMC_51 là 8051 và 8031
Trang 16Chúng có các đặc điểm chung sau:
+ 128 byte Ram
+ 4 port I/O 8 bit
+ 2 bộ định thì 16 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
4K ROM
CPU
Bộ dao
động
Port nối tiếp
Điều khiển bus
Các thanh
P3P1P2P0
PSE
Timer 0 Port nối tiếp
T1 T0
INT0 INT1
Sơ đồ khối 8051
Trang 17+ Một bộ xử lý luận lý (thao tác trên các bit đơn).
+ 210 bit có khả năng định vị riêng biệt trong Ram nội
+ 5 nguồn ngắt với 2 mức ưu tiên
2.Sơ lược các chân của 8051:
P0.4 P0.3 P0.2 P0.1 P0.0 39
33 34 35 36 37 38
P1.6 P1.5
P1.7
P1.4 P1.3 P1.2 P1.1 P1.0 1
7654328
P2.6 P2.5 P2.7
P2.4 P2.3 P2.2 P21 P2.0 21
2726 25 24 2322
28
P3.6 P3.5 P3.7
P3.4 P3.3 P3.2 P3.1 P3.0
10
161514131211
17
/WR T1 /RD
T0 /INT1 /INT0 TXD RXD
19
2930
319
ALERST
PSENEA
18
12MHz
30pF
30pF
20
VSS
40
8051
Trang 18
2.1.Port 0:
thiết kế cở nhỏ (không dùng bộ nhớ mở rộng) Đối với các thiết kế lớn với bộ nhớ mở rộng ,nó được hợp kênh giữa bus địa chỉ và bus dữ liệu
2.2.Port 1:
Port 1 là một Port I/O trên các chân 1-8 Các chân được ký hiệu P1.0,P1.1,…có thể dùng giao tiếp với các thiết bị ngoài nếu cần
2.3.Port 2:
Port 2 là Port công dụng kép trên các chân 21-28 được dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng
2.4.Port 3:
Port 3 là một Port công dụng kép trên các chân 10-17 Các chân của Port này có nhiều chức năng ,các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 8051/8031như ở bảng sau:
ngoài
ngoài
Trang 192.5.PSEN ( Prorgam Store Enable ):
8051/8031 có 4 tín hiệu điều khiển
PSEN là tín hiệu ra trên chân 29 nó là tín hiệu điều khiển để chophép bộ nhớ chương trình mở rộng và thường được nối đến chân OE(Output 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ủachương trình được đọc từ ERPOM qua bus dữ liệu và được chốt vàothanh
ghi lệnh của 8051 để giải mã lệnh Khi thi hành chương trình trong ROMnội (8051) PSEN sẽ ở mức thụ động cao
2.6.ALE( Address Latch Enable ):
Tín hiệu ra ALE trên chân 30 ,8051 dùng ALE cho việc giải kênhcác bus địa chỉ và dữ liệu.Khi Port 0 được dùng trong chế độ chuyển đổicủă nó: vừa là bus dữ liệu vừa là byte thấp của bus địa chỉ ,AlE là tínhiệu để chốt địa chỉ vào một thanh ghi bên ngoài ,trong nữa đầu của chukỳ bộ nhớ Sau đó các đường Port dùng để xuất hoặc nhập dữ liệu trongnữa chu kỳ sau của bộ nhớ
2.7.EA ( External Access ):
Đây là tín hiệu cho phép lựa chọn truy xuất bộ nhớ chương trìnhtrong hay ngoài Khi EA được mắc lên mức cao (+5V) thì 8051 thi hànhchương trình trong ROM nội Ngược lại, nếu Ea được mắc xuống mứcthấp (GND) thì 8051 chỉ thực thi chương trình từ bộ nhớ mở rộng
2.8.RST ( Reset ):
Ngỏ vào RST trên chân 9 là ngỏ reset của 8051 Khi tín hiệu nàyđược đưa lên mức cao (trong ít nhất 2 chu kỳ máy),các thanh ghi bêntrong 8051 được tải những giá trị thích hợp để khởi động hệ thống
2.10.Các ngỏ vào bộ dao động trên chip:
8051 có một bộ dao động trên chip ,nó thường được nối với mộtthạch anh giữa hai chân 18 và 19
2.11.Các chân nguồn :
8051 vận hành với nguồn đơn +5V Vcc (+5V) được nối vào chân
40 và Vss (GND) được nối vào chân 20
3.Tổ chức bộ nhớ:
Trang 208051/8031 có bộ nhớ theo cấu trúc Harvard : có vùng 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 8051 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 64K byte bộ nhớ chương trình và 64K byte bộ nhớ
dữ liệu
Bộ nhớ bên trong bao gồm ROM (8051) 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 bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt
Hai đặc tính cần lưu ý là :
thể được truy xuất trực tiếp giống như các địa chỉ bộ nhớ khác
các bộ vi xử lý khác
ĐỊA CHỈ ĐỊA CHỈ
BYTE ĐỊA CHỈ BIT BYTE ĐỊA CHỈ BIT
RAM ĐA ĐỤNG
FF F0 F7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0 D7 D6 D5 D4 D3 D2 - D0 PSW
B8 - - - BC BB BA B9 B8 IP 2F 7F 7E 7D 7C 7B 7A 79 78
2E 77 76 75 74 73 72 71 70 B0 B7 B6 B5 B4 B3 B2 B1 B0 P3 2D 6F 6E 6D 6C 6B 6A 69 68
2C 67 66 65 64 63 62 61 60 A8 AF - - AC AB AA A9 A8 IE 2B 5F 5E 5D 5C 5B 5A 59 58
23 1F 1E 1D 1C 1B 1A 19 18 8D Không được địa chỉ hóa bit TH1
22 17 16 15 14 13 12 11 10 8C Không được địa chỉ hóa bit TH0
21 0F 0E 0D 0C 0B 0A 09 08 8B Không được địa chỉ hóa bit TL1
Trang 2120 07 06 05 04 03 02 01 00 8A Không được địa chỉ hóa bit TL0 1F BANK 3 89 Không được địa chỉ hóa bit TMOD
17 BANK 2 87 Không được dịa chỉ hóa bit PCON 10
0F BANK 1 83 Không được địa chỉ hóa bit DPH
07 BANK 0
(thanh ghi R0-R7) 81 Không được địa chỉ hóa bit SP
Tóm tắc bộ nhớ dữ liệu trên chip
Ram bên trong 8051/8031 được phân chia giữa các bank thanh ghi
(00H-1FH),Ram địa chỉ hóa từng bit (20H-2FH),Ram đa dụng
(30H_7FH)và các thanh ghi chức năng đặc biệt (80H-FFH)
3.1
Ram đa dụng:
Mọi địa chỉ trong vùng RAM đa dụng đều có thể được truy xuất
tự do dùng cách đánh địa chỉ trực tiếp hoặc gián tiếp Ví dụ, để đọc nội
dung ở địa chỉ 5FH của RAM nội vào thanh ghi tích lũy lệnh sau sẽ được
dùng :
MOV A, #5FH
Lệnh này di chuyển một búyt dữ 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 RO hay R1 Ví dụ, sau khi thi hành cùng nhiệm vụ như
lệnh đơn ở trên:
MOV R0, #5FH
MOV A, @R0
Lệnh đầu dùng địa chỉ tức thời để di chuyển giá trị 5FH vào thanh
ghi R0 và lệnh thứ hai dùng địa gián tiếp để di chuyển dữ liệu “được trỏ
bởi R0” vào thanh ghi tích lũy
3.2.RAM địa chỉ hóa từng bit :
8051 / 8031 chứa 210 bit được địa chỉ hóa, trong đó 128 bit là ở
các địa chỉ byte 20H đến 2FH, và phần còn lại trong các thanh ghi chức
năng đặc biệt
Trang 22Ý tưởng truy xuất từng bit riêng rẽ bằng mềm là một đặc tính tiệnlợ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 chi xử lí đòi hỏi một chuổi lệnh đọc – sửa–ghi để đạt được hiệu quả tương tự Hơn nữa, các port I/0 cũng được địachỉ từng bit làm đơn giản phần mềm xuất nhập từng bit.
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 các bit phụ thuộc vào lệnhđược dùng ví dụ, để đặt bit 67H, ta dùng lệnh sau :
SETB 67HChú ý 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 của địachỉ này
3.3.Các bank thanh ghi :
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 (RO đế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
MOV A,R5
Đây là lệnh một byte dùng địa chỉ thanh ghi Tất nhiên, thao táctương tự có thể được thi hành bằng lệnh 2 byte dùng địa chỉ trực tiếpnằm trong byte thứ hai:
MOV A,05H
Các lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanhhơn các lệnh tương ứng nhưng dùng địa chỉ trực tiếp Các giá trị dữ liệuđược dùng thường xuyên nên dùng một trong các thanh ghi này
Bank thanh ghi tích cực có thể chuyển đổi bằng cách thay đổi cácbit chọn bank thanh ghi trong từ trạng thái chương trình (PSW) Giả sửrằng bank thanh ghi 3 được tích cực, lệnh sau sẽ ghi nội dung của thanhghi tích lũy vào địa chỉ 18H:
MOV R0,A
Ýù tưởng dùng “các bank thanh ghi” cho phép “chuyển hướng”chương trình nhanh và hiệu qủa (từng phần riêng rẽ của phần mềm sẽ cómột bộ thanh ghi riêng không phụ thuộc vào các phần khác)
3.4 Các thanh ghi chức năng đặc biệt:
Trang 23Các thanh ghi trong 8051/8031 được định dạng như một phần củaRAM trên chip Vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanhghi trực tiếp, sẽ không có lợi khi đặt chúng vào trong RAM trên chip).Đó là lý do để 8051/0831 có nhiều thanh ghi Cũng như R0 đến R7, có
21 thanh ghi chức năng đặc biệt (SFR: Special Funtion Register) ở vùngtrên của RAM nội, từ địa chỉ 80H đến FFH Chú ý rằng hầu hết 128 địachỉ từ 80H đến FFH không được định nghĩa Chỉ có 21 địa chỉ SFR làđược định nghĩa
Ngoại trừ tích lũy (A) có thể được truy xuất ngầm như đã nói, đasố các SFR được truy xuất dùng địa chỉ trực tiếp chú ý rằng một vàiSFR có thể được địa chỉ hóa bit hoặc byte Người thiết kế phải thậntrọng khi truy xuất bit và byte Ví dụ lệnh sau:
SETB 0E0H
Sẽ set bit 0 trong thanh ghi tích lũy, các bit khác không thay đổi Tathấy rằng E0H đồng thời là địa chỉ byte của thanh ghi tích lũy và là địachỉ bit có trọng số nhỏ nhất trong thanh ghi tích lũy Vì lệnh SETB chỉtác động trên bit, nên chỉ có địa chỉ bit là có hiệu quả
a)Từ trạng thái chương trình:
Từ trạng thái chương trình (PSW: Program Status Word) ở địa chỉD0H chứa các bit trạng thái như bảng tóm tắt sau:
OV
D7HD6HD5HD4HD3H
D2HD1H
Cờ nhớCờ nhớ phụCờ 0
Bit 1 chọn bank thanh ghiBit chọn bank thanh ghi
00=bank 0; địa chỉ 00H-07H01=bank 1: địa chỉ 08H-0FH10=bank 2:địa chỉ 10H-17H11=bank 3:địa chỉ 18H-1FHCờ tràn
Dự trữ
Trang 24PSW.0 P D0H Cờ Parity chẵn.
Bảng Từ trạng thái chương trình
bit thứ 7 trong phép toán cộng hay có mượn ở bit thứ 7 trong phéptoán trừ
qủa của 4 bit thấp trong khoảng 0AH đến 0FH Nếu các giá trị cộngđược là số BCD, thì sau lệnh cộng cần có DA A( hiệu chỉnh thập
Các bit chọn bank thanh ghi (RSO và RS1) xác định bank thanh ghi được tích cực Chúng được xóa sau khi reset hệ thống và được thay đổi
bằng phần mềm nếu cần Ví dụ, ba lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của thanh ghi R7 đến thanh ghi tích lũy A:
b)Thanh ghi B:
Trang 25Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi tích lũy
A cho các phép toán nhân và chia Lệnh MUL AB sẽ nhân các giá trịkhông dấu 8 bit trong A và B rồi trả về kết qủa 16 bit trong A (bytethấp) và B (byte cao) Lệnh DIV AB sẽ chia A cho B rồi trả về kết qủanguyên trong A và phần dư trong B Thanh ghi B cũng có thể được xemnhư thanh ghi đệm đa dụng Nó được địa chỉ hóa ttừng bit bằng các địachỉ bit FOH đến F7H
Thanh ghi SP là thanh ghi 8 bit định vị tại địa chỉ 81H Nó chứa địa chỉcủa đata hiện tại ở đỉnh stack Các phép toán liên quan đến stack boagồm việc đưa dữ liệu vào stack(PUSH) và lấy ( POP) đata ra khỏistack Việc đưa data vào stack làm tăng SP trước khi ghi data vàostack ,và việc lấy data ra khỏi stack sẽ làm giảm nội dung SP
Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngoài làmột thanh ghi 16 bit ở địa chỉ 82H(DPL: byte thấp) và 83H (DPH:bytecao) Ba lệnh sau sẽ ghi 55H vào RAM ngoài ở địa chỉ 1000H:
c)Các thanh ghi port xuất nhập:
Các port của 8051/8031 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địachỉ 90 H, Port 2 ở địa chỉ A0H và Port 3 ở địa chỉ B0H Tất cả các Portđều được địa chỉ hóa từng bit Điều đó cung cấp một khả năng giao tiếpthuận lợi
d)Các thanh ghi timer:
8051/8031 chứa 2 bộ định thời đếm 16 bit được dùng trong việcđịnh thời hoặc đếm sự kiện Timer 0 ở địa chỉ 8AH (TL0:byte thấp) và8CH (TH0:byte cao).Timer 1 ở địa chỉ 8BH (TL1:byte thấp) và 8DH(TH1: byte cao) việc vận hành timer được set bởi thanh ghi Timer Mode
Trang 26(TMOD) ở địa chỉ 89H và thanh ghi điều khiển timer (TCON) ở địa chỉ88H Chỉ có TCON được địa chỉ hóa từng bit.
e)Các thanh ghi port nối tiếp:
8051/8031 chức một port nối tiếp trên chip dành cho việc trao đổithông tin với các thiết bị nối tiếp như máy tính, modem hoặc cho việcgiao tiếp với các IC khác có giao tiếp nối tiếp (có bộ chuyển đổi A/D,các thanh ghi dịch ) Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp(SBUF) ở địa chỉ 99H sẽ giữ cả hai giữ liệu truyền và nhận Khi truyềndữ liệu thì ghi lên SBUf, khi nhận dữ liệu thì đọc SBUF Các mode vậnhành khác nhau được lập trình qua thanh ghi điều khiển port nối tiếp(SCON) (được địa chỉ hóa từng bit) ở địa chỉ 98H
f)Các thanh ghi ngắt:
8051/8031 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên Các ngắt bịcấm sau khi reset hệ thống và sẽ được cho phép bằng việc ghi thanh ghicho phép ngắt (IE) ở địa chỉ 8AH Cả hai thanh ghi được địa chỉ hóa từngbit
g)Các thanh ghi điều khiển công suất:
Thanh ghi điều khiển công suất (PCON) ở địa chỉ 87H chứa nhiềubit điều khiển Chúng được tóm tắt trong bảng sau:
GF0
PDIDL
Bit này liên quan đến tốc độ baud trong Port nốitiếp
Không định nghĩaKhông định nghĩaKhông định nghĩaBit cờ đa dụng 1Bit cờ đa dụng 0Giảm công suấtChuyển sang chế độ nghỉ
BảngThanh ghi điều khiển công suất (PCON)
3.5 Bộ nhớ ngoài.
Trang 27Khi dùng bộ nhớ ngoài, port 0 không còn là một port I/O thuần túynữa Nó được hợp kênh giữa bus địa chỉ (A0-A7) và bus dữ liệu (D0-D7)với tín hiệu ALE để chốt byte thấp của địa chỉ khi bắt đầu mỗi chu kỳbộ nhớ Port 2 thông thường được dùng cho byte cao của bus địa chỉ.
Trong nửa đầu của mỗi chu kỳ bộ nhớ, byte thấp của địa chỉ đượccấp trong port 0 và được chốt bằng xung ALE Một IC chốt 74HC373(hoặc tương đương) sẽ giữ byte địa chỉ thấp trong phần còn lại của chukỳ bộ nhớ Trong nửa sau của chu kỳ bộ nhớ port 0 được dùng như busdữ liệu và được đọc hoặc ghi tùy theo lệnh
a) Truy xuất bộ nhớ chương trình ngoài:
Bộ nhớ chương trình ngoài là mộ IC ROM được phép bởi tín hiệuPSEn Hình sau mô tả cách nối một EPROM vào 8051/8031:
ALE
DG
Q
Port 2/PSEN
Trang 28Một chu kỳ máy của 8051/8031 có 12 chu kỳ xung nhịp Nếu bộdao động trên chip được lái bởi một thạch anh 12MHz thì chu kỳ máy
đọc từ bộ nhớ chương trình (nếu lệnh hiện hành là một byte thì byte thứhai sẽ được loại bỏ) Giản đồ thời gian của một lần lấy lệnh được vẽ ởhình sau:
b/ Truy xuất bộ nhớ dữ liệu ngoài:
DG
Q
Port 2
/RDEA
Trang 29
Bộ nhớ dữ liệu ngoài là một bộ nhớ RAM được cho phép ghi/đọcbằng các tín hệu WR và RD (các chân P3.6 và P3.7 thay đổi chức năng).chỉ có một cách truy xuất bộ nhớ dữ liệu ngoài là với lệnh MOVX dùngcon trỏ dữ liệu (DPTR) 16 bit hoặc R0 và R1 xem như thanh ghi địa chỉ
Kết nối bus địa chỉ và bus dữ liệu giữa RAM và 8051/8031 cũnggiống EPROM và do đó cũng có thể lên đến 64 byte bộ nhớ RAM.Ngoài ra, chân RD của 8051/8031 được nối tới chân cho phép xuất (OE)của RAM và chân WR được nối tới chân ghi (WR) của RAM
Giản đồ thời gian cho lệnh đọc bộ nhớ dữ liệu ngoài được vẽ trênhình sau đối với lệnh MOVX A, @DPTR:
Giản đồ thời gian cho lệnh ghi (MOVX @DPTR, A) cũng tương tựchỉ khác đường WR sẽ thay vào đường RD và dữ liệu được xuất ra trênport 0 (RD vẫn giữ mức cao)
Trang 308051/8031 được reset bằng cách giữ chân RST ở mức cao ít nhấttrong 2 chu kỳ máy và trả nó về múc thấp RST có thể được kích khi cấpđiện dùng một mạch R-C.
Trạng thái của tất cả các thanh ghi của 8051/8031 sau khi reset hệthống được tóm tắt trong bảng sau:
00H00H0XXXXXXB0XXX0000B
Trang 31Bảng Trạng thái các thanh ghi sau khi reset
Quan trọng nhất trong các thanh ghi trên là thanh ghi đếm chươngtrình, nó được đặt lại 0000H Khi RST trở lại mức thấp, việc thi hànhchương trình luôn bắt đầu ở địa chỉ đầu tiên trong bộ nhớ trong chươngtrình: địa chỉ 0000H Nội dung của RAM trên chip không bị thay đổi bởilệnh reset
II TẬP LỆNH CỦA 8051/8031.
Tập lệnh 8051/8031 có 255 lệnh gồm 139 lệnh 1 byte, 92 lệnh 2byte và 24 lệnh 3 byte
1 Các chế độ đánh địa chỉ: trong tập lệnh có 8 chế độ đánh địa chỉ:
a)Thanh ghi địa ghi:
8051/8031 có 4 bank thanh ghi, mỗi bank có 8 thanh ghi đ1nh số từR0 đến R7 Tại mỗi thời điểm chỉ có một bank thanh ghi được tích cực
Ngoài ra, một số thanh ghi đặc biệt như thanh ghi tích lũyACC,B,DPTR
b)Địa chỉ trực tiếp:
Trong chế độ này, các thanh ghi bên trong 8051/8031 được đánhđịa chỉ trực tiếp bằng 8 bit địa chỉ nằm trong byte thứ hai của mã lệnh
c)Địa chỉ gián tiếp:
R0 và R1 được dùng để chứa địa chỉ ô nhớ mà lệnh tác động đến.người ta quy ước dùng dấu @ trước R0 hoặc R1
Mã lệnh Địa chỉ trực tiếp
Địa chỉ trực tiếp
M a õ l e än h i Địa chỉ gián tiếp
Trang 32e)Địa chỉ tương đối:
Địa chỉ tương đối được dùng trong các lệnh nhảy 8051/8031 dùnggiá trị 8 bit có dấu để cộng thêm vào thanh ghi đếm chương trình (PC).Tầm nhảy của lệnh này trong khoảng từ –128 đến 127 ô nhớ Trước khicộng , thanh ghi PC sẽ tăng đến địa chỉ theo sau lệnh nhảy rồi tính toánđịa chỉ offset cần thiết để nhảy đến địa chỉ yêu cầu Như vậy địa chỉ mớilà địa chỉ tương đối so với lệnh kế tiếp chứ không phải là bản thân lệnhnhảy Thường lệnh này có liên quan đến nhãn được định nghĩa trước
f)Địa chỉ tuyệt đối:
Địa chỉ tuyệt đối chỉ dùng trong các lệnh ACALL và JIMP Cáclệnh 2 byte này dùng để rẽ nhánh vào một trang 2 Kbyte của bộ nhớtrương trình bằng cách cấp 11 bit địa chỉ thấp (A0-A10) để xác định địachỉ đích trong trang mã Còn 5 bit cao của địa chỉ đích (A11-A15) chínhlà 5 bit cao hiện hành trong thanh ghi đếm chương trình Vì vậy địa chỉcủa lệnh theo sau lệnh rẽ nhánh và địa chỉ đích của lệnh rẽ nhánh và địachỉ đích của lệnh rẽ nhánh cần phải cùng trang mã 2 Kbyte (có cùng 5bit địa chỉ cao)
A15 A11 A10 A0
Xác định trang mã xác định địa chỉ trong trang mã
M a õ O f f s e t t ư ơ n g đ o ái
A 1 0 - A 8
Địa chỉ tuyệt đối
Trang 33Địa chỉ dài chỉ dùng cho lệnh LCALL và LJIMP Các lệnh nàychiếm 3 byte và dùng 2 byte sau (byte 2 và byte 3) để định địa chỉ đíchcủa lệnh (16 bit) Ưu điểm của lệnh này có thể sử dụng trong toàn bộvùng nhớ 64 Kbyte Tuy nhiên, lệnh này chiếm nhiều byte và lệ thuộcvào vị trí vùng nhớ.
h)Địa chỉ tham chiếu:
Địa chỉ tham chiếu dùng một thanh ghi cơ bản (hoặc thanh ghiđếm chương trình PC hoặc thanh ghi con trỏ dữ liệu DPTR) và địa chỉoffset (trong thanh ghi tích lũy A) để tạo địa chỉ được tác động cho cáclệnh JMP hoặc MOVC Các bảng nhảy và bảng tìm kiếm dễ dàng đượctạo ra để sử dụng địa chỉ tham chiếu
2 Các nhóm lệnh của 8051/8031:
Tập lệnh của 8051/8031 được chia thành 5 nhóm:
a)Nhóm lệnh xử lý số học:
ADD A,Rn (1byte,1chu kỳ máy): cộng nội dung thanh ghi Rn vào thanhghi A
ADD A,@Ri (1,1): Cộng gián tiếp nội dung RAM chứa tại địa chỉ
được khai báo trong Ri vào thanh ghi A
Trang 34ADD A,data (2,1): Cộng trực tiếp byte dữ liệu và cờ nhớ vàoA.
ADDC A,#data (2,1): Cộng dữ liệu tức thời và cờ nhớ vào A
ghi Rn và cờ nhớ
ghi B
ghi B
b)Nhóm lệnh luận lý:
ANL A,Rn (1,1): AND nội dung thanh ghi A với nội dung thanhghi Rn
tiếp
trong RAM
ANL data,#data (3,2): AND một dữ liệu trực tiếp với A một dữ liệutức thời
Trang 35ORL A,Rn (1,1): OR thanh ghi A với thanh ghi Rn.
ORL data,#data (3,1):OR một dữ liệu trực tiếp với một dữ liệu tứcthời
A
XRL dara,#data (3,1): XOR một dữ liệu trực tiếp với một dữ liệu tứcthời
(1/2byte)
c) Nhóm lệnh chuyển dữ liệu:
Trang 36MOV Rn,#data (2,1): Chuyển dữ liệu tức thời vào thanh ghi Rn.
MOV data,A (2,1): Chuyển nội dung thanh ghi A vào dữ liệu
MOV A,@A+DPTR (1,2): Chuyển byte bộ nhớ chương trình có địa chỉlà
@A+DPRT vào thanh ghi A
MOVC A,@A+PC (1,2): Chuyển byte bộ nhớ chương trình có địa chỉ là
@A+PC vào thanh ghi A
MOV A,@Ri (1,2): Chuyển dữ liệu ngoài (8 bit địa chỉ) vào thanhghi A
MOVX A,@DPTR (1,2): Chuyển dữ liệu ngoài (16 bit địa chỉ) vào A.MOVX @Ri,A (1,2): Chuyển nội dung A ra dữ liệu ngoài (8 bit địachỉ)
MOVX @DPTR,A (1,2): Chuyển nội dung A ra dữ liệu ngoài (16 bit địachỉ)
PUSH data (2,2) : Chuyển dữ liệu trực tiếp vào ngăn xếp và tăng SP
XCH A,Rn (1,1) : Trao đổi dữ liệu giữa thanh ghi Rn v2 thanh ghi A.XCH A,data (2,1) : Trao đổi giữa thanh ghi A và một dữ liệu trực tiếp.XCH A,@Ri (1,1) : Trao đổi giữa thanh ghi A và một dữ liệu gián tiếp
A và LSN của dữ liệu gián tiếp
d) Nhóm lệnh chuyền điều khiển:
ACALL addr11 (2,2): Gọi chương trình con dùng địa chì tuyệt đối
Trang 37LCALL addr16 (3,2): Gọi chương trình con dùng địa chỉ dài.
JMP @A+DPTR (1,2): Nhảy gián tiếp từ con trỏ dữ liệu
thanh ghi Rn và nhảy nếu không bằng
CJNE @Ri,#data,rel (3,2): So sánh dữ liệu tức thời với dữ liệu gián tiếpvà nhảy nếu không bằng
bằng
III.HOẠT ĐỘNG CỦA BỘ ĐỊNH THỜI (TIMER)
1.Giới thiệu:
8051/8031 có hai timer 16 bit ,mỗi timer có 4 cách làm việc người
ta sử dụng các timer để :
a) định khoảng thời gian
b) đếm sự kiện
c) tạo tốc độ bad cho Port nối tiếp có sẵn trong 8051/8031
Truy xuất các timer dùng 6 thanh ghi chức năng đặc biệt
Trang 38Byte thấp của timer1
Byte cao của timer0
Byte cao của timer1
88H89H8AH8BH8CH8DH
Có Không Không Không Không Không
2 Thanh ghi chế độ timer (TMOD):
Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làmviệc cho timer 0 và timer 1
Bit
Bit
chạy khi INT1 ở mức cao
1: đếm sự kiện0: định thời
00: chế độ 0 (timre 13 bit)01: chế độ 1 (timer 16 bit)10: chế độ 2 (8 bit tự động nạplại)
11: chế độ 3 (tách timer)
Trang 391 M1 0 Bít của chế độ
3 Thanh ghi điều khiển timer (TCON):
Thanh ghi TCON chứa các bit trạng thái và các bit điều khiểncho timer 0 và timer 1
2 IT1 8AH Cờ kiểu interrupt 1 bên ngoài đặt/xóabằng phần mềm với interrupt bên ngoài
tác động mức thấp/cạnh xuốngTCON
TCON
0
4 Các chế độ timer:
a)Chế độ 0, chế độ timer 13 bit:
Để tương thích với 8048 (có trứớc 8051)
Ba bit cao của TLX (TL0 và/hoăc TL1) không dùng
b)Chế độ 1- chế độ timer 16 bit.
(5 bit) (8 bit) TFxXung nhịp timer
Cờ báo tràn
Trang 40Hoạt động như timer 16 bit đầy đủ.
Cờ báo tràn là bit TFx trong TCON có thể đọc hoặc ghi bằngphầm mềm
MSB của giá trị trong các thanh ghi timer là bit 7 của THx và LBSlà bit 0 của TLx Các thanh ghi timer (Tlx/THx) có thể được đọc hoặcghi bất cứ lúc nào bằng phầm mềm
c)Chế độ2- chế độ tự động nạp lại 8 bit.
TLx hoạt động như một timer 8 bit, trong khi đó THx vẫn giữnguyên giá trị được nạp Khi số đếm tràn tứ FFH đến 00H, không nhữngcờ timer được set mà giá trị trong THx đồng thời được nạp vào TLx.Việc đếm tiếp tục từ giá trị này lên đến FFH xuống 00H và nạp lại chế độ này rất thông dụng vì sự tràn timer xảy ra trong những khoảngthời gian nhất định và tuần hoàn một khi đã khởi động TMOD và THx
d)Chế độ 3- chế độ tách timer
Timer 0 được tách thành hai Timer 8 bit với cờ báo tràn là TF0 vàTF1 Timer 1 không còn bị tác động bởi cờ tràn TF1.Timer ngưng ở chếđộ 3, nhưng có được khởi động bằng cách chuyển sang chế độ khác
Cờ báo tràn