Thiết kế hệ thống mạch đo điện áp 1 chiều trong dải (+5VDC đến +24 VDC) hiển thị trên LED 7 đoạn

20 475 0
Thiết kế hệ thống mạch đo điện áp 1 chiều trong dải (+5VDC đến +24 VDC) hiển thị trên LED 7 đoạn

Đ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

Thiết kế hệ thống mạch đo điện áp 1 chiều trong dải (+5VDC đến +24 VDC) hiển thị trên LED 7 đoạn Thiết kế hệ thống mạch đo điện áp 1 chiều trong dải (+5VDC đến +24 VDC) hiển thị trên LED 7 đoạn Thiết kế hệ thống mạch đo điện áp 1 chiều trong dải (+5VDC đến +24 VDC) hiển thị trên LED 7 đoạn Thiết kế hệ thống mạch đo điện áp 1 chiều trong dải (+5VDC đến +24 VDC) hiển thị trên LED 7 đoạn Thiết kế hệ thống mạch đo điện áp 1 chiều trong dải (+5VDC đến +24 VDC) hiển thị trên LED 7 đoạn

Lời Nói Đầu Ngày nay,các vi điều khiển thâm nhập vào lĩnh vực vủa đời sống từ dân ,quân đến an ninh quốc phòng,có mặt hầu hết ứng dụng hàng ngày từ 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(máy giặt,điều hòa,tủ lạnh.) đến thiết bị lớn nh- ôtô,tàu thủy,xe lửa,máy bay,hệ thống mạng điện thoại,các điều khiển tự động nhà máy,các điều chỉnh nhà máy điện hạt nhân,trong hệ thống điều khiển ánh sáng Với loạt ứng dụng thú vị trên,ở chúng em xin giới thiệu ứng dụng nhỏ dùng vi điều khiển 8051(cụ thể vi điều khiển AT89S52) để thiết kế vôn mét điện tử đo điện áp chiều.Đây ứng dụng nhỏ vi điều khiển nh-ng thực tế sử dụng nhiều hệ thống đo l-ờng điện,điện tử nh- vôn mét, ampe mét điện tửvv Đề tài gồm phần: Phần 1:Cấu trúc vi điều khiển 8051 Phần 2: Thiết kế vôn mét điện tử dùng AT89S52 -1- phần cấu trúc vi điều khiển 8051 I-Giới thiệu tổng quan họ 8051( AT 89S52) Họ vi điều khiển 8051(còn gọi C51) họ vi điều khiển thông dụng Đây vi điều khiển bít đ-ợc sản xuất theo công nghệ CMOS Một số loại vi điều khiển thuộc họ 8051 thông dụng nhất: AT89C2051,AT89C4051,AT89C51,AT89S52 Trong AT89S52 vi điều khiển thông dụng giá rẻ có nhiều chức đặc biệt có tích hợp sẵn nạp chíp Bộ vi điều khiển AT89S52 gồm khối chức sau đây: CPU( Central Processing Unit) bao gồm: - Thanh ghi tích luỹ A - Thanh ghi tích luỹ phụ B, dùng cho phép nhân phép chia - Đơn vị logic học( ALU: Arithmetic Logical Unit) - Từ trạng thái ch-ơng trình( PSW: Progam Status Word) - Bốn băng ghi - Con trỏ ngăn xếp Bộ nhớ ch-ơng trình( Bộ nhớ ROM) gồm 8Kb Flash Bộ nhớ liệu( Bôn nhớ RAM) gồm 256 bytes Bộ UART( Universal Ansynchronous Receiver and Tranmitter) làm chức truyền nhận nối tiếp, nhờ khối này, AT89S52 giao tiếp với máy tính qua cổng COM Timer /Counter 16 bít thực chức định thời đếm kiện WDM( Watch Dog Timer) đ-ợc dùng để phục hồi lại hoạt động CPU bị treo nguyên nhân WDM AT89S52 gồm Timer 14 bít, Timer bít, ghi WDTPRG( WDT programable) điều khiển Timer bit ghi chớc WDTRST( WDM register) Bình th-ờng WDT không hoạt động( bị cấm), phép WDT, giá trị 1EH E1H cần phải đ-ợc ghi liên tiếp vào ghi WDTRST Timer 14 bit WDT đếm tăng dần sau chu kỳ đồng hồ giá trị 16383 xảy tràn Khi xảy tràn, chân RTS đ-ợc đặt mức cao thời gian 96.Tosc (Tossc=1/Fosc) AT89S52 đ-ợc reset Khi WDT hoạt động, ngoại trừ reset phần cứng reset WDT tràn cách cấm đ-ợc WDT, sử dụng WDT đoạn mã ch-ơng trình phải đ-ợc đặt khe thời gian từ lần WDT đ-ợc khởi tạo lại -2- II- Sơ đồ chân chức 1.Port 0(P0.0-P0.7 hay từ chân 32 đến chân 39): Gồm chân, chức xuất nhập ra, Port Bus đa hợp liệu địa chỉ( AD0-AD7), chức đ-ợc sử dụng AT89S52 giao tiếp với thiết bị có kiến trúc Bus 2.Port 1( P1.0-P1,7 hay từ chân đến chân 8) : Có chức xuất nhập theo bit byte Ngoài ra, chân P1.5, P1.6, P1.7 đ-ợc dùng để nạp ROM theo chuẩn ISP, chân P1.0 P1.1 đ-ợc dùng cho Timer -3- 3.Port 2( P2.0- P2.7 hay từ chân 21 đến chân 28): Là port có công dụng kép: đ-ờng xuất nhập byte cao bus địa thiết kế dùng nhớ mở rộng 4.Port 3( P3.0- P3.7 hay từ chân 10 đến chân 17): Mỗi chân port chức xuất nhập có chức riêng: Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Tên RXD TXD INT0 INT1 T0 T1 WR RD Chức Dữ liệu nhận cho port nối tiếp Dữ liệu phát cho port nối tiếp Ngắt bên Ngắt bên Ngõ vào Timer/Counter Ngõ vào Timer/Counter Xung ghi nhớ liệu bên Xung đọc nhớ liệu bên -4- RST( Reset- chân 9): Mức tích cực chân mức 1, để reset ta phải đ-a mức 1(5V) đến chân với thời gian tối thiểu chu kỳ máy( t-ơng đ-ơng 2uS thạch anh 12MHz 6.XTAL1, XTAL2: AT89S52 có dao động chip, th-ờng đ-ợc nồi với dao động thạch anh có tần số lớn 33MHz, thông th-ờng 12MHz EA( External Access): EA th-ờng đ-ợc mắc lên mức cao(+5V) mức thấp( GND) Nếu mức cao, vi điều khiển thi hành ch-ơng trình từ ROM nội Nếu mức thấp, ch-ơng trinh đ-ợc thi hành từ nhớ mở rộng 8.ALE( Address Latch Enable): ALE tín hiệu để chốt địa vào ghi bên nửa đầu chu kỳ nhớ Sau đ-ờng port dùng để xuất nhập liệu nửa chu kỳ sau nhớ 9.PSEN( Program Store Enable): PSEN điều khiển phép nhớ ch-ơng trình mở rộng tr-ờng đ-ợc nối đến chân /OE ( Output Enable) EPROM phép đọc bytes mã lệnh PSEN mức thấp thừi gian đọc lệnh Các mã nhị phân ch-ơng trình đ-ợc đọc từ EPROM qua Bus đ-ợc chốt vào ghi lệnh vi điều khiển để giải mã lệnh Khi thi hành ch-ơng trình ROM nội, PSEN mức thụ động( mức cao) 10.Vcc, GND: AT89S52 dùng nguồn chiều có dải điện áp từ 4V-5.5V đ-ợc cấp qua chân 40(+) chân 20(-) -5- Phần THIT K MCH O P I Giới thiệu ADC0804: 1- Các thiết bị ADC.: Các chuyển đổi ADC thuộc thiết bị đ-ợc sử dụng rộng rãi để thu liệu Các máy tính số sử dụng giá trị nhị phân, nh-ng giới vật lý đại l-ợng dạng t-ơng tự (liên tục) Nhiệt độ, áp suất (khí chất lỏng), độ ẩm vận tốc số trọng đại l-ợng vật lý giới thực mà ta gặp hàng ngày Một đại l-ợng vật lý đ-ợc chuyển dòng điện điện áp qua thiết bị đ-ợc gọi biến đổi Các biến đổi đ-ợc coi nh- cảm biến Mặc dù có cảm biến nhiệt, tốc độ, áp suất, ánh sáng nhiều đại l-ợng tự nhiên khác nh-ng chúng cho tín hiệu dạng dòng điện điện áp dạng liên tục Do vậy, ta cần chuyển đổi t-ơng tự số cho vi điều khiển đọc đ-ợc chúng Một chíp ADC đ-ợc sử dụng rộng rãi ADC0804 2- Chíp ADC0804 Chíp ADC0804 chuyển đổi t-ơng tự số họ loạt ADC800 từ hãng National Semiconductor Nó đ-ợc nhiều hãng khác sản xuất, làm việc với +5v có độ phân giải bít Ngoài độ phân giải thời gian chuyển đổi yếu tố quan trọng khác đánh giá ADC Thời gian chuyển đổi đ-ợc định nghĩa nh- thời gian mà ADC cần để chuyển đầu vào t-ơng tự thành số nhị phân Trong ADC0804 thời gian chuyển đổi thay đổi phụ thuộc vào tần số đồng hồ đ-ợc cấp tới chân CLK R CLK IN nh-ng nhanh 110s Các chân ADC0804 đ-ợc mô tả nh- sau: Chân CS - chọn chíp: Là đầu vào tích cực mức thấp đ-ợc sử dụng để kích hoạt chíp ADC0804 Để truy cập ADC0804 chân phải mức thấp Chân RD (cho phép vi điều khiển đọc): Đây tín hiệu đầu vào đ-ợc tích cực mức thấp Các ADC chuyển đổi đầu vào t-ơng tự thành số nhị phân t-ơng đ-ơng với giữ ghi RD đ-ợc sử dụng để nhận liệu đ-ợc chuyển đổi đầu ADC0804 Khi CS = xung cao xuống - thấp đ-ợc áp đến chân RD đầu số bít đ-ợc hiển diện chân liệu D0 - D7 Chân RD đ-ợc coi nh- cho phép đầu Chân ghi WR (thực tên xác Bắt đầu chuyển đổi) Đây chân đầu vào tích cực mức thấp đ-ợc dùng để báo cho ADC0804 bắt đầu trình chuyển đổi Nếu CS = WR tạo xung thấp - lên - cao ADC0804 bắt đầu chuyển đổi giá trị đầu vào t-ơng tự Vin số nhị phân bít 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 CLK R Khi việc chuyển đổi liệu đ-ợc hoàn tất chân INTR đ-ợc ép xuống thấp ADC 0804 Chân CLK IN CLK R -6- Chân CLK IN chân đầu vào đ-ợc nối tới nguồn đồng hồ đồng hồ đ-ợc sử dụng để tạo thời gian Tuy nhiên ADC0804 có máy tạo xung đồng hồ Để sử dụng máy tạo xung đồng hồ (cũng đ-ợc gọi máy tạo đồng hồ riêng) ADC0804 chân CLK IN CLK R đ-ợc nối tới tụ điện điện trở nh- hình Trong tr-ờng hợp tần số đồng hồ đ-ợc xác định biểu thức: f 1,1RC giá trị tiêu biểu đại l-ợng R = 10k C= 150pF tần số nhận đ-ợc f = 606kHz thời gian chuyển đổi 110s ADC080 +5V 10k PO 1 19 10k 150p 10 20 Vin(+ Vin(-) A Vref/ CLK R CLK CS RD D Vcc D0 D1 D2 D3 D4 D5 D6 D7 WR INTR 18 17 16 15 14 13 12 11 to LED Nomal ly Open Hình 3: Kiểm tra ADC0804 chế độ chạy tự Chân ngắt INTR (ngắt hay gọi xác kết thúc chuyển đổi) Đây chân đầu tích cực mức thấp Bình th-ờng trạng thái cao việc chuyển đổi hoàn tất xuống thấp để báo cho CPU biết liệu đ-ợc chuyển đổi sẵn sàng để lấy Sau INTR xuống thấp, ta đặt CS = gửi xung cao - xuống - thấp tới chân RD lấy liệu ADC0804 Chân Vin (+) Vin (-) -7- Đây đầu vào t-ơng tự vi sai mà Vin = Vin (+) - Vin (-) Thông th-ờng Vin () đ-ợc nối xuống đất Vin (+) đ-ợc dùng nh- đầu vào t-ơng tự đ-ợc chuyển đổi dạng số Chân VCC Đây chân nguồn nuối +5v, đ-ợc dùng nh- điện áp tham chiếu đầu vào Vref/2 (chân 9) để hở Chân Vref/2 Chân điện áp đầu vào đ-ợc dùng cho điện áp tham chiếu Nếu chân hở (không đ-ợc nối) điện áp đầu vào t-ơng tự cho ADC0804 nằm dải đến +5v (giống nh- chân VCC) Tuy nhiên, có nhiều ứng dụng mà đầu vào t-ơng tự áp đến Vin cần phải khác dải đến 5v Chân Vref/2 đ-ợcdùng để thực thi điện áp đầu vào khác dải - 5v Ví dụ, dải đầu vào t-ơng tự cần phải đến 4v Vref/2 đ-ợc nối với +2v Bảng 12.5 biểu diễn dải điện áp Vin đầu vào Vref/2 khác Bảng 12.5: Điện áp Vref/2 liên hệ với dải Vin Vref/ 2(V) Hở * 2.0 1.5 1.28 1.0 0.5 Vin(V) đến đến đến đến 2.56 đến đến Step Size (mV) 5/256 = 19.53 4/255 = 15.62 3/256 = 11.71 2.56/256 = 10 2/256 = 7.81 1/256 = 3.90 Ghi chú: - VCC = 5V - * Khi Vref/2 hở đo đ-ợc khoảng 2,5V - Kích th-ớc b-ớc (độ phân dải) thay đổi nhỏ mà ADC phân biệt đ-ợc Các chân liệu D0 - D7 Các chân liệu D0 - D7 (D7 bít cao MSB D0 bít thấp LSB) chân đầu liệu số Đây chân đ-ợc đệm ba trạng thái liệu đ-ợc chuyển đổi đ-ợc truy cập chân CS = chân RD bị đ-a xuống thấp Để tính điện áp đầu ta sử dụng công thức sau: D out V in kich thuoc buoc Với Dout đầu liệu số (dạng thập phân) Vin điện áp đầu vào t-ơng tự độ phân dải thay đổi nhỏ đ-ợc tính nh- (2 Vref/2) chia cho 255 ADC bít 10.Chân đất t-ơng tự chân đất số Đây chân đầu vào cấp đất chung cho tín hiệu số t-ơng tự Đất t-ơng tự đ-ợc nối tới đất chân Vin t-ơng tự, đất số đ-ợc nối tới đất chân -8- Vcc Lý mà ta phải có hai đất để cách ly tín hiệu t-ơng tự Vin từ điện áp ký sinh tạo việc chuyển mạch số đ-ợc xác Trong phần trình bày chân đ-ợc nối chung với đất Tuy nhiên, thực tế thu đo liệu chân đất đ-ợc nối tách biệt Từ điều ta kết luận b-ớc cần phải thực chuyển đổi liệu ADC0804 là: a) Bật CS = gửi 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 việc chuyển đổi đ-ợc hoàn tất ta sang b-ớc Nếu INTR cao tiếp tục thăm dò xuống thấp c) Sau chân INTR xuống thấp, ta bật CS = gửi xung cao - xuống - thấp đến chân RD để lấy liệu khỏi chíp ADC0804 Phân chia thời gian cho trình đ-ợc trình bày hình CS D0 D7 Data out Start End Read it Hình 4: Phân chia thời gian đọc ghi ADC0804 -9- II Thiết kế phần cứng: 1.L-u đồ thuật toán : Bắt đầu Kiểm tra thang đo Không có thang đo đ-ơc chọn Tát led Thang đo x đ-ợc chọn (x ứng với thang đo 1,2,3) Chuyển đổi A-D Tính giá trị đo đ-ợc Hiển thị led - 10 - 2.Khối nguồn khối chọn thang đo: Nguồn vào đ-ợc ổn áp qua IC LM7805 ,điện áp ổn định mức 5V.Que đo d-ơng (+) đ-ợc nối vào chuyển mạch để qua điện trở (220k,16k,3.3k,4,7k) biến trở (R9,R10) nhằm phân áp cho đầu vào IC 0804 chuyển đổi giá trị điện áp dạng t-ơng tự sang dạng số.Chọn IC 0804 đo giá trị cao 5V nên điện trở phân áp đ-ợc tính điện áp vào lớn với thang đo t-ơng ứng đ-ợc cấp vào IC 0804 5V.Chuyển mạch có tiếp điểm đối x-ng nhằm chọn mức phân áp báo cho vi điều khiển biết phần cứng chọn thang đo (thang đo 250v,25v,5v), nhờ vi điều khiển tính đ-ợc giá trị đo đ-ợc thực tế ứng với giá trị từ ADC 0804 gửi lên.Ví dụ:chọn thang đo 25 volt mà giá trị ADC 0804 gửi lên 100volt giá trị thực tế cần đo (100/255)*25=9.803volt - 11 - 3.Khối hiển thị : Khối hiển thị gồm led để hiển thị kết led đơn để hiển thị thang đo đ-ợc chọn Các loại led đ-ợc chọn led A chung chọn led K chung led sáng dòng điện từ vi điều khiển gây sụt áp vi điều khiển dẫn đến vi điều khiển hoạt động không xác Mạch điện phần cứng đ-ợc thêm công tắc reset nhằm khởi động lại hệ thống hoạt động bị lỗi, công tắc cấp nguồn 5V để hiểu chỉnh cầu phân áp đầu vào Các transistor đ-ợc dùng để kích dòng cho led thanh, tín hiệu từ vi điều khiển tác động vào cực B tran để điều khiển led hiển thị - 12 - 4.Mạch nguyên lý : III Ch-ơng trình điều khiển : /*khai bao cac thu vien can dung*/ #include #include #include //khai bao cac chan dieu khien ADC 0804 sbit adc_intr=P1^2; //chan INTR cua adc0804 noi voi P1.2 sbit adc_rd=P1^0; //chan RD cua adc0804 noi voi P1.0 sbit adc_rw=P1^1; //chan RW cua adc0804 noi voi P1.1 //khai bao cac chan dieu khien led sbit led1=P2^4; //hien thi dien ap duoc bang led thanh, sbit led2=P2^5; //led1 noi voi P2.4;led2 noi voi P2.5 sbit led3=P2^6; //led3 noi voi P2.6 sbit led4=P2^7; //led4 noi voi P2.7 //khai bao cac chan xac dinh thang sbit thang_do1=P2^0;//thang 250v sbit thang_do2=P2^1;//thang 25v - 13 - sbit thang_do3=P2^2;//thang 5v sbit den1 = P1^4; sbit den2 = P1^5; sbit den3 = P1^6; //khai bao cac bien unsigned int x; unsigned char tram,chuc,donvi,phan1,phan2,phan3,phan_nguyen,phan_phan,i; float volt,giatri; //khai bao mang cac so hien thi tren led unsigned char font[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //mang chu so khong chua dau cham dp unsigned char font1[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //mang chu so chua dau cham dp /*cac ham con*/ //ham tao tre voi thoi gian j us void delay_us(unsigned int j) { unsigned int n; for(n=0;n

Ngày đăng: 18/09/2016, 21:42

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan