Bài Tập Lớn Đo Và Khống Chế Nhiệt Độ Sử Dụng Cổng Com

19 239 0
Bài Tập Lớn Đo Và Khống Chế Nhiệt Độ Sử Dụng Cổng Com

Đ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

Đo khống chế nhiệt độ sử dụng cổng com PHẦN : GIỚI THIỆU I.ĐẶT VẤN ĐỀ : Để đáp ứng yêu cầu đo khống chế nhiệt độ tự động, có nhiều phương pháp để thực hiện, nghiên cửu khảo sát vi điều khiển 8051 nhóm thực nhận thấy rằng: ứng dụng vi điều khiển 8051 vào việc đo khống chế nhiệt độ tự động phương pháp tối ưu II.GIỚI HẠN ĐỀ TÀI : Với thời gian ngắn tập lớn nên nhóm đònh dừng lại việc thiết kế hệ đo nhiêt độ hiển thò nhiệt đồ thò, phát tín hiệu cảnh báo nhiệt độ vượt ngưỡng mà đặt Nhiệt độ đo giới hạn pham vi từ 00C đến 1000C Đo khống chế nhiệt độ sử dụng cổng com PHẦN II: TÌM HIỂU VỀ CÁC LINH KIỆN  CỞNG NỚI TIẾP Cởng nới tiếp sử dụng khá rợng rãi việc ghép nới với máy tính Khoảng cách trùn của cởng nới tiếp là tớt so với cởng song song Ý nghĩa các chân: Chân Kí hiệu BCD RXT TXR RTD GND DSR RTS CTS RI Chức Tín hiệu phát mang dữ liệu Nhận dữ liệu Trùn dữ liệu Dữ liệu đầu cới sẵn sàng Nới đất Dữ liệu sẵn sàng được gửi Tín hiệu u cầu gửi Tín hiệu u cầu xóa để gửi tiếp Ring indicator Thơng sớ của cởng nới tiếp: Điện ấp quy định đới với mức logic nằm khoảng từ -3V đến -12V; mức logic khoảng +3V đến +12V Tớc đợ trùn dữ liệu được quy định chuẩn gồm các tớc đợ sau: 300,600, 1200, 2400, 4800, 9600, 19200, …, 56600 baud, đợ dài cực đại của cáp nới là 15m khơng có bợ đệm Trên máy tính có cởng nới tiếp có địa chỉ là 3F8H và 2F8H Đo khống chế nhiệt độ sử dụng cổng com  Vi điều khiển 89C51 a GIỚI THIỆU : Bộ vi điều khiển viết tắt Micro-controller, mạch tích hợp chip lập trình được, dùng để điều khiển hoạt động hệ thống Theo tập lệnh người lập trình, vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian tiến hành đóng mở cấu b KHẢO SÁT BỘ VI ĐIỀU KHIỂN 8051: IC vi điều khiển 8051 thuộc họ MCS51 có đặt điểm sau : - 4kbyte ROM (được lập trình nhà sản xuất có 8051) - 128 búyt RAM - 4port I10 8bit - Hai đònh thời 16bit - Giao tiếp nối tiếp - 64KB không gian nhớ chương trình mở rộng - 64 KB không gian nhớ liệu mở rộng - xử lí luận lí (thao tác bit đơn) - 210 bit đòa hóa - nhân / chia 4µs Cấu trúc bên 8051 : Đo khống chế nhiệt độ sử dụng cổng com Phần vi điều khiển 8051 xử lí trung tâm (CPU: central processing unit ) bao gồm : - Thanh ghi tích lũy A - Thanh ghi tích lũy 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 : Prorgam Status Word) - Bốn băng ghi - Con trỏ ngăn xếp - Ngoài có nhớ chương trình, giải mã lệnh, điều khiển thời gian logic Sơ đồ chân 8051 Đo khống chế nhiệt độ sử dụng cổng com Các nhóm lệnh 8051 Tập lệnh 8051 chia thành nhóm: - Số học - Luận lý - Chuyển liệu - Chuyển điều khiển Ta không nói chi tiết tập lệnh 8051  ĐO NHIỆT ĐỘ a Các Phươg Pháp Đo Nhiệt Độ Đo nhiệt độ phương thức đo lường không điện,đo nhiệt độ chia thành nhiều dãi: + Đo nhiệt độ thấp + Đo nhiệt độ trung bình + Đo nhiệt độ cao Việc đo nhiệt độ tiến hành nhờ dụng cụ hổ trợ chuyên biệt như: + Cặp nhiệt điện + Nhiệt kế điện kế kim loại + Nhiệt điện trở kim loại + Nhiệt điện trở bán dẫn + Cảm biến thạch anh Việc sử dụng IC cảm biến nhiệt để đo nhiệt độ phương pháp thông dụng nhóm sử dụng đề tài này, nên giới thiệu IC cảm biến nhiệt b Nguyên lý hoạt động chung IC đo nhiệt độ IC đo nhiệt độ mạch tích hợp nhận tín hiệu nhiệt độ chuyển thành tín hiệu điện dạng dòng điện hay điện áp Sự tác động nhiệt độ tạo điện tích tự lổ trống chất bán dẫn Bằng phá vỡ phân tư û, bứt electron thành dạng tự di chuyển qua vùng cấu trúc mạng tinh thể tạo xuất lỗ trống Làm cho tỉ lệ điện tử tự lổ trống tăng lên theo qui luật hàm mũ với nhiệt độ Dựa vào đặc tính nhạy bán dẫn với nhiệt độ,tạo điện áp dòng điện, tỉ lệ thuận với nhiệt độ tuyệt đối.Đo tín hiệu điện ta biết giá trò nhiệt độ cần đo Đo khống chế nhiệt độ sử dụng cổng com  CHUYỂN ĐỔI TƯƠNG TỰ – SỐ a KHÁI NIỆM CHUNG Ngày việc truyền đạt tín hiệy trình điều khiển thò phần lớn thực theo phương pháp số Trong tín hiệu tự nhiên có dạng tương tự như:nhiệt độ,áp suất ,cường độ ánh sáng,tốc độ quay,tín hiệu âm thanh…Để kết nối nguồn tín hiệu tượng tự với hệ thống xử lý số người ta dùng mạch chuyển đổi tương tự sang số(ADC) nhằm biến đổi tín hiệu tương tự sang số trừơng hợp ngược lại cần biến đổi tín hiệu số sang tương tự thi dùng mạch DAC (Digital Analog Converter) b NGUYÊN TẮT THỰC HIỆN CHUYỂN ĐỔI ADC Mạch chuyển đổi tin hiệu tương tự sang số,chuyển tín hiệu ngõ vào tương tự (dòng điện hay điện áp) thành dạng mã số nhò phân có giá trò tương ứng Chuyển đổi ADC có nhiều phương pháp.Tuy nhiên,mỗi phương pháp điều có thông số khác nhau: +Độ xác chuyển đổi AD + Tốc độ chuyển đổi + Dãi biến đổi tín hiệu tương tự ngõ vào Đo khống chế nhiệt độ sử dụng cổng com  Hoạt động -Đầu tiên kích xung start để ADC hoạt động -Tại tần số xác đònh xung clock điều khiển làm thay đổi thành số nhò phân lưu trữ ghi(Register).-Số nhò phân ghi chuyển thành dạng điện áp V’a chuyển đổi DA -Bộ so sánh,so sánh V’a với điện áp ngõ vào Va Nếu V’a < Va ngõ so sánh giữ mức cao Khi V’ a > Va ngõ bọâ so sánh xuống mức thấp trình thay đổi số ghi ngưng Lúc V’ a gần Va , số ghi số cần chuyển đổi Trong đề tài ADC sử dụng ADC 0804LCD PHẦN III: THIẾT KẾ VÀ THI CÔNG III Thiết kế phân tích hoạt động khối: Bộ cảm biến: Để đo nhiệt độ xác, tất nhiên cần có đầu dò thích hợp Đầu dò cảm biến nhiệt độ có nhiệm vụ vận chuyển từ nhiệt độ qua tín hiệu điện ựa vào lý thuyết thực tế mạch cần thiết kế ta dùng phương pháp đo IC cảm biến nhiệt độ Các IC cảm biến nhiệt độ có độ xác cao, dễ tìm giá thành rẻ Một số IC LM35, loại thông dụng thò trường nay, đồng thời có đặc tính làm việc phù hợp với thiết kế chi tiết mạch a Một số tính chất LM35: - LM35 có độ biến thiên theo nhiệt độ: 10mV / 1oC - Độ xác cao, tính cảm biến nhiệt độ nhạy, nhiệt độ 25 oC có sai số không 1% Với tầm đo từ 0oC – 128oC, tín hiệu ngõ tuyến tính liên tục với thay đổi tín hiệu ngõ vào - Thông số kỹ thuật: Tiêu tán công suất thấp Dòng làm việc từ 400µA – 5mA Dòng ngược 15mA Dòng thuận 10mA Độ xác: làm việc nhiệt độ 25oC với dòng làm việc 1mA điện áp ngõ từ 2,94V – 3,04V - Đặc tính điện: Theo thông số nhà sản xuất LM35, quan hệ nhiệt độ điện áp ngõ sau: Vout = 0,01×ToK Đo khống chế nhiệt độ sử dụng cổng com = 2,73 + 0,01ToC Vậy ứng với tầm hoạt động từ 0oC – 100oC ta có biến thiên điện áp ngõ là: Ở 0oC điện áp ngõ Vout = 2,73 (V) Ở 5oC điện áp ngõ Vout = 2,78 (V) …………………………………… o Ở 100 C điện áp ngõ Vout = 3,73 (V) Tầm biến thiên điện áp tương ứng với nhiệt độ từ 0oC - 100oC 1V b Thiết kế cụ thể mạch cảm biến dùng LM35: + Sơ đồ mạch : +5V Vout LM35 VR + Tính toán chọn linh kiện: Ta có: 400µA < IR < 5mA ⇔ ⇔ − V0 < mA R − V0 − V0 < R < 400 µA 5mA 400µA < Vì: 2,73V ≤ Vo ≤ 3,73 Nên: 254 < R < 5,7 k (1) Mặt khác, theo thông số nhà sản xuất điện áp LM35 T c = 25oC, IR = 1mA Vo = 2,98 (V), ta có: 400µA < − 2,98 < 5mA R (2) Từ (1) (2): chọn R = 2,2 kΩ chọn biến trở chỉnh offset VR = 15 kΩ Thiết kế chuyển đổi ADC: 2.1 Giới thiệu ADC 0809: Bộ ADC 0809 thiết bò CMOS tích hợp với chuyển đổi từ tương tự sang số bit, chọn kênh bô logic điều khiển tương thích Bộ chuyển đổi AD bit Đo khống chế nhiệt độ sử dụng cổng com dùng phương pháp chuyển đổi xấp xỉ tiếp Bộ chọn kênh truy xuất bất kềnh ngõ vào tương tự cánh độc lập Thiết bò loại trừ khả cần thiết điều chỉnh điểm bên khả điều chỉnh tỉ số làm tròn ADC 0809 dễ dàng giao tiếp với vi xử lý * Sơ đồ chân ADC 0809: IN2 IN1 IN0 A B C ALE z-1 z-2 28 z-3 z-4 z-8 REF z-6 15 ADC0804 IN3 IN4 IN5 IN6 14 IN7 START EOC z-5 OE CLK VCC REF GND z-7 * Ý nghóa chân: IN0 đến IN7 : ngõ vào tương tự A, B, C : giải mã chọn ngõ vào -1 -8 Z đến Z : ngõ song song bit ALE : cho phép chốt đòa START : xung bắt đầu chuyển đổi CLK : xung đồng hồ REF (+): điện tham chiếu (+) REF (-) : điện tham chiếu (-) VCC : nguồn cung cấp * Các đặc điểm củaADC 0809: Độ phân giải bit Tổng sai số chưa chỉnh đònh ± ½ LSB; ± LSB Thời gian chuyển đổi: 100µs tần số 640 kHz Nguồn cung cấp + 5V Điện áp ngõ vào – 5V Tần số xung clock 10kHz – 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dàng giao tiếp với vi xử lý dùng riêng Không cần điều chỉnh zero đầy thang * Nguyên lý hoạt động: ADC 0809 có ngõ vào tương tự, ngõ bit chọn ngõ vào tương tự để chuyển đổi sang số bit Đo khống chế nhiệt độ sử dụng cổng com Các ngõ vào chọn cách giải mã Chọn ngõ vào tương tự thực nhờ chân ADDA , ADDB , ADDC bảng trạng thái sau: A 0 0 1 1 B 0 1 0 1 C 1 1 Ngõ vào chọn IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 Sau kích xung start chuyển đổi bắt đầu hoạt động cạnh xuống xung start, ngõ EOC xuống mức thấp sau khoảng xung clock (tính từ cạnh xuống xung start) Lúc bit trọng số lớn (MSB) đặt lên mức 1, tất bit lại mức 0, đồng thời tạo điện có giá trò Vref/2, điện so sánh với điện vào in + Nếu Vin > Vref/2 bit MSB mức + Nếu Vin < Vref/2 bit MSB mức Tương tự bit MSB đặt lên tạo điện có giá trò Vref/4 so sánh với điện áp ngõ vào Vin Quá trình tiếp tục xác đònh bit cuối Khi chân EOC lên mức báo cho biết kết thúc chuyển đổi Trong suốt trình chuyển đổi chân OE đặt mức 1, muốn đọc liệu chân OE xuống mức Trong suốt trình chuyển đổi có xung start tác động ADC ngưng chuyển đổi Mã N cho ngõ vào tùy ý số nguyên N= 256.(VIN − Vref ( − ) ) Vref ( + ) − Vref ( − ) Trong Vin : điện áp ngõ vào hệ so sánh Vref(+): điện áp chân REF(+) Vref(-): điện áp chân REF(-) Vin Nếu chọn Vref(-) = N = 256 V ref (+ ) - Vref(+) = Vcc = 5V đầy thang 256 Giá trò bước nhỏ LSB = = 0,0196 V/byte −1 Vậy với 256 bước Vin = 5V 10 Đo khống chế nhiệt độ sử dụng cổng com p vào lớn ADC 0809 5V • Biểu đồ thời gian ADC 0809 Max 232 11 Đo khống chế nhiệt độ sử dụng cổng com Max 232 là Ic lái điện áp, có nhiệm vụ tương thích điện áp TTL của vi điều khiển Bởì chuẩn RS232 khơng tương thích với mức logic TTL, vậy nó u cầu mợt bợ điều khiển đưởng trùn để chủn đởi mức điện áp RS232 về các mức TTL và ngược lại IC MAX232 liên kết giữa vi điều khiển và jump cởng Com của máy tính, từ đó tạo cầu nới cho việc trùn dữ liệu giữa vi điều khiển và máy tính Chức chân của MAX232: T1 in và T2 in là chân ngỏ vào phát T1 out và T2 out là chân ngỏ phát R1 in và R2 in la ngỏ vào thu R1 out và R2 out là ngỏ thu LCD 16*2 Mơ tả chi tiết các chân: +VSS: Chân nới đất cho LCD, thiết kế mạch ta nới chân này với GND của mạch điều khiển +VDD: Chân cấp nguồn cho LCD, thiết kế mạch ta nới chân này với VCC=5V của mạch điều khiển +Vee: Chân này dùng để điều chỉnh đợ tương phản của LCD +RS: Chân chọn ghi (Register select) Nới chân RS với logic “0” (GND) logic “1” (VCC) để chọn ghi + Logic “0”: Bus DB0-DB7 nới với ghi lệnh IR của LCD (ở chế đợ “ghi” - write) nới với bợ đếm địa chỉ của LCD (ở chế đợ “đọc” - read) + Logic “1”: Bus DB0-DB7 nới với ghi dữ liệu DR bên LCD +R/W: Chân chọn chế đợ đọc/ghi (Read/Write) Nới chân R/W với logic “0” để LCD hoạt đợng chế đợ ghi, nới với logic “1” để LCD chế đợ đọc +E Chân cho phép (Enable) Sau các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận có xung cho phép của chân E Phần lập trình a Lập trình cho IC 89s52 #include #include sbit WRADC = P3^6 ; sbit LED1 = P0^0; sbit LED2 = P0^3; sbit LED3 = P0^6; #define Port_adc P2 unsigned int i,n,dk,j; unsigned int adc,vadc,muccao,mucthap; char sbuff[6]; void delay_ms(unsigned int ms) { 12 Đo khống chế nhiệt độ sử dụng cổng com while(ms )for(n=0;n0)&&(sbuff[dk-1]==0xFA)&&(sbuff[dk]==0xAF)) { sbuff[0] = 0XFA; sbuff[1] = 0xAF; dk = 2; } else { dk++; if(dk>4) { if(sbuff[4]==0xAA) { muccao = sbuff[2]; mucthap = sbuff[3]; } dk = 0; } } } } void ad_convert(void) { adc = 0; Port_adc = 0xff; WRADC = 0; delay_ms(10); WRADC = 1; delay_ms(10); adc = Port_adc; } void Out(unsigned char temp) { SBUF=temp; while(!TI); 13 Đo khống chế nhiệt độ sử dụng cổng com TI = 0; } void Send_to_pc(unsigned int adata) { Out(0xDA); Out(0xAD); Out((unsigned char)(adata)); Out(0XAB); } void main() { EA = 1; ES = 1; SCON = 0x52; TMOD = 0x20; TH1 = -3; TR1 = 1; adc = 0; vadc = 0; muccao = 30; mucthap = 20; while(1) { ad_convert(); vadc = adc; Send_to_pc(vadc); LED1 = LED2 = LED3 = if(vadc > muccao)LED3 = 0; if(vadc < mucthap)LED1 = 0; if((vadc > mucthap)&&(vadc < muccao))LED2 = 0; } } c lập trình Ghép nối Private DataCom As Integer Private X, Y Private DataTemp As Integer Private Buff(6) As Integer Private Index, mucCao, mucThap As Integer Private Sub Form_Load() Timer1.Enabled = True Timer2.Enabled = False 14 Đo khống chế nhiệt độ sử dụng cổng com dothi.Scale (0, 0)-(150, 50) DataTemp = Log.AddItem "Temperatures Communication with PC by ComPort" Log.AddItem "Please connect Hardware & Power to PC" Leven dothi.Line -(0, 100 - DataTemp), vbBlue End Sub Sub Leven() Log.ListIndex = Log.ListCount - End Sub Private Sub MSComm1_OnComm() Dim DataReceive As String Dim DataCom As Long DataReceive = MSComm1.Input If (MSComm1.CommEvent = comEvReceive) And DataReceive "" Then Buff(Index) = Asc(DataReceive) Debug.Print "nhan duoc:" & Buff(Index) If Index > Then If (Buff(Index - 1) = 218) And (Buff(Index) = 173) Then Buff(0) = 218 Buff(1) = 173 Index = End If End If Index = Index + If (Index > 4) Then If (Buff(3) = &HAB) Then DataTemp = Buff(2) - 120 End If Index = End If End If End Sub Private Sub Start_Click() If MSComm1.PortOpen = False Then 15 Đo khống chế nhiệt độ sử dụng cổng com With MSComm1 RThreshold = InputLen = Settings = "9600,N,8,1" DTREnable = False CommPort = PortOpen = True End With Log.AddItem "Com Port connect " Leven dothi.Cls dothi.Line -(0, 100 - DataTemp), vbBlue Timer2.Enabled = True Timer2.Interval = 100 TimerCom.Enabled = True X=0 End If End Sub Private Sub Stop_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False Log.AddItem "ComPort Disable connect to module" Leven DataTemp = DisTemp.Caption = Timer2.Enabled = False dothi.Cls X=0 Y = 100 - DataTemp TimerCom.Enabled = False End If End Sub Private Sub TempCao_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 48 To 57, ' 0-9 & Backspace Case Else KeyAscii = End Select End Sub 16 Đo khống chế nhiệt độ sử dụng cổng com Private Sub TempThap_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 48 To 57, ' 0-9 & Backspace Case Else KeyAscii = End Select End Sub Private Sub Timer1_Timer() Timer1.Enabled = True ngaygio = Format(Now, "ddd dd/mm/yyyy" & " " & "hh:nn:ss") ' Hien thi va gio End Sub Private Sub Timer2_Timer() 'DataTemp = DataCom DisTemp.Caption = DataTemp dothi.Line -(X, 50 - DataTemp), vbRed If X = 150 Then dothi.Cls ' Xoa thi Y = DataTemp - 50 X=0 dothi.Line -(X, 50 - DataTemp), vbRed Ls1.Caption = Ls1.Caption + 15 Ls2.Caption = Ls2.Caption + 15 Ls3.Caption = Ls3.Caption + 15 Ls4.Caption = Ls4.Caption + 15 Ls5.Caption = Ls5.Caption + 15 Ls6.Caption = Ls6.Caption + 15 Ls7.Caption = Ls7.Caption + 15 Ls8.Caption = Ls8.Caption + 15 Ls9.Caption = Ls9.Caption + 15 Ls10.Caption = Ls10.Caption + 15 Ls11.Caption = Ls11.Caption + 15 Ls12.Caption = Ls12.Caption + 15 Ls13.Caption = Ls13.Caption + 15 Ls14.Caption = Ls14.Caption + 15 Ls15.Caption = Ls15.Caption + 15 End If X=X+1 End Sub 17 Đo khống chế nhiệt độ sử dụng cổng com Private Sub Exit_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End End Sub Private Sub TimerCom_Timer() mucCao = mucThap = If DataTemp > Val(TempCao.Text) Then mucCao = ElseIf Val(TempThap.Text) > DataTemp Then mucThap = End If If MSComm1.PortOpen = True Then MSComm1.Output = "@" MSComm1.Output = Chr(mucCao) MSComm1.Output = Chr(mucThap) MSComm1.Output = "#" End If End Sub 18 Đo khống chế nhiệt độ sử dụng cổng com Sơ đồ mạch 19 [...].. .Đo và khống chế nhiệt độ sử dụng cổng com p vào lớn nhất của ADC 0809 là 5V • Biểu đồ thời gian của ADC 0809 3 Max 232 11 Đo và khống chế nhiệt độ sử dụng cổng com Max 232 là Ic lái điện áp, có nhiệm vụ tương thích điện áp TTL của vi điều khiển Bởì vì chuẩn RS232 khơng... End Sub 17 Đo và khống chế nhiệt độ sử dụng cổng com Private Sub Exit_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End End Sub Private Sub TimerCom_Timer() mucCao = 0 mucThap = 0 If DataTemp > Val(TempCao.Text) Then mucCao = 1 ElseIf Val(TempThap.Text) > DataTemp Then mucThap = 1 End If If MSComm1.PortOpen = True Then MSComm1.Output = "@" MSComm1.Output = Chr(mucCao) MSComm1.Output... MSComm1.PortOpen = False Then 15 Đo và khống chế nhiệt độ sử dụng cổng com With MSComm1 RThreshold = 1 InputLen = 1 Settings = "9600,N,8,1" DTREnable = False CommPort = 1 PortOpen = True End With Log.AddItem "Com Port connect " Leven dothi.Cls dothi.Line -(0, 100 - DataTemp), vbBlue Timer2.Enabled = True Timer2.Interval = 100 TimerCom.Enabled = True X=0 End If End Sub Private Sub Stop_Click() If MSComm1.PortOpen... Then MSComm1.PortOpen = False Log.AddItem "ComPort Disable connect to module" Leven DataTemp = 0 DisTemp.Caption = 0 Timer2.Enabled = False dothi.Cls X=0 Y = 100 - DataTemp TimerCom.Enabled = False End If End Sub Private Sub TempCao_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 48 To 57, 8 ' 0-9 & Backspace Case Else KeyAscii = 0 End Select End Sub 16 Đo và khống chế nhiệt độ sử dụng cổng com. .. } c lập trình Ghép nối Private DataCom As Integer Private X, Y Private DataTemp As Integer Private Buff(6) As Integer Private Index, mucCao, mucThap As Integer Private Sub Form_Load() Timer1.Enabled = True Timer2.Enabled = False 14 Đo và khống chế nhiệt độ sử dụng cổng com dothi.Scale (0, 0)-(150, 50) DataTemp = 0 Log.AddItem "Temperatures Communication with PC by ComPort" Log.AddItem "Please connect... Val(TempThap.Text) > DataTemp Then mucThap = 1 End If If MSComm1.PortOpen = True Then MSComm1.Output = "@" MSComm1.Output = Chr(mucCao) MSComm1.Output = Chr(mucThap) MSComm1.Output = "#" End If End Sub 18 Đo và khống chế nhiệt độ sử dụng cổng com 5 Sơ đồ mạch 19 ... } } } void ad_convert(void) { adc = 0; Port_adc = 0xff; WRADC = 0; delay_ms(10); WRADC = 1; delay_ms(10); adc = Port_adc; } void Out(unsigned char temp) { SBUF=temp; while(!TI); 13 Đo và khống chế nhiệt độ sử dụng cổng com TI = 0; } void Send_to_pc(unsigned int adata) { Out(0xDA); Out(0xAD); Out((unsigned char)(adata)); Out(0XAB); } void main() { EA = 1; ES = 1; SCON = 0x52; TMOD = 0x20; TH1 = -3;... LED1 = P0^0; sbit LED2 = P0^3; sbit LED3 = P0^6; #define Port_adc P2 unsigned int i,n,dk,j; unsigned int adc,vadc,muccao,mucthap; char sbuff[6]; void delay_ms(unsigned int ms) { 12 Đo và khống chế nhiệt độ sử dụng cổng com while(ms )for(n=0;n0)&&(sbuff[dk-1]==0xFA)&&(sbuff[dk]==0xAF)) { sbuff[0] = 0XFA; sbuff[1]... Hardware & Power to PC" Leven dothi.Line -(0, 100 - DataTemp), vbBlue End Sub Sub Leven() Log.ListIndex = Log.ListCount - 1 End Sub Private Sub MSComm1_OnComm() Dim DataReceive As String Dim DataCom As Long DataReceive = MSComm1.Input If (MSComm1.CommEvent = comEvReceive) And DataReceive "" Then Buff(Index) = Asc(DataReceive) Debug.Print "nhan duoc:" & Buff(Index) If Index > 0 Then If (Buff(Index... TTL, do vậy nó u cầu mợt bợ điều khiển đưởng trùn để chủn đởi mức điện áp RS232 về các mức TTL và ngược lại IC MAX232 sẽ liên kết giữa vi điều khiển và jump cởng Com của máy tính, từ đo tạo cầu nới cho việc trùn dữ liệu giữa vi điều khiển và máy tính Chức năng chân của MAX232: T1 in và T2 in là chân ngỏ vào phát T1 out và T2 out là chân ngỏ ra phát

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

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

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

Tài liệu liên quan