当前位置:首页 > 单片机 > 单片机
[导读]源程序 ORG 0000H AJMP MAIN ORG 0003H AJMP KEYPRESS ORG 000BH AJMP TIMEOUT ORG 001BH AJMP TIMEOUT SEN

源程序
         
ORG 0000H
          AJMP MAIN
          ORG 0003H
          AJMP KEYPRESS
          ORG 000BH
          AJMP TIMEOUT
          ORG 001BH
          AJMP TIMEOUT

          SENDDUAN   BIT P3.0
          JIEDUAN    BIT P3.1
          INTRPO     BIT P3.2
          JIEXUAN    BIT P3.3
          SENDLIGHT  BIT P3.4
          JIELIGHT   BIT P3.5
          CS         BIT P3.7
          DATADUAN   BIT P1.6
          CLK        BIT P1.7
          JIANWEI    EQU R5
          JIANMA     EQU R6
          SHANGJIAN  EQU 07H;R7
          OPENKEY    EQU 81H
          CLOSEKEY   EQU 00H
          CHUT0      EQU 11H
          CHUT1      EQU 11H
          BUFBEGIN   EQU 18H
          OPENT1     EQU 88H
          CLOSET1    EQU 00H
          OPENT0     EQU 82H
          CLOSET0    EQU 00H
          DATABEG1   EQU 0AAH
          DATABEG2   EQU 33H

          ORG 0030H
MAIN:     MOV  IE,#80H
          MOV  IP,#00H
          MOV  P3,#0FFH
          CLR  CS
          SETB P1.0
          SETB P1.1
          SETB P1.2
          CLR  P1.3
          CLR  P1.4
          CLR  P1.5
          CLR  P1.6
          CLR  P1.7
         
          MOV  R3,#80H
          MOV  R0,00H
CYCLE1:   MOV  @R0,#00H
          INC  R0
          DJNZ R3,CYCLE1
         
          MOV  PSW,#00H
          MOV  SP,#07H

          MOV  TMOD,#11H
          MOV  TCON,#00H

START:    MOV  SP,#07H
          SETB SENDDUAN
          CLR  F0
          SETB EXO
WAITKEY:  MOV  C,F0
          JNC  WAITKEY
          CJNC JIANMA,#1BH,SEND
          LCALL LEARNP
          LJMP START
SEND:     LCALL SENDP
          LJMP START

SENDP:    SETB SENDDUAN
          CLR  F0
          MOV  TMOD,#CHUT1
          CLR   SENDLIGHT
          MOV  A,JIANMA
          CJNE  A,SHANGJIAN,SAME
SAME:     MOV  R0,#BUFBEGIN
          CLR  TR1
          LJMP  NEXT3
RETURN:   CLR  ET1
          SETB  SENDDUAN
          SETB  SENDLIGHT
          CLR  F0
          LCALL DELAY
          RET
NEXT3:    CPL F0
          JB F0,SEND1
SEND0:    CLR C                  ;1
          MOV A,#0FFH
          SUBB A,@R0
          MOV R2,A               ;1
          INC R0                 ;1
          MOV A,#0FFH            ;1
          SUBB A,@R0             ;1
          MOV R3,A
          INC R0
          CLR C
          MOV A,#4FH
          ADDC A,R2
          MOV R2,A
          MOV A,R3
          ADDC A,#00H
          MOV R3,A
          MOV TL1,R2
          MOV TH1,R3
          SETB TR1              ;1
          SETB ET1              ;1
SEND1:    CLR C
          MOV A,#0FFH
          SUBB A,@RO
          MOV TL1,A
          INC R0
          MOV A,#0FFH
          SUBB A,@R0
          MOV TH1,A
          INC R0
          SETB TR1
          SETB ET1
NEXT6:    CLR SENGGUAN
          MOV R3,#03H
NEXT4:    DJNZ R3,NEXT4
          SETB SENDDUAN
          MOV R3,#07H
NEXT5:    DJNZ R3,#NEXT5
          SJMP NEXT6

TIMA1OUT: CLR ET1               ;2
          CLR TR1               ;2
          SETB SENDDUAN         ;1
          CJNE@R0,#DATABEG2,TIM1NT2
          MOV DPTR,#RETURN      ;2
          MOV R1,SP            ;2
          MOV @R1,DPH          ;2
          DEC R1               ;1
          MOV @R1,DPL          ;2
          RETI                 ;2
TIM1NET2: DEC R0
TIM1NET1: CPL F0               ;1
          JB F0,SEND11         ;2
SEND00:   MOV DPTR,#SENDO      ;11
          MOV R1,SP
          MOV @R1,DPH
          DEC R1
          MOV @R1,DPL
          RETI
SEND11:   MOV DPTR,#SEND1      ;11
          MOV R1,SP
          MOV @R1,DPH
          DEC R1
          MOV @R1,DPL
          RETI
