1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đồ án môn học Điện tử pdf

26 576 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 191 KB

Nội dung

Cổng này không có chức năng khác, vì vậy chúng ta chỉ được dùngtrong giao tiếp với các thiết bị ngoài.- Port 2: Là một cổng có công dụng kép trên các chân từ 21  28 được dùng như các đư

Trang 1

BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỦ

Trang 2

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 3

I/ LỜI NÓI ĐẦU

II/ GIỚI THIỆU

III/ MỤC ĐÍCH NGHIÊN CỨU

B - PHẦN NỘI DUNG

CHƯƠNG 2: VI ĐIỀU KHIỂN 8051 - ĐO NHIỆT ĐỘ

VÀ CHUYỂN ĐỔI ADC

I/ VĐK 89C51

II/ ĐO LƯỜNG

III/ CHUYỂN ĐỔI

CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG

I/ NHIỆM VỤ THIẾT KẾ

II/ SƠ ĐỒ KHỐI VÀ CHỨC NĂNG TỪNG KHỐI

III/ THIẾT KẾ VÀ PHÂN TÍCH NGUYÊN LÝ HOẠT ĐỘNG CỦA TỪNG

KHỐI

IV/ SƠ ĐỒ NGUYÊN LÝ VÀ GIẢI THUẬT CHƯƠNG TRÌNH

V/ THI CÔNG

CHƯƠNG 4: KẾT LUẬN VÀ KIẾN NGHỊ

C – PHỤ LỤC – TÀI LIỆU THAM KHẢO

Trang 4

CHƯƠNG 1 : TỔNG QUAN

Trang 5

II/ GIỚI THIỆU VỀ ĐỀ TÀI

Trang 6

III/ MỤC ĐÍCH NGHIÊN CỨU

Trang 7

CHƯƠNG II: VI ĐIỀU KHIỂN 8051 - ĐO NHIỆT ĐỘ

VÀ CHUYỂN ĐỔI ADC

I / VI ĐIỀU KHIỂN 8051

1 / GIỚI THIỆU CHUNG VỀ 8051:

VĐK 8051 là sản phẩm của Intel ra đời năm 1981 Hiện nay được dùngkhá phổ biến vì tính kinh tế và khả năng ứng dụng nhiều trong thực tiễn HọVĐK MCS – 51 có một số phiên bản sau:

+> VĐK 80C31 có 126 byte nhớ RAM, không có ROM bêntrong mà phải dùng ROM ngoài

+> VĐK 80C51 có 126 byte nhớ RAM, 4KB nhớ ROM chỉ lậptrình một lần, không lập trình lại được, có 2 bộ timer 0, 1

+> VĐK 80C52 có 8 Kb nhớ ROM, 256 byte RAM và 3 bộtimer : 0, 1, 2

+> VĐK 87C51 có 256 byte nhớ RAM, 8 Kb nhớ EPROM cóthể xóa bằng tia cực tím và ghi lại nhiều lần

+> VĐK 89C51 có 256 byte RAM, 4Kb nhớ FLASH ROM cóthể xóa và nạp bằng điện nhiều lần

Trang 8

B¶ng 1.1.B¶ng th«ng sè c¬ b¶n cña c¸c hä V§K

Hình 1 Sơ đồ khối của họ VĐK 8051

2 / Bảng thông số cơ bản của các họ VĐK

ROM trên chíp 4K byte 8K byte OK

RAM 128 byte 256 byte 128 byte

BUS CONTROL

SERIAL PORT

EXTERNAL

INTERRUPTS

CPU

ON - CHIP RAM

ETC TIMER 0 TIMER 1

ADDRESS/DATA

TXD RXD

P

0 P1 P2 P3

Trang 11

Hình 2 Sơ đồ chân của 8051

3.2/ Chức năng các chân VĐK:

- Port 0: Có 2 chức năng ở trên chân từ 32  39 trong các thiết kế cỡ nhỏ

(Không dùng bộ nhớ mở rộng), có 2 chức năng như các đường I/O Đối vớicác thiết kế cỡ lớn ( với bộ nhớ mở rộng ) nó được kết hợp kênh giữa các bus

Trang 12

nếu cần Cổng này không có chức năng khác, vì vậy chúng ta chỉ được dùngtrong giao tiếp với các thiết bị ngoài.

- Port 2: Là một cổng có công dụng kép trên các chân từ 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

- Port 3: Cũng là một cổng công dụng kép trên các chân 1017 Các chân

của cổng này có nhiều chức năng, các công dụng chuyển đổi có lien hệ vớicác đặc tính đặc biệt của 8051 như bảng sau:

