90
 1 Môn hc: Thiết bngoi vi và Kthut ghép ni  (tài liu lưu hành ni b) Bmôn Kthut máy tính Khoa CNTT- ĐH BKHN 

Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi

Embed Size (px)

Citation preview

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 1/90

 

1

Môn học: Thiết bị ngoại vi và Kỹ thuật ghép nối (tài liệu lưu hành nội bộ) 

Bộ môn Kỹ thuật máy tính 

Khoa CNTT- ĐH BKHN 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 2/90

 

Thiết bị ngoại vi và Kỹ thuật ghép nối 2

Chương 5: Vi điều khiển 

Tổng quan  Vi điều khiển họ 8051 

Giới thiệu chung 

Vi điều khiển họ 8051 

Tài liệu tham khảo: “The 8051 MicroController Architecture, Programming and Applications”. “Programming embedded systems” 

“Kỹ thuật vi xử lý (Văn Thế Minh)”,“Cấu trúc và lập trình họ vi điều khiển 8051 

( NguyễnTăng Cường, Phan Quốc Thắng)” www.atmel.com, http://www.hiendaihoa.com 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 3/90

 

Thiết bị ngoại vi và Kỹ thuật ghép nối 3

Tổng quan về Vi điều khiển 

Một hệ vi xử lý (computer) thông thườngbao gồm các khối chức năng cơ bản: Khối xử lý trung tâm (CPU)

Bộ nhớ (Memory)

Khối phối ghép với các thiết bị ngoại vi 

Các bus truyền thông tin 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 4/90

 

Thiết bị ngoại vi và Kỹ thuật ghép nối 4

Tổng quan về Vi điều khiển 

Bộ xử lý

trung tâm(CPU)

Phối ghépvào / ra

Bộ nhớ(Memory)

Bus địa chỉ 

Thiết bịvào ra

Bus dữ liệu

Bus điều khiển

Sơ đồ khối của Hệ Vi Xử Lý

Chú ý: Một hệ thống có cấu trúc như trên được gọi chung làmột HỆ VI XỬ LÝ, máy tính (computer ) là một ứng dụng cụthể của hệ vi xử lý. 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 5/90

 

Thiết bị ngoại vi và Kỹ thuật ghép nối 5

Tổng quan về Vi điều khiển 

Bộ vi xử lý đa năng(MicroProcessor-µP):

Làm nhiệm vụ củaCPU.

Muốn có một hệ vi xử lý(computer) thì phải kếthợp với: BUS,RAM,ROM, Bộ phối ghépvào/ ra,… 

Vd: Họ Intel x86 vàPentium hoặc Motorola680x0, AMD,… 

CPU:Bộ vi xử lý đa năng(x86,Pentium, họMotorola,AMD)

Phối ghépvào / ra

Bộ nhớ(Memory)

Bus địa chỉ

Thiết bịvào ra

Bus dữ liệu

Bus điều khiển

Sơ đồ khối của Hệ Vi Xử Lý

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 6/90

 

Thiết bị ngoại vi và Kỹ thuật ghép nối 6

Tổng quan về Vi điều khiển 

Bộ vi điều khiển (MicroController): Có thể xem là một hệ vi xử lý.

Bên trong bộ vi điều khiển, bao gồm đầy đủ các

thành phần cơ bản của một hệ vi xử lý : • Bộ vi xử lý (làm chức năng CPU, đơn giản hơncác bộ vi xử lý đa năng)

• Bộ nhớ RAM, ROM,.. 

• Cổng vào ra • Bộ định thời,… 

VD: 6811 của Motorola, 8051 của Intel,PIC củaMicrochip,… 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 7/90Thiết bị ngoại vi và Kỹ thuật ghép nối 7

Tổng quan về Vi điều khiển 

Bộ vi xử lý đa năng và Bộ vi điều khiển: 

CPU ROM

Timer

RAM

I/OCổng

vào ra

Bộ VI ĐIỀU KHIỂN

CPU:Bộ vi xử lý đanăng

(x86,Pentium, họMotorola,AMD)

Phối ghépvào / ra

Bộ nhớ(Memory)

Bus địa chỉ 

Thiết bịvào ra

Bus dữ liệu

Bus điều khiển

Hệ Vi Xử Lý

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 8/90Thiết bị ngoại vi và Kỹ thuật ghép nối 8

Tổng quan về Vi điều khiển 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 9/90Thiết bị ngoại vi và Kỹ thuật ghép nối 9

Tổng quan về Vi điều khiển 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 10/90Thiết bị ngoại vi và Kỹ thuật ghép nối 10

Tổng quan về Vi điều khiển 

Ứng dụng của Bộ vi điều khiển: Trong các hệ thống công nghiệp 

Các hệ thống truyền thông, trong máy tính 

