Вы находитесь на странице: 1из 15

BO CO TH NGHIM

MN: O LNG V IU KHIN BNG MY TNH


TUN 7-8: THIT K H THNG IU KHIN NHIT

NHM THC HIN: V CNG NGUYN MI NM PU 1.1.Gii thiu: H thng iu khin nhit l mt h thng iu khin vng kn. Trong , vi iu khin 89C51 nhn nhit t t giao din Visual Basic 6 gi xung, iu khin khi cng sut (n) v cm bin LM35 kt hp vi mch ADC hi tip v vi x l gi tr tc thi ca nhit . Ngoi ra, vi x l lin tc gi gi tr nhit o c ln my tnh v th v theo di nhit ca h thng S khi ca h thng: Nhit t e
B iu khin on/off

MSSV:10314731 MSSV:10314831

Mch cng sut v n

nhit thc

1.2.S gii thut:

Cm bin

Chng trnh vi x l:
BEGIN

MAIN:
Cu hnh Port ni tip Cho php ngt Cho php ngt ni tip t NND (nhit t) l 40

MP1:
P3.7=0 : ADC c gi tr

Lu gi tr c c (port 1) vo thanh ghi A

Chuyn gi tr thanh ghi A vo byte NDDO (nhit o)

Chuyn gi tr thanh ghi A ra port ni tip

Gi chng trnh con SS

SS

Ct tm gi tr thanh ghi A

Chuyn gi tr byte NDDO vo thanh ghi A

So snh thanh ghi A vi NDD

Nhy n SS1

= P3.6=1, qut tt SS1: So snh So snh thanh ghi A vi NDD

P3.5=1, n tt

<

Nhy n TSS > CY=1 TATTB: P3.6=1, qut tt P3.5=0, n bt TSS: Phc hi gi tr thanh ghi A RET-Kt thc ctc P3.6=0, qut bt CY=0 P3.5=1, n tt Xt c CY

Nhy n TSS

Chng trnh Visual Basic:

Form load

Khai bo bin: data,nddat,nddat1,ss Ci t thng s cho th NTGraph1 Cho trc X chy theo ch thi Ci t mc nh nddat=40, ndd1=40,data=0 Ci t thng s cho cng COM Mc nh l Com1, baudrate Kim tra c li?

Nhy ti Loi1

S
M cng COM

Loi1:
Hin bng thng bo: CONG KHONG HOP LE

Kt thc s kin Form load

Nhn nt Xoa

Nhn nt Exit

Xa trng th

Thot khi chng trnh

Kt thc s kin

Nhp gi tr vo NHIET DO DAT

K t nhp vo l s

S
Nhy ti Loi2

Loi2:
Nddat1 =ndd (Ndd: gi tr textbox ndd) Kim tra: 0 nddat1200 Hin bng thng bo li: Nhap sai ( Chi duoc nhap chu so ) Nddat=ndd Nhit t khng thay i Hin bng thng bo li:

Nhap sai ( 0 >= nhiet do dat >= 200 )

Nddat1=nddat, Ndd=nddat1 Hin th gi tr nhit t mi trn textbox ndd

Kt thc s kin

Nhn nt DAT

Kim tra c li?

Loi2:

Nhy ti Loi2

S
Nddat=ndd Nddat nhn gi tr t textbox ndd Nhp k t vo ndd

Hin bng thng bo li: Nhap sai ( nhiet do dat tu 0 - 200 )

Ndd=nddat Hin th gi tr nhit t mi trn textbox ndd Xut gi tr nddat ra cng COM

Kt thc s kin

S kin ONCOMM

Xut gi tr data ra nhn nhit o V th vi x chy theo thi gian thc, y nhn gi tr data

Kim tra c li?

Nhy ti LoiDATA

S
Ly gi tr nhn t vxl nhp vo gi tr data

LoiDATA:
li kt ni?

Hin bng thng bo li:

MAT KET NOI VOI MACH DIEU KHIEN

Kt thc s kin

S
Kt thc chng trnh

S nguyn l:

Chng trnh 89c51:


$MOD51 ;DINH NGHIA CAC THONG SO RW NDD NDDO BIT EQU EQU P3.7 6 R7 ;chan cho phep doc ADC0804 ;NHIET DO DAT ;NHIET DO DO