Bảng chức năng của các chân trên Port 3

- PSEN: ( Program store Enable ) : 8051 có 4 tín hiệu điều khiển Psen

là tín hiệu điều khiển ở chân số 29 Nó là tín hiệu điều khiển cho phép bộ nhớchương trình mở rộng và thường được nối đến chân OE ( Out put Enable )của một EPROM để cho phép đọc các byte mã lệnh

Bit Tên Chức năng chuyển đổi

Dữ liệu nhận cho port nối tiếp

Dữ liệu phát cho port nối tiếpNgắt 0 bên ngoài

Ngắt 1 bên ngoài Ngõ vào của timer / counter 0Ngõ vào của timer / counter 1Xung ghi bộ nhớ dữ liệu ngoàiXung đọc bộ nhớ dữ liệu ngoài

Trang 13

Psen sẽ ở mức thấp trong thời gian lấy lệnh Các mã nhị phân của chươngtrình được đọc từ EPROM qua bus và được chốt vào thanh ghi lệnh của 8051

để giải mã lệnh Khi thi hành chương trình trong ROM nội (8051) Psen sẽ ởmức thụ động ( mức cao )

- ALE: ( Address Latch Enable ):

Tín hiệu ra ALE trên chân 30 cho phép chốt địa chỉ, là chân đầu ra vàđược tích cực ở mức cao Chân ALE được sử dụng để phân kênh địa chỉ

và dữ liệu bằng cách nối tới chân G của chip 74LS373

- RST

Chân số 9 là chân tái lập RESET Nó là một đầu vào và có mức tích cựccao ( bình thường ở mức thấp ) Khi cấp xung cao tới chân này thì bộ VĐK sẽtái lập và kết thúc mọi hoạt động Điều này thường được coi như là sự tái bậtnguồn Khi kích hoạt tái bật nguồn sẽ làm mất mọi giá trị trên các thanh ghi.Nhằm làm cho đầu vào RESET có hiệu quả thì nó phải có tối thiểu 2 chu kỳmáy Hay nói cách khác, xung cao phải kéo dài tối thiểu 2 chu kỳ máy trước

nó xuống thấp Trong 8051 một chu kỳ máy được định nghĩa bẳng 12chu kỳdao động của thạch anh

-EA: Các thành viên họ 8051 như 8751, 89C51 hoặc DS5000 đều có ROMtrên chip lưu cất chương trình Trong các trường hợp như vậy thì chân EA

được nối tới Vcc Đối với các thành viên của họ như 8031 và 8032 mà không

có ROM trên chip thì mã chương trình được lưu cất ở trên bộ nhớ ROM ngoài

và chúng được nạp cho 8031/8032 Do vậy, đối với 8031 thì chân EA phảiđược nối đất để báo rằng chương trình được cất ở ngoài EA có nghĩa là truycập ngoài ( External Acess ) là chân số 31 trên vỏ kiểu DIP Nó là một chân

Trang 14

18 ) Bộ dao động thạch anh này cũng cần 2 tụ điện giá trị 30PF Một phía của

tụ điện được nối xuống đất như hình a

a, Nối XTAL tới 8051 b, Nối XTAL tới nguồn đồng bộ ngoài

Hình 3 sơ đồ đấu nối thạch anh

4/ Các thanh ghi, bộ time/counter và ngắt

4.1/ Các thanh ghi

Trong CPU các thanh ghi được dùng để lưu cất thong tin tạm thời, những thong tin này có thể là một byte dữ liệu cần được xử lý hoặc là một địachỉ đến dữ liệu cần được nạp Phần lớn các thanh ghi của 8051 là các thanh

XTAL2

XTAL1

GND

NC EXTERRNAL OSCILLATAOR SIGNAL

Trang 15

ghi 8 bit 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:

Với MSB là bit có giá trị cao nhất D7 cho đến LSB là bít có giá trị thấpnhất D0 ( MSB – Most sigtican bit và LSB – Leart sigtician Bit ) Với một kiểu dữ liệu 8 bít thì bất kỳ dữ liệu nào lớn hơn 8 bit đều phải được chia thànhcác đoạn 8 bit trước khi được xử lý

Hình 4 Cấu trúc của một số thanh ghi

Các thanh ghi được sử dụng rộng rãi nhất của 8051 là A ( thanh ghi tíchlũy ), B, R0  R7, DPTR ( Con trỏ dữ liệu ) và PC ( Bộ đếm chương trình )

Tất cả các dữ liệu trên đều là thanh ghi 8 bit trừ DPTR và PC 16 bit Thanh

ghi tích lũy A được sử dụng cho tất cả mọi phép toán số học và logic

D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0

A B R0 R1 R2 R3 R4 R5 R6 R7

DPH

PC (program counter)

DPL DPTR

PC

a)Một số thanh ghi 8 bít của 8051 b) Một số thanh ghi 16 bít của 8051

Trang 16

SFR Mục đích Địa chỉ Địa chỉ từ hóa từng bítTCON Điều khiển timer 88H Có

TMOD Chế độ timer 89H Không

TL0 Byte thấp của timer 0 8AH Không

TL1 Byte thấp của timer 1 8BH Không

TH0 Byte cao của timer 0 8CH Không

TH1 Byte cao của timer 1 8DH Không

Port nối tiếp TI hoặc RI 0023H

Timer 2 TF2 hoặc IE2 002BH

Bảng 4.3 Các vector ngắt

Trang 17

- Thanh ghi cho phép ngắt IE: Đây là thanh ghi 8 bít cho phép truy nhập ở

mức bít

+ EA ( Enable add ): EA = 1  Lúc này một trong các náy xảy ra

EA = 0  Cấm tất cả các ngắt+ EX0: Cho phép ngắt ngoài EX0 = 0  Cho phép ngắt ngoài hoạt động

EX1 = 1  Cấm ngắt ngoài hoạt động+ ET0: Cho phép ngắt trong timer 0 ET0 = 1  Cho phép ngắt

ET1 = 0  Cấm ngắt+ EX1: Cho phép ngắt ngoài 1 EX1 = 0  Cho phép

EX1 = 1  Cấm ngắt+ ET1: Cho phép ngắt trong timer 1 ET1 = 0  Cho phép ngắt

ET1 = 1  Cấm ngắt+ES: Cho phép ngắt nối tiếp ES = 0  Cho phép ngắt

ES = 1  Cấm ngắt

- Thanh ghi ưu tiên ngắt IP ( Interupst priority )

PS PT 1 PX 1 PT O PX O

+ PXo: Ưu tiên ngắt ngoài PXo = 1  Ưu tiên trước

PX1 = 0  Ưu tiên sau+ PTo: Ưu tiên ngắt timer 0 PTo = 1  Ưu tiên trước

Trang 18

+ PS (Priority senial ): Ưu tiên ngắt nối tiếp, PS = 1  Ưu tiên ngắtNếu để mặc định thì sẽ tuần tự từ PX0  PT0  PX1  PT1  PS

- Thanh ghi điều khiển trạng thái TCON

IE 1 IT 1 IE O IT O

+ ITx: Xác lập kiểu ngắt của timer 0 hoặc 1

*> ITo = 0  Xác lập kiểu ngắt ở mức xung

*> ITo = 1  Xác lấp kiểu ngắt ở cạnh xung+ IEx: Cờ ngắt

4/ Các tập lệnh của họ VĐK 8051

4.1/ Các chế dộ định địa chỉ

4.1.1/ Chế độ điịnh địa chỉ tức thời

- Cú pháp : Mov a,#Data; Di chuyển giá trị data vào thanh ghi a

- Ví dụ:

+.Mov R0,#10H; Di chuyển giá trị 20 hệ hecxa vào thanh ghi R0 +.Mov DPTR,#50; Di chuyển giá trị 50 vào con trỏ dữ liệu DPTR4.1.2/ Chế độ định địa chỉ trực tiếp

Đây là chế độ có thể truy nhập toàn bộ không gian nhớ của RAM, áp dụng cho RAM trong và SFR ( thanh ghi chức năng đặc biệt )

Trang 19

4.1.3 Chế độ định địa chỉ thanh ghi

Chế độ này toán hạng phải là một trong các thanh ghi từ R0R7, A, B,DPTR

VD:

Mov A,R0 ; Di chuyển nội dung thanh ghi R0 vào thanh ghi AMov R2, A ; Di chuyển nội dung thanh ghi A vào thanh ghi R0Chế độ này yêu cầu toán hạng nguồn và toán hạng đích phải có cùng kích thước

4.1.4 Chế độ này các thanh ghi dùng để trỏ đến dữ liệu có trong bộ nhớ Chỉ dùng các thanh ghi R0, R1 còn định địa chỉ gián tiếp

- Chế độ các thanh ghi từ R2R7 không dùng đến

- R0, R1 đều có dấu @ đứng trước Nếu không có @ thì đó là lệnh chuyển nội dung R0 và R1 chứ không phải là di chuyển nội dung ngăn nhớ cótrong R0, R1

VD: Mov a,@R0 ; Di chuyển nội dung ô nhớ có trong ROM có địa chỉ xác định bởi thanh ghi R0 vào thanh ghi A

