1. Trang chủ
  2. » Luận Văn - Báo Cáo

mạch đo nhiệt độ dùng vxl89c51 hiển thị trên led 7 đoạn

30 1,6K 2

Đ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 30
Dung lượng 1,05 MB

Nội dung

mạch đo nhiệt độ dùng vxl89c51 hiển thị trên led 7 đoạn

Trang 1

CHƯƠNG 1: GIỚI THIỆU CÁC LINH KIỆN

1.1 IC XỬ LÝ TRUNG TÂM 89C51:

1.1.1 Cấu tạo sơ đồ chân 89C51:

AT89C51 là IC vi điều khiển (Microcontroller) do hãng Atmel sản xuất IC này cóđặc điểm như sau:

• 4k byte ROM,128 byte RAM nội

• 4 Port I/O 8 bit

• 2 bộ đếm/ định thời 16 bit

• Giao tiếp truyền dữ liệu nối tiếp

• 64k byte bộ nhớ bên ngoài dung để lưu chương trình điều khiển

• 64k byte bộ nhớ bên ngoài dung để lưu dữ liệu

• 210 bit có thể truy xuất từng bit

• Có các lệnh xử lý bit

Sơ lược về các chân của 89C51:

Hình 1.1 Sơ đồ chân 89C51

Trang 2

1.1.2 Nguyên lý hoạt động của các chân 89C51:

Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7) Port 0 có 2 chức năng: trong các thiết kế

cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO, đối với thiết kếlớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và bus dữ liệu

Port 1: từ chân 1 đến chân 8 (P1.0 _ P1.7) Port 1 chỉ có chức năng dung làm cácđường điều khiển xuất nhập IO

Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7) Nếu không dùng bộ nhớ mở rộng bênngoài thì port 2 dùng làm các đường điều khiển IO.Nếu dung bộ nhớ mở rộng bên ngoài thìport 2 có chức năng là bus địa chỉ cao A0 – A15

Port 3: từ chân 10 đến chân 17 (P3.0 _ P3.7) Port 3 là port có 2 chức năng.Các chânport này có nhiều chức năng , các công dụng chuyển đổi có liên hệ đặc biệt của 89C51 như

ở bảng sau:

PSEN (Program store enable):

PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mởrộng thường được nối đến chân OE\ của Eprom cho phép đọc các byte mã lệnh

PSEN ở mức thấp trong thời gian 89C51 lấy lệnh Các mã lệnh của chương trìnhđược đọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong 89C51 để giải

mã lệnh Khi 89C51 thi hành chương trình trong EPROM nội PSEN ở mức logic 1

ALE (Address Latch Enable):

Khi 89C51 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ và dữ liệu

(AD7 – AD0) do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân thứ 30dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúngvới IC chốt

Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấpnên chốt địa chỉ hoàn toàn tự động

EA\ (External Access):

Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1 hoặc mức 0

Nếu ở mức 1 thì vi điều khiển thi hành chương trình từ bộ nhớ nội

Nếu ở mức 0 thì vi điều khiển thi hành chương trình từ bộ nhớ ngoại

RST (Reset):

Ngõ vào chân 9 là ngõ vào Reset.Khi cấp điện cho hệ thống hoặc nhấn nút reset thì mạch sẽ reset vi điều khiển.Khi reset thì tín hiệu reset phải ở mức cao ít nhất 2 chu kì máy

Trang 3

Các ngõ vào bộ dao động Xtal1, Xtal2:

Bộ tạo dao động được tích hợp bên trong 89C51 Khi sử dụng 89C51, người ta chỉcần nối thêm tụ thạch anh và các tụ Tần số tụ thạch anh thường là 12 Mh – 24 Mh

Cấu trúc bên trong của 89C51

B1 Sơ đồ khối bên trong 89C51:

Hình 1.2 Cấu trúc bên trong của vi điều khiển

Trang 4

B2 Tổ chức bộ nhớ.

Hình 1.3 Bảng tóm tắt các vùng nhớ 89C51RAM bên trong 89C51 được phân chia như sau:

 Các bank thanh ghi có địa chỉ từ 00H đến 1FH

 RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH

 RAM đa dụng từ 30H đến 7FH

 Các thanh ghi chức năng từ 80H đến FFH

Trang 5

Bank 2 17

10

Bank 1 0F

08

