ASK信号解码接收程序
电子元件,电子元器件深圳市创唯电子有限公司
您现在的位置: 首页 > 电子技术
ASK信号解码接收程序  2012/3/1
作者FREE;/*=============================================================================;通用ASK信号解码接收程序;;1.接收数据位数最多为40(5*8)位.;2.由定时器对time进行渐增,在TCC中断程序中加入"INCTIME".;3.宽脉冲最大允许时间和最小允许时间的计算方式:;;脉冲允许时间=TCC中断时间(us)*设定数据;;4.在接收到完整的数据后建立rx_data_ok标志.;5.该子程序由主程序调用.;6.数据格式:rx_data5.7为最高位,rx_data1.0为最低位
 

作者FREE

;/*=============================================================================
;                通用ASK信号解码接收程序
;
;1. 接收数据位数最多为40(5*8)位.
;2. 由定时器对time进行渐增,在TCC中断程序中加入"INC TIME".
;3. 宽脉冲最大允许时间和最小允许时间的计算方式:
;
;   脉冲允许时间=TCC 中断时间(us)*设定数据
;
;4. 在接收到完整的数据后建立rx_data_ok标志.
;5. 该子程序由主程序调用.
;6. 数据格式:rx_data5.7为最高位,rx_data1.0为最低位.
;7. 主程序在收到完整的数据后应清空接收数据缓冲区后,才能调用再次接收.
;/============================================================================*/

 

;//mcu== emc
bit_counter   == 0x10
rx_data5      == 0x11
rx_data4      == 0x12
rx_data3      == 0x12
rx_data2      == 0x12
rx_data1      == 0x12
Rx_status     == 0x13
time          == 0x14
port6         == 6


#define max_time_h       50      ;//宽脉冲最大允许时间 data*TCC_time
#define min_time_h       40      ;//宽脉冲最小允许时间
#define max_time_l       20      ;//窄脉冲最大允许时间
#define min_time_l       10      ;//窄脉冲最小允许时间
#define rx_bit_counter   12      ;//设定接收的位数

#define inport       port6.0

#define in_bit       Rx_status.0
#define time_bit     Rx_status.1
#define rx_start     RX_STATUS.2
#define h_time       RX_STATUS.3
#define l_time       RX_STATUS.4
#define rx_bit       RX_STATUS.5
#define rx_data_ok   RX_STATUS.6


RX()
                                  ;//程序开始
      if in_bit==inport
         goto RX_EXIT;            ;//输入无变化则退出
      endif

      in_bit=inport;              ;//有变化则记录输入电平

      if time<MIN_TIME_L          ;//检查输入脉冲宽度,50us产生一次中断
        goto RX_ERROR;
      endif

与《ASK信号解码接收程序》相关列表
电话:400-900-3095
QQ:800152669
库存查询
Copyright(C) 2011-2021 Szcwdz.com 创唯电子 版权所有 备案号:粤ICP备11103613号
专注电子元件代理销售  QQ:800152669  电子邮件:sales@szcwdz.com  电话:400-900-3095