单片机家庭防盗报警系统(系统图+原理图+电路图+GSM短信+i源程序)
1.程序初始化:
;RAM定义
BCOUNT DATA 07FH
TIMER DATA 07EH
TIMER1 DATA 07DH
TIMER2 DATA 07CH
HOURS DATA 07BH
HOURG DATA 07AH
MINUS DATA 079H
MINUG DATA 078H
SECOS DATA 077H
SECOG DATA 076H
SECO DATA 075H
MINU DATA 074H
HOUR DATA 073H
TEN DATA 072H
FLAG DATA 071H
DIN DATA 020H
DOUT DATA 021H
SLA DATA 070H
SUBA DATA 00H
ACK BIT 00H
; I/O定义
KEY BIT P3.2
CS BIT P1.2
CLK BIT P1.3
DAT BIT P1.4
SCL BIT P1.0
SDA BIT P1.1
MTD EQU 04AH
MRD EQU 058H
MRD1 EQU 063H
ORG 0000H
AJMP START
ORG 0003H ;外部中断0中断服务子程序入口地址
AJMP INTL
ORG 0013H ;外部中断1中断服务子程序入口地址
AJMP INTY
ORG 0100H
START: MOV SP,#30H
MOV P1,#11110011B ;initial I/O
MOV SLA,#0A0H ;FM24C16器件从地址
MOV SUBA,#00H ;器件子地址
CLR P2.1
MOV TMOD,#20H ;串行口初始化
MOV TH1,#0FDH
MOV TL1,#0FDH
MOV PCON,#00H
MOV SCON,#40H
SETB TR1
SETB IT0 ;INT0为1,边沿触发方式
SETB IT1 ;INT1为1,边沿触发方式
SETB EX0
SETB EX1
SETB PX1 ;INT1为高优先级
SETB EA ;开总中断
MAIN: …
AJMP MAIN ;主程序
INTL: …
RETI ;外部中断0中断服务子程序
INTY: …
RETI ;外部中断1中断服务子程序
END
2. HD7279键盘显示子程序
INTL: MOV DOUT,#15H ;读键盘指令
ACALL SEND
www.751com.cn MOV DOUT,#10100001B
ACALL SEND
MOV DOUT,#11001000B
ACALL SEND
MOV DOUT,B ;send 个位 to HD7279A
ACALL SEND
SETB CS
RETI
SEND: MOV BCOUNT,#8 ;set bit counter=8
CLR CS ;CS for lv
ACALL LDELAY ;long delay
SLOOP: MOV C,DOUT.7 ;output 1 bit
MOV DAT,C
SETB CLK ;set CLK for hv
MOV A,DOUT ;the data that will send left move
RL A
MOV DOUT,A
ACALL SDELAY ;short delay
CLR CLK ;set CLK for lv
ACALL SDELAY
DJNZ BCOUNT,SLOOP ;check 8 bit send over or else
CLR DAT ;send over, return
RET
RECV: MOV BCOUNT,#8
SETB DAT ;set (DATA) hv(input state)
ACALL LDELAY
RLOOP: SETB CLK
ACALL SDELAY
MOV A,DIN
RL A
MOV DIN,A
MOV C,DAT
MOV DIN.0,C1086
[1] [2] [3] [4] [5] [6] [7] [8] 下一页