Robot, ôtô, xe máy

Nhà thông minh

… 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 11/90Thiết bị ngoại vi và Kỹ thuật ghép nối 11

Tổng quan về Vi điều khiển 

Trong hệ thống nhà thông minh có thể điều khiển được,vi điều khiển và các bộ vi xử lý nhúng xuất hiện rấtnhiều: các dụng cụ gia đình (lò vi sóng, tủ lạnh, ti vi,stereos), máy tính và các thiết bị máy tính (máy in laser,modem, disk driver), điều khiển tự động(điều khiển máy,chuẩn đoán, điều khiển thời tiết), điều khiển môi trường,công cụ, vũ trụ… 

Khi các ứng dụng không cần quan tâm nhiều đến việctính toán thì các vi điều khiển thường xuyên được sửdụng. Ngoài ra vi điều khiển và vi xử lý nhúng còn đượcsử dụng trong rộng rãi trong công nghiệp robot. Trongmột số ứng dụng, nhiều nhiệm vụ đặc biệt được phânphối cho các điều khiển trong cùng một hệ thống. Cácthông tin trao đổi giữa các điều khiển này có thể là trựctiếp hoặc qua một bộ xử lý trung tâm

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 12/90Thiết bị ngoại vi và Kỹ thuật ghép nối 12

Tổng quan về Vi điều khiển 

Công nghệ chế tạo: CMOS - Complementary Metal Oxide Semiconductor. Đây

là tên của một công nghệ chế tạo các vi điều khiểnhiện nay.

CMOS yêu cầu ít năng lượng hơn các công nghệsản xuất cũ và cho phép sử dụng pin. Chip CMOSgần như là tĩnh, có nghĩa là clock có thể chạy chậm

lại đặt chip vào trạng thái ngủ.CMOS có một khuyết điểm là tiếng ồn(do dao độngđiện)lớn hơn các công nghệ sản xuất trước đó.

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 13/90Thiết bị ngoại vi và Kỹ thuật ghép nối 13

Kiến trúc Von-Neuman

 Đặc điểm kiến trúc: Von-Neuman Architecure:

• Vi điều khiển theo kiếntrúc Von-Neuman chỉ cómột đường bus dữ liệuđược sử dụng cho cả lệnhvà dữ liệu.

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 14/90Thiết bị ngoại vi và Kỹ thuật ghép nối 14

•Chương trình và dữ liệu đượclưu trữ trên cùng một vùngnhớ.

•Khi vi điều khiển gửi địa chỉđến bộ nhớ chính, đầu tiên tìm

lệnh và giải mã lệnh rồi tìm dữliệu phục vụ cho lệnh đó. 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 15/90Thiết bị ngoại vi và Kỹ thuật ghép nối 15

Kiến trúc Harvard 

Harvard Architecture:Vi điều khiển có kiến trúc Harvard

có hai đường bus lệnh và dữ liệu

riêng biệt và cho phép xử lý songsong.

 Khi một lệnh đang được tìm và giảimã thì lệnh hiện tại đang được thựchiện trên đường bus dữ liệu. 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 16/90Thiết bị ngoại vi và Kỹ thuật ghép nối 16

Và sau khi lệnh hiện tại đã thựchiện xong thì lệnh tiếp theo đãđược sẵn sàng tiến hành.

 Đây chính là một ưu điểm củakiến trúc Harvard so với kiến

trúc Von-Neuman cho phép cáclệnh được thưc thi nhanh hơn. 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 17/90Thiết bị ngoại vi và Kỹ thuật ghép nối 17

Kiến trúc Havard và Von Neuman 

CPU

Bộ nhớchương trình

Bộ nhớDữ liệu

Kiến trúc Havard

CPU

Bộ nhớ

Kiến trúcVon Neumann

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 18/90Thiết bị ngoại vi và Kỹ thuật ghép nối 18

CISC

CISC (Complex Instruction Set Computer):Hầu hết các vi điều khiển ngày nay đều

sản xuất trên công nghệ CISC.

Các vi điều khiển này đều có tập lệnh lêntới 80 lệnh, và có một số chức năng điềukhiển đặc biệt. Một số lệnh chỉ được thực

hiện trên các thanh ghi hoặc trên cáckhông gian địa chỉ, một số khác lại chỉthực hiện theo chế độ địa chỉ. 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 19/90Thiết bị ngoại vi và Kỹ thuật ghép nối 19

Ưu điểm của CISC so với cáckiến trúc khác là nhiều lệnh giốngnhư macro làm cho người lậptrình có thể sử dụng một lệnh ởmột nơi tương tự như việc sử

dụng nhiều các lệnh đơn giản. 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 20/90Thiết bị ngoại vi và Kỹ thuật ghép nối 20

RISC