Bank thanh ghi 0 (mặc định cho R0-R7)

07 00

RAM đa dụng

Hình 1.4 Cấu trúc bộ nhớ Ram bên trong vi điều khiển

- Bộ nhớ trong 89C51 bao gồm ROM và RAM RAM trong 89C51 bao gồm nhiều thànhphầ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ácthanh ghi chức năng đặc biệt

Địa chỉbyteĐịa

chỉ

Trang 6

- 89C51 có bộ nhớ theo cấu trúc Harvard: có những vùng bộ nhớ riêng biệt cho chươngtrình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong 8951 nhưng 8951 vẫn cóthể kết nối với 64K byte bộ nhớ chương trình và 64K byte dữ liệu

-Bộ nhớ bên trong 89C51 bao gồm ROM và RAM RAM bao gồm nhiều thành 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 ghichức năng đặc biệt.AT89C51 có bộ nhớ theo cấu trúc Harvard: có những vùng nhớ riêngbiệt cho chương trình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong 89C51nhưng 89C51 vẫn có thể kết nối với 64 k byte bộ nhớ chương trình và 64 k byte bộ nhớ dữliệu mở rộng

Ram bên trong 89C51 được phân chia như sau:

• Các bank thanh ghi có địa chỉ từ 00H đến 1FH

• Ram địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH

mở rộng.

Ram có thể truy xuất từng bit:

89C51 chứa 210 bit được địa chỉ hóa từng bit, trong đó 128 bit chứa ở các byte cóđịa chỉ từ 20H đến 2FH, các bit còn lại chứa trong nhóm thanh ghi chức năng đặc biệt

Ýtưởng truy xuất từng bit bằng phần mềm là một đặc tính mạnh của vi điều khiểnnói chung Các bit có thể được đặt, xóa, and, or,… với 1 lệnh đơn Ngoài ra các port cũng

có thể truy xuất được từng bít làm đơn giản phần mềm xuất nhập từng bit

Các bank thanh ghi:

Bộ lệnh 89C51 hỗ trợ 8 thanh ghi có tên là R0 đến R7 và theo mặc định (sau khireset hệ thống), các thanh ghi nàyở các địa chỉ 00H đến 07H

Đây là lệnh 1 byte dùng địa chỉ thanh ghi Tuy nhiên có thể thi hành bằng lệnh 2byte dùng địa chỉ trực tiếp nằm trong byte thứ 2: MOV A, 05H

Lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn nhiều so với lệnhtương ứng dùng địa chỉ trực tiếp

Trang 7

Bank thanh ghi tích cực bằng cách thay đổi các bit trong từ trạng thái chương trình(PSW) Giả sủ thanh ghi thứ 3 đang được truy xuất, lệnh sau đây sẽ di chuyển nội dung củathanh ghi A vào ô nhớ ram có địa chỉ 18H:

MOV R0, A

Các thanh ghi có chức năng đặc biệt:

89C51 có 21 thanh ghi chức năng đặc biệt (SFR: Special Funtion Register) ở vùng trêncủa RAM nội từ địa chỉ 80H đến FFH

Chú ý: tất cả 128 địa chỉ từ 80H đến FFH không được định nghĩa, chỉ có 21 thanh ghi chứcnăng đặc biệt được định nghĩa sẵn các địa chỉ

Các thanh ghi port xuất nhập:

Các port của 89C51 bao gồm port 0 ở địa chỉ 80H, port 1 ở địa chỉ 90H, port 2 ở địachỉ A0H, và port3 ở địa chỉ B0H tất cả các port này đều có thể truy xuất từng bit nên rấtthuận tiện trong khả năng giao tiếp

Các thanh ghi timer:

89C51 có chứa 2 bộ định thời/ đếm 16 bit được dùng cho 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 ở địachỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao) Việc khởi động timer được Set bởiTimer Mode (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

Các thanh ghi port nối tiếp:

89C51 chứa một port nối tiếp dành cho việc trao đổi thông tin với các thiết bị nốitiếp như máy tính, modem hoặc giao tiếp nối tiếp với các IC khác Một thanh ghi gọi là bộđệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả 2 dữ liệu truyền và dữ liệu nhận Khitruyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF Các mode vận hành khácnhau được lập trình qua thanh ghi điều khiển port nối tiếp SCON ở địa chỉ 98H

Các thanh ghi ngắt:

89C51 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 ghi cho phép ngắt (IE) ở địa chỉ A8H, cả 2thanh ghi được địa chỉ hóa từng bit

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 các bit điều khiển

Tín hiệu Reset:

Trang 8

89C51 có ngõ vào reset RST tác động ở mức cao trong khoảng thời gian 2 chu kỳ,sau đó xuống mức thấp để 89C51 bắt đầu làm việc RST có thể kích bằng tay bằng mộtphím nhấn thường mở, sơ đồ mạch reset như hình trên (hình a)

sau khi reset hệ thống được tóm tắt như sau:

Đếm chương trình PCThanhghi tích lũy AThanh ghi B

Thanh ghi trạng tháiSP

DPTRPort 0 đến Port 3IP

IECác thanh ghi định thời

0000H00H00H00H07H0000HFFHXXX0000 B0XX00000 B00H

Hoạt động thanh ghi TIMER

89C51 có hai timer 16 bit, mỗi timer có bốn cách làm việc Người ta sử dụng cáctimer để

• Định khoảng thời gian

• Đếm sự kiện

• Tạo tốc độ baud cho port nối tiếp trong 89C51

Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở những khoảng

Trang 9

đều đặn và đặt cờ tràn timer Cờ được dùng để đồng bộ hóa chương trình để thực hiện mộttác động như kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện ra các ngõra Các ứngdụng khác có thể sử dụng việc tạo xung nhịp đều đặn của timer để đo thời gian trôi quagiữa hai sự kiện (ví dụ đo độ rộng xung ).Truy xuất các timer của 89C51 dùng sáu thanhghi chức năng đặc biệt cho trong bảng sau:

Các thanh ghi chức năng của timer trong 8031

Thanh ghi chế độ timer (TMOD):

Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho Timer 0, và Timer1

0 = bộ định khoảng thời gian

Trang 10

Tóm tắt thanh ghi chức năng TMOD

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ển cho Timer 1, Timer 0

được xóa bởi phần mềm, hoặc phần cứng khi bộ

xử lý chỉ đến chương trình phục vụ ngắt

mềm để cho timer chạy ngưng

khi phát hiện một cạnh xuống ở INT1 xóa bằngphần mềm họăc phần cứng khi CPU chỉ đếnchương trình phục vụ ngắt

mềm để ngắt ngoài tích cực cạnh xuống /mứcthấp

Khởi động và truy xuất thanh ghi timer:

Thông thường các thanh ghi được khởi động một lần đầu ở chương trình để đặt ở chế

độ làm việc đúng Sau đó, trong thân chương trình, các thanh ghi timer được cho chạy,dừng, các bit được kiểm tra và xóa, các thanh ghi timer được đọc và cập nhật… theo đòihỏi các ứng dụng

Trang 11

TMOD là thanh ghi thứ nhất được khởi động vì nó đặt chế độ hoạt động Ví dụ, cáclệnh sau khởi động Timer 1 như timer 16 bit (chế độ 1) có xung nhịp từ bộ dao động tênchip cho việc định khoảng thời gian:

MOV TMOD, #1BLệnh này sẽ đặt M1 = 1 và M0 = 0 cho chế độ 1, C/ T= 0 và GATE = 0 cho xung nhịpnội và xóa các bit chế độ Timer 0 Dĩ nhiên, timer không thật sự bắt đầu định thời cho đếnkhi bit điều khiển chạy TR1 được đặt lên 1

Nếu cần số đếm ban đầu, các thanh ghi TL1/TH1 cũng phải được khởi động Mộtkhoảng 100 s có thể được khởi động bằng cách khởi động giá trị cho TH1/TL1 làFF9CH:

MOV TL1, #9CH MOV TH1, #0FFHRồi timer được cho chạy bằng cách đặt bit điều khiển chạy như sau:

SETB TR1

Cờ báo tràn được tự động đặt lên 1 sau 100ms Phần mềm có thể đợi trong 100 msbằng cách dùng lệnh rẽ nhánh có điều kiện nhảy đến chính nó trong khi cờ báo tràn chưađược đặt lên 1:

WAIT: JNB TF1, WAITKhi timer tràn, cần dừng timer và xóa cờ báo tràn trong phần mềm:

CLR TR1CLR TF1

Trang 12

Khi có hai hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra khi một ngắt khác đangđược phục vụ, có cả hai sự tuần tự hỏi vòng và sơ đồ ưu tiên hai mức dùng để xác định việcthực hiện các ngắt Việc hỏi vòng tuần tự thì cố định nhưng ưu tiên ngắt thì có thể lập trìnhđược.

Cho phép và cấm ngắt :

Mỗi nguồn ngắt được cho phép hoặc cấm ngắt qua một thanh ghi chức năng đặt biệt

có định địa chỉ bit IE ( Interrupt Enable : cho phép ngắt ) ở địa chỉ A8H

(8052)

Tóm tắt thanh ghi IE

Các cờ ngắt :

Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó được đặt lên một đểxác nhận ngắt

Trang 13

Port nối tiếp TI SCON.1

Các lọai cờ ngắt

Các vectơ ngắt :

Khi chấp nhận ngắt, giá trị được nạp vào PC được gọi là vector ngắt Nó là địa chỉ

bắt đầu của ISR cho nguồn tạo ngắt, các vector ngắt được cho ở bảng sau

Trang 14

1.3 IC ADC 0809:

1.3.1 Cấu tạo :

Trang 15

5 V D C

0 0

1 7

1 4 8

Bộ ADC0809 là một thiết bị CMOS tích hợp với một bộ chuyển đổi từ tương tự sang

số 8 bit, bộ chọn 8 kênh với một bộ logic điều khiển tương thích Bộ chuyển đổi ADC 8 bitnày dùng phương pháp chuyển đổi xấp xỉ liên tục Bộ chọn kênh có thể truy xuất bất kỳkênh nào trong các ngõ vào tương tự một cách độc lập

Thiết bị này loại trừ khả năng cần thiết điều chỉnh điểm 0 bên ngoài và khả năng điềuchỉnh tỉ số làm tròn, ADC 0809 dễ dàng giao tiếp với các bộ vi xử lý

+ Ý nghĩa các chân :

IN0 đến IN7 : 8 ngõ vào tương tự

A, B, C : giải mã chọn một trong 8 ngõ vào

ALE : cho phép chốt địa chỉ

START : xung bắt đầu chuyển đổi

REF (+) : điện thế tham chiếu (+)

REF (-) : điện thế tham chiếu (-)

Trang 16

Điện áp ngõ vào 0 – 5V

Tần số xung clock 10kHz – 1280 kHz

Nhiệt độ hoạt động - 40oC đến 85oC

Dễ dàng giao tiếp với vi xử lý hoặc dùng riêng

Không cần điều chỉnh zero hoặc đầy thang

1.3.2 Nguyên lý hoạt động :

Sau khi kích xung start thì bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xungstart, ngõ ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tính từ cạnh xuống củaxung start) Lúc này bit có trọng số lớn nhất (MSB) được đặt lên mức 1, tất cả các bit cònlại ở mức 0, đồng thời tạo ra điện thế có giá trị Vref/2, điện thế này được so sánh với điệnthế vào Vin

+ Nếu Vin > Vref/2 thì bit MSB vẫn ở mức 1

+ Nếu Vin < Vref/2 thì bit MSB vẫn ở mức 0

Tương tự như vậy bit kế tiếp MSB được đặt lên 1 và tạo ra điện thế có giá trị Vref/4

và cũng so sánh với điện áp ngõ vào Vin Quá trình cứ tiếp tục như vậy cho đến khi xácđịnh được bit cuối cùng Khi đó chân EOC lên mức 1 báo cho biết đã kết thúc chuyển đổi.Trong suốt quá trình chuyển đổi chân OE được đặt ở mức 1, muốn đọc dữ liệu ra chân OExuống mức 0 Trong suốt quá trình chuyển đổi nếu có 1 xung start tác động thì ADC sẽngưng chuyển đổi

Mã ra N cho một ngõ vào tuỳ ý là một số nguyên :

Trong đó:

VIN : điện áp ngõ vào hệ so sánh

Ví dụ trường hợp dùng ADC0809 để chuyển đổi tín hiệu từLM35trong mạch:

Nếu chọn Vref-= 0V thì

IN ref ref ref

N

− + −

×

=

Trang 17

Do LM35 có độ nhạy 10mV/10C nên:

1.4 Các linh kiện khác:

- IC 74HC14 tạo xung clock

