Tải bản đầy đủ (.docx) (20 trang)

Mạch đo và hiển thị nhiệt độ sử dụng vi xử lý 89sc51(8051)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.19 MB, 20 trang )

Mạch đo và hiển thị nhiệt độ sử
dụng Vi xử lý 89sc51(8051)

1


MỤC LỤC

2


Phần 1. Giới thiệu ý tưởng và xác định chỉ tiêu kỹ
thuật của sản phẩm
1.1

Phân tích nhu cầu và sự cần thiết của sản phẩm

Các nhiệt kế cơ học và hóa học đã có từ lâu song với nhiều ứng dụng cần tới đo nhiệt
độ thì chúng không còn phù hợp.

Nhiệt kế lò xo

nhiệt kế thủy ngân

Ngày nay với sự phát triển của ngành vi điện tử, kĩ thuật số các hệ thống điều khiển
dần được tự động hóa. Với những kĩ thuật tiến tiến như vi xử lí, vi mạch số … được ứng
dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển thô sơ, với tốc độ xử lí chậm ít
chính xác được thay thế bằng các hệ thống điều khiển tự động với các lệnh chương trình đã
được thiết lập trước. Áp dụng những kiến thức đã được học cùng với việc tự tìm hiểu những
kiến thức trên mạng cũng như học hỏi kinh nghiệm từ các bạn sinh viên khóa trước nhóm
chúng em quyết định thiết kế mạch đo và hiển thị nhiệt độ .



1.2

Các sản phẩm đã có trên thị trường.

Một số nhiệt kế điện tử đang bán trên thị trường .

--- nhiệt kế điện tử dùng trong y tế.

3


---------- một loại nhiệt kế điện tử khác.
Nhận xét chung: Các loại nhiệt kế điện tử đang có trên thị trường hầu hết đều có giá thành
khá cao, mang nặng tính bản quyền của nhà sản xuất, khi muốn mở rộng ví dụ như lập trình
đưa vào mạch báo cháy..... là không thể được.

1.2.1. Sản phẩm
Chức năng chính đo nhiệt độ và hiển thị giá trị dưới dạng số dễ đọc, có thể lập trình
để ghép nối với các mạch khác .

Các chỉ tiêu kỹ thuật của sản phẩm
1.2.2. Chức năng sản phẩm
Sử dụng cảm biến để đo nhiệt độ môi trường bên ngoài và hiển thị ra led 7 đoạn.

1.2.3. Chỉ tiêu kỹ thuật của sản phẩm.
Nhiệt độ hiển thị với sai số ± 1oC, mạch chạy ổn định, tiết kiệm năng lượng.

1.2.4. Các yêu cầu phi chức năng
Kích thước nhỏ gọn, giá thành rẻ, độ bền cao, dễ chế tạo, hoạt động ổn định...


Phần 2. Phân tích chức năng và lập kế hoạch
2.1

Phân chia chức năng
Hình . Sơ đồ chức năng của sản phẩm

4


cảm
biến
nhiệt

khối
xử lý
tín
hiệu

khối
hiển
thị

2.1.1. Cảm biến nhiệt độ.
Sử dụng cảm biến nhiệt độ LM35
- LM35 có 3 chân : 2 chân cấp nguồn và 1 chân xuất điện áp ra tùy theo nhiệt
độ

Nhiệt độ tăng 1C thì điện áp xuất ra ở chân out của LM35 tăng 10mV


5


2.1.2.

Xử lý tín hiệu.

Bao gồm bộ ADC và vi xử lý 89SC51.

2.1.2.1 ADC
Các bộ chuyển đổi ADC thuộc những thiết bị được sử dụng rộng rãi nhất để thu dữ liệu. Các máy tính
số sử dụng các giá trị nhị phân, nhưng trong thế giới vật lý thì mọi đại lượng ở dạng tương tự (liên
tục). Nhiệt độ, áp suất (khí hoặc chất lỏng), độ ẩm và vận tốc và một số ít những đại lượng vật lý của
thế giới thực mà ta gặp hằng ngày. Một đại lượng vật lý được chuyển về dòng điện hoặc điện áp qua
một thiết bị được gọi là các bộ biến đổi. Các bộ biến đổi cũng có thể coi như các bộ cảm biến. Mặc dù
chỉ có các bộ cảm biến nhiệt, tốc độ, áp suất, ánh sáng và nhiều đại lượng tự nhiên khác nhưng
chúng đều cho ra các tín hiệu dạng dòng điện hoặc điên áp ở dạng liên tục. Do vậy, ta cần một bộ
chuyển đổi tương tự số sao cho bộ vi điều khiển có thể đọc được chúng. Một chip ADC được sử dụng
rộng rãi là ADC0804.

