智能插座程序.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能插座程序.docx

ORG 0000H LJMP MAIN ORG 000BH LJMP TIME ORG 1000HHOUR1 EQU 10hHOUR2 EQU 12hMIN1 EQU 14hMIN2 EQU 16hSEC1 EQu 18H COUNT EQU 20HNUM1 EQU 22HNUM2 EQU 24HLL4 EQU 26Hs1 bit P1.0s2 bit P1.1s3 bit P1.2s4 bit P1.3A1 EQU 36HA2 EQU 38HB1 EQU 40HB2 EQU 42HWELA bit P1.6DULA bit P1.7C1 EQU 48HC2 EQU 50HD1 EQU 52HD2 EQU 54HF1 EQU 56HE1 EQU 58HTIMEEPRO EQU 60HMAIN: MOV SP,#50H ;SP初始化MOV P3,#0FFH ;端口初始化START: MOV HOUR1,#00H ;初始化的时间变量MOV MIN1,#00HMOV SEC1,#00HMOV HOUR2,#01H ;初始化定时变量MOV MIN2,#00HMOV COUNT,#00H ;初始化计时变量MOV NUM1,#00H ;初始化按键计数变量MOV NUM2,#00HMOV TMOD,#01H ;16位计数器MOV TH0,#0D8H ;赋初值MOV TL0,#0EFHSETB ET0 ;中断允许SETB EASETB TR0 ;启动T0LOOP: MOV A,NUM2JNZ LOOP1 ;A不为0时转移LCALL DISPLAY1 ;显示当前时间LCALL KEYTIME ;调用时间调整子程序LCALL SETTIME ;调用定时设置子程序LJMP LOOPLOOP1: LCALL DISPLAY2 ;显示定时时间LCALL KEYTIME ;调用时间调整子程序LCALL SETTIME ;调用定时设置子程序LJMP LOOP;***************SETTIME PROGRAM************SETTIME: ;定时设置子程序LL1: JB S2,LL3 ;P1.1=1时转移LCALL DELAY5 ;延时5mSMSTOP1: JB S2,LL3 ;P1.1=0时转移MOV C,S2JNC MSTOP1 ;P1.1=0时转移INC NUM2 ;按键计数变量加1MOV A,NUM2CJNE A,#1H,LL2 ;判断按键计数是否为1CLR TR0 ;定时器中断关闭LL2: CJNE A,#3,LL ;判断按键计数是否为3MOV NUM2,#0 ;按键计数变量清0SETB TR0 ;定时器中断打开LL: LCALL DISPLAY2 ;显示定时时间LL3: MOV A,NUM2 ;A为0时转移JZ LL5JB S3,KK2 ;P1.2=1时转移LCALL DELAY5 ;延时5MSKK1: JB S3,KK2 ;P1.2=1时转移MOV C,S3JNC KK1 ;P1.2=0时转移MOV A,NUM2CJNE A,#1,MM1 ;判断按键计数是否为1INC HOUR2 ;小时定时变量加1MOV A,HOUR2CJNE A,#24,MM1 ;判断小时定时变量是否为24MOV HOUR2,#0 ;小时定时变量为24则复位0LCALL DISPLAY2 ;显示定时时间MM1: LCALL DISPLAY2 ;显示定时时间MOV A,NUM2CJNE A,#2,kk2 ;判断按键计数是否为2INC MIN2

文档评论(0)

changjiali2019 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档