- Các loại điện trở, tụ điện, LED, led 7 thanh,transistor loại pnp A1015

- Thạch anh 12Mhz để tạo dao động

- IC ổn áp LM7805 tạo ra nguồn có điện áp 5V không đổi

CHƯƠNG 2 : GIỚI THIỆU MẠCH ĐO NHIỆT ĐỘ DÙNG VXL89C51 HIỂN

THỊ TRÊN LED 7 ĐOẠN

2.1 Tổng quan:

* Giới thiệu đề tài :

Nhiệt độ luôn gắn liền với đời sống chúng ta và nó có tác dụng rất lớn đến cuộc sốngcủa chúng ta về mặt tích cực cũng như tiêu cực Việc đo đạc để xác định nhiệt độ là rấtquan trọng trong một số lĩnh vực, ví dụ như một lò áp trứng nhân tạo nếu không xác địnhđược nhiệt độ lò thích hợp cho việc ấp trứng thì trứng sẽ hư, cũng như các lò nhiệt cũngvậy

3

256 10 10

2,561

ref

Trang 18

đề tài “ mạch đo nhiệt độ dung VXL89C51 hiển thị trên led 7 đoạn ” để thực hiện một

ứng dụng nhỏ về việc đo nhiệt độ

Yêu cầu đặt ra cho mô hình của em là thiết kế một mạch ứng dụng dùng để đo nhiệt độ môitrường hiển thị trên led 7 đoạn

Đề tài chỉ mang tính chất mô phỏng một ứng dụng nhỏ về việc đo nhiệt độ Nhưngđây cũng là một cơ sở để em có thể tìm hiểu, nghiên cứu và vận dụng những kiến thức đãđược thầy cô chỉ dẫn và là nền tản để em có thể tìm hiểu sâu hơn về các ứng dụng thực tếtrong cuộc sống hằng ngày cũng như các hệ thống trong công nghiệp

2.2 Chức năng từng khối :

Trang 19

- Khối chuyển đổi ADC:

Khối chuyển đổi ADC có nhiệm vụ biến tín hiệu điện áp được tạo ra từ bộ cảm biếnthành tín hiệu số nhờ vào IC chuyển đổi tương tự sang số ADC0809, có thể sử dụngADC0804 hoặc ADC0809 Nhưng ta nên chọn ADC0809 vì nó dễ sử dụng và có 8 kênhngõ vào nên có thể mở rộng ứng dụng sau này

- Khối xung clock :

IC chuyển đổi tương tự sang số ADC0809 muốn làm việc được thì phải có xung daođộng tác động vào chân CLK của nó vì vậy ta cần phải có bộ tạo xung clock Có rất nhiềucách để tạo xung clock, ở đây chúng ta sử dụng bộ dao động RC và IC 74HC14 vì nó đơngiản lại ổn định và sóng ngõ ra có dạng xung vuông

- Khối xử lí :

Ngày đăng: 25/11/2014, 13:15

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Sơ đồ chân 89C51 - mạch đo nhiệt độ dùng vxl89c51 hiển thị trên led 7 đoạn
Hình 1.1. Sơ đồ chân 89C51 (Trang 1)
Hình 1.2. Cấu trúc bên trong của vi điều khiển - mạch đo nhiệt độ dùng vxl89c51 hiển thị trên led 7 đoạn
Hình 1.2. Cấu trúc bên trong của vi điều khiển (Trang 3)
B1. Sơ đồ khối bên trong 89C51: - mạch đo nhiệt độ dùng vxl89c51 hiển thị trên led 7 đoạn
1. Sơ đồ khối bên trong 89C51: (Trang 3)
Hình 1.3. Bảng tóm tắt các vùng nhớ 89C51 RAM bên trong 89C51 được phân chia như sau: - mạch đo nhiệt độ dùng vxl89c51 hiển thị trên led 7 đoạn
Hình 1.3. Bảng tóm tắt các vùng nhớ 89C51 RAM bên trong 89C51 được phân chia như sau: (Trang 4)
Hình 1.4. Cấu trúc bộ nhớ Ram bên trong vi điều khiển - mạch đo nhiệt độ dùng vxl89c51 hiển thị trên led 7 đoạn
Hình 1.4. Cấu trúc bộ nhớ Ram bên trong vi điều khiển (Trang 5)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w