Hình dạng thực tế ADC0804

6


Sơ đồ chân ADC0804
Chip ADC0804 là bộ chuyển đổi tương tự số thuộc họ ADC800 của hãng National Semiconductor.
Chip này cũng được nhiều hãng khác sản xuất. Chip có điện áp nuôi +5V và độ phân giải 8 bit. Ngoài
độ phân giải thì thời gian chuyển đổi cũng là một tham số quan trọng khi đánh giá bộ ADC. Thời gian
chuyển đổi được định nghĩa là thời gian mà bộ ADC cần để chuyển một đầu vào tương tự thành một

số nhị phân. Đối với ADC0804 thì thời gian chuyển đổi phụ thuộc vào tần số đồng hồ được cấp tới
chân CLK và CLK IN và không bé hơn 110µs. Các chân khác của ADC0804 có chức năng như sau:
- CS (Chip select): Chân số 1, là chân chọn chip, đầu vào tích cực mức thấp được sử dụng để kích
hoạt Chip ADC0804. Để truy cập tới ADC0804 thì chân này phải được đặt ở mức thấp.
- RD (Read): Chân số 2, là chân nhận tín hiệu vào tích cực ở mức thấp. Các bộ chuyển đổi của 0804
sẽ chuyển đổi đầu vào tương tự thành số nhị phân và giữ nó ở một thanh ghi trong. Chân RD được sử
dụng để cho phép đưa dữ liệu đã được chyển đổi tới đầu ra của ADC0804. Khi CS = 0 nếu có một
xung cao xuống thấp áp đến chân RD thì dữ liệu ra dạng số 8 bit được đưa tới các chân dữ liệu (DB0
– DB7).
- WR (Write): Chân số 3, đây là chân vào tích cực mức thấp được dùng báo cho ADC biết để bắt đầu
quá trình chuyển đổi. Nếu CS = 0 khi WR tạo ra xung cao xuống thấp thì bộ ADC0804 bắt đầu quá
trình chuyển đổi giá trị đầu vào tương tự Vin thành số nhị phân 8 bit. Khi việc chuyển đổi hoàn tất thì
chân INTR được ADC hạ xuống thấp.
- CLK IN và CLK R: CLK IN (chân số 4), là chân vào nối tới đồng hồ ngoài được sử dụng để tạo thời
gian. Tuy nhiên ADC0804 c ũng có một bộ tạo xung đồng hồ riêng. Để dùng đồng hồ riêng thì các
chân CLK IN và CLK R (chân số 19) được nối với một tụ điện và một điện trở. Khi đó tần số được
xác định bằng biểu thức:
F=

7


Với R = 10 kΩ, C = 150 pF và tần số f = 606 kHz và thời gian chuyển đổi là 110 µs.
- Ngắt INTR (Interupt): Chân số 5, là chân ra tích cực mức thấp. Bình thường chân này ở trạng thái
cao và khi việc chuyển đổi tương tự số hoàn tất thì nó chuyển xuống mức thấp để báo cho CPU biết là
dữ liệu chuyển đổi sẵn sàng để lấy đi. Sau khi INTR xuống thấp, cần đặt CS = 0 và gửi một xung cao
xuống thấp tới chân RD để đưa dữ liệu ra.
- Vin (+) và Vin (-): Chân số 6 và chân số 7, đây là 2 đầu vào tương tự vi sai, trong đó Vin = Vin(+) –
Vin(-). Thông thường Vin(-) được nối tới đất và Vin(+) được dùng làm đầu vào tương tự và sẽ được
chuyển đổi về dạng số.

- Vcc: Chân số 20, là chân nguồn nuôi +5V. Chân này còn được dùng làm điện áp tham chiếu khi đầu
vào Vref/2 để hở.
- Vref/2: Chân số 9, là chân điện áp đầu vào được dùng làm điện áp tham chiếu. Nếu chân này hở thì
điện áp đầu vào tương tự cho ADC0804 nằm trong dải 0 đến +5V. Tuy nhiên, có nhiều ứng dụng mà
đầu vào tương tự áp đến Vin khác với dải 0 đến +5V. Chân Vref/2 được dùng để thực hiện các điện áp
đầu ra khác 0 đến +5V.
Vref/2(v)
Hở
2.0
1.5
1.28
1.0
0.5

Vin
0-5
0-4
0-3
0-2.56
0-2
0-1