LEARNP:   MOV R2,#02H
NEXT91:   MOV R3,#0FFH
NEXT81:   MOV R4,#0FFH
NEXT71:   DJNZ R4,NEXT71
          DJNZ R3,NEXT81
          GJNZ R2,NEXT91
          CLR F0
          SETB EX0
          MOV R2,#0AH
MEXT9:    MOV R3,#0FFH
NEXT8:    MOV R4,#0FFH
NEXT7:    JB F0,NEXT10
          DJNZ R4,NEXT7
          DJNZ R3,MEXT8
          DJNZ R2,NEXT9
          CLR EX0
          RET
NEXT10:   CJNE JIANMA,#1BH,NEXT11
          LJMP NEXT111
NEXT11:   RET
NEXT111:  CLR JIELIGHT
          CLR JIEXUAN
          CLR F0
          MOV R0,#BUFBEGIN
          SETB ET0
          MOV TCON,#00H
          MOV TMOD,#CHUT0
          MOV TL0,#00H
          MOV TH0,#00H
          MOV R2,#02H
NEXT92:   MOV R3,#0FFH
NEXT82:   MOV R4,#0FFH
NEXT72:   DJNZ R4,NEXT72
          DJNZ R3,NEXT82
          DJNZ R2,NEXT92

          CLR TR0
L1:       MOV C,JIEDUAN
          JC L1
L4:       SETB TR0
L2:       MOV C,JIEDUAN
          CLR TR0
          MOV @R0,TL0
          INC R0
          MOV TH0,#00H
          MOV TL0,#00H
L6:       SETB TR0
L3:       MOV C,JIEDUAN
          JC L3
          CLR TR0
          CLR C
          MOV A,TL0
          ADDC A,#13H
          MOV @R0,A
          INC R0
          MOV TH0,#00H
          MOV TL0,#00H
          SETB TR0
L5:       MOV C,JIEDUAN
          JNC L5
          CLR TR0
          CLR C                ;1
          MOV A,TL0            ;1
          ADDC A,#13H          ;1
          MOV @R0,A            ;2
          INC R0
          MOV A,TH0
          ADDC A,#00H
          MOV @R0,A
          INC R0
          MOV TH0,#00H
          MOV TL0,#00H
          SJMP L6
SHUJIAN:  SETB JIEXUAN
          MOV @R0,#DATABEG1
          INC R0
          MOV @R0,#DATABEG2
          SETB EX0
          CLR F0
NEXT13:   JB F0,NEXT12
          LJMP NEXT13
NEXT12:   LCALL WRITEP
          SETB JIELIGHT
          RET
TIME0OUT  CLR ET0
          CLR TR0
          MOV DPTR,#SHUJIAN
          MOV @R1,DPH
          DEC R1
          MOV @R1,DPL
          RETI
KEYPRESS: CLR EX0
          MOV R3,#0DH
CYCLE3:   MOV R4,#0FFH
CYCLE2:   DJNZ R4,CYCLE2
          DJNZ R3,CYCLE3
          MOV C,INTRPO
          JNC NEXT1
          RETI
NEXT1:    SETB F0
          MOV C,P1.0
          MOV ACC.0,C
          MOV C,P1.1
          MOV ACC.1,C
          MOV C,P1.2
          MOV ACC.2,C
          CLR P1.0
          CLR P1.1
          CLR P1.2
          SETB P1.3
          SETB P1.4
          SETB P1.5
          MOV C,P1.3
          MOV ACC.3,C
          MOV C,P1.4
          MOV ACC.4,C
          MOV C,P1.5
          MOV ACC.5,C
          ANL A,300111111B
          MOV JIANMA,A
          SETB P1.0
          SETB P1.1
          SETB P1.2
          CLR P1.3
          CLR P1.4
          CLR P1.5
          LCALL JIANWEIP
          RETI
JIANWEIP: CJNE JIANMA,#36H,NEXT14
          MOV JIANWEI,#01H
          LJMP LAST
NEXT14:   CJNE JIANMA,#35H,NEXT15
          MOV JIANWEI,#02H
          LJMP LAST
NEXT15:   CJNE JIANMA,#35H,NEXT16
          MOV JIANWEI,#03H
          LJMP LAST
NEXT16:   CJNE JIANMA,#2EH,NEXT17
          MOV JIANWEI,#04H
          LJMP LAST
NEXT17:   CJNE JIANMA,#2DH NEXT18
          MOV JIANWEI, #05H
          LJMP LAST
NEXT18:   CJNE JIANMA,#2BH,NEXT19
          MOV JIANWEL,#06H
          LJMP LAST   
NEXT19:   CJNE JIANMA,#1EH,NEXT20
          MOV JIANWEI,#07H
          LJMP LAST
