Đề tài thiết kế Voltmet điện tử sử dụng cổng nối tiếp

18 339 0
Đề tài thiết kế Voltmet điện tử sử dụng cổng nối tiếp

Đ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

Khoa Điện Tử - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng GIớI THIệU CHUNG Về GHéP NốI MáY TíNH Sự phát triển ghép nối máy tính đà mở rộng đáng kể lĩnh vực máy tính, đặc biệt đo lờng điều khiển thực tế cho thấy công ty hay xí nghiệp đà ứng dụng kỹ thuật ghép nối máy tính nhiều,ví dụ: điều khiển CNC, dây chuyền công nghệ sản xuất xi măng, điều khiển thiết bị từ xa Máy tính giao tiếp với thiết bị khác nhờ phần cứng chơng trình ngời sử dụng viết, ngôn ngữ Pascal, C++, Assembler, VisualBasic Có khả ghép nối máy tính có tính xác cao, thời gian thu nhập số liệu ngắn quan trọng mức tự động hoá trình thu thập số liệu xử lý kết Đề tài Thiết kế Voltmet điện tử sử dụng cổng nối tiếp đà đợc chúng em lựa chọn đa vào tập đồ án môn ghép nối nhằm tìm hiểu sâu sắc thực tế cấu trúc, lý thuyết môn học Nhóm chúng em đà tìm hiểu thực đề tài này, mong đợc góp ý chia sẻ kiến thức môn từ phía thầy cô bạn Nhóm sinh viên thực Đoàn Đình Cả Trần Thị Tân Trơng Thị Hơng Phần I GHéP NốI TRUYềN TIN NốI TIếP I Kh¸i niƯm vỊ trun tin nèi tiÕp Kh¸i niệm Truyền tin nối tiếp phơng thức truyền tin bit mang thông tin đợc truyền đờng dẫn vật lý Tại thời điểm phía bên truyền bên nhận truyền (hoặc nhận) 1bit Ưu điểm truyền tin nèi tiÕp: Đề tài: Voltmet điện tử sử dụng cổng ni tip Trang Khoa Điện Tử - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng + Tiết kiệm đờng dẫn + Có khả truyền xa Nhợc điểm truyền tin nối tiếp: + Tốc độ chậm thiết bị thờng phải có khối chuyển đổi nối tiếp song song,và ngợc lại sử dụng phơng pháp để trao đổi tin Phơng thức truyền tin nèi tiÕp: Cã ph¬ng thøc trun tin nèi tiÕp: + Phơng thức đồng bộ: byte chứa bit thông tin đợc truyền liên tiếp đờng truyền đợc ngăn cách(phân biệt) bit đồng khung(SYNC) + Phơng thức không đồng bộ: byte chứa bit thông tin đợc chứa khung Một khung đợc bắt đầu bit start, bit mang thông tin, bit kiểm tra chẵn lẻ kết thúc bit stop Khoảng cách khung bit dừng bất kì, đờng truyền đợc lấy lên mức cao + Phơng pháp lai: Đây phơng pháp kết hợp hai phơng pháp trên, bit khung đợc truyền theo phơng thức không đồng byte đợc truyền theo phơng thức ®ång bé ii cỉng nèi tiÕp Giíi thiƯu Cỉng nèi tiÕp RS232 lµ mét giao diƯn phỉ biÕn réng rÃi nhất, ta gọi cổng COM1,COM2, để tự trao đổi ứng dụng khác Giống nh cổng máy in, cổn nối tiếp RS232 đợc sử dơng rÊt thn tiƯn viƯc ghÐp nèi m¸y tÝnh với thiết bị ngoại vi Việc truyền liệu qua cổng RS232 đợc tiến hành theo cách nối tiếp, điều có nghĩa bit liệu đợc gửi nối tiếp đờng dẫn Cấu trúc cổng nối tiếp DIP (loại chân) DIP25 ký hiÖu (loại 25 chân) rcd rxd txd dtr 20 gnd dsr rts ri 22 vào/ra mô tả Lối vào Lối vào Lối Lối Data Crrier Detect Receive Data Transmit Data Data Terminal Ready Nèi ®Êt Data Set Ready Request to send Clear to send Ring indicator Lèi vµo Lèi Lèi vµo Lối vào Mức tín hiệu chân cổng nối tiếp thờng nằm khoảng -12v->+12v Các bít liệu đợc đảo ngợc lại Mức điện áp mức logic 1: -12v đến -3v mức điện áp mức ®iƯn ¸p -12v b»ng tèc ®é baund ta thiÕt lËp tốc độ truyền liệu giá trị thông thờng là: 300,600,1200,2400,4800,9600 Địa cổng sau: COM1: địa là: 3F8H ti: Voltmet in t sử dụng cổng nối tiếp Trang Khoa §iƯn Tư - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng COM2: địa là:2F8H COM3: địa là:3E8H COM4: địa là:2E8H Sự trao đổi đờng dẫn tín hiệu: Trên máy tính vi mạch đảm bảo truyền (nhận) liệu thông qua cổng nối tiếp,vi mạch gọi UART (bộ truyền nhận nối tiếp không đồng bộ).UART để điều khiển trao đổi thông tin máy tính thiết bị ngoại vi, phổ biến vi mạch 8250 hÃng NSC thiết bị tiếp theo, nh 16C550, bé UART cã 10 ghi ®Ĩ ®iỊu khiĨn tÊt chức việc nhập vào, xuất liệu theo cách nối tiếp Các ghi ®iỊu khiĨn a)Thanh ghi ®iỊu khiĨn Modem(3F8 +4) 0 LOOP OUT2 OUT1 RTS DTR DSR1 CTR1 D0=1: ®a DTR=0 D0=0:®a DTR=1 D1=1:®a RTS=0 D1=0:®a RTS=1 OUT1,OUT2 ®iỊu khiĨn đầu phụ b)Thanh ghi trạng thái Modem(3F8 +6) RLSD RI DSR CTS RLSD1 RI1 Thanh ghi nµy nhiƯm vơ thông báo trạng thái đờng dẫn bắt tay ®iỊu chó ý ë ghi nµy lµ:D4,D5,D6 chÝnh lµ lối vào đờng dẫn CTS,DSR,RI đà đợc đảo c)Thanh ghi ®iỊu khiĨn ®êng trun(3F8 +3) C7 C6 C5 C4 C3 C2 C1 C0 C1,C0: đặt số bit từ 00: bit 01: bit 10: bit 11: bit C2: c¸c bit dõng 0:1 bit dõng 1: 1,5 bit dõng C3: bit kiĨm tra ch½n lẻ 0: không kiểm tra 1: có kiểm tra C4: loại chẵn lẻ 0: bit lẻ 1: bit chẵn C5: Stick bit 0: kh«ng cã Stick bit 1: Stick bit C6: đặt break 0: Normal output 1: gửi break C7(DLAB): bit phân chia truy nhập cho ghi địa ti: Voltmet in t s dng cổng nối tiếp Trang Khoa §iƯn Tư - §HCN Hà Nội GVHD: Vũ Thị Thu Hơng d)Thanh ghi trạng thái đờng truyền (3F8+5) S7 S6 S5 S4 S3 S2 S1 S0 S0=1: có byte nhận đợc S1=1: ký tự trớc không đợc đọc ký tụ đến xoá ký tự cũ đệm S2=1: có lỗi chẵn lẻ S3=1: có lỗi khung truyền S4=1: có gián đoạn đờng truyền S5=1: truyền rỗng cổng nối tiếp truyền nhận S6=1: đệm truyền rỗng S7=0: không sử dơng e)Thanh ghi cho phÐp ng¾t(3F8+1) D7 D6 D5 D4 D3 D2 D1 D0 D0=1: cho phÐp ng¾t nhËn ký tự D1=1: cho phép ngăt nhận truyền rỗng D2=1: cho phép ngăt thay đổi trạng thái đờng truyền D3=1: cho phép ngắt thay đổi trạng thái Modem D4=0 D5=0 D6=0 D7=0 f)Thanh ghi nhận dạng ngắt (3F8+2) g)Thanh ghi chứa số chia tốc độ baud (byte thấp- địa sở) Thanh ghi gồm bit,chứa phần thấp số chia tốc độ baud, số chia tốc đô Baud tính theo công thức: số chia tốc độ baud=1843200/(16*tốc độ baud cần thiết lập) h)Thanh ghi chøa sè chia tèc ®é baud(byte cao -3F8+1) Đề tài: Voltmet điện tử sử dụng cổng nối tiếp Trang Khoa Điện Tử - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng Phần II giới thiệu linh kiện I AT89C51 - Là sản phẩm hÃng ATMEL có 256 bytes RAM, 8Kbytes ROM, 32 chân vào ra, định thời, nguồn ngắt cỉng nèi tiÕp - KiĨu bé nhí NV-RAM lµ kiĨu nhớ mà có khả nạp chơng trình vào ROM trªn chip nã vÉn ë hƯ thống mà lấy ra,ngoài kiểu nhớ có tính u việt cho phép thay đổi néi dung ROM theo tõng byte bé nhí kiểu FLASH EPROM phải đợc xoá hết trớc lập trình lại -Vùng nhớ FLASH ROM nạp xoá khoảng 1000 lần II IC MAX232:(dùng giao tiếp với VĐK máy tính) Dùng để thực giao tiếp với vi điều khiển,ta phải chuyển mức logic từ TTL=> 232 ngợc lại Tuy nhiên sử dụng mạch chuyển mức logic dùng vi mạch(232) phải dùng chung GND máy tính vi mạch Điều dẫn đến trờng hợp có khả làm hỏng cổng nối tiếp xảy chập mạch mạch ngoài.Do đó,ta dùng thêm opto 4N335 để cách ly vỊ ®iƯn Đề tài: Voltmet điện tử sử dụng cổng ni tip Trang Khoa Điện Tử - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng IC Max232 III ADC0804 Chip ADC804 chuyển đổi tơng tự số thuộc họ ADC800 hÃng National Semiconductor Chip đợc nhiều hÃng khác sản xuất Chip có điện áp nuôi +5V độ phân giải bit Ngoài độ phân giải thời gian chuyển đổi tham số quan trọng đánh giá ADC Thời gian chuyển đổi đợc định nghĩa thời gian mà ADC cần để chuyển đầu vào tơng tự thành số nhị phân Đối với ADC0804 thời gian chuyển đổi phụ thuộc vào tần số đồng hồ đợc cấp tới chân CLK CLK IN không bé 110µs Đề tài: Voltmet điện tử sử dụng cổng nối tip Trang Khoa Điện Tử - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng Các chân ADC0804 có chức nh sau: a) CS (Chip Select) - chọn chip 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 ADC804 Để truy cập ADC0804 chân phải mức thấp b) RD (Read) - đọc Đây tín hiệu vào, 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 giữ ghi RD đợc sử dụng để có liệu đợc đà chuyển đổi tới đầu cña ADC0804 Khi CS = nÕu cã mét xung cao-xuống-thấp áp đến chân RD liệu dạng số bit đợc đa tới chân liệu D0 - D7 Chân RD đợc coi cho phÐp ®äc c) WR (Write) - ghi Thùc ra, tên xác Bắt đầu chuyển đổi Đây chân 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 cao-xuống-thấp ADC0804 bắt đầu tiến hành chuyển đổi giá trị đầu vào tơng tự Vin số nhị phân 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 CLK R Khi việc chuyển đổi liệu đợc hoàn tất chân INTR đợc ADC0804 hạ xuống thấp d) CLK IN CLK R CLK IN chân 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 0804 có tạo xung đồng hồ chip Để dùng đồng hồ (cũng đợc gọi đồng hồ riêng) 804 chân CLK IN CLK R đợc nối tới tụ điện điện trở nh hình 12.5 Trong trờng hợp tần số đồng hồ đợc xác định biểu thức: f = 1,1RC Giá trị thông thờng đại lợng R = 10k, C= 150pF tần số nhận đợc f = 606kHz, thời gian chuyển đổi 110µs Đề tài: Voltmet điện tử sử dụng cổng nối tip Trang Khoa Điện Tử - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng e) Ngắt INTR (Interrupt) Ngắt hay gọi kết thúc việc chuyển đổi Đây chân tích cực mức thấp Bình thờng, chân 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, cần đặt CS = gửi xung cao-xuống-thấp tới chân RD để đa liệu f) Vin (+) Vin (-) Đây hai đầu vào tơng tự vi sai, ®ã Vin = Vin (+) - Vin (-) Thông thờng Vin (-) đợc nối xuống đất Vin (+) đợc dùng làm đầu vào tơng tự đợc chuyển đổi dạng số g) VCC Là chân nguồn nuôi +5v Chân đợc dùng làm điện áp tham chiếu đầu vào Vref/2 (chân 9) để hở h) Vref/2 Chân điện áp đầu vào đợc dùng làm đ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 ADC804 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 khác với dải đến 5v Chân V ref/2 đợc dùng để thực điện áp đầu vào có dải khác với - 5V Ví dụ, dải đầu vào t ơng tự cần biến đổi từ đến 4V Vref/2 đợc nối với +2V Bảng biểu diễn dải điện áp Vin đầu vào Vref/2 khác Quan hệ điện áp Vref/2 với Vin Vref/ 2(V) Hở *( hc 2,5V) 2.0 1.5 1.28 1.0 0.5 Vin(V) ®Õn ®Õn ®Õn ®Õn 2.56 ®Õn ®Õn KÝch thíc bíc (mV) 5/255 = 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ë th× đ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 i) D0 - D7 D0 - D7 chân liệu số (D7 lµ bit cao nhÊt MSB vµ D0 lµ bit thấp LSB) Các 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 đa xuống mức thấp Để tính điện áp đầu ta cã thĨ sư dơng c«ng thøc sau: Dout = V in kich thuoc buoc Đề tài: Voltmet điện tử sử dụng cổng nối tiếp Trang Khoa §iƯn Tư - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng Dout đầu liệu số (dạng thập phân) Vin điện áp đầu vào tơng tự kích thớc bớc (độ phân dải) thay đổi nhỏ đợc tính (2ìVref/2) chia cho 255 ADC bit Từ trình bày trên, tóm tắt bớc ADC0804 thực chuyển đổi liệu là: Bật CS = gửi xung thấp lên cao tới chân WR để bắt đầu chuyển đổi Duy trì kiểm tra chân INTR Nếu INTR xuống thấp việc chuyển đổi đợc hoµn tÊt vµ cã thĨ chun sang bíc tiÕp theo Nếu INTR mức cao tiếp tục thăm dò xuống thấp Sau chân INTR xuống thấp, bật CS = gửi xung cao-xuốngthấp đến chân RD để nhận liệu từ chip ADC0804 Phần III Sơ Đồ Mạch Nguyên lý Đề tài: Voltmet điện tử sử dụng cổng nối tiếp Trang Khoa Điện Tử - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng VCC R8 10K R9 10K U1 39 38 37 36 35 34 33 32 VCC 19 R2 10K 10 C LKR C L K IN CS AGN D GND -IN C8 150pF + IN V C C /V R E F V R E F /2 V IN 20 U3 D D D D D D D D B0 B1 B2 B3 B4 B5 B6 B7 RD W R IN T R 18 17 16 15 14 13 12 11 D D D D D D D D RD W R IN T R D D D D D D D D 7 19 18 Y1 P 0 /A D P /A D P /A D P /A D P /A D P /A D P /A D P /A D P P 1 P P P P P P XTA L1 XTA L2 P /A P /A P 2 /A P /A 1 P /A P /A P /A P /A P /R XD P /T XD P /IN T P 3 /IN T P /T P /T P /W R P /R D A L E /P R O G PSEN VCC AD C 0804 31 RST E A /V P P T V 21 22 23 24 25 26 27 28 RX TX 10 11 12 13 14 15 16 17 IN T R W R RD 30 29 VCC 1 M h z C1 33P J1 C3 C2 33P T25V A T89C 51 10uF C4 10uF SW RESET R6 47K C ON N JAC K PW R SW V IN R5 2 K C C C C 1+ 12+ 2- R 2O U T T2IN T1O U T R IN R 1O U T T1IN V+ VCC VGND R IN T2O U T 16 15 VCC C9 2 u F /1 V VCC R7 D1 220 LED Sơ đồ mạch in ti: Voltmet điện tử sử dụng cổng nối tiếp 10 VCC C7 10uF P1 COM1 C 10 104 J2 S W R O T A R Y P -3 W C6 10uF M A X232 T V T25V 10 14 13 12 11 CON2 R3 10K C5 10uF RX TX R1 10K 10K R4 U2 Trang Khoa §iƯn Tư - §HCN Hà Nội GVHD: Vũ Thị Thu Hơng Giao diện chơng tr×nh Đề tài: Voltmet điện tử sử dụng cổng nối tip 11 Trang Khoa Điện Tử - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng Lập trình Lập trình cho vi ®iỊu khiĨn #include #include unsigned long x,volt; sbit INTR_ADC = P3^3; sbit WR_ADC = P3^4; sbit RD_ADC = P3^5; sbit t1 = P2^0; Đề tài: Voltmet điện tử sử dụng cổng nối tiếp 12 Trang Khoa §iƯn Tư - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng sbit t2 = P2^1; //cac chuong trinh //tao tre ngan void tre(unsigned char t) { unsigned char i; for(i=0;i=0; j ) //gui phan tu cua mang { putchar(M[j]+ 0x30); //gui cac phan tu cua mang len may tinh } if(t1 == 0) putchar('A'); if(t2 == 0) putchar('B'); } ////////////////////////////////////////// // chuong trinh chinh void main() { unsigned long s; unsigned int dem; SCON=0x52; TMOD=0x20; TH1=TL1=-3; TR1=1; RD_ADC = 0; WR_ADC = 1; //port noi tiep che //timer mode //tao toc baud 9600 //cho phep co the doc du lieu tu ADC moi luc //dat chan ADC o muc cao Đề tài: Voltmet điện tử sử dụng cổng nối tiếp 13 Trang Khoa §iƯn Tư - §HCN Hà Nội INTR_ADC = 1; GVHD: Vũ Thị Thu Hơng //dat INT o muc cao while(1) { for (dem=0;dem Then Line (array_x(counter1 - 1), array_y(counter1 - 1))-(array_x(counter1), array_y(counter1)), &H8000& End If If counter1 >= 150 Then xoa_manhinh End If End Sub Public Sub xoa_manhinh() Dim i As Integer Dim k As Integer k = counter1 For i = To k X1 = array_x(i) Y1 = array_y(i) Đề tài: Voltmet điện tử sử dụng cổng nối tiếp 17 Trang Khoa Điện Tử - ĐHCN Hà Nội GVHD: Vũ Thị Thu Hơng Circle (X1, Y1), 20, &H0 If i > Then Line (array_x(i - 1), array_y(i - 1))-(array_x(i), array_y(i)), &H0 End If Next counter1 = X1 = 2760 End Sub Private Sub Timer2_Timer() Shape3.FillStyle = - Shape3.FillStyle End Sub Private Sub Timer3_Timer() Dim a As String Dim B As String a = Label50.Caption a = Mid(a, 2) & Left(a, 1) Label50.Caption = a B = Label51.Caption B = Mid(B, 2) & Left(B, 1) Label51.Caption = B End Sub Đề tài: Voltmet điện tử sử dụng cổng nối tiếp 18 Trang

Ngày đăng: 16/05/2016, 21:03

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