Ở đề tài này, chúng emlàm mô hình mạch và mô hình ngôi nhà sẽ được lắp ráp các thiết bị đèn để thêm phầntrực quan.. CHƯƠNG TRÌNH GIAO TIẾP VỚI MÁY TÍNH VB 6.0:Ở đồ án này ta sẽ làm việc
Trang 1sẽ còn nhiều hạn chế do áp lực về thời gian Chúng em rất mong sự đóng góp ý kiếncủa các thầy, cô.
Sau đây, em xin trình bày những kết quả đã đạt được Ở đề tài này, chúng emlàm mô hình mạch và mô hình ngôi nhà sẽ được lắp ráp các thiết bị đèn để thêm phầntrực quan
7.1 MÔ HÌNH NHÀ:
Trang 37.2 MÔ HÌNH MẠCH:
Trang 47.3 CHƯƠNG TRÌNH GIAO TIẾP VỚI MÁY TÍNH VB 6.0:
Ở đồ án này ta sẽ làm việc với nhiều Form, ta sẽ theo thứ tự từng Form với ý nghĩa và chương trình của nó
7.3.1 Form1:
Form 1 là form giới thiệu đề tài Đây cũng là Form đăng nhập hệ thống Người điều khiển muốn điều khiển hệ thống gõ đúng "Tên đăng nhập" và đúng "Mật khẩu", sau đó nhấn vào Button "ĐĂNG NHẬP" hoặc nhấn Enter
* Chương trình Form1:
Private Sub Command1_Click()
If (Text1.Text = "totnghiep" And Text2.Text = "05sk") Or (Text1.Text =
"TOTNGHIEP" And Text2.Text = "05SK") Then
Trang 5If (Text1.Text = "totnghiep" And Text2.Text = "05sk") Or (Text1.Text =
"TOTNGHIEP" And Text2.Text = "05SK") Then
Trang 6Form2 là Form điều khiển Ứng với "Đèn phòng khách", "Đèn phòng ngủ",
"Đèn ngoài trời" là các Button ON - OFF Ngoài ra, có Button "BẬT TẤT CẢ", "TẮTTẤT CẢ" Ở đây ta có hộp Listbox để lưu các thời điểm điều khiển Ở Form này cũngthông báo "Tình trạng cảnh báo trộm" Nếu phát hiện trộm, sẽ tự động gửi mail ởForm3
Trang 7Case "2": Labelthu.Caption = "Thứ hai"
Case "3": Labelthu.Caption = "Thứ ba"
Case "4": Labelthu.Caption = "Thứ tư"
Trang 8Case "5": Labelthu.Caption = "Thứ năm"
Case "6": Labelthu.Caption = "Thứ sáu"
Case "7": Labelthu.Caption = "Thứ bảy"
Trang 12* Chương trình Form 3:
Private Sub Form_Load()
Dim iMsg, iConf, Flds
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusername") = Text1
Flds.Item(schema & "sendpassword") = Text2
With iMsg
.From = Text3 & "<" & Text1 & ">"
Trang 13Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
End Sub
Đây là kết quả hộp mail thangloingoanseo@gmail.com nhận được mail khimạch phát hiện trộm Ngoài ra, ta có thể gửi mail cùng một lúc nhiều địa chỉ emailkhác nhau để thông báo tình trạng có trộm
7.4 CHƯƠNG TRÌNH VI ĐIỀU KHIỂN AT89C51:
Trang 14MAIN:
SETB P2.4SETB P2.5SETB P2.6SETB TB1SETB TB2SETB TB3MOV A,PCONSETB ACC.7MOV PCON,AMOV TMOD,#21HMOV IE,#91HMOV TH1,#0FAHMOV HOI_CHUONG,#0MOV SO_LAN_NHAN_PHIM,#0MOV PHIM_NHAN,#0
SETB P2.0 SETB P3.2MOV SCON,#50HSETB TR1
;************************************
EX0ISR:
SETB P2.0
Trang 15CLR P1.2LCALL DELAY2SLCALL DELAY2SMOV A,#”A”
LCALL TRUYEN_DU_LIEULCALL DELAY2S
LCALL GOI_0912262070RETI
;************************************
DIEU_KHIEN:
LAPP3:
LCALL THOI_GIAN_CHO_NHANINC SO_LAN_NHAN_PHIMLCALL NHAN_TH_DTMFMOV A,SO_LAN_NHAN_PHIMCJNE A,#1,NHAP_PASS
MOV A,PHIM_NHANCJNE A,#0D0H,THOAT_KNTB1LCALL DELAY2S
MOV P0,#0FFHMOV P0,#11110100BCLR P1.0
CLR P0.5NOPNOPSETB P0.5LCALL DELAYTMODSETB P1.0
SJMP DIEU_KHIEN
;************************************
NHAP_PASS:
CJNE A,#2,MA_TBMOV A,PHIM_NHANCJNE A,#0FCH,THOAT_KNTB1LCALL DELAY2S
LCALL THOI_GIAN_CHO_NHANLCALL NHAN_TH_DTMF
MOV A,PHIM_NHANCJNE A,#0FBH,THOAT_KNTB1LCALL DELAY2S
LCALL THOI_GIAN_CHO_NHANLCALL NHAN_TH_DTMF
MOV A,PHIM_NHANCJNE A,#0FAH,THOAT_KNTB1LCALL THBAO_TINHTRANG_TB
THONG_BAO_CHON_LAI_THIET_BI:
LCALL DELAY2SMOV P0,#0FFHMOV P0,#11111100BCLR P1.0
CLR P0.5NOP
Trang 16NOPSETB P0.5LCALL DELAYTMODSETB P1.0
LJMP DIEU_KHIEN
;************************************
THOAT_KNTB1:
LCALL DELAY2SLCALL DELAY2SLCALL DELAY2SMOV P0,#0FFHMOV P0,#11100000BCLR P1.0
CLR P0.5NOPNOPSETB P0.5LCALL DELAYTMODSETB P1.0
MOV SO_LAN_NHAN_PHIM,#0MOV PHIM_NHAN,#0
SETB P2.0LJMP LAP_MAIN
;************************************
MA_TB:
CJNE A,#3,THOAT_KNTB2LCALL DELAY2S
LCALL DELAY2SLCALL DELAY2S
;************************************
KT_MA_TB_1:
LCALL NHAN_TH_DTMFMOV A,PHIM_NHANCJNE A,#1DH,KT_MA_TB_2LCALL THOI_GIAN_CHO_NHANLCALL NHAN_TH_DTMF
MOV A,PHIM_NHAN
TB1_ON:
CJNE A,#1CH,TB1_OFFCLR P2.4
CLR TB1LJMP THOAT_KNTB
TB1_OFF:
CJNE A,#1BH,THOAT_KNTBSETB P2.4
SETB TB1LJMP THOAT_KNTB
Trang 17MOV A,PHIM_NHANCJNE A,#1AH,KT_MA_TB_3LCALL THOI_GIAN_CHO_NHANLCALL NHAN_TH_DTMF
MOV A,PHIM_NHAN
TB2_ON:
CJNE A,#0F0H,TB2_OFFCLR P2.5
CLR TB2LJMP THOAT_KNTB
TB2_OFF:
CJNE A,#0E0H,THOAT_KNTBSETB P2.5
SETB TB2LJMP THOAT_KNTB
;************************************
KT_MA_TB_3:
MOV A,PHIM_NHANCJNE A,#0D0H,BAT_TAT_CA_THIET_BILCALL THOI_GIAN_CHO_NHAN
LCALL NHAN_TH_DTMFMOV A,PHIM_NHAN
TB3_ON:
CJNE A,#0C0H,TB3_OFFCLR P2.6
CLR TB3LJMP THOAT_KNTB
TB3_OFF:
CJNE A,#0A0H,THOAT_KNTBSETB P2.6
SETB TB3LJMP THOAT_KNTB
;************************************
BAT_TAT_CA_THIET_BI:
LCALL NHAN_TH_DTMFMOV A,PHIM_NHANCJNE A,#0B0H,TAT_TAT_CA_THIET_BI CLR P2.4
CLR P2.5CLR P2.6CLR TB1CLR TB2CLR TB3LJMP THOAT_KNTB
;************************************
TAT_TAT_CA_THIET_BI:
LCALL NHAN_TH_DTMFMOV A,PHIM_NHANCJNE A,#0A0H,THOAT_KNTBSETB P2.4
SETB P2.5SETB P2.6
Trang 18SETB TB1SETB TB2SETB TB3
;************************************
THOAT_KNTB:
LCALL DELAY2SLCALL DELAY2SLCALL THBAO_TINHTRANG_TBNOP
NOPLCALL THOI_GIAN_CHO_NHANLCALL NHAN_TH_DTMF
MOV A,PHIM_NHANCJNE A,#3H,KIEMTRA_AN_SAO MOV SO_LAN_NHAN_PHIM,#2LJMP THONG_BAO_CHON_LAI_THIET_BI
KIEMTRA_AN_SAO:
CJNE A,#0DH,THOAT_KNTB MOV SO_LAN_NHAN_PHIM,#0MOV PHIM_NHAN,#0
SETB P2.0 RET
DJNZ CHO_NHAN_DU_LIEU,TIEP_TUC_CHO_NHA_PHIM RET
;************************************
NHAN_TH_DTMF:
MOV A,#0MOV A,P1ANL A,#11110000BMOV PHIM_NHAN,ARET
;************************************
SO1:
MOV R7,#1LAP0:
DJNZ R7,LAP0RET
;****************************
Trang 19MOV R7,#2LAP2:
DJNZ R7,LAP2RET
;*****************************
SO3:
MOV R7,#3LAP3:
DJNZ R7,LAP3RET
;*****************************
SO4:
MOV R7,#4LAP4:
DJNZ R7,LAP4RET
;******************************
SO5:
MOV R7,#5LAP5:
DJNZ R7,LAP5RET
;********************************
SO6:
MOV R7,#6LAP6:
DJNZ R7,LAP6RET
;********************************
SO7:
MOV R7,#7LAP7:
DJNZ R7,LAP7RET
;********************************
SO8:
MOV R7,#8LAP8:
DJNZ R7,LAP8RET
;********************************
SO9:
MOV R7,#9LAP9:
Trang 20LCALL XUNGDJNZ R7,LAP9RET
;*********************************
SO0:
MOV R7,#10LAP10:
DJNZ R7,LAP10RET
;*********************************
GOI_0912262070:
SETB P2.0LCALL DELAY2SLCALL DELAY2SCLR P2.0
LCALL DELAY2SLCALL DELAY2SLCALL SO0LCALL DELAYSSSSLCALL SO9
LCALL DELAYSSSSLCALL SO1
LCALL DELAYSSSSLCALL SO2
LCALL DELAYSSSSLCALL SO2
LCALL DELAYSSSSLCALL SO6
LCALL DELAYSSSSLCALL SO2
LCALL DELAYSSSSLCALL SO0
LCALL DELAYSSSSLCALL SO7
LCALL DELAYSSSSLCALL SO0
LCALL DELAYSSSSLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2S PHAT:
MOV P0,#0FFHMOV P0,#11111000BCLR P1.0
Trang 21CLR P0.5NOPNOPSETB P0.5LCALL DELAYTMODCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODLCALL DELAY2SSETB P1.0
SETB P2.0SETB P1.2LCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2S ;*********************************
GOI_01688782087:
SETB P2.0LCALL DELAY2SLCALL DELAY2SCLR P2.0
LCALL DELAY2SLCALL DELAY2SLCALL SO0LCALL DELAYSSSSLCALL SO1
LCALL DELAYSSSSLCALL SO6
LCALL DELAYSSSSLCALL SO8
LCALL DELAYSSSSLCALL SO8
LCALL DELAYSSSSLCALL SO7
LCALL DELAYSSSSLCALL SO8
LCALL DELAYSSSS
Trang 22LCALL SO2LCALL DELAYSSSSLCALL SO0
LCALL DELAYSSSSLCALL SO8
LCALL DELAYSSSSLCALL SO7
LCALL DELAYSSSSLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SPHAT1:
MOV P0,#0FFHMOV P0,#11111000BCLR P1.0
CLR P0.5NOPNOPSETB P0.5LCALL DELAYTMODCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODLCALL DELAY2SSETB P1.0
SETB P2.0SETB P1.2LCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SLCALL DELAY2SRET
Trang 23XUNG:
SETB P2.0MOV MS,#100
MOV R5,#250 LAP22:
DJNZ R5,LAP22 DJNZ R4,LAP11 RET
;************************************
DELAY22MS:
MOV R0,#2LAP11MS:
LCALL DELAY400USDJNZ R0,LAP11MS
;***********************************
DELAY400US:
MOV 7DH,#200DJNZ 7DH,$
Trang 24DJNZ 7FH,LAP_LAI_DELAYDJNZ R6,LOOP_DELAYRET
DELAYTMOD:
MOV R2,#250 LOOP2:
MOV TH0,#0ECH MOV TL0,#78H SETB TR0 JNB TF0,$
CLR TR0 CLR TF0 DJNZ R0,LOOP2 RET
;********************************
TRUYEN_DU_LIEU:
MOV SBUF,A YYY:JNB TI,YYY
CLR TI RET
;*******************************
NHAN_DU_LIEU:
SSS: JNB RI,SSS
MOV A,SBUFCLR RI
BAT1:
CLR P2.4 CLR TB1
Trang 25CLR P2.6CLR TB3CLR TB1CLR TB2LCALL TRUYEN_DU_LIEU
TAT_ALL:
SETB P2.4SETB P2.5SETB P2.6SETB TB3SETB TB1 SETB TB2
LCALL TRUYEN_DU_LIEUCLR P1.0
MOV P0,#0FFHMOV P0,#11101000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11110100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11111100BCLR P0.5
NOPNOP
Trang 26SETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11110100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11110000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD MOV P0,#0FFH
MOV P0,#11110000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODSETB P1.0
RET
KT_TINHTRANG_2:
MOV C,TB2ANL C,/TB3ANL C,/TB1JNC KT_TINHTRANG_3MOV A,#0BH
LCALL TRUYEN_DU_LIEUCLR P1.0
MOV P0,#0FFHMOV P0,#11101000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11110100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
MOV P0,#0FFHMOV P0,#11111100BCLR P0.5
NOP
Trang 27NOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
MOV P0,#0FFHMOV P0,#11110000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
RET
KT_TINHTRANG_3:
MOV C,TB2ANL C,TB3ANL C,/TB1JNC KT_TINHTRANG_4MOV A,#0CH
LCALL TRUYEN_DU_LIEUCLR P1.0
MOV P0,#0FFHMOV P0,#11101000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11101100B
Trang 28CLR P0.5NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11110000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
RET
KT_TINHTRANG_4:
MOV C,TB1ANL C,/TB3ANL C,/TB2JNC KT_TINHTRANG_5MOV A,#0DH
LCALL TRUYEN_DU_LIEUCLR P1.0
MOV P0,#0FFHMOV P0,#11101000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
Trang 29MOV P0,#0FFHMOV P0,#11101100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
MOV P0,#0FFHMOV P0,#11110000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
RET
KT_TINHTRANG_5:
MOV C,TB1ANL C,TB3ANL C,/TB2JNC KT_TINHTRANG_6MOV A,#0EH
LCALL TRUYEN_DU_LIEUCLR P1.0
MOV P0,#0FFHMOV P0,#11101000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100000BCLR P0.5
NOPNOPSETB P0.5
Trang 30LCALL DELAYTMOD
MOV P0,#0FFHMOV P0,#11101100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11110000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
RET
KT_TINHTRANG_6:
MOV C,TB1ANL C,TB2ANL C,/TB3JNC KT_TINHTRANG_7MOV A,#0FH
LCALL TRUYEN_DU_LIEUCLR P1.0
MOV P0,#0FFHMOV P0,#11101000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100000BCLR P0.5
NOP
Trang 31NOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11101100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11110000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
RET
KT_TINHTRANG_7:
MOV C,TB1CPL CANL C,/TB2ANL C,/TB3JNC KT_TINHTRANG_8MOV A,#10H
LCALL TRUYEN_DU_LIEUCLR P1.0
MOV P0,#0FFHMOV P0,#11101000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
Trang 32MOV P0,#0FFHMOV P0,#11100100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
MOV P0,#0FFHMOV P0,#11101100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11110000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
RET
KT_TINHTRANG_8:
MOV C,TB1ANL C,TB2ANL C,TB3JNC THBAO_TINHTRANG_TBMOV A,#11H
LCALL TRUYEN_DU_LIEUCLR P1.0
MOV P0,#0FFHMOV P0,#11101000BCLR P0.5
NOPNOP
Trang 33SETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11101100BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
MOV P0,#0FFHMOV P0,#11110000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMODMOV P0,#0FFH
MOV P0,#11100000BCLR P0.5
NOPNOPSETB P0.5LCALL DELAYTMOD
RET
THBAO_TINHTRANG_TB:
LJMP THBAO_TINHTRANG_TBRET
END.