Kích thước bước (mV)
5/256= 19.53
4/256 =15.62
3/256 =11.71
2.26/256= 10
2/256 =7.81
1/256 =3.90


- D0 – D7, chân số 18 – 11, là các chân ra dữ liệu số (D7 là bit cao nhất MSB và D0 là
bit thấp nhất LSB). Các chân này được đệm ba trạng thái và dữ liệu đã được chuyển
đổi chỉ được truy cập khi chân CS = 0 và chân RD đưa xuống mức thấp. Để tính điện
áp đầu ra ta tính theo công thức sau:
Dout = Vin / Kích thước bước.

2.1.2.2 Vi xử lý 89sc51
8051 là vi điều khiển đầu tiên của họ vi điều khiển MCS51 được Intel sản xuất vào năm 1980.
Họ MCS51 là họ 8-bit có khả năng định địa chỉ 64KB bộ nhớ chương trình và 64KB bộ nhớ dữ liệu.
Một số chip 8051 thông dụng:

8


*. Kiến trúc phần cứng:

**. Cấu hình chân:

9


- VCC: Điện áp cung cấp.
- GND: Được nối đất.
- RST : ngõ vào RESET, chân RESET ở mức cao trong 2 chu kỳ máy khi bộ dao động đang chạy sẽ
RESET chip.
- PSEN (Program Store ENable): được nối với chân OE của chip dữ liệu bên ngoài,
- ALE : (ALE : Adress Latch Enable) là tín hiệu điều khiển xuất ra của 8051, nó cho phép phân kênh
giữa bus địa chỉ và bus dữ liệu trên PORT0.
- EA : (External Access): chọn bộ nhớ giao tiếp. EA=1: chọn bộ nhớ nội, EA=0: chọn bộ nhớ ngoại.
Cấu hình chọn bộ nhớ ngoài:


10


- PORT 0:
Port 0 là một cổng 8 bit I/O 2 chiều, Khi mức logic 1 được viết vào các PIN của PORT 0, Pin đó có
thể được sử dụng là cổng vào trở kháng cao.
Port 0 cũng có thể được cấu hình thành bus ghép kênh 8 bit địa chỉ/dữ liệu thấp trong quá trình truy
nhập bộ nhớ ngoài, ở chế độ này các PIN của PORT 0 sẽ được kéo lên bên trong.
Ngoài ra PORT 0 cũng được sử dụng để nạp dữ liệu cho chip.
- PORT 1:
Port 1 là cổng I/O 2 chiều có trở treo bên trong. Khi mức logic 1 được viết vào PIN của PORT 1, PIN
đó được kéo lên bởi 1 trở treo bên trong, và có thể được sử dụng là cổng vào.
Ngoài ra các PIN P1.0 và P1.1 có thể được cấu hình là đầu vào của bộ Timer 2 (AT89S52, AT89C52).
Các pin P1.5, P1.6, P1.7 (AT89S51, AT89S52) lần lượt là các PIN MOSI, MISO, SCK khi sử dụng để
nạp cho chip qua ISP (In- System Programing).
- PORT 2 :
Port 2 là cổng I/O 2 chiều có trở treo bên trong. Khi mức logic 1 được viết vào PIN của PORT 2, PIN
đó được kéo lên bởi 1 trở treo bên trong, và có thể được sử dụng là cổng vào.
Port 2 cũng có thể được cấu hình thành bus ghép kênh 8 bit địa chỉ cao trong quá trình truy nhập bộ
nhớ ngoài với 16 bit địa chỉ.
- PORT 3 :
Port 3 là cổng I/O 2 chiều có trở treo bên trong. Khi mức logic 1 được viết vào PIN của PORT 3, PIN
đó được kéo lên bởi 1 trở treo bên trong, và có thể được sử dụng là cổng vào.

11


Ngoài ra các Pin của PORT 3 cũng có thêm các chức năng đặc biệt khác:


Mạch dùng để nạp code cho 89c51

2.1.3 Hiển thị.

LED 7 đoạn hay LED 7 thanh (Seven Segment display) là 1 linh kiện rất phổ dụng ,
được dùng như là 1 công cụ hiển thị đơn giản nhất .
12


Trong LED 7 thanh bao gồm ít nhất là 7 con LED mắc lại với nhau , vì vậy mà có tên là LED
7 đoạn là vậy ,7 LED đơn được mắc sao cho nó có thể hiển thị được các số từ 0 - 9 , và 1 vài
chữ cái thông dụng, để phân cách thì người ta còn dùng thêm 1 led đơn để hiển thị dấu chấm
(dot) .

