Trong thực tế các bộ Vi Điều Khiển các bộ Vi Điều Khiển được ứng dụng vào mọi lĩnh vực của đời sống từ các thiết bị nhỏ như điện thoại di động , máy nhắn tin, trò chơi điện tử , các thiế
Trang 1Trường ĐạiHọc CôngNghiệp HàNộiKhoa Điện Tử
- Tự ĐộngHoá
ĐỒ ÁN: VI ĐIỀU
KHIỂN
ĐỀ TÀI: .Thiết kê mô hình Ampemet điện tử hiển thị bằng máy tính.
Giáo viên hướng dẫn : Nguyễn Anh Dũng Sinh viên thực hiện : Nguyễn Thị Trang
Hoàng Thị Hồng Chiêm Nguyên Đình Tú
Trang 2- Hạnh phúc
ĐỒ ÁN MÔN HỌC VI ĐIỀU KHIỂN
Số: 29
- Số trang: Từ 10 đến 20 trang giấy khổ A4
- Nội dung báo cáo gồm 3 phần:
+ Phần 1: Cơ sở lý thuyết: Trình bày các cơ sở lý thuyết liên quan đến nội dung
Trang 3dung thiết kế + Phần 3: Kếtluận: Đánhgiá các ưu,nhược điểm,tính thực tếcủa sản phẩm
đã thiết kế vàhướng cảitiến, pháttriển
3 Phần thuyết minh
- Đại diện nhóm vận hành và thuyết minh sản phẩm
- 02 giảng viên chuyên môn chất vấn và chấm điểm từng sinh viên trong
nhóm Thời gian tối đa (dành cho hỏi và trả lời): 10 phút/1 sinh viên
21 là thế kỷ của công nghệ thông tin và tự động hoá cả 2 nghành này đều liên quan đến nghành Điện tử
Nghành kỹ thuật Điện tử hiện nay đang phát triển mạnh mẽ , kỹ thuật Vi Điều Khiển đã trở lên quen thuộc trong các nghành kỹ thuật và trong dân dụng Trong thực tế các bộ Vi Điều Khiển các bộ Vi Điều Khiển được ứng dụng vào mọi lĩnh vực của đời sống từ các thiết bị nhỏ như điện thoại di động , máy nhắn tin, trò chơi điện tử , các thiết bị gia dụng như ( máy giặt, điều hoà , tủ lạnh…) đến những thiết bị có quy mô lớn như các bộ điều khiển tự động trong các nhà
Trang 4máy , xi nghiệp, hệ thống thông tin liên lạc…
vi điều khiển
đã góp phần đưa con ngườiđến dỉnh cao của nhân loại Dưới đâychúng em xin giới thiệu một ứng dụng nhỏ của Vi Điều Khiển 8051( cụ thể là vi điều khiển AT89s52) để thiết kế “AMPEMET điện tử hiển thị bằng màn hình máy tinh’” Đây là một ứng dụng nhỏ của Vi Điều Khiển nhưng được sử dụng rất nhiều trong chuyên nghành Điện _ Điện tử
Do thời gian nghiên cứu và thực hiện đề tài có giới hạn , chúng em đã cố gắng để hoàn thành đề tài Nhưng không tránh khỏi những thiếu sót về tài liệu , ngôn ngữ , và cách trình bày … vậy rất mong được sự góp ý của thầy cô, bạn
Trang 5I Giới thiệu
tổng quan
về họ vi điều khiển 8051
Họ vi điềukhiển 8051 làmột trongnhững họ vi điều khiển thông dụng nhất Đây là họ vi điều khiển được sản xuấttheo công nghệ CMOS Có tốc độ cao và công suất thấp, bộ nhớ Flash có thểlập trình được
1 Sơ đồ khối của AT89s52
Trang 6
2 2 2 2 2 2 2 2 2 2 2 2 2 Những đặc trưng của AT89s52
4 Kbyte bộ nhớ Flash có thể lập trình lặp vơi 1000 chu kỳ đọc xoá
Hoạt động tĩnh đầy đủ : Từ 0 HZ đến 24 MHZ
Khoá bộ nhớ chương trình ba cấp
128x8 bit RAM nội
32 đường xuất nhập lập trình được
Hai timer / counter khoong bit
Một port nối tiếp sang công có thể lập trình được
Mạch đồng hồ và bộ dao động trên chíp
3 Sơ đồ chân và chức năng của AT89s52
Trang 7Như vậy theo sơ đồ trên AT89s52 có 40 chân mỗi chân có chức năng nhưcác đường I/O (xuất nhập ) , trong đó 24 chân có công dụng kép, môi x đường
có thể hoạt động như một đường I/O hoặc như đường điều khiển hoặc như thànhphần của bus điều khiển và bus dữ liệu
3.1 Port 0 ( P0.0- P0.7)
Port 0 gồm 8 chân, ngoài các chức năng xuất nhập, Port 0 còn là bus đa hợp
dữ liệu và địa chỉ(AD0-AD7), chức năng này sẽ được sử dụng khi 8051 giao tiếp với các thiết bị ngoài có kiến trúc bus như các vi mạch nhớ, mạch nhớ PIO…
Trang 83.2 Port 1 ( P1.0- P1.7)
Port 1 có chức năng xuất nhập theo bit và byte Ngoài ra, ba chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo chuẩn ISP, hai chân P1.0, và P1.1 được dùng cho bộ Timer 2
Trang 9Bit Tên Chức năng
P3.0 RXD Dữ liệu nhận cho port nối tiếp
P3.1 TXD Dữ liệu truyền cho port nối tiếp
Trang 10P3.2 INT0 Ngắt bên ngoài 0P3.3 INT1 Ngắt bên ngoài 1 P3.4 T0 Ngõ vào của Timer/counter0
P3.5 T1 Ngõ vào của Timer/
counter 1
P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài
P3.7 /RD Xung đọc bộ nhớ dữ liệu ngoài
3.5 Chân /PSEN ( Program store Enable)
/PSEN là chân điều khiển đọc chương trình ở bộ nhớ ngoài, nó được nối với chân /OE để cho phép đọc các byte mã lệnh trên ROM ngoài /PSEN sẽ ở mức thấp trong thời gian đọc mã lệnh Mã lẹnh được đọc từ bộ nhơ s ngoài qua bus dữ liệu (Port 0) thanh ghi ệnh để được giải mã Khi thực hiện chương trình trong ROM nội thì /PSEN ở mức cao
3.6 Chân ALE (Address Latch Enable)
ALE là tín hiệu điều chỉnh chốt địa chỉ có tần số bằng 1/6 tần số dao động của vi điều khiển tín hiệu ALE được dùng để cho phép vi mạch chốt bên ngoài như 74373, 74573 chốt byte địa chỉ thấp ra khỏi bus đa hợp địa chỉ / dữ liệu (Port 0)
3.7 Chân /EA (External Access)
Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay ngoài
vi điều khiển Nếu EA ở mức cao (nối với vcc), thì vi điều khiển thi hành
chương trình trong ROM nội Nếu /EA ở mức thấp (nối với GND), thì vi điều khiển thi hành chương trình từ bộ nhớ ngoài
3.8 RST (Reset)
Ngõ vào RST trên chân 9 la f ngõ Reset của 8051 Khi tín hiệu này được đưa lên mức cao , các thanh ghi trong bộ vi điều khiển được tải những giá trị thích hợp để khởi động hệ thống
Trang 113.9 XTAL1,
XTAL2
AT89s52
có một bộ daođộng trên chíp, nó thường được nối với với bộdao động bằng thạch anh có tần số lớn nhất là 33MHZ, thông thường là 12MHZ
Trang 12National
Semiconductor , nó cũng được nhièu hãng khác sản xuất Nó làm việc với +5v
và có độ phân giải 8 bit , ngoài độ phan giải thì thời gian chuiyển đổi cũng là một yếu tố quan trọng khác khi đánh giá bộ ADC Thời gian chuyển đổi được định nghĩa như là thời gian mà bộ ADC cần chuyển đổi một đầu vào tương tự thành một số nhi phân Trong ADC0804 thời gian chuyển đổi thay đổi phụ thuộcvào tần số đồng hồ được cấp tới chân CLK R và CLK IN nhưng không thể nhanh hơn 110µs, các chân của ADC0804 được mô tả như sau :
1.
Chân CS_ chọn chíp :
Là một đầu vào tích cực mức thấp, được sử dụng để kích hoạt chíp ADC
0804 Để truy cập ADC 0804 thì chân này phải ở mức thấp
2 Chân RD :
Đây là một tín hiệu đầu vào được tích cực mức thấp các bộ ADC
chuyển đổi đầu vào tương tự thanh số nhị phân tương đương với nó và giữ nó trong một thanh ghi trong RD được sử dụng để nhận dữ liệu được chuyển đổi ở đầu ra của ADC 0804 khi CS =0 ,nếu một xung cao xuống thấp được áp đến chân RD thì đầu ra số 8 bit được hiển thị ở các chân dữ liệu D0-D7 Chân RD cũng được coi như cho phép đầu ra
3 Chân ghi WR :
Đây là chân đầu vào tích cực ở mức thấp được dùng để báo cho ADC
0804 bắt đầu quá trình chuyển đổi Nếu CS =0, khi WR tạo ra xung thấp lên caothì bộ ADC 0804 bắt đầu chuyển đổi giá trị đầu vào tương tự Vin về số nhị phân
8 bit Lượng thời gian cần thiết để chuyển đổi, thay đổi phụ thuộc vào tần số đưa đến chân CLK IN và CLK R Khi việc chuyển đổi dữ liệu hoàn tất thì chân INTR được ép xuống thấp bởi ADC 0804
Trang 13Chân CLK IN là một chân đầu vào được nối với một nguồn đồng
hồ ngoài Khi đồng hồ ngoàiđược sử dụng
để tạo là thời gian Tuy nhiên ADC
0804 cũng có máy tạo xung đồng hồ , để sử dụng được máy tạo xung đồng hhồ trong của ADC 0804 thì chân CLK IN và CLK R được nối tới một tụ điện và một điện trở chỉ ra trên hình 3 Trong trường hợp này tần số được xác định bằng biểu thức:
f = 1/ 1,1RC
Gia trị của các đại lượng : R = 10 KΩ và C = 150 µF và tần số nhận được giá trị
là f = 606 KHZ , thời gian chuyển đổi sẽ mất 110 µs
Hình 3: Kiểm tra ADC 0804 chạy ở chế độ tự do
5 Chân ngắt INTR
Đây là chân đầu ra tích cực mức thấp, bình thường nó ở trạng thái cao ,
và khi việc chuyển đổi hoàn tất thì nó xuống thấp để báo cho CPU biết là dữ liệu
ADC080 4
+5 V 1
1 1
4 1 2 10
9 19
10k
150 pF
11 12 13 14 15 16 17 18
3 5
to
LE Ds
Nomal ly
Open STA RT
D0 D1 D2 D3 D4 D5 D6 D7 WR INTR
D GND RD CS
CLK in
CLK R
A GND Vref/2 Vin(-) Vin(+) Vcc20
10k
PO T
Trang 14được chuyển đổi sẵn sàng
để lấy đi Saukhi INTR xuống thấp ta lấy CS =0 và gửi một xung xuống thấp tớichân RD lấy
dữ liệu ra của ADC 0804
6 Chân V
in (+) và V in (-)
Đây là các đầu vào tương tự vi sai mà V in = V in(+) + V in (-) Thông thường V in(-)được nối xuống đất và V in(+)được dùng như đầu vào tương tự được chuyển đổi về dạng
Bảng 12 5 biểu diễn dải điện áp V in đối với các đàu vào V ref/2 khác nhau
Bảng 12.5 : Điện áp V ref/2 liên hệ với dải V in
Trang 15Khi V ref/2
hở thì đo được ở đó khoảng 2,5v + Kích thước bước (độ phângiải) là sự thay đổi nhỏ nhất mà ADC
có thể phân biệt được
9 Các Chân dữ liệu D0 – D7
Các chân dữ liệu D0 – D7 là các chân đầu ra dữ liệu số Đây là những chân đệm ba trạng thái và dữ liệu và dữ liệu được chuyển đổi chỉ được truy cập khi CS = 0 và chân RD bị đưa xuống thấp để tich s điện áp đầu ra ta có thể sử dụng công thức sau :
Với D out là đầu ra dữ liệu số V in là điện áp ở đầu vào tương tự và độ phân giải là sự thay đổi nhỏ nhất được tính như là: (2xV ref/2) chia cho 255, đối với ADC 8 bit
10
Chân đất tương tự và chân đất số
Đây là những chân đầu vào cấp đất chung cho cả tín hiệu số và tương tự Đất tương tự được nối tới đất của chân V in tương tự còn đất số được nối tới đất của chân Vcc Lý do mà ta phải có hai đất là để cách ly tín hiệu tương tự Vcctừ các điẹn áp ký sinh tạo ra viẹc chuyển mạch số được chính xác Trong phần trình bay f này của chúng ta thì các chân này được nối chung một đất Tuynhiên, trong thực tế khi đo dữ liệu các chân đất này được nối tách biệt
Từ những điêu f trên ta kết luận rằng các bước cần phải thực hiện khi
chuyển đổi dữ liệu bởi ADC 0804 là:
a Bật CS =0 và gửi một xung thấp lên cao tới chân WR để bắt đầu chuyển đổi
b Duy trì hiển thị chân INTR Nếu INTR xuống thấp thì việc chuyển đổi được hoàn tất và ta có thể sang bước kế tiếp Nếu INTR cao tiép tục thăm
dò cho đến khi nó xuống thấp
c Sau khi chân INTR xuống thấp đến chân RD để lấy dữ liệu ra khỏi chíp ADC 0804 phân chia thời gian cho quá trình này được trình bày trên
buoc thuoc kich
V
out =
Trang 16hình 4
Hình 4 : Phân chia thời gian đọc và ghi của ADC 0804
B Bản thiết kế Ampemet hiển thị màn hình máy tính
Start conversion
WR
INTR
RD
Trang 17II Chương
trình điều khiển
Trang 18adc_rw=0; delay_us(2);
adc_rw=1; //bat dau chuyen doi
while(!adc_intr);//cho bien doi xong
x=P2;//doc gia tri tu ADC vao bien x
Trang 19{nguyen1=phan_nguyen/10;
Trang 20while(!TI);
printf("DE TAI DO DIEN AP\n");
printf("Ket qua do duoc la: ");
delay_us(700) ;
while(1)
{
Trang 21giatri=((5*x)*1.0/255)/4.7;
hien_thi();
}while(thang_do3==0)
{dieu_khien_adc();
giatri=((5*x)*1.0/255)/0.47;
hien_thi();
}if(thang_do1==1&thang_do2==1&thang_do3==1)
{printf("\nBan chua chon thang do") ;delay_us(1000);
for(i=0;i<=22;i++)
{ while(!TI);
SBUF=0x08;
TI=0;
Trang 22}
}
}}
phỏng
Trang 23PHẦN KẾT LUẬN
Đồ án đã
cơ bản hoàn thành về các yêu cầu thiết
kế và đã đạt được yêu cầu
về kỹ thuật vàứng dụng,.Song bên cạnh đó đồ án của chúng em còn một số hạn chế như: khả năng đochưa được chuẩn, sai số còn cao,thiết kế phần code chưa tối ưu
Do hạn chế về thời gian và kiến thức nên đồ án của nhóm em vẫn còn nhũnghạn chế và thiếu sót như trên Rất mong nhận được sự đóng góp ý kiến của các bạnsinh viên, của các thầy cô giáo để đồ án của nhóm em được hoàn thiện hơn
Tài liệu tham khảo
1.Vi điều khiển cấu trúc lập trình và ứng dụng