;================= ORG JMP ORG JMP MAIN: MOV SETB MOV MOV SETB MOV MOV MOV SETB MOV MP1: CLR NOP SETB MOV MOV RW A,P1 NDDO,A RW ;doc adc A,PCON ACC.7 PCON,A IE,#80H ES SCON,#53H TMOD,#21H TH1,#(-3) TR1 NDD,#40 ;SMOD=1 ;Chuyen gia tri vao PCON ;CHO PHEP NGAT HOAT DONG |= IE#90 ;CHO PHEP NGAT NOI TIEP ;KHOI TAO PORT NOI TIEP ;KHOI DONG TIMER 1 CHE DO 8 BIT TU DONG NAP LAI ;DAT BAUD RATE 9600 ;CHO PHEP TIMER 1 HOAT DONG | 00H MAIN 23H COM ;DIEM NHAP NGAT NOI TIEP ;NHAY DEN CHUONG TRINH NGAT NOI TIEP

MOV CALL JMP

SBUF,A SS MP1

;================== COM: JB CLR RETI THU: MOV CLR RETI ;=================== SS: PUSH MOV CJNE SETB SETB JMP SS1: CJNE JC SETB CLR JMP TATTB: SETB CLR P3.6 P3.5 A,NDD,$+3 TATTB P3.5 P3.6 TSS ;tat thiet bi ;NHAY DEN TATTB KHI NDDO <= NDD ACC A,NDDO A,NDD,SS1 P3.6 P3.5 TSS NDD,SBUF RI RI,THU TI

TSS: POP RET END Chng trnh Visual Basic: Private Sub Form_Load() Dim data As String Dim nddat As Integer Dim nddat1 As Integer Dim ss As String With NTGraph1 .PlotAreaColor = vbWhite .FrameStyle = Scope ACC

;thoat so sanh

.ControlFrameColor = &HFFFFC0 .Caption = " ..:: DRAWING FROM MSCOMM ::.. " .AnnoLabelColor = blue .XLabel = "Time(s)" .YLabel = "Values" .XGridNumber = 2000 .YGridNumber = 30 .ShowGrid = False .XTime = True .ClearGraph End With nddat = 40 nddat1 = 40 data = 0 MSComm1.CommPort = 1 'chon cong com MSComm1.Settings = "9600,n,8,1" 'thiet lap cong com

MSComm1.RThreshold = 1 MSComm1.InputLen = 1 'cho phep nhan du lieu On Error GoTo Loi1 MSComm1.PortOpen = True Loi1: If Err.Number = 8002 Then MsgBox "CONG KHONG HOP LE", vbInformation, "THONG BAO" 'thong bao loi ket noi cong com End End If End Sub Private Sub cmbxoa_Click() NTGraph1.ClearGraph End Sub Private Sub cmbdat_Click() On Error GoTo Loi2 nddat = ndd Loi2: If Err.Number = 13 Then MsgBox "Nhap sai ( nhiet do dat tu 0 - 200 )", vbInformation, "THONG BAO" 'thong bao loi ket noi cong com ndd = nddat End If MSComm1.Output = Chr$(nddat) End Sub Private Sub cmbexit_Click() End End Sub Private Sub MSComm1_OnComm()

Label4.Caption = data With NTGraph1 .ElementLineColor = vbRed .AddElement For X = 0 To 1 Y = data .PlotY Y, 0 .AutoRange Next X End With On Error GoTo LoiDATA data = Asc(MSComm1.Input) LoiDATA: If Err.Number = 5 Then MsgBox "MAT KET NOI VOI MACH DIEU KHIEN" End End If End Sub Private Sub ndd_Change() On Error GoTo Loi2 nddat1 = ndd If 0 > nddat1 Or nddat1 > 200 Then MsgBox "Nhap sai ( 0 >= nhiet do dat >= 200 )", vbInformation, "THONG BAO" 'thong bao loi ket noi cong com nddat1 = nddat ndd = nddat End If Loi2: If Err.Number = 13 Then

MsgBox "Nhap sai ( Chi duoc nhap chu so )", vbInformation, "THONG BAO" 'thong bao loi ket noi cong com ndd = nddat1 End If End Sub Mt s hnh nh: Giao din chng trnh:

*Ht*

Вам также может понравиться