Các led đơn lần lượt được gọi tên theo chữ cái A- B -C-D-E-F-G, và dấu chấm
dot .
Như vậy nếu như muốn hiển thị ký tự nào thì ta chỉ cần cấp nguồn vào chân đó là led sẽ sáng
như mong muốn .

2 . Thông số :
LED 7 thanh dù có nhiều biến thể nhưng tựu chung thì cũng chỉ vẫn có 2 loại đó là :
+ Chân Anode chung (chân + các led mắc chung lại với nhau .)
+ Chân Catode chung (Chân - các led được mắc chung với nhau .)

2.2

Lập kế hoạch
Bảng . Kế hoạch thực hiện

Mục


Công
việc

Mô tả

Người
thực hiện

13

Bắt đầu

Kế hoạch kết
thúc


1.
2
3

4

5

6

Chọn đề
tài
Tìm hiểu

đề tài và
linh kiện
Chạy mô
phỏng
trên máy
tính và
thực tế
Thiết kế
mạch in
Lắp ráp
hoàn
thiện sản
phẩm
Viết báo
cáo và
Slide

Xác định đề tài cho nhóm tham
dự cuộc thi
Các thành viên tìm tài liệu về
đề tài và lên kế hoạch hoàn
thành
Dùng phần mềm proteus để
chạy mô phỏng, MIDE để lập
trình cho vi điều khiển. cắm
thử các linh kiện lên Board
chạy thử
Dùng phần mềm Ocad Layout
để thiết kế mạch in trên máy
tính sau đó làm mạch thật bên

ngoài
Hàn linh kiện lên mạch in và
kiểm tra lần cuối

Thế

Tuần 16

Tuần 16

Cả nhóm

Tuần 17

Tuần 18

Biểu, Thế,
Bình,
Phong,
Hiển

Tuần 18

Tuần 19

Tuần 20

21

Phong,

Biểu

Tuần 21

Tuần 21

Thế +
Bình

Tuần 22

Tuần 22

Hiển

Hoàn thành báo cáo về đề tài

14


Phần 3. Lựa chọn phương án kỹ thuật
3.1

Sơ đồ khối của sản phẩm

Biến trở điều chỉnh

LM35

ADC


Trở
băng

89sc51

Transistor chuyển mạch

Led 7 đoạn

3.2

Thuật toán, linh kiện, kiến trúc mạch
Thuật toán lập trình cho vi điều khiển 8051 sử dụng hợp ngữ

org 0000h ;
// khoi dau chuong trinh nguon
main: ;
// bat dau ham chinh
mov dptr,#led7seg ; // gan gia tri trong bang cho thanh ghi dptr
setb p3.0 ;
// dua chan rd cua adc len muc cao
setb p3.1 ;
// dua chan wr cua adc len muc cao
nop ;
// khong lam gi ca
clr p3.1 ;
// dua chan wr cua adc xuong muc thap
nop ;
// khong lam gi ca

setb p3.1 ;
// dua chan wr cua adc len muc cao
jb p3.2, $ ;
// o day cho den khi chan intr cua adc xuong thap
clr p3.0 ;
// dua chan rd cua adc xuong muc thap
nop ;
// khong lam gi ca
mov r3,p1 ;
// nhan du lieu tu cong p1 chuyen vao thanh ghi r3
mov r0,#250 ;
// chuyen gia tri 250 vao thanh ghi r0
hienthi:
mov a, r3 ;
// chuyen noi dung thanh ghi r3 vao thanh ghi a
mov b,#10 ;
// chuyen gia tri 10 vao thanh ghi b
div ab ;
//chia a cho b
movc a,@a + dptr ; // lay ma 8 bit trong bang theo tri trong a, roi cho cat vao thanh a
setb p2.0 ;
//cho led 1 sang

15


mov p0, a ;
//chuyen du lieu tu thanh ghi a cho cong p0 de hien thi ra led 7 doan so hang chuc
call delay ;
// goi ham tre

clr p2.0 ;tat led 1
mov a,b ;
// chuyen noi dung thanh ghi b vao thanh ghi a
movc a, @a + dptr ;
//lay ma 8 bit trong bang theo tri trong a, roi cho cat vao thanh a
setb p2.1 ;
//cho led 2 sang
mov p0, a ;
//chuyen du lieu tu thanh ghi a cho cong p0 de hien thi ra led 7 doan so hang don vi
call delay ;
// goi ham tre
clr p2.1 ;tat led 2
djnz r0, hienthi ;
// lap lai hien thi cho den khi r0 bang 0
jmp main ;lap lai ham main
delay: ;
// ham tao do tre thoi gian
mov r1, #10 ;
// chuyen gia tri 10 vao thanh ghi r1
lap: mov r2, #250 ; // chuyen gia tri 250 vao thanh ghi r2
djnz r2, $ ;
// giam r2 xuong 0
djnz r1, lap ;
// lap lai ham lap den khi r1 bang 0
ret ;
// quay lai sau lenh call
led7seg: ;
db 11000000b
db 11111001b
db 10100100b

