Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
328 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ KHOA ĐIỆN TỬ TỰ ĐỘNG TIỂU LUẬN MÔN ĐO LƯỜNG LỚP : NCDT2ALT HỌ & TÊN SINH VIÊN MSSV ĐỀ TÀI CÂU 1) Tìm hiểu card mở rộng CÂU 2) Thiết kế vẽ sơ đồ mạch, phương pháp làm giả thuật cho mạch GTMT CÂU 3) Sưu tập lệnh VB6 CÂU 1) Tìm hiểu card mở rộng PCI 1711 PCI-1711 card đo lường - điều khiển giao tiếp với máy tính thơng qua rảnh cắm PCI, công ty Advantech sản suất Thu thập nâng cao tính điều khiển từ Advantech 12-bit, 100 kHz PCI-bus Multi-function Card 12-bit, 100 kHz PCI-bus chức Multi-Card Các PCI-1711 đa chức thu thập liệu thẻ cho bus PCI Thẻ cung cấp nhiều đo lường kiểm tra Model PCI-1711 cung cấp 16 12-bit kết thúc kênh A đầu vào D /, 16 kênh đầu vào kỹ thuật số, 16 kênh đầu kỹ thuật số, hai kênh 12-bit đầu tương tự, 16-bit hẹn / truy cập với thời gian sở 10 MHz Thẻ cung cấp FIFO on-board (đầu tiên đầu ra) nhớ đệm lưu trữ lên đến 1K A / mẫu D Thẻ cung cấp truy cập lập trình để tạo kích hoạt người tập dượt cho A chuyển đổi D Các chip truy cập 82C54 tương đương, bao gồm ba đếm 16-bit đồng hồ 10 MHz Một truy cập sử dụng kiện truy cập cho đếm kiện đến từ kênh đầu vào Hai đứa cascaded với để thực đếm thời gian 32-bit cho kích hoạt người tập dượt Các PCL-10.168-2 cáp che chắn thiết kế đặc biệt để sử dụng với thẻ để giảm tiếng ồn đường tín hiệu analog dây tất cặp xoắn, đường dây kỹ thuật số tương tự che chắn cách riêng biệt, cung cấp tối thiểu nói chuyện qua tín hiệu bảo vệ tốt chống lại EMI / vấn đề EMC .Model ADAM -3.968 thiết bị đầu cuối nối dây mà pin cáp 68-pin để khối thiết bị đầu cuối để lắp đặt thuận tiện Tính § 16 đơn đầu vào analog kết thúc § 12-bit A / D chuyển đổi, với lên đến 100 kHz tỷ lệ lấy mẫu § lập trình cho kênh đầu vào § tự động kênh / đạt quét § On-board 1K mẫu đệm FIFO § Hai 12-bit đầu kênh analog (Chỉ cho PCI-1711) § 16 kỹ thuật số đầu vào 16 đầu kỹ thuật số § lập trình người tập dượt / truy cập Introduction PCI-1711 and PCI-1711L are powerful, but low-cost multifunction cards for the PCI bus PCI-1711 comes with analog output channels, while the PCI1711L doesn’t Thus, PCI-1711L represents a cost saver for those that not need analog output Specifications Analog Input Channels 16 single-ended Resolution 12 bits Max Sampling Rate 100 kS/s FIFO Size 1,024 samples Overvoltage Protection 30 Vp-p Input Impedance MW/5 pF Sampling Modes Software, onboard programmable pacer, or external Input Range (V, software programmable) Bipolar ± ± ± ± ± 10 2.5 1.2 0.62 5 0 Accuracy (% of 0 1 2 FSR ±1LSB) Analog Output (PCI-1711 only) Channels Resolution 12 bits Output Rate Static update Output Range (V, software programmable) Internal Unipolar ~ +5, Reference ~ +10 ~ +x V @ -x V (External Reference 10 ≤ x ≤ 10) Slew Rate 11 V/µs Driving Capability mA Output Impedance 0.81 W Operation Mode Software polling Accuracy INLE: ±1 LSB DNLE: ±1 LSB Digital Inputs Channels 16 Compatibility V/TTL Input Voltage Logic 0: 0.8 V max Logic 1: 2.0 V Digital Outputs Channels 16 Compatibility V/TTL Output Voltage Logic 0: 0.8 V Logic 1: 2.0 V Output Capability Sink: 8.0 mA @ 0.8 V Source: -0.4 mA @ 2.0 V Pacer/Counter Channels Resolution 16 bits Compatibility V/TTL Max Input Frequency 10 MHz Reference Clock Internal: 10 MHz General Bus Type PCI V2.2 I/O Connector x 68-pin SCSI female connector Dimensions (L x H) 175 x 100 mm (6.9" x 3.9") Power Consumption PCI-1711 Typical: +5 V @ 850 mA Max: +5 V @ 1.0 A PCI-1711L Typical: +5 V @ 700 mA Max: +5 V @ 1.0 A Operating Temperature ~ 60° C (32 ~ 140° F) (refer to IEC 68-2-1, 2) Storage Temperature -20 ~ 70° C (-4 ~ 158° F) Storage Humidity ~ 95% RH non-condensing (refer to IEC 68-2-3) Ordering Information PCI-1711 Entry-level 100 kS/s, 12-bit Multifunction Card PCI-1711L Entry-level 100 kS/s, 12-bit Multi Card w/o AO PCLD-8710 DIN-rail Wiring Board w/ CJC PCL-10168-1 68-pin SCSI Shielded Cable, m PCL-10168-2 68-pin SCSI Shielded Cable, m ADAM-3968 68-pin DIN-rail SCSI Wiring Board CÂU 3) Sưu tập lệnh VB6 I CÁC PHÁT BIỂU ĐIỀU KHIỂN a Cấu trúc chọn lựa IF : IF < Biểu thức Logic điều kiện> THEN ‘Khi điều kiện ‘Nội dụng câu lệnh cần thực ELSE ‘Khi điều kiện sai ‘Nội dụng câu lệnh cần thực END IF - Trong câu lệnh không thiết phải sử dụng ELSE, bỏ qua tùy vào mục đích b Cấu trúc SELECT CASE : SELECT CASE CASE CASE … CASE CASE ELSE ‘Khi tất giá trị không ‘Nội dung lệnh cần thực END SELECT - Tương tự IF câu lệnh không thiết phải sử dụng CASE ELSE, bỏ qua tùy vào mục đích II CÁC CẤU TRÚC LẶP : a Cấu trúc DO WHILE LOOP : DO WHILE ‘Các câu lệnh muốn thực thi biểu thức điều kiện LOOP ‘Quay DO WHILE để kiểm tra biểu thức điều kiện - Khi VB thực vòng lặp này, kiểm tra biểu thức điều kiện Nếu Sai, dừng lại vịng lặp thực câu lệnh cịn thực lệnh bên Vậy cấu trúc DO WHILE… LOOP thực câu lệnh bên điều kiện b Cấu trúc DO … LOOP WHILE : DO ‘Các câu lệnh thực thi LOOP WHILE ‘Quay DO điều kiện - Khi VB thực vòng lặp này, thực khối lệnh bên ngai Sau thực kiểm tra điều kiện Nếu quay lại cịn sai dừng vịng lặp c Cấu trúc DO … LOOP UNTIL : DO ‘Các câu lệnh thực thi LOOP UNTIL ‘Quay DO điều kiện sai - Giống DO … LOOP WHILE khỏi vịng lặp điều kiện Đúng d Cấu trúc FOR … NEXT FOR TO [STEP khoảng tăng] ‘ Phần lệnh thực thi biến chưa đạt giá trị cuối NEXT Biến (Phần Step có không, VB ngầm hiểu +1) - Cấu trúc lặp với số lần biết trước, lặp từ Giá trị đầu đến giá trị cuối (giá trị đầu lớn giá trị cuối step str = 10 Mid (string, start as Long, length) ' trích từ tham số 1(string) chuỗi vị trí bắt đầu xác định tham số 2(start), với số ký tự qui định tham số 3(length) Nếu bỏ wa tham số length hàm Mid trích đến hết chuỗi VD: str = Mid ("caulacboVB", 1, 8) -> str = "caulacbo" InStr (start, string1, string2, compare) ' trả vị trí bắt đầu chuỗi cần tìm chuỗi mẹ tham số 1(start) xác định vị trí bắt đầu tìm, tham sơ 2(string1) chuỗi mẹ, tham số 3(string2) chuỗi cần tìm, tham số 4(compare) mặc định so sánh nhạy ký tự Khi bỏ wa tham số thứ vị trí bắt đầu tìm mặc định VD: pos = InStr ("caulacboVB", "VB") -> pos = InStrRev (StringCheck as string, StringMatch as string, Start as Long, Compare) ' chức InStr InStrRev hoạt động ngược lại từ cuối chuỗi cú pháp khác Cả hai hàm hàm tìm kiếm nhạy ký tự nên cần ý chữ thường chữ HOA InStrRev thường kết hơp với Mid để tách tên File khỏi đường dẫn tên mở rộng VD: PathFile = "C:\temp\001.tmp" Pos = InStrRev (pathFile, "\") PathFile = Mid (PathFile, Pos + 1) Pos = InStrRev (PathFile, ".") PathFile = Mid (PathFile, 1, Pos - 1) ->PathFile = "001" Left (String, Length as Long) ' trích từ đầu chuỗi tham số 1(String) với số lượng xác định tham số 2(Length) VD: str = Left ("caulacboVB", 6) -> str = "caulac" Right (String, Length as Long) ' Left trích ngược từ cuối chuỗi Replace (Expression as string, Find as string, Replace as string, start, count, compare) ' tìm tham số thứ 1(Expression) chuỗi xác định tham số 2(Find) thay chuỗi đặt tham số 3(Replace) Ba tham số lại tùy chọn Start qui định vị trí bắt đầu tìm chuỗi cần thay, bỏ wa mặc định la Count qui định số lần thay chuỗi, bỏ wa mặc định Replace tìm thay hết chuỗi VD: str = "bcbcbc" tmp = Replace (str, "b", "a") -> str = "acacac" tmp = Replace (str, "b", "a", 2) -> str = "cacac" tmp = Replace (str, "b", "a", 1, 1) -> str = "acbcbc" StrComp (String1, String2, Compare) ' dùng để so sánh chuỗi Trị trả về: (String1 < String2) = -1; (String1 = String2) = 0; (String1 > String2) = Like ' so sánh chuỗi cho phép sử dụng biệt ngữ ( dùng ký tự đại diện Dos) trị trả = True tương hợp VD: "abcd" Like "*bcd" = True "abcd" Like "a?cd" = True "a1cd" Like "a#cd" = True Chú ý hàm Like mặc định hàm nhạy ký tự, theo thiết lập Option Compare form module Chr(charcode as Long) ' Chuyển mã Ascii thành ký tự VD: MyChar = Chr(65) ' Returns A MyChar = Chr(97) ' Returns a MyChar = Chr(62) ' Returns > MyChar = Chr(37) ' Returns % Asc(String as String) ' trả mã Ascii ký tự VD: Asc ("a") = 65 ChrW(charcode) ' Chuyển mã Ascii thành ký tự (Hỗ trợ Unicode) VD: ChrW(&H1EC7) = “ệ” AscW (string) ' Chuyển ký tự thành mã Ascii (hỗ trợ Unicode) VD: AscW(“ệ”) = 7879 = H1EC7 LCase(String) ' chuyển đổi chuỗi sang chữ in thường UCase (String) ' ngược với LCase Join (SourceArray, Delimiter) ' tạo chuỗi từ mảng chuỗi (SourceArray) với phần tử phân định tham số Delimiter VD: Arr (0) = "a" Arr (1) = "b" Arr (2)= "c" Print Join (Arr, " ") = "a b c" Split (Expression as String, Delimiter, Count, Compare) ' tạo mảng chuỗi từ chuỗi (Expression) Đặt tham số Delimiter để chuyên biệt chỗ ngắt, bỏ wa tham số mặc định Split tách khoảng trống chuỗi Tham số Count qui định số lần tách Ba tham số cuối tùy chọn VD: Dim str as string, Arr as Variant str = "cau lac bo vb" Arr = Split (str) ' dùng For duyệt mảng Arr cho : Arr ( ) = "cau"; Arr ( ) = "lac" Arr ( ) = "vb" Arr = Split (str, "a") -> Arr (0) = "c"; Arr (1) = "u l"; Arr (2) = "c bo vb" Arr = Split (str, " ", 2) -> Arr (0) = "cau"; Arr(1) = "lac bo vb" Filter (sourcearray, match [, include [, compare]]) ' Lọc mảng sourcesrray với giá trị lọc match ; include: Lọc đảo (True False) ; compare: rõ kiểu liệu để so sánh trình lọc Dùng cho tham số compare vbUseCompareOption = –1 : Chế độ tùy chọn, VB tự động lựa lọai liệu thích hợp vbBinaryCompare = : So sánh nhị phân vbTextCompare = : So sánh chuỗi vbDatabaseCompare = : So sánh liệu VD: Dim selNames() As String Dim Names(1 To 5) As String Names(1) = "A" Names(2) = "B" Names(3) = "C" Names(4) = "D" Names(5) = "E" selNames = Filter(Names, "A") ' Returns "A" selNames = Filter(Names, "B", False) 'Returns "A" , "C", "D", "E" StrReverse(expression as String) ' Đảo chuỗi expression VD: StrReverse("1234567") ' Returns "7654321" Các lệnh hàm xử lý thư mục, tập tin VB có lệnh tương tác trực tiếp với hệ điều hành: ChDrive (Drive as String) ' thay đổi ổ đĩa đăng nhập hệ điều hành VD: ChDrive ("D:\") ChDir (Path as String) ' thay đổi thư mục hành VD: ChDir ("C:\Windows\Temp") MkDir (Path as String) ' tạo thư mục VD: MkDir ("C:\MyDir") ' tạo thư mục MyDir ổ C RmDir ("Path as String") ' loại bỏ thư mục VD: RmDir ("C:\MyDir") Name [Source] As [Dest] ' đổi tên di chuyển tập tin VD: Name "C:\myFile.txt" As "D:\FileChua.txt" move tập tin myFile.txt từ C:\ đến D:\ với tên mới: FileChua.txt Kill (PathName as String) ' xoá tập tin với tham số PathName chấp nhận ký tự đại diên (như Dos) VD: Kill ("C:\*.txt") xố tất tập tin có phần mở rộng txt thư mục gốc ổ C Ôn lại chút khái niệm "hiện hành" có từ thời Dos để hiểu rõ lệnh Vb thực chúng mạnh Ví dụ file thực thi bạn nằm "C:\MyDir\MyFile.exe" lệnh MkDir ("NewDir") tạo Path: "C:\MyDir\NewDir" tức thư mục NewDir nằm cấp với MyFile.exe Nhưng trước có câu lệnh ChDir ("C:\Windows") lệnh tạo Path: "C:\Windows\NewDir" Tương tự với lệnh ChDrive Quan trọng bạn phải biết "mình đâu?" khơng với câu lệnh không rõ Path: Kill (*.*) bụp File khơng mong muốn trước xài ChDir mà quên CurDir (Drive) ' trả chuỗi với tên đầy đủ ổ đĩa hành tham số Drive để trống ( ) VD: CurDir ( ) -> tên ổ đĩa hành CurDir ( "D") -> tên đầy đủ "D:\" CurDir ("X") -> báo lỗi hệ thống tới ổ thứ X Dir (PathName, Attributes) ' tìm kiếm tập tin với đường dẫn đặt tham số Tham số 2(Attributs) tùy chọn để chuyên biệt thuộc tính tìm kiếm Mặc định la vbNormal VD: tmp = Dir ("C:\boot.ini") -> tmp = "" tmp = Dir ("C:\boot.ini", vbHidden) -> tmp = "boot.ini" FileCopy (Source as String, Destination as String) ' chép tập tin từ đường dẫn nguồn (Source) đến đường dẫn khác (Destination) VD: Filecopy "C:\Config.sys", "D:\Config.sys" Filelen (PathNam As String) As Long ' trả kích thước tập tin FileDateTime (PathName as string) ' trả ngày tháng thời gian tập tin tạo chỉnh sữa lần gần VD: Msgbox FileDateTime ("C:\Config.sys") GetAttr (PathName as String) as Integer ' trả số nguyên trị thuộc tính File Các thuộc tính gồm: vbNormal = vbReadOnly = vbHiden = vbSystem = vbVolume = vbDirectory = 16 vbArchive = 32 VD: GetAttr "C:\boot.ini" = 35 (file Boot.ini mang thuộc tính sau: ReadOnly(1) + Hiden(2) + Archive(32) SetAttr (PathName as String, Attributes as vbFileAttribute) ' Xác lập thông tin thuộc tính File Sử dụng thuộc tính giá trị bảng cho tham số Attributes VD: SetAttr "C:\Boot.ini, 0" -> xác lập file boot.ini mang thuộc tính Normal SetAttr "C:\Boot.ini,3" -> xác lập boot.ini mang thuộc tính đọc ẩn FreeFile ' trả số integer số (ID) để HDH theo dõi quản lý file mở (Open) Dùng biến nguyên để lưu giá trị dùng cho cuôc gọi lệnh Open (file) Khi ta khơng cần quan tâm đến số(ID) FreeFile theo dõi cung cấp cho ta số(ID) chưa dùng VD: Dim Filenum# FileNum = FreeFile Open [PathName] For Output As #Filenum Open [PathName as String] For [Mode] As [ID File] ' Mỗi thấy lệnh Open, VB sẵn sàng cho thao tác đọc ghi lên File cung cấp tham số [PathName] Có năm chế độ mở tập tin đặt tham số [Mode], [ID File] dĩ nhiên số tập tin mở Các dạng thức lệnh Open: Open [Pathname] For Input As Filenum ' mở File đọc thông tin, không ghi lên Open [PathName] For Output As Filenum ' mở File để xuất thông tin Khi mở theo dạng thông tin cũ File bị Open [PathName] For Append As Filenum ' mở File để đọc ghi tiếp lên Open [PathName] For Random As Filenum ' mở truy cập ngẫu nhiên ghi trường File (phải biết cấu trúc ghi) Open [PathName] For Binary As Filenum ' đọc ghi theo Byte Đây dạng tổng quát linh hoạt Input [Number, #Filenum] ' đọc nội dung File với số lượng xác định tham số Number VD: Str = Input (10, #Filenum) ' đọc 10 ký tự vào biến Str Dạng khác Input: Input [#Filenum, Str] ' biến Str thường dạng Variant Line Input [#FileNum, Str] ' đọc thông tin theo dòng vào biến Str Thường kết hợp với hàm EOF để lấy hết thông tin EOF (Filenum) ' trả vị trí chấm dứt File mở VD: Do While Not EOF (Filenum) ' lập end of file Line Input #Filenum, Str ' đọc dòng vào biến Str Loop LOF (Filenum) ' trả kích thước File mở VD: Str = Input (LOF(Filenum), #Filenum) ' lấy hết nội dung File (khơng nên sử dụng với File có kích thước vài Mb bị lỗi "out of memory") Write [#Filenum, Expression] ' ghi lên File VD: Write #FileNum, "12345" -> "12345" Write #Filenum, 12345 ->12345 Print [#Filenum, Expression] ' làm việc xác Print lên Form VD: Print #Filenum, 123; 456 -> 123 456 Get [#Filenum, position, ByteArray] ' lấy thông tin từ tập tin mở theo Binary vị trí xác định Position lưu vào ByteArray Số byte lấy tùy thuộc vào kích thước mảng ByteArray Mỗi lấy byte trỏ tập tin tự động chuyển tới vị trí byte VD: Dim Str as String * Get #Filenum, 3, Str -> lấy byte byte thứ lưu vào Str (nếu có câu lệnh Get mà tham số Position bỏ trống, vị trí bắt đầu lấy byte thứ 8) Loc (#Filenum) ' Trả vị trí byte đọc/ghi tập tin mở Seek [#Filenum, Position] ' dịch chuyển trỏ tập tin đến vị trí qui định tham số Position VD: Seek #Filenum, Get #Filenum, , Str -> vị trí lấy bắt đầu byte thứ Seek (#Filenum) ' trả vị trí trỏ tập tin Put [#Filenum, Position, ByteArray] ' đặt nội dung mảng ByteArray vào vị trí byte thứ[Position] Lệnh Put se ghi đè lên thứ dùng cho truy cập Random Binary VD: Put #filenum, , Str -> ghi byte bắt đầu vị trí byte thứ Reset ' Đóng tất tập tin mở lệnh Open Mã: Chọn tất Option Explicit Private Sub Form_Load() Dim FileNumber For FileNumber = To 5 Open "TEST" & FileNumber For Output As #FileNumber ' Mở file Write #FileNumber, "Hello World" ' Ghi liệu vào file Next FileNumber Reset ' Đóng file cập nhật liệu vào file End Sub Close (#Filenum) ' Đóng tập tin mở lệnh Open Lock [#Filenum, Expression] ' khố tập tin khơng cho người khác truy cập App bạn mở Tham số thứ hai chun biệt vị trí khố Nếu bỏ qua tham số tùy chọn này, lệnh Lock khố tồn tập tin Đối với tập tin mở theo truy cập lệnh Lock khố tồn tập tin khoảng tham số qui định VD: Lock #Filenum, To 100 -> khoá 100 byte từ byte thứ Unlock [#Filenum, Expression] ' mở khoá tập tin, tham số sử dụng Lock Chú ý: cần bảo đảm loại bỏ tất khoá với câu lệnh Unlock tương ứng trước đóng tập tin khỏi chương trình(các đối số phải tương hợp xác) Nếu khơng tập tin bị rối loạn Để điều khiển chia tập tin vào thời gian bạn mở tập tin Có thể dùng câu lệnh tổng quát lệnh Open Cú pháp: Open PathName [For mode] [Access access] [Lock] As #Filenum [Len=reclength] ' đó: PathName chuỗi chứa đường dẫn đến tập tin Mode từ khoá chuyên biệt chế độ tập tin Input, Append, Random Access từ khoá chuyên biệt thao tác phép tập tin mở Có ba thao tác: Read, Write, ReadWrite VD:Open PathName For Binary Access Read As #Filenum > cho phép bạn đọc không cho phép thực thay đổi tập tin Lock từ khoá chuyên biệt thao tác phép tập tin mở trình khác Khác với Access : điều khiển cách thức chương trình bạn làm việc với tập tin Với từ khoá Lock có bốn khả năng: 1- [Shared] q trình khác đọc viết vào tập tin chương trình bạn làm việc với tập tin 2- [LockRead] chương trình khác khơng thể mở để đọc tập tin, chương trình bạn làm việc với tập tin 3- [LockWrite] khơng thể mở để viết lên tập tin chương trình bạn làm việc với tập tin 4- [LockReadWrite] chương trình khác khơng thể làm việc với tập tin chương trình bạn làm việc với tập tin VD: Open PathName For binary Access Lock Read #Filenum -> ngăn chận chương trình khác sử dụng tập tin bạn làm việc với tập tin Reclength số nguyên từ đến 32767 Đối tập tin mở chế độ Random số đưa chiều dài ghi Đối với tập tin chuỗi thứ tự, giá trị số lượng ký tự đươc đệm hệ điều hành CÂU 2) Thiết kế vẽ sơ đồ mạch, phương pháp làm giả thuật cho mạch GTMT: Mô tả chương trình: dùng các vi mạch đo nhiệt độ, ADC, để đo nhiệt độ sau đó hiển thị máy tính Trên giao diện có một ô để đặt nhiệt độ giới hạn, nếu quá nhiệt độ này thì tắt bóng đèn 220VAC, nếu nhiệt độ thấp thì bật đèn Khối mạch cảm biến biến đổi ADC: Sơ đồ nguyên lý: +5V U 13 U VS+ 26 27 28 VO U T G N D C 10uf L M /T O LM35 Precision Centigrade Temperature +5V Sensors R 10 2 2 14 4 /S O U 12B 10K U 12A D D D D D D D D EO C C LK A A A A O 11 +5V R EF+ 12 +5V 4 /S O 14 +5V IN IN IN IN IN IN IN IN LE E STAR T R EFG N D 1 1 2 J8 JU M PER 16 13 VC C 7 AD C 0809 R C 151 2k2 Hình 2: Mạch cảm biến dùng LM35 biến đổi ADC Nguyên lý hoạt động: Mạch điện hình sử dụng cảm biến đo nhiệt độ LM35 hãng NSC sản xuất, cảm biến đo nhiệt độ xác, với điện áp ngõ tĩ lệ thuận với nhiệt độ cảm biến tính độ Celius Cảm biến nhiệt độ không cần đến linh kiện mạch ngồi Do khơng cần cân chỉnh nhiệt độ khác Do tín hiệu ngỏ LM35 10mV/0C nên ngỏ Vref thiết lập 2.56V Vì ADC 0809 có bit nên giá trị tối đa 256 Ta lấy: 256 = 2.56V 10 2k2 C 33 pF C 33 pF +5V R eset + C4 10 uF R2 10k ac2 ac1 LED a bc de fg p aa cc 21 LED ab cd ef gp aa cc 21 83 LED ab cd ef gp ac2 ac1 83 LE D LED d i e n tro th a n h k P /R D P /W R P /IN T O P 3 /IN T P /T X D P /R X D 14 P /T O P /T 29 30 PSEN A LE /P R O G 19 XTA L XTA L RST A T89S 52 P /T P 1 /T -E X P P P P P P 7 +5V LED LED LED LED LED AR 2 d i e n tro th a n h k D [ ] +5V C9 + 10 uF C 11 U3 L M 78 05C /TO OUT IN u F D1 C 12 u F SW Y1 1 M H z 64 21 91 17 16 12 13 11 10 DD 00 01 DDD 000 324 D 05 DD 00 76 A D C 0809 R4 1N 4007 + C 10 470uF R7 470 VCC D7 le d d o a n - A 64 21 91 11 7 4 /S O 7 4 /S O +5V D6 le d d o a n - A D 00 D 01 DD 00 32 D 04 D 05 DD 00 76 32 33 34 35 36 37 38 39 D5 le d d o a n - A 64 19 15 P /A D P /A D P /A D P /A D P /A D P /A D P /A D P 0 /A D D4 le d d o a n - A D 00 DD 00 12 DD 00 43 D 05 DD 00 67 P /A P /A P 2 /A P /A 1 P /A P /A P /A P /A D3 le d d o a n - A J6 GND A LE OE 21 22 23 24 25 26 27 28 AR1 ab c de fg p 13 A2 GND 1)U A Sơ đồ nguyên lý: U 12B u F U2 76 42 19 51 A0 A1 C1 16 D 04 D 05 D 06 D 07 DD 00 01 DD 00 23 DD 00 45 DD 00 67 R EF- 6 ac2 ac1 STAR T C LK +5V a bc de fg p R EF+ EOC 76 42 91 25 24 23 22 D7 DD 00 01 DD 00 23 DD 00 54 DD 00 67 10 +5V 14 14 12 10K +5V C5 151 IN R6 H ead B LM35 Precision Centigrade Temperature Sensors H ead B L M /T O 31 40 GND E A / V P PV C C VOUT GND VS+ 20 U 13 ADC 0809 hoạt động với tần số khoảng 500->600 KHz Ngõ Vref không cần mắc thêm mạch phối hợp trở kháng bên ngồi trở kháng chân Vref khoảng 2.5K Ω mà ta cần mắc biển trở để điều chình +5V Hai chân START ALE ADC nối với WR RD vi điều khiển U8 +5V để diều khiển I hoạt1 động ADC 26 D 14 27 N D1 Các ngỏ 2ra12 của51 ADC ( D0, D1, D2, D3, D4J 5, D5, D6, D7 ) dùng để truyền IN D2 IN IN R 10 Q1 R 11 Q R 12 Q R 13 Q R5 C7 18 D 00 Q5 liệu từ ADC 23đến DD 34vi điều khiển IN 10uf 19 D 01 IN D 20 + V chân 23,24,25 nối GND để chọn kênh INT0 D 02 Các D 21 IN D 03 1K A 1015 1K A 1015 1K A1015 1K A1015 1k A1015 D8 LED D C in p u t 2) Sơ đồ mạch in 3) Lưu đồ giải thuật: Begin Tín hiệu từ đầu đo nhiệt độ Tạo xung điều khiên ADC: Start, Ale ADC Giải mã hiển thị End a Lưu đồ giải thuật chương trình giãi mã: Begi n Chuyển đổi BCD Lưu hàng đơn vị vào 24h Luu hàng chục vào 23h Lưu hàng trăm vào 22h End b Lưu đồ giải thuật chương trình hiển thị : Begi n Hiển thị chữ 0C Hiển thị giá trị hàng đơn vị Hiển thị giá trị hàng chục Hiển thị giá trị hàng trăm End c Chương trình: ;dùng port chứa đệm nhập liệu từ ADC 0809 ;dùng port điều khiển chọn keenhm START, ALE ADC 0809 ;dùng port xuất liệu điều khiển a, b, c, d, e, f, g ;dùng port điều khiển quét led ;========================================= ALE bit p3.7 START bit p3.6 ;========================================= org 000h cdoi: mov p3,#00h setb ALE nop nop clr ALE setb START nop nop nop nop clr START mov r7,#150 mov r6,#50 wait: lcall hienthi djnz r7,$ djnz r6,wait mov a,p2 lcall hex_bcd lcall bcd_7doan lcall hienthi ljmp cdoi ;========================================= hex_bcd: mov b,#10 div ab mov 10h,b mov b,#10 div ab mov 11h,b mov 12h,a ret ;========================================= bcd_7doan: mov dptr,#500h mov a,10h movc a,@a+dptr mov 22h,a mov a,11h movc a,@a+dptr mov 23h,a mov a,12h movc a,@a+dptr mov 24h,a mov 21h,#09ch mov 20h,#0c6h ret ;========================================= hienthi: mov r0,#20h mov a,#0feh ht: mov p0,@r0 mov p1,a lcall delay mov p1,#0ffh inc r0 rl a cjne r0,#25h,ht ret ;======================================== delay: mov 70h,#255 djnz 70h,$ ret org500h db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h end ...CÂU 1) Tìm hiểu card mở rộng CÂU 2) Thiết kế vẽ sơ đồ mạch, phương pháp l? ?m giả thuật cho mạch GTMT CÂU 3) Sưu tập l? ??nh VB6 CÂU 1) Tìm hiểu card mở rộng PCI 17 11 PCI -17 11 card đo l? ?ờng -... Software polling Accuracy INLE: ? ?1 LSB DNLE: ? ?1 LSB Digital Inputs Channels 16 Compatibility V/TTL Input Voltage Logic 0: 0.8 V max Logic 1: 2.0 V Digital Outputs Channels 16 Compatibility... § Hai 12 -bit đầu kênh analog (Chỉ cho PCI -17 11) § 16 kỹ thuật số đầu vào 16 đầu kỹ thuật số § l? ??p trình người tập dượt / truy cập Introduction PCI -17 11 and PCI -17 1 1L are powerful, but low-cost