- Đối với RAM ngoài ta phải MovX ( X : Extenal )

4.1.5 Chế độ định địa chỉ chỉ số thanh ghi

Chế độ này được sử dụng rộng rãi khi truy cập các phần tủ dữ liệu của bảng trong không gian ROM của 8051

VD: MovC A,@A+DPTR ; Di chuyển nội dung ô nhớ trong ROM có địa chỉ xác định bởi tổng nội dung của thanh ghi DPTR và thanh ghi A vào trong thanh ghi A

4.2 TẬP LỆNH CỦA 8051

4.2.1 Nhóm lệnh di chuyển dữ liệu

Trang 20

Cú pháp : Mov ( dest – byte ),( src – byte )Chức năng: Lệnh sao chép nội dung của toán hạng nguồn cào toán hạng đích, nội dung của toán hạng nguồn không thayh đổi Lệnh này không làm ảnh hưởng đến các cờ.

*> Lệnh Mov dạng word

Cú pháp : Mov dptr,#dataChức năng: Giá trị 16 bít chính là toán hạng thứ 2 trực tiếp trong câu lệnh được nạp vào thanh ghi con trỏ dữ liệu <DPTR> byte cao của dữ liệuđược nạp vào thanh ghi <DPH>, còn byte thấp được nạp vào thanh ghi

<DPL> Lệnh này không làm ảnh hưởng đến cờ hiệu Kichd thước 3byte, thờigian thực hiện là 2 chu kỳ máy, mã lệnh là 1001 0000

*> Lệnh Mov dạng bít

Cú pháp: Mov <dest – bit>,<source - bit>

Chức năng: Chuyển dữ liệu ở dạng sao chép toán hạng nguồn vào toán hạng đích, 1 toán hạng nguồn là cờ hiệu và một toán hạng còn lại là bít địa chỉ trực tiếp Lệnh này không làm ảnh hưởng đến thanh ghi hoặc cờ khác

*> Lệnh chuyển số liệu vào ngăn xếp

Cú pháp: PUSH directChức năng: Để chuyển số liệu có trong câu lệnh vào ngăn xếp, trước tiên con trỏ ngăn xếp sẽ được tăng lên 1, sau đó số liệu sẽ được chuyển vào đỉnh của ngăn xếp mà địa chỉ này được định bởi <SP>

Kích thước là 2 byte, thời gian thực hiện là 2 chu kỳ máy, mã lệnh là : 1100 0000

Trang 21

*> Lệnh chuyển số liệu ra khỏi ngăn xếp.

Cú pháp: POP direct, kích thước là 2 byte, thời gian thực hiện là

*> Lệnh hoán chuyển 4 bít thấp

Cú pháp: XCHD a,@R1Kích thước : dài 1 byte, thời gian thực hiện : 1 chu kỳ máy; Mã lệnh 1100 0111

*> Lệnh xóa bít

Cú pháp : CLR (bít)Chức năng: Lệnh xóa 1 bit về không, với 1 bít được định địa chỉ trực tiếp, lệnh này không ảnh hưởng đến các cờ

*> Lệnh xóa thanh ghi tích lũy

Cú pháp: CLR AChức năng: Lệnh xóa tất cả các bít của thanh ghi tích lũy về 0 lệnh này không ảnh hưởng đến trạng thái của các cờ Kích thước 1 byte; thời gian thực hiện là 1 chu kỳ máy

*> Lệnh thiết lập bít

Cú pháp : CPL <bit>

Chức năng: Lệnh lấy bù của bit, làm bit đã cho sẽ được lấy bù với bít được định địa chỉ trực tiếp

Trang 22

Cú pháp : CPL <A>

Chức năng: Lệnh lấy bù tất cả các bit của thanh ghi tích lũy Lệnh này không làm ảnh hưởng đến trạng thái của cờ Kích thước là 1 byte, thời gian thực hiện là 1 chu kỳ máy, mã lệnh là 1111 0100

4.2.2 Nhóm lệnh rẽ nhánh chương trình

*> Lệnh quay trở về từ chương trình con

Cú pháp : Ret; Kích thước: 1 byte; Thời gian thực hiện : 2 chu kỳmáy; Mã lệnh: 0010 0010

*> Lệnh quay trở về từ ngắt

Cú pháp : Reti; Kích thước: 1 byte ; Thời gian thực hiện: 2 chu lỳmáy; Mã lệnh : 0010 0010

*> Lệnh nhảy gián tiếp

Cú pháp: JMP @A+DPTR; Kích thước: 1 byte; Thời gian thực hiện : 2 chu kỳ máy ; Mã lệnh: 00100000

*> Lệnh nhảy nếu 1 bít không được thiết lập

Cú pháp : JBN bit,rel; Kích thước: 3 byte; Thời gian thực hiện: 2 chu kỳ máy; Mã lệnh: 0011 0000

*> Lệnh nhảy nếu 1 bít được thiết lập và xóa bít đó

Cú pháp: JBC bit,rel ; Kích thước : 3 byte ; Thời gian thực hiện :

2 chu kỳ máy; Mã lệnh: 0001 0000

*> Lệnh nhảy nếu cờ CF không được thiết lập

Cú pháp : JC rel ; Kích thước : 2 byte ; Thời gian thực hiện: 2 chu kỳ máy ; Mã lệnh : 0101 0000

*> Lệnh nhảy nếu thanh ghi tích lũy bằng 0

Trang 23

Cú pháp : JZ rel ; Kích thước : 2 byte; Thời gian thực hiện: 2 chu kỳ máy ; Mã lệnh : 0110 0000.

*> Lệnh nhảy nếu thanh ghi tích lũy khác 0

Cú pháp : JNZ rel; Kích thước: 2byte; Thời gian thực hiện : 2 chu kỳ máy; Mã lệnh : 0111 0000

*> Lệnh nhảy khi so sánh 2 toán hạng

Cú pháp : CJNZ < dest – byte >, <sre - byte>, rel

Chức năng: so sánh 2 toán hạng và nhảy nếu không bằng

+ Nếu toán hạng 1 = toán hạng 2  Nhảy đến nhãn

+ Nếu toán hạng 1 # toán hạng 2 Thực hiện lệnh tiếp theo

Mã lệnh: 0000 0000

4.2.3.Nhóm lệnh tính toán số học

*> Lệnh thực hiện phép cộng

Cú pháp : ADD a,<src - byte>

Chức năng: Cộng giá trị biến nội dung trong thanh ghi tích lũy, kết quả lưu vào thanh ghi tích lũy

*> Lệnh cộng có nhớ

Cú pháp : ADDC a,<src - byte>

Trang 24

lũy và cộng với cờ nhớ, kết quả lưu trong thanh ghi tích lũy.

*> Lệnh trừ có nhớ

Cú pháp: SUBB a, <src - byte>

Chức năng: Thực hiện phép trừ thanh ghi tích lũy với toán hạng thứ 2 và cờ nhớ CF, kết quả lưu vào thanh ghi tích lũy nếu quả phép trừ có nhớ thì cờ CF được thiết lập

*> Lệnh tăng lên 1 đơn vị

Cú pháp: INC <byte>

Chức năng: Lệnh INC tăng giá trị của biến đã cho lên 1 đơn vị Biến có độ dài 1 byte do đó nếu giá trị ban đầu là 0FFH thì tăng lên 1 thì kết quả sẽ là 00H Lệnh không làm ảnh hưởng đến trạng thái cờ

Mã lệnh: 1010 0100

*> Lệnh thực hiện phép chia

Cú pháp: DIV ABKích thước: 1 byte; Thời gian thực hiện: 4 chu kỳ máy

Mã lệnh : 1000 0100

*> Lệnh hiệu chỉnh số thập phân

Trang 25

Cú pháp : DA AKích thước : 1 byte; Thời gian thực hiện: 1 chu kỳ máy

Mã lệnh: 1100 0100

4.2.4 Nhóm lệnh toán học logic

*> Lệnh AND cho các biến 1 byte

Cú pháp : ANL <dest - byte>, <sre - byte>

Chức năng: Lệnh AND thực hiện phép tính logic AND theo mứcbít giữa các biến dài 1 byte đã cho Kết quả lưu vao toán hạng đích

*> Lệnh AND cho các biến 1 bit

Cú pháp: ANL C,<src – bit >

Kích thước : 2 byte; Thời gian thực hiện : 2 chu kỳ máy

*> Lệnh OR cho các biến 1 byte

Cú pháp: ORL < dest – byte >, <src - byte>

Chức năng: thực hiện phép tính logic OR mức byte giữa câc biến

đã cho, kết quả được lưu toán hạng đích

*> Lệnh ORL cho các biến 1 bít

Cú pháp : ORL C,<src - bit>

*> Lệnh X-OR cho các biến 1 byte

Cú pháp: XRL <dest - byte>, <src - byte>

Chức năng: Lệnh XRL thực hiện phép tính logic X-OR mức bytegiữa các biến đã cho, kết quả được lưu trong toán hạng dích

III BỘ BIẾN ĐỔI ADC

1 Nguyên tắc hoạt động của ADC

Ngày đăng: 01/07/2014, 18:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w