db 10110000b
db 10011001b
db 10010010b
db 10000010b
db 11111000b
db 10000000b
db 10011000b

//bang giai ma led 7 doan

end

Phần 4. Thiết kế mạch
4.1 Sơ đồ nguyên lý

16


1

VC C

R 10

R 4
270

R E S IS TO R S IP 9

U 10


R 5
270

1 10
2 9
3 8
4 7
5 6

Q 5
C 828
9
8
7
6
5
4
3
2

Q 4
C 828

le d 7 d o a n
R 6
1k

U 9


U 6
6
7

3

9
R 9

C 5
150p

4
19

rd 1 0 k
wr
VC C

2
3
1
20

0

+ IN
-IN
V R E F /2
C L K IN

C LKR
R D
W R
C S
V C C /V R E F
AD C 0804

R 1
1k

D
D
D
D
D
D
D
D

B
B
B
B
B
B
B
B

0
1

2
3
4
5
6
7

IN TR

1
1
1
1
1
1
1
1
5

8
7
6
5
4
3
2
1

1
2

3
4
5
6
7
8
in t r

AG N D

2

G N D

VO U T

12M H Z

0

500

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


P
P
P
P
P
P
P
P

1
1
1
1
1
1
1
1

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

VC C
8051


33p

/A
/A
/A
/A
/A
/A
/A
/A

D
D
D
D
D
D
D
D

0
1
2
3
4
5
6
7


P
P
P
P
P
P

P
P
2
2
2
2
2
2

2 .0 /A
2 .1 /A
.2 /A 1
.3 /A 1
.4 /A 1
.5 /A 1
.6 /A 1
.7 /A 1

8
9
0
1
2

3
4
5

P 3 .0 /R XD
P 3 .1 /TXD
P 3 .2 /IN T 0
P 3 .3 /IN T 1
P 3 .4 /T 0
P 3 .5 /T 1
P 3 .6 /W R
P 3 .7 /R D
ALE
PSEN

2
2
2
2
2
2
2
2

1
2
3
4
5
6

7
8

1
1
1
1
1
1
1
1

0
1
2
3
4
5
6
7

rd
wr
in t r

30
29

EA
R ST


40

0

0
0
0
0
0
0
0
0

X1
X2

31
9

33p

C 4

R 3

19
18

VC C


C 3

8

L M 3 5 /TO

10

VS+

G N D

U 8
1

P
P
P
P
P
P
P
P

G N D

VC C

9

8
7
6
5
4
3
2

20

3
3
3
3
3
3
3
3

R 7
1k

C 1

0

R 8

C


10k

VC C

D 4
3v

0

T it le
S iz e
A
D a te :

1.1

Sơ đồ mô phỏng bằng Proteus

17

D ocum ent N um ber
<D oc>
W e d n e s d a y , J a n u a ry 1 5 , 2 0 1 4

R ev
<R ev C ode>
Sheet

1


of

1


5. Triển khai
Hình ảnh làm thử sản phẩm

18


Thiết kế mạch in

6. Thực nghiệm
Sản phẩm hoàn thiện, lắp ráp linh kiện lên mạch in

19


Phần 5 .Kết luận & Lời cảm ơn


Sản phẩm sau khi hoàn thiện đã chạy được như yêu cầu mong muốn, trong quá trình
làm đề tài các thành viên đã học hỏi được thêm nhiều kiến thức cả về lập trình và
mạch, đó mới là điều ý nghĩa nhất khi chúng em quyết định làm đề tài.
• Do còn thiếu về cả kiến thức và kinh nghiệm nên quá trình làm đề tài của nhóm gặp
rất nhiều khó khăn, còn mắc phải nhiều lỗi khi tiến hành làm thực tế.
• Trong sản phẩm vẫn còn nhiều lỗi và thiếu sót, nhóm em mong được các thầy(cô)
đóng góp ý kiến để sản phẩm có thể hoàn thiện hơn trong tương lai.
Một lần nữa chúng em xin chân thành cảm ơn các thầy đã bớt chút thời gian đọc báo cáo và

đóng góp ý kiến cho đề tài.
-

Nhóm BK-WIN -

20



×