当前位置:首页 > 单片机 > 单片机
[导读] R3 EQU 0X03 PORT5 EQU 0X05 PORT6 EQU 0X06 R3 EQU 0X03 KEY_STATUS EQU 0X10 ;低半字节为按键标志,高半字节为控制标志 SIGNAL_LOW EQU 0X11 ;信号电平低计数器 SIGNAL_HIGH EQU 0X12 ;信号电平高计数

R3 EQU 0X03
PORT5 EQU 0X05

PORT6 EQU 0X06
R3 EQU 0X03


KEY_STATUS EQU 0X10 ;低半字节为按键标志,高半字节为控制标志
SIGNAL_LOW EQU 0X11 ;信号电平低计数器
SIGNAL_HIGH EQU 0X12 ;信号电平高计数器
DATA_RECORDER EQU 0X13 ;接收码数据字节
CODE_RECORDER2 EQU 0X14 ;接收码地址高字节
CODE_RECORDER1 EQU 0X15 ;接收码地址低字节
CODE_TOTAL EQU 0X16 ;接收数据位计数器
KEY_COUNTER EQU 0X17 ;两次按键检测计数器
/**********************KEY_STATUS标志位定义***********************************/
AUTORUN_KEY EQU 0 ;遥控键标志
LOCK_KEY EQU 1 ;防盗键标志
SEARCH_KEY EQU 2 ;寻车键标志
OPEN_KEY EQU 3 ;解除键标志
PRESS_FLAG EQU 4 ;有键按下标志
CHECK_FLAG EQU 5 ;校验标志
/***********************CONSTANT DEFINE*************************************/
CODE_ADDRESS1 EQU 0B10001100 ;遥控器地址码,更改常数即可实现其他遥控器收码
CODE_ADDRESS2 EQU 0B00101100
AUTORUN_VALUE EQU 0B00000011 ;遥控器相应键值,改变相应数值即可更改其功能
LOCK_VALUE EQU 0B00001100
SEARCH_VALUE EQU 0B00110000
OPEN_VALUE EQU 0B11000000
/**********************当PORT6.2口电平为高时调用该程序收码******************/
;PORT6.2为信号输入口

collect_2262:
MOV a,@0xf0
And KEY_STATUS,a
clr code_total
clr signal_high
collect1:
inc signal_high
MOV A,SIGNAL_HIGH
SUB A,@30
JBS R3,0
RET
clr signal_low
call delay20us
jbs port6,2
jmp collect_low
jmp collect1
collect_low:
MOV a,signal_high ;信号高电平宽度<80US时滤除
sub a,@4
jbc r3,0
ret
MOV a,@20 ;信号高电平宽度在80—400US时为采集为0
sub a,signal_high ;信号高电平宽度在400US以上时为采集为1
rrc data_recorder
rrc code_recorder2
rrc code_recorder1
inc code_total
clr signal_high
MOV a,@24
xor a,code_total
jbc r3,2
jmp collect_end
input_low:
inc signal_low
MOV a,signal_low ;信号低电平宽度大于800US时滤除
sub a,@40
jbs r3,0
ret
call delay20us
jbs port6,2;3
jmp input_low
jmp collect1
collect_end:
MOV a,code_recorder1 ;校验低字节地址
xor a,@code_address1
jbs r3,2
ret
MOV a,code_recorder2 ;校验高字节地址
xor a,@code_address2
jbs r3,2
ret
jbs KEY_STATUS,check_flag ;是否是第一串收码?
jmp storage_data
bc KEY_STATUS,check_flag
MOV a,com_data_rec
xor a,data_recorder
jbs r3,2
jmp storage_data
MOV a,data_recorder
xor a,@autorun_value ;是启动键?
jbs r3,2
jmp key1
bs KEY_STATUS,autorun_key ;置启动键标志
bs KEY_STATUS,press_flag ;置有键按下标志
clr key_counter ;清除按键间隔计数器
ret
key1:
MOV a,data_recorder
xor a,@open_value ;是解除键?
jbs r3,2
jmp key2
bs KEY_STATUS,open_key
bs KEY_STATUS,press_flag
clr key_counter
ret
key2:
MOV a,data_recorder
and a,@0x0c ;同时有两个键按下时不为0X30
xor a,@lock_value ;是防盗键?
jbs r3,2
jmp key3
bs KEY_STATUS,lock_key
bs KEY_STATUS,press_flag
clr key_counter
key3:
MOV a,data_recorder
and a,@0x30
xor a,@search_value ;是寻车键?
jbs r3,2
ret
bs KEY_STATUS,search_key
bs KEY_STATUS,press_flag
clr key_counter
ret
storage_data: ;第一次收码存储数据字节
bs KEY_STATUS,check_flag
MOV a,data_recorder
MOV com_data_rec,a
ret

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

今天,小编将在这篇文章中为大家带来汽车防盗器的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 防盗器 汽车防盗器

Holtek推出全新二款BC66F2542/BC66F2552 Sub-1GHz OOK/FSK射频双模式接收Flash MCU。适用于智能生活、安全防护、工控,如铁卷门、集成吊顶、无线开关、晾衣架、无线门铃、车载灯控、...

关键字: MCU 防盗器 无线门铃

变压器防盗器是一种用于保护变压器安全的设备。随着社会的发展,变压器的使用越来越广泛,但同时也面临着被盗的风险。为了解决这个问题,人们研发出了各种各样的变压器防盗器。其特点是:不受距离限制,不受数量限制,不受气候影响,可以...

关键字: 变压器 防盗器 报警

pic单片机应用很多,生活中到处都有pic单片机的身影。小编个人也是从事pic单片机开发的人员之一,对于pic单片机有一定的理解。今天,小编将带领大家一起看一下pic单片所具备的8大优势。

关键字: pic 单片机 寄存器

SpiceJet 成为首家借力Q400客机提升盈利潜力的航空公司 加拿大多伦多, Sept. 24, 2018 (GLOBE NEWSWIRE) -- Bombardier Commercial

关键字: pic ce

汽车后加的闭锁器中控锁一般主驾驶是五根线,分别如何与防盗器对接? 答:车辆防盗器基本上来讲中控锁套装的一般为负触发,单独加装中控锁的是正负触发的比较多,这个只需要对线接就可以了,可以找根

关键字: 防盗器 马达

什么是PIC单片机?你知道多少?时代的变迁,PIC单片机是这个时代的新宠。之前我们对pic单片机的I/O接口进行过阐述,不是很详细。本期对关于PIC单片机的各种内部硬件资源加以介绍,以帮助大家全面掌握pic单片机打下夯实...

关键字: pic 单片机 电路

pic单片机具备很多应用,对于pic单片机,想必大家并不陌生。往期文章中,小编对pic单片机做过诸多介绍。本文中,小编将为大家带来6个pic单片机问题,并予以解答。而在之后的pic单片机文章中,小编将带来另外6个问题。如...

关键字: pic pic单片机 单片机 指数

对于c编译器,大家应早已熟悉。往期文章中,小编带来诸多c编译器相关文章,尤其是gcc c编译器。本文中,小编将对gcc c编译器如何编译c程序予以介绍,并在文章的后半部分向大家讲解如果选择pic单片机的c编译器。如果你对...

关键字: c编译器 gcc pic 指数

​2020年2月13日,北京——是德科技宣布,该公司即将与国家信息光电子创新中心(NOEIC)和CompoundTek展开合作,三方携手建立光子集成电路(PIC)自动化测试的布局设计标准。

关键字: pic 自动化测试 fdr
关闭