RISC (Reduce Instruction SetComputers):Là xu hướng phát triển của các thế hệ vi điều

khiển và đã xuất hiện trên thị trường vi điềukhiển.

Việc dùng tập lệnh mới và sử dụng silicon quý giáđể chế tạo làm cho giá thành của vi điều khiển

cao song lại có những đặc điểm nổi bật sau: chipnhỏ hơn, lượng pin nhỏ hơn, và cần năng lượngcung cấp thấp hơn rất nhiều.

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 21/90Thiết bị ngoại vi và Kỹ thuật ghép nối 21

 Đặc điểm của bộ vi xử lý theo kiến trúcRISC là:thiết kế theo kiến trúc Harvard (có đường bus lệnh

và dữ liệu riêng cho phép vừa truy cập chươngtrình vừa truy cập dữ liệu). 

Các lệnh pineline làm tăng tốc độ xử lý. 

Cho phép một lênh được thực thi trên bất kỳ thanh

ghi nào và sử dụng bất kỳ chế độ địa chỉ nào, cáclệnh không cần phải sự kết hợp nào cả. 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 22/90Thiết bị ngoại vi và Kỹ thuật ghép nối 22

Họ vi điều khiển 8051 

Giới thiệu chung 

Các thành phần và lập trình với 8051 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 23/90Thiết bị ngoại vi và Kỹ thuật ghép nối 

23

Giới thiệu chung 8051 

Năm 1981, Intel đầu tiên cho ra mắt bộ viđiều khiển gọi là 8051 (MCS-51):8 bit

128 Kbyte RAM,

4K byte ROM,

2 bộ định thời,

1 cổng nối tiếp

4 cổng 8 bit.

Tất cả đều được tích hợp trên một chip 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 24/90Thiết bị ngoại vi và Kỹ thuật ghép nối 

24

Giới thiệu chung họ 8051 

Intel cho phép các nhà sản xuất khác: Atmel, Phillips,.. sản xuất các biến thểcủa 8051 ( RAM, ROM, và số bộ định thời

thay đổi)  Cùng với 8051 còn có : 8052, 8031 

8052: 256K RAM, 8K ROM, 3 bộ định thời (timer) 

8031: ROM ngoài lên tới 64 Kb, 128K RAM 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 25/90Thiết bị ngoại vi và Kỹ thuật ghép nối 

25

Giới thiệu chung 8051 

Một số phiên bản 8051 của Atmel:   AT89C51:4K ROM, 128K RAM, 2 bộ định thời, 

VCC 5V, đóng vỏ 40 chân. 

  AT89C2051: 2K ROM, 128 RAM, 2 bộ định thờiVCC 3 V, đóng vỏ 20 chân. 

 AT89C52: 8K ROM, 256K RAM, 3 bộ định thời,

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 26/90Thiết bị ngoại vi và Kỹ thuật ghép nối 

26

Giới thiệu chung 8051 

Xem cụ thể trong datasheet của từng loại: 

Vd AT89C51: Compatible with MCS-51™ Products 

8K Bytes ROM, In-System Reprogrammable Flash Memory

 Endurance: 1,000 Write/Erase Cycles (ghi/ xóa tới 1000 lần) 

Fully Static Operation: 0 Hz to 24 MHz

128 x 8-bit Internal RAM

32 Programmable I/O Lines

Two 16-bit Timer/Counters

Eight Interrupt Sources

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 27/90Thiết bị ngoại vi và Kỹ thuật ghép nối 

27

Giới thiệu chung 8051 

Một số phiên bản của hãng Dallas: DS5000-8: 8K ROM, 128K RAM, 2 bộ định thời,

VCC 5V, đóng vỏ 40 chân. 

DS5000-32: 32K ROM, 128K RAM, 2 bộ định thời,VCC 5V, đóng vỏ 40 chân. 

DS5000T-8: như DS5000-8 nhưng có thêm đồnghồ thời gian thực (Real Time Clock)

Các phiên bản của Phillips: nhiều sản phẩmgồm cả ADC, DAC, I/O mở rộng. 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 28/90Thiết bị ngoại vi và Kỹ thuật ghép nối 

28

Các thành phần của 8051 

Sơ đồ khối: 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 29/90Thiết bị ngoại vi và Kỹ thuật ghép nối 

29

Các thành phần của 8051 

40 chân, chia thành 2 nhóm:Nhóm chân nguồn, dao động vàđiều khiển (8 chân):VCC,GND, XTAL1, XTAL2, RST, /EA,

 /PSEN, ALE

Nhóm chân cổng vào/ra: Bốn cổng P0,P1,P2,P3, mỗi cổng 8

chân ~ cổng 8 bit. Các bit của các cổngđược thiết lập mặc định là cổng ra,muốn chuyển thành cổng vào thì phảiđược lập trình. Các chân của cổng(Px.y) có thể được điều khiển riêng rẽ.

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 30/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 30

Các thành phần của 8051 

Các chân XTL1 (19) và XTL2 (18)để mắc thạch anh cho mạch tạoxung nhịp của MCS-51.

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 31/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 31

Các thành phần của 8051 

Chân RESET (9):Là tín hiệu vào tích cực mức cao

để thiết lập lại trạng thái ban đầucho MCS-51.

Chân /EA (31) là chân tínhiệu vào Khi nối /EA với +5v thì MCS-51

chỉ làm việc với các bộ nhớROM, RAM bên trong nó.

khi nối /EA với đất thì MCS-51làm việc với các bộ nhớ ROM,RAM bên ngoài.

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 32/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 32

Các thành phần của 8051 

Chân ALE (30)là tín hiệu ra dùng để chốt địa chỉ

khi sử dụng bộ nhớ ngoài.

Chân /PSEN (29)Là tín hiệu ra tích cực mức thấp 

Dùng để đọc mã lệnh từ bộ nhớchương trình bên ngoài (khi /EA

nối đất) 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 33/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 33

Các thành phần của 8051 

Cổng 0: P0 Dùng làm cổng vào ra khi /EA

được nối với +5v (~không sửdụng bộ nhớ ngoài) 

Khi /EA nối đất, P0 được sửdụng làm bus địa chỉ và dữ liệucho bộ nhớ ngoài:

• Ở nửa đầu của chu kỳ lệnhtruy nhập bộ nhớ ngoài,MCS-51 đưa ra P0 8 bit địachỉ thấp (A0 A7) 

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 34/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 34

Các thành phần của 8051 

Cổng 1: P1  Đối với nhóm 8051,P1 chỉ được

sử dụng làm cổng vào ra.

 Đối với nhóm 8052 thì chân P1.0có thể được dùng để nhận xungclock T2 cho Timer 2, còn chânP1.1 được dùng làm đầu vào choTimer 2.

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 35/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 35

Các thành phần của 8051 

Cổng 2: P2 Các chân cổng 2: P2.0 P2.7 (21

28) được dùng làm cổng vào rakhi /EA được nối với +5v.

Khi /EA được nối đất(làm việcvới bộ nhớ ngoài) thì cổng 2được sử dụng để đưa ra 8 bít địachỉ cao (A8 A15) cho bộ nhớngoài.

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 36/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 36

Các thành phần của 8051 

Cổng 3: P3 được dùng làm cổng vào ra

hoặc dùng cho chức năng khác như sau:  P3.0 (RxD) có thể dùng để nhận số liệu nối

tiếp P3.1 (TxD) có thể dùng để phát số liệu nối tiếp P3.2 (INTO) có thể dùng để nhận ngắt ngoài 0 P3.3 (INT1) có thể dùng để nhận ngắt ngoài 1; P3.4 (T0) có thể dùng để nhận xung clock cho

Timer 0; P3.5 (T1) có thể dùng để nhận xung clock cho

Timer 1;

P3.6 (/WR) khi /EA nối đất thì nó được dùngđể đưa ra tín hiệu điều khiển ghi RAM ngoài;   P3.7 (/RD) khi /EA nối đất thì nó được dùng

để đưa ra tín hiệu điều khiển đọc RAM ngoài.

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 37/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 37

Các thành phần của 8051 

Bộ định thời /bộ đếm(Timer): Họ 8051 có ít nhất 2 bộ định thời/ bộ đếm (timer):

Timer 0, Timer 1;

Bộ định thời có chứa 1 thanh ghi, giá trị của thanhghi sẽ tăng thêm 1 sau những khoảng thời gianbằng nhau; 

Chúng có thể dùng bộ định thời để tạo một bộ trễ

thời gian, hoặc dùng làm bộ đếm để đếm các sựkiện xảy ra bên ngoài bộ BVĐK 

 

ế

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 38/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 38

Bộ định thời /bộ đếm(Timer) 

Các thanh ghi liên quan tới bộ định thời: Thanh ghi chức năng đặc biệt TCON 

 Thanh ghi chức năng đặc biệt TMOD 

Các thanh ghi THx and TLx

 

ế

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 39/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 39

Bộ định thời/bộ đếm (Timer) 

Thanh ghi TCON: TRx: được thiết lập bởi người lập trình để kích hoạt bộ

Timer hoạt động.

VD: SETB TR0 ;TR0=1~Timer0 bắt đầu hoạt động SETB TR1 ;TR1=1~Timer1 bắt đầu hoạt động 

TFx: Giá trị mặc định là 0. Khi Timer tràn, TFx được thiết lập =1 

 

ế

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 40/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 40

Bộ định thời/bộ đếm (Timer) 

Thanh ghi chế độ TMOD: 

 

ế

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 41/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 41

Bộ định thời/bộ đếm (Timer) 

GATE = 0: khởi động bộ định thời bằngphần mềm. 

GATE =1: khởi động bộ định thời bằng

phần cứng từ nguồn ngoài.  C/T = 1 thì Timer được dùng như một bộ

đếm sự kiện. 

 

/ ế ( )

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 42/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 42

Bộ định thời/bộ đếm (Timer) 

C/T = 0:Timer được dùng như một bộ định thời tạo độ trễ

thời gian.

Tần số thạch anh đi liền với 8051 được làm nguồn

cho đồng hồ của bộ định thời. the timers were incremented every 12 oscillator

cycles =>Tần số của bộ định thời luôn bằng 1/12

tần số của thạch anh gắn với 8051

 

Bộ đị h hời/bộ đế (Ti )

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 43/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 43

Bộ định thời/bộ đếm (Timer) 

Thanh ghi của bộ Timer0:TH0, TL0 

Thanh ghi của bộ Timer1: TH1, TL1. 

Khi Timer hoạt động ở chế độ tạo trễ về

thời gian, giá trị của THxTLx sẽ tự độngđược tăng lên 1 sau 12 chu kỳ đồng hồcủa 8051. 

 

Bộ đị h thời/bộ đế (Ti )

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 44/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 44

Bộ định thời/bộ đếm (Timer) 

Vd: giả sử tần số thạch anh XTAL =11.0592MHz. Hãy tìm các giá trị cầnđược nạp vào các thanh ghi TH và TL

nếu ta muốn độ thời gian trễ là 5ms. Lời giải: 

Bộ định thời làm việc với tần số bằng 1/12 tần số

XTAL, do vậy ta có là tần số của bộ định thời: 11,0592 / 12= 0,9216 (MHz).

Kết quả là sau : 1 / 0,9216 MHz = 1,085 µs. Giá trịcủa ThxTLx gắn với bộ Timer tăng 1. 

 

Bộ đị h thời/bộ đế (Ti )

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 45/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 45

Bộ định thời/bộ đếm (Timer) 

 Để có được ta chia 5ms cho 1.085s vànhận được số n = 4608 nhịp. Để nhậnđược giá trị cần được nạp vào TL và TH

thì ta tiến hành lấy 65536 trừ đi 4608bằng 60928. Ta đổi số này ra số hexthành EE00H. Do vậy, giá trị nạp vào TH

là EE Và TL là 00.

 

Cá th h hi

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 46/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 46

Các thanh ghi

Các thanh ghi:Các thanh ghi được dùng để lưu cất thông tin tạm

thời 

 Phần lớn các thanh ghi của 8051 là các thanh ghi 8bit.

Trong 8051 chỉ có một kiểu dữ liệu: Loại 8 bit* 

8 bit của một thanh ghi được trình bày như sau : 

D7 D6 D5 D4 D3 D2 D1 D0

 

Cá th h hi

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 47/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 47

Các thanh ghi

Một số thanh ghi của 8051 : 

 

Cá th h hi

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 48/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 48

Các thanh ghi

Thanh ghi tích luỹ A được sử dụng chotất cả mọi phép toán số học và lô-gíc

Lệnh cộng ADD. 

Lệnh cộng ADD có các phép như sau: ADD A, nguồn ; Cộng th nguồn vào thanh ghi A.

Nguồn ở đây có thể là giá trị hằng số hoặc là một

thanh ghi khác

 

Cá th h hi

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 49/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 49

Các thanh ghi

 Để cộng hai số như 25H và 34H thì mỗisố có thể chuyển đến một thanh ghi vàsau đó cộng lại với nhau như: 

MOV A, #25H ; Nạp giá trị 25H vào A MOV R2, #34H ; Nạp giá trị 34H vào R2 

ADD A, R2; Cộng R2 vào A và kết quả A = A + R2 

 

Cá th h hi

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 50/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 50

Các thanh ghi

Cách 2:

MOV R5, #25H ; Nạp giá trị 25H vào thanh ghi R5 

MOV R7, #34H ; Nạp giá trị 34H vào thanh ghi R7 

MOV A, #0 ; Xoá thanh ghi A (A = 0)

ADD  A, R5 ; Cộng nội dung R5 vào A (A = A + R5) 

ADD A, R7 ; Cộng nội dung R7 vào A (A = A + R7;= 25H + 34H)

 

Cá th h hi

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 51/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 51

Các thanh ghi

Cách 3:MOV A, #25H ; Nạp giá trị thứ

;nhất vào thanh ghi A (A = 25H) 

ADD A, #34H ; Cộng giá trị thứ hai là 34H vào;A (A = 59H)

