智能控制开关设计Word格式.docx
《智能控制开关设计Word格式.docx》由会员分享,可在线阅读,更多相关《智能控制开关设计Word格式.docx(20页珍藏版)》请在冰豆网上搜索。
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
P0口:
8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
8位双向I/O口。
引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。
P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;
P1口引脚写入“1”后,可用作输入。
在闪速编程与编程校验期间,P1口也可接收编码数据。
P2口:
带内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
引脚P3.0~P3.7为带内部上拉的双向I/0引脚。
P3口的输出缓冲器能接收20mA的灌电流;
P3口写入“1”后,内部上拉,可用输入。
P3口也可用作特殊功能口,其功能见表1。
P3口同时也可为闪速存储器编程和编程校验接收控制信号。
表1P3口特殊功能
P3口引脚
特殊功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时器0外部输入)
P3.5
T1(定时器1外部输入)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD(外部数据存储器读选通)
2DS12887时钟芯片及引脚说明
采用独立按键占用了单片机I/O口,因此在设计该系统时,为了减少单片机I/O口的使用,采用了行列式键盘,如下图2所示。
图2为行列式键盘原理图
实时控制和显示分别采用了DS12887时钟芯片和1602LCD液晶,DS12887时钟芯片可直接替换IBMAT计算机的时钟/日历与MC146818B和DS1287管脚兼容,在掉电方式下持续工作十年以上,内部包含锂电池,时钟和辅助电路系统,记量秒、分、小时、星期、日期、月、年和润年直到2100年,可用二进制或BCD码表示时间,日历和闹钟,12或24小时方式,有上下午的12小时方式等功能;
为了减小整个系统的功耗,不采用数码管作为显示器件,而用1602LCD作为来显示时间和要定时的时间,并且这两个芯片接通电源可以直接用单片机编程对它进行操作。
下图3为实时控制和显示电路原理图。
图3实时控制和显示电路原理图
3密码、时间掉电存储电路
由于系统要显示的内容比较简单,但是定时的时间设置好了,断电了之后什么都没了,再一个进入系统需要密码,并且该密码可以人为通过键盘设置,但是设置好了,断了电和设置好的时间一样会丢失,因此为了保护时间和密码,该系统就需要有断电存储电路,由于显示量不多,所以选用I2C器件AT24C02。
该存储电路如图4所示。
图4密码、时间掉电存储电路
4电源电路
为了给该数据采集系统提供一个比较稳定的工作环境,就此为该系统设计了一个稳压电源模块,电路原理如下图5所示,该电源模块5V固定输出,采用了稳压模块7805,该系列集成稳压模块具有过流、过热和调整管安全工作区保护,以防止过载而损坏。
对于整个系统的工作而言,增加了电路的可靠性能和稳定性能。
图5电源原理图
5开关控制电路
该电路采用光电耦合器件(MOC3041)进行隔离控制,MOC3041是耐压为400V的光耦器件,它的输出级由过零触发器的双向可控硅构成,它控制着主电路双向可控硅的导通与关断。
100Ω电阻与0.01uF电容组成双向可控硅保护电路,原理图如下图6所示。
图6开关控制电路
四、软件设计
本系统的软件系统主要完成修改时间、修改密码、定时通断电等功能。
在程序设计过程中,加强了部分软件抗干扰措施,以达到按键的灵活性,确保整个系统的正常运行。
系统流程图如图7所示
图7程序流程图
系统程序
FMBIT20H.0
RINGBITp1.0
PLUSBITp3.5
MINUSBITp3.4
STPBITp3.3
PWRBITP2.7
MSEQU7FH
SECNEQU7EH
MINUEQU7DH
HOUREQU7CH
BCDHEQU7BH
BCDMEQU7AH
NUMBEQU16
BUFFEQU60H
TTEQU20
ORG0000H
LJMPSTART
ORG000BH
LJMPINTT0
START:
LCALLCLEAR
LCALLINIT
MAIN:
LCALLBTBCD
LCALLDISP
JBCFM,MAINA
LCALLkey
;
JNBRING,MAIN
MOVA,SECN
SUBBA,#TT
JCMAIN
SETBRING
SETBPWR
LJMPMAIN
MAINA:
LCALLCOMP
CLEAR:
MOVR0,#7FH
MOVR7,#20H
CLEA1:
MOV@R0,#0H;
FULLZERO
DECR0
DJNZR7,CLEA1
RET
INIT:
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
MOVMS,#20;
SETBTR0
SETBEA
SETBET0
MOVSP,#30H
BTBCD:
MOVA,SECN
MOVB,#10
DIVAB
MOVBUFF,B
MOVBUFF+1,A
MOVA,MINU
MOVBUFF+2,B
MOVBUFF+3,A
SWAPA
ORLA,B
MOVBCDM,A
MOVA,HOUR
MOVBUFF+4,B
MOVBUFF+5,A
MOVBCDH,A
KEY:
MOVB,MINU
INCB
SETBSTP
JNBSTP,KEY11
SETBPLUS
JBplus,key2A
LCALLBTBCD
LCALLDDISP
JNBplus,key22;
min+
KEY2A:
SETBMINUS
JBminus,keyDD;
min-
SETBMINUS
JNBMINUS,key33;
keydd:
ljmpkeyd
KEY11:
LCALLDDISP
JNBSTP,KEY1
SJMPKEYDD
KEY22:
LJMPKEY2
key33:
ljmpkey3
key1:
MOVBUFF+2,#11h
MOVBUFF+3,#11h
MOVBUFF,#11h
MOVBUFF+1,#11h;
turnoffelseBITsecondmin
JNBplus,key5;
ADJUSTHOUR+
JNBminus,key4;
ADJUSTHOUR-
JBSTP,KEY1
SETBstp
JBstp,KEY1
key6:
LcallDDisp
lcallBTBCD
JnBSTP,KEY6
LJMPKEYD
KEY5:
lcallDDisp;
JBPLUS,KEY1
INCHOUR;
+1
CLRC
SUBBA,#24
JCKEY1
MOVHOUR,#00
LJMPKEY1
key4:
lcallDDisp
JBMINUS,KEY1
DECHOUR;
MOVHOUR,#23
key2:
ADJUSTMINU
JBPLUS,KEYD
INCMINU;
SUBBA,#60
JCKEYD
MOVMINU,#00
LJMPkeyd
key3:
JBMINUS,KEYD
DECMINU
MOVMINU,#59
keyd:
ret
----------------------------------
comp:
PUSHDPH
PUSHDPL
PUSHACC
MOVDPTR,#ALARM
MOVR6,#NUMB
COMP1:
CLRA
MOVCA,@A+DPTR
INCDPTR
CJNEA,BCDH,comp0
CLRA
CJNEA,BCDM,comp0
clrRING
clrPWR;
turnontherings
comp0:
incdptr;
pointingtonextHOUR
comp2:
DJNZR6,COMP1
compd:
POPACC
POPDPL
POPDPH
-----------------------------------
Disp:
movr0,#BUFF;
R1ISAVAILIABLE
Movr2,#06h
Movr3,#01h;
movdptr,#table
Disp1:
Mova,r3
Movp2,a
RLa
Movr3,a
Mova,@r0
movca,@a+dptr
movp0,a
Incr0
Lcalldelay
Djnzr2,disp1
Ret
table:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
db77H,7CH,39H,5EH,79H,71H,40H,00H;
tabl:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H
DB90H,88H,83H,0C6H,0A1H,86H,84H,0FFH
--------------------------------------------
DDISP:
MOVR1,#03H
DDIS1:
LCALLDISP
DJNZR1,DDIS1
delay:
MOVR7,#100
delay0:
MOVR6,#10
delay1:
DJNZR6,delay1
DJNZR7,delay0
RET
-----------------------------------------
INTT0:
PUSHpsw
Pushacc
MOVtl1,#0B0h
65536-50000=15536=3CB0H
MOVTH1,#3CH
DJNZMS,INTD
MOVMS,#14;
恢复计数值
INCSECN
CJNEA,#60,INTD;
MOVSECN,#0;
INCminu;
SETBFM;
setupflagperminute
MOVMINU,#0;
CJNEA,#24,INTD;
MOVHOUR,#00H
INTD:
POPPSW
RETI
ALARM:
DW0800H,0845H,0850H,0935H,0955H,1040H,1045H,1130H
DW1400h,1445h,1450h,1535h,1545h,1630h,1635h,1725h
END
五、结论
该智能控制开关由单片机89C51控制电路、按键与LCD显示电路和掉电存储电路以及电源电路组成,电路十分的简单,主要由51芯片编程实现,功能十分的强大,时间精度非常高,是一款比较实用的智能开关。
六、参考资料
[1]谢自美,《电子线路设计·
实验·
测试》。
华中理工大学出版社
[2]张毅坤陈善久裘雪红,《单片微型计算机原理及应用》,
西安电子科技大学出版社
[3]沈任元吴勇,《常用电子元器件手册》,机械工业出版社
[4]吴金戌沈庆阳郭庭吉,《8051单片机实践与应用》,清华大学出版社
[5]吕国芳张玉华,AT24C02在电压控制系统中的应用,
国外电子测量技术#2004年增刊
[6]陈世同,梁辉,张成,毛泽安,AT24C02在光纤陀螺测试中的应用,
第32卷第12期应用科技
[7]王念旭.DSP基础与应用系统设计[M].北京:
北京航空航天大学出版社,2000.
[8]曾繁泰,陈美金.VHDL程序设计[M].北京:
清华大学出版社,2000.
[9]李现勇.VisualC++串口通信技术与工程实践[M].北京:
人民邮电出版社,2002.
[10]闫胜利,DS12887功能简介以及在LED显示屏中的应用,
长春工程学院学报(自然科学版)2001年第2卷第2期
[11]李及.MCS-96系列单片机原理与应用[M].长春:
吉林科学出版社,1996.
[12]何立民.单片机应用技术选编[M].北京:
北京航空航天大学出版社,1997.
[13]王福瑞.单片微机测控系统设计大全[M].北京:
北京航空航天大学出版社,1999.
[14]孙涵芳.Intel16位单片机[M].北京:
北京航空航天大学出版社,1995.
[15]佟云峰,时钟芯片在单片机系统中的应用,
昆明冶金高等专科学校学报
[16]刘红,韩太林,实时日历时钟芯片DS12887与MCU-51单片机的接口技术