NEXT20:   CJNE JIANMA,#1DH,NEXT21
          MOV JIANWEL,#09H
          LJMP LAST
NEXT21:   CJNE JIANMA,#1BH,NEXT22
          MOV JIANWEI,#09H
          LJMP LAST
NEXT22:   CLR FO
LAST:     RET
READP:    MOV RO,BUFBEGIN
          MOV A,JIANWEI
          MOV B,50
          MUL AB
          MOV R3,A
SHU JU DI ZHI
          INC R3
          LCALL READCOM
READNET2: MOV A,R3
          LCALL WRITEADRESS
          LCALL READBYTE
          CJNE ,#DATABEG1,READNET1
          MOV A R3
          INC A
          LACLL WRITEADRESS
          LCALL READBYTE
          CJNE A,#DATABEG2,READNET1
          CLR CS
          RET
READNET1: MOV @RO,A
          INC RO
          INC R3
          LJMP READNET2
WRITEP:   MOV RO,BUFBEGIN
          MOV A,JIAWEI
          MOV B,50
          MUL  AB
          MOV R3,A     ;KAI SHI SHU
JU DI ZHI
          INC R3
          LCALL EWEN
WRITNET1: LACLL WRITECOM
          MOV,R3
          LCALL WRITEADRESS
          MOV A,@RO
          CJNE A,#DATABEG1,WRITNET2
          INC RO
          MOV A,@RO
          CJNE A,DATABEG2,WRITNET3
          LCALL EWDS
          CLR CS
          RET
WRITNRT3: DEC RO
WRITNET2: LCALL WRITEBYTE
          INC RO
          INC R3
          LJMP WRITNE1
          RET
WRITBYTE: MOV R2,#08H
BOUT1:    CLR CLK
          RLC A
          MOV DATADUAN,C
          NOP
          SETB CLK
          NOPDJNZ R2,BOUT1
          CLRDATADUAN
          RET
READBYTE: SETB DATAUAN
          MOV R2,#08H
BIN1:     CLR CLK
          NOP
          SETB CLK
          NOP
          MOV C,DATADUAN
          RLC A
          DJNZ R2,BIN1
          RET
READCOM:  CLR CS
          CLR CLK
          SETB DATADUAN
          SETB CS
          NOP
          SETB CLK           ;1
          NOP
          CLR CLK
          NOP
          SETB CLK           ;1
          NOP
          CLR DATAUAN
          CLR CLK
          NOP
          SETB CLK           ;0
          RET
WRITECOM: CLR CS
          NOP
          CLR CLK
          SETB DATADUAN
          SETB CS
          NOP
          SETB CLK           ;1
          NOP
          CLR DATADUAN
          NOP
          CLR CLK
          NOP
          SETB CLK           ;0
          NOP
          SETB DATADUAN
          NOP
          CLR CLK
          NOP
          SETB CLK           ;1
          RET
WRITEADRESS: MOV R2,#07H
          RLC A      ;TIAO GUO
DI 7 WEI
BOUT2:    CLR CLK
          RLC A
          MOV DATADUAN,C
          NOP
          DJNA R2,BOUT2
          CLR DATAUAN
          RET
EQEN:     CLR CS
          CLR CLK
          SETB DATADUAN
          SETB CS
          SETB CLK           ;1
          NOP
          CLR CLK
          NOP
          CLR DATADUAN
          SETB CLK           ;0
          NOP
          NOP
          CLR CLK
          NOP
          SETB CLK           ;0
          NOP
          NOP
          SETB DATADUAN
          CLR CLK
          NOP
          SETB CLK           ;1
          NOP
          NOP
          SETB CLK           ;1
          NOP
          NOP
          CLR CLK
          NOP
          NOP
          CLR CS
          RET
EWDS:     CLR CS
          CLR CLK
          SETB DATADUAN
          SETB CS
          SETB CLK           ;1
          NOP
          CLR CLK
          NOP
          CLR DATADUAN
          SETB CLK           ;0
          NOP
          NOP
          CLR CLK
          NOP
          SETB CLK           ;0
          NOP
          NOP
          CLR CLK
          NOP
          NOP
          RETB CLK           ;0
          NOP
          NOP
          SETB CLK           ;0
          NOP
          NOP
          CLR CLK
          NOP
          NOP
          SETB CLK           ;0
          NOP
          NOP
          CLR CS
          CLR CLK
          RET
DELAY:    MOV  R3,#96H
DEL1:     MOV R4,#OFFH
DEL2:     DJNZ R4,DEL2
          DJNZ R3,#DEL1
          RET
END 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

美国纽约州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)发布 2022 年第三季度业绩报告。 IBM 董事长兼首席执行官 Arvind Kri...

关键字: IBM 软件 BSP 云平台

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

单片机

21600 篇文章

关注

发布文章

编辑精选

技术子站

关闭