Lệnh ADD báo rằng toán hạng nguồn cóthể hoặc là một thanh ghi hoặc là một dữliệu trực tiếp (tức thời) nhưng thanh ghiđích luôn là thanh ghi A,

 

Ch t ì h h ữ t 8051

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 52/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 52

Chương trình hợp ngữ trong 8051 

Một chương trình hợp ngữ bao gồm một chuỗi các

dòng lệnh hợp ngữ. Một lệnh hợp ngữ có chứa một từgợi nhớ (mnemonic)VD: vd2_1.asm

ORG 0H ; Bắt đầu (origin) tại ngăn nhớ 0 

MOV R5, #25H ; Nạp 25H vào R5 MOV R7, #34H ; Nạp 34H vào R7 MOV A, #0 ; Nạp 0 vào thanh ghi A ADD A, R5 ; Cộng nôi dụng R5 vào A (A = A + R5) ADD A, R7 ; Cộng nội dung R7 vào A (A = A + R7) 

ADD A, #121H ; Cộng giá trị 12H vào A (A = A + 12H) HERE: SJMP HERE ; ở lại trong vòng lặp này END ; Kết thúc tệp nguồn hợp ngữ

 

Ch ơng trình hợp ngữ trong 8051

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 53/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 53

Chương trình hợp ngữ trong 8051 

Các lệnh ADD và MOV là các lệnh đếnCPU,

Các lệnh ORG và END là các chỉ lệnh

đối với hợp ngữ.ORG để chỉ dẫn đặt mã lệnh tại ngăn nhớ 0

END thì báo cho hợp ngữ biết kết thúc mã

nguồn 

 

Chương trình hợp ngữ trong 8051

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 54/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 54

Chương trình hợp ngữ trong 8051 

Dịch và chạy một chương trình hợp ngữtrong 8051:Soạn thảo file nguồn , phần mở rộng của các tệp

nguồn phải là “asm” hay “src” tuỳ theo trình hợpngữ mà ta sử dụng

Biên dịch, liên kết để tạo ra một tệp với đuôi mởrộng “Hex” có thể nạp tốt vào trong ROM

 

Chương trình hợp ngữ trong 8051

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 55/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 55

Chương trình hợp ngữ trong 8051 

Tệp liệt kê “.lst”: Tệp liệt kê là một tuỳ chọn, nó liệt kê tất cả

mọi mã lệnh và địa chỉ cũng như tất cả các

lỗi mà trình hợp ngữ phát hiện ra.Nhiều trình hợp ngữ giả thiết rằng, tệp liệt

kê là không cần thiết trừ khi ta báo rằng tamuốn tạo ra nó. 

 Lập trình viên sử dụng tệp liệt kê để tìmcác lỗi cú pháp 

 

Chương trình hợp ngữ trong 8051

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 56/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 56

Chương trình hợp ngữ trong 8051 

Ví dụ tệp liệt kê: vd2_1.lst 

1 0000 ORG 0H ; Bắt đầu ở địa chỉ 0 2 0000 7D25 MOV R5, #25H ; Nạp giá trị 25H vào R5 3 0002 7F34 MOV R7, #34H ; Nạp giá trị 34H vào R7 4 0004 7400 MOV A, #0 ; Nạp 0 vào A (xoá A) 5 0006 2D ADD A, R5 ; Cộng nội dung R5 vào

;A (A = A + R5)6 0007 2F ADD A, R7 ; Cộng nội dung R7 vào

;A (A = A + R7)7 0008 2412 ADD A, #12H ; Cộng giá trị 12H vào A

„(A = A + 12H) 

8 000A BCEF HERE: SJMP HERE ; ở lại vòng lặp này 9 000C END ; Kết thúc tệp .asm 

 

Bộ đếm chương trình và không gian ROM

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 57/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 57

Bộ đếm chương trình và không gian ROM 

Bộ đếm chương trình (PC) trong 8051:Bộ đếm chương trình chỉ đến địa chỉ của lệnh kế

tiếp cần được thực hiện.

Khi CPU nạp mã lệnh từ bộ nhớ ROM chương trình

thì bộ đếm chương trình tăng lên và chỉ đến lệnhkết tiếp

Bộ đếm chương trình trong 8051: 16 bit =>truy cậpcác địa chỉa chương trình từ 0000 đến FFFFH (64kbyte mã lệnh ) 

 

Bộ đếm chương trình và không gian ROM

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 58/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 58

Bộ đếm chương trình và không gian ROM 

 Địa chỉ bắt đầu khi 8051 được cấpnguồn: Khi bộ vi điều khiển được cấp nguồn thì nó bắt đầu

từ địa chỉ nào?

Họ 8051 đều bắt đầu từ địa chỉ 0000 khi nó đượcbật nguồn. 

~ khi 8051 được cấp nguồn thì bộ đếm chương trình

có giá trị 0000

 

Bộ đếm chương trình và không gian ROM

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 59/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 59

Bộ đếm chương trình và không gian ROM 

 Đặt mã vào ROM chương trình :Chương trình được đốt vào trong ROM. 

Mã lệnh và toán hạng được đưa vào các vị trí nhớROM bắt đầu từ địa chỉ 0000 như bảng liệt kê dưới

đây. 

 

Bộ đếm chương trình và không gian ROM

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 60/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 60

Bộ đếm chương trình và không gian ROM 

 Địa chỉ 0000 chứa mã 7D là mã lệnh đểchuyển một giá trị vào thanh ghi R5

 Địa chỉ 0001 chứa toán hạng chuyển vào

R5

 

Bộ đếm chương trình và không gian ROM

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 61/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 61

Bộ đếm chương trình và không gian ROM 

Mã máy “7F34” được đặt trong các ngăn nhớ0002 và 0003 và biểu diễn mã lệnh và toánhạng đối với lệnh “MOV R7, #34H”. 

 

Bộ đếm chương trình và không gian ROM

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 62/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 62

Bộ đếm chương trình và không gian ROM 

Ngăn nhớ 0006 có mã 2D là mã đối vớilệnh “ADD A, R5” và ngăn nhớ 0007 cónội dung 2F là mã lệnh cho “ADD A, R7”.

 

Bộ đếm chương trình và không gian ROM

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 63/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 63

Bộ đếm chương trình và không gian ROM 

Thực hiện một chương trình theo từngbyte :Khi 8051 được bật nguồn, bộ đếm chương trình PC

có nội dung 0000 và bắt đầu nạp mã lệnh đầu tiên

từ vị trí nhớ 0000 của ROM chương trình. Trong trường hợp của chương trình này là mã 7D

để chuyển một toán hạng vào R5. Khi thực hiện mã

lệnh CPU nạp giá trị 25 vào, bộ đếm chương trìnhđược tăng lên để chỉ đến 0002

 

Bộ đếm chương trình và không gian ROM

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 64/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 64

Bộ đếm chương trình và không gian ROM 

Khi thực hiện mã lệnh 7F thì giá trị 34Hđược chuyển vào R7 sau đó PC đượctăng lên 0004: 

 

Bộ đếm chương trình và không gian ROM

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 65/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 65

Bộ đếm chương trình và không gian ROM 

Ngăn nhớ 0004 chứa mã lệnh của lệnh“MOV A, #0”. Lệnh này được thực hiện vàbây giờ PC = 0006

 

Bộ đếm chương trình và không gian ROM

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 66/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 66

Bộ đếm chương trình và không gian ROM 

PC = 0006 chỉ đến lệnh kế tiếp là “ADD A, R5”. Đây là lệnh một byte, sau khithực hiện lệnh này PC = 0007. 

 

Các thanh ghi

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 67/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 67

Các thanh ghi

Qúa trình này cứ tiếp tục cho đến khi tấtcả mọi lệnh đều được nạp và thực hiện.

 

PSW (Program Status Word)

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 68/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 68

PSW (Program Status Word)

Thanh ghi từ trạng thái chương trìnhPSW / thanh ghi cờ. 

Thanh ghi 8 bit:

6 bit được 8051 sử dụng: Cờ nhớ CY (carry), cờ AC (auxiliary cary), cờ chẵn lẻ P (parity) và cờ trànOV (overflow). RS0 và RS1 được sử dụng để thayđổi các thanh ghi băng

2 bit chưa dùng là các cờ cho người dùng địnhnghĩa.

 

PSW (Program Status Word)

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 69/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 69

PSW (Program Status Word)

CY (PSW.7) : Cờ nhớ 

 AC (PSW.6) : Cờ phụ   (PSW.5) : Dành cho người dùng đn 

RS1 (PSW.4) :chọn băng thanh ghi 

RS0 (PSW.3) :chọn băng thanh ghi  OV (PSW.2) : Cờ bận 

  (PSW.1) :Dành cho người dùng đn 

 

PSW (Program Status Word)

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 70/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 70

PSW (Program Status Word)

Cờ nhớ CY:Cờ này được thiết lập mỗi khi có nhớ từ bit D7.

Cờ này được tác động sau lệnh cộng hoặc trừ 8 bit. 

 Được thiết lập lên 1 hoặc xoá về 0 trực tiếp bằnglệnh “SETB C” và “CLR C” nghĩa là “thiết lập cờnhớ” và “xoá cờ nhớ” tương ứng

 

PSW (Program Status Word)

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 71/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 71

PSW (Program Status Word)

Cờ AC: Cờ này báo có nhớ từ bit D3 sang D4 trong phép

cộng ADD hoặc trừ SUB.

