东方华威汽车电子技术论坛 汽车电子技术论坛 |汽车电子技术论坛|汽车电子论坛|汽车技术论坛|汽车维修技术论坛|汽车维修论坛|汽车检测仪器|汽车解码器|里程表调校设备|防盗钥匙匹配设备|气囊电脑修  防盗匹配  气囊数据恢复  音响解码   电脑板维修  电脑解码

 找回密码
 立即注册
查看: 525|回复: 5

遥控器发射端程序

[复制链接]
发表于 2019-6-7 01:34:22 | 显示全部楼层 |阅读模式
;利用串行通讯实现两个按键,控另外一个单片机,P1口的灯,半亮半灭,达到遥控功能
;按键P1.7为按键1,按键P1.6为按键2
JIA EQU P1.6;按键1
JIAN EQU P1.7;按键2
ORG 00H;主程序设置启始位置
AJMP ZHU;跳转到主程序      
ORG 1BH;设置计时器1端口
LJMP JISHU;跳转到计时器1中断程序
;===============================================
ORG 30H;主程序运行启始位,跳过计时器位置
ZHU:MOV TMOD,#00100000B;设置计时器1,为8位控制,内部控制位TR1控制
      MOV SP,#60H;设置堆栈启始位
      MOV TH1,#0FAH;;设置发送的波特率,数越大,
       MOV TL1,#0FAH;设置发送的波特率
     SETB EA;打开总中断开关
      SETB ET1;定时器1打开
     SETB TR1;启动定时器1
     MOV SCON,#01000000B;设置串行通讯口为8位
     MOV P1,#0FFH   
         
;----------按键检测-----------------------------------
START:JNB JIAN,JIANYAN
      JNB JIA,JIAYAN
      AJMP START
;------------二次验证按键是否按下----------------------------
JIAYANCALL YAN
       JNB JIA,JIAZHI
       AJMP START
JIANYANCALL YAN
        JNB JIAN,JIANZHI
        AJMP START
;==========按键执行=====================================
;--------按键P1.6执行程序-----------------------
JIAZHI: MOV R5,#00001111B
          SETB ET1;定时器1打开
         
   END1: JNB JIA,$ ;等待高电平减少按键释放
        
      AJMP START;跳转到按键检测
;===============================================
;---------按键P1.7执行程序----------------------
JIANZHI: MOV R5,#11110000B
          SETB ET1;定时器1打开
         
   END2: JNB JIAN,$
        
      AJMP START     
;---------计时器1中断服务程序?-----------------
      

JISHU: PUSH ACC;压栈
   
JISHU1: MOV TH1,#0FAH;;设置发送的波特率,数越大,
       MOV TL1,#0FAH;设置发送的波特率
       CJNE R5,#11110000B,AA;改变r7的值,确定按键1是否按,如果按下了赋值给R7
          MOV A,R5
          MOV R7,A
          AJMP PP
;-- 加密数据发送第一个密码---------------------
   AA: CJNE R5,#00001111B,BB;;改变r7的值,确定按键2是否按,如果按下了赋值给R7
          MOV A,R5
          MOV R7,A
          AJMP PP
  PP:  MOV A,#09H;将要发送的数据,送到寄 存器A中
       MOV SBUF,A;将寄存器A中数据,送到串行口寄存器中
       JNB TI,$;等待发送数据完毕,TI为发送数据完成标志位
       CLR TI;发送数据完成,TI标志位清零
;-- 加密数据发送第二个密码---------------------
      MOV A,#0BCH;将要发送的数据,送到寄 存器A中
       MOV SBUF,A;将寄存器A中数据,送到串行口寄存器中
       JNB TI,$;等待发送数据完毕,TI为发送数据完成标志位
       CLR TI;发送数据完成,TI标志位清零      
;-- 数据发送执行指令---------------------
      
       MOV A,R7;将要发送的数据,送到寄 存器A中
       MOV SBUF,A;将寄存器A中数据,送到串行口寄存器中
       JNB TI,$;等待发送数据完毕,TI为发送数据完成标志位
       CLR TI;发送数据完成,TI标志位清零
  ;确定按键是否,一直按着,让其不停发送数据,使其达到#控按键释放就停止的郊果?   
      JNB JIA, JISHU1;确定,按键1是否还按着,达到遥控按键释放就停止的郊果
       JNB JIAN, JISHU1;确定,按键1是否还按着,达到遥控按键释放就停止的郊果
        MOV R5,#00000000B;让其,数值不等,不发送数据
        CLR ET1;关闭定时器1,使其不发送数据,关闭中断
   BB:    POP ACC;出栈
      RETI

  
;===========寤舵椂鏈嶅姟绋嬪簭=======================
YAN:MOV R5,#250D
YAN1:MOV R6,#50D
     DJNZ R6,$
     DJNZ R5,YAN1
     RET
END
回复

使用道具 举报

发表于 2019-6-8 22:37:17 | 显示全部楼层
牛逼   厉害
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-9 23:47:46 | 显示全部楼层
只要,不睡觉。没有学不会的
回复 支持 反对

使用道具 举报

发表于 2019-6-15 10:42:48 | 显示全部楼层
学无止境
回复

使用道具 举报

发表于 2019-7-12 10:25:15 | 显示全部楼层
来学习一下
回复 支持 反对

使用道具 举报

发表于 2019-8-16 13:20:28 | 显示全部楼层
牛逼    厉害
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|东方华威汽车电子 ( 吉ICP备15003515号-1

GMT+8, 2019-10-19 13:36 , Processed in 0.171400 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表