Cờ chẵn lẻ P: Cờ chẵn lẻ chỉ phản ánh số bit một trong thanh

ghi A là chẵn hay lẻ. Nếu thanh ghi A chứa một sốchẵn các bit một thì P = 0. Nếu A có một số lẻ cácbit một thì P = 1. 

Cờ tràn OV: Cờ này được thiết lập mỗi khi tràn số trong phép

tính số có dấu. 

 

PSW (Program Status Word)

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 72/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 72

PSW (Program Status Word)

Ví dụ: Hãy trình bày trạng thái các bit cờ CY, AC và P

sau lệnh cộng 38H với 2FH dưới đây: MOV A, #38H

ADD A, #2FH ; Sau khi cộng A = 67H, CY = 0 

Lời giải: 38 00111000

+

2F 00101111

67 01100111 Cờ CY = 0 vì không có nhớ từ D7 

Cờ AC = 1 vì có nhớ từ D3 sang D4 

Cờ P = 1 vì thanh ghi A có 5 bit 1 (lẻ) 

 

Tool

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 73/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 73

Tool

µProvision

Proteus

 

Lập trình C với 8051

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 74/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 74

Lập trình C với 8051

Tài liệu tham khảo: Embedded C ( Michael J. Pont)

Họ vi điều khiển 8051 (Tống Văn On) 

 

Which OS should you use?

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 75/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 75

Which OS should you use? 

 

Which OS should you use?

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 76/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 76

Which OS should you use?

Two fundamental differences between theembedded systems:

1: Majority of embedded systems are

required to run only one program: thisprogram will start running when themicrocontroller is powered up, and will stoprunning when the power is removed.

2: Many of the facilities provided by the moderndesktop OS are generally unavailable.

 

Which OS should you use?

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 77/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 77

Which OS should you use?

The simplest architecture in an embedded system is

typically a form of„Super Loop‟ 

void main(void)

{

// Prepare run function XX_Init();

while(1) // ‘for ever’ (Super Loop) 

{

X(); // Run function X()}

 

Which OS should you use?

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 78/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 78

Which OS should you use?

Example:

 

Which OS should you use?

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 79/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 79

Which OS should you use?

Example (…): 

 /*------------------------------------------------------------*-Main.C-------------------------------------------------------------Framework for a central heating system using a Super Loop.[Compiles and runs but does nothing useful]-*------------------------------------------------------------*/ #include "Cen_Heat.h"

 /*------------------------------------------------------------*/ void main(void)

{ // Init the systemC_HEAT_Init();

 

Which OS should you use?

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 80/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 80

c OS s ou d you use

while(1) // 'for ever' (Super Loop)

{

 // Find out what temperature the user requires

 // (via the user interface)

C_HEAT_Get_Required_Temperature();

 // Find out what the current room temperature is

 // (via temperature sensor)

C_HEAT_Get_Actual_Temperature();

 // Adjust the gas burner, as requiredC_HEAT_Control_Boiler();

}

}

 

Reading from (writing to ) Port pin

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 81/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 81

g ( g ) p

 

Reading from (writing to ) Port pin

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 82/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 82

g ( g ) p

 

Reading from (writing to ) Port pin

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 83/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 83

g ( g ) p

 

Reading from (writing to ) Port pin

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 84/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 84

g ( g ) p

 

Reading from (writing to ) Port pin

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 85/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 85

g ( g ) p

 

Reading from (writing to ) Port pin

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 86/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 86

g ( g ) p

Example: Tạo tín hiệu nhấp nháy (0,1) ở một chân

của một cổng. #include <reg52.h>

// LED is to be connected to this pin

sbit LED_pin = P1^5;

// Stores the LED statebit LED_state_G;

// Function prototypes

void LED_FLASH_Init(void);

void LED_FLASH_Change_State(void);void DELAY_LOOP_Wait(const unsigned int);

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 87/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 87

void main(void)

{LED_FLASH_Init();

while(1)

{

// Change the LED state (OFF to ON, or viceversa)

LED_FLASH_Change_State();

// Delay for *approx* 1000 ms

DELAY_LOOP_Wait(1000);

}

}

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 88/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 88

voidLED_FLASH_Init

(void)

{

LED_state_G = 0;

}

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 89/90

Thiết bị ngoại vi và Kỹ thuật ghép nối 89

void LED_FLASH_Change_State(void)

{// Change the LED from OFF to ON (or vice versa)if (LED_state_G == 1)

{

LED_state_G = 0;

LED_pin = 0;}else

{

LED_state_G = 1;

LED_pin = 1;}

}

 

5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com

http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 90/90

void DELAY_LOOP_Wait(constunsigned int DELAY)

{

unsigned int x, y;for (x = 0; x <= DELAY; x++)

{

for (y = 0; y <= 120; y++);}

}