金阳电工培训学校,金阳电工培训班
专注于电工培训、为金阳地区电工的求学者提供专业的电工培训课程和充电平台!
主页 > 电工 >

金阳电工培训学校,金阳电工培训班

  • 课程介绍

  • 参考资料

  • 2021-01-19 11:52
湖南阳光电工培训学校常年面向金阳招生!
【推荐】金阳快速学电工技术,从湖南阳光电工培训学校开始。金阳电工培训学校、金阳电工培训班,首选湖南阳光电工培训学校!电话:0731-85579057,0731-85569651

【温馨提示】湖南阳光电工培训学校地址:湖南省长沙市雨花区车站南路红花坡路176号。目前没有在金阳地区设立分校。热忱欢迎金阳的学员来湖南阳光电工培训学校长沙总校区参加学习!

金阳电工培训学校,金阳电工培训班

详情请进入 湖南阳光电子学校 已关注: 咨询电话:0731-85579057 微信号:yp941688, yp94168

金阳电工培训班,金阳电工培训学校

金阳电工培训学校

金阳电工培训班

金阳电工学校

金阳电工培训班,金阳电工培训学校简介://--------------------------------------------------------------------// Interrupt based receive routine//// Compiled using H

金阳电工培训学校,金阳电工培训班

金阳电工培训学校,金阳电工培训班

金阳电工培训学校信息内容:,

//--------------------------------------------------------------------
// Interrupt based receive routine
//
// Compiled using HiTech PIC C compiler v.7.93
//********************************************************************
#define CLOCK 4 // MHz
#define TE 400 // us
#define OVERSAMPLING 3
#define PERIOD TE/OVERSAMPLING*4/CLOCK

#define NBIT 65 // number of bit to receive -1(HCS300 66-1=65)

unsigned char B[9]; // receive buffer

static byte RFstate; // receiver state
static sbyte RFcount; // timer counter
static byte Bptr; // receive buffer pointer
static byte BitCount; // received bits counter
word XTMR; // 16 bit extended timer

volatile bit RFFull; // buffer full
volatile bit RFBit; // sampled RF signal

#define TRFreset 0
#define TRFSYNC 1
#define TRFUNO 2
#define TRFZERO 3

#define HIGH_TO -10 // longest high Te
#define LOW_TO 10 // longest low Te
#define SHORT_HEAD 20 // shortest Thead accepted 2,7ms
#define LONG_HEAD 45 // longest Thead accepted 6,2ms

//-----------------------------------------------------------------------------------
#pragma int_rtcc // install as interrupt handler (comment for HiTech!)
void interrupt rxi(void)//this routine gets called every time TMR0 overflows
{
RFBit = RFIn; // sampling RF pin verify!!!
TMR0 -= PERIOD; // reload
T0IF = 0;

XTMR++; // extended 16 long timer update
//-----------------------------------------------------------------
if (RFFull) // avoid overrun
{ return;}

switch( RFstate) // state machine main switch
{

case TRFUNO:
if ( RFBit)
{ // while high
RFcount--;
if ( RFcount < HIGH_TO)
RFstate = TRFreset; // reset if too long
}
else
{ // falling edge detected ----+
// |
// +----
RFstate= TRFZERO;
}
break;

case TRFZERO:
if ( RFBit)
{ // rising edge detected +----
// |
// ----+
RFstate= TRFUNO;
B[Bptr] >>= 1; // rotate
if ( RFcount >= 0)
{ B[Bptr]+=0x80; } // shift in bit
RFcount = 0; // reset length counter

if ( ( ++BitCount & 7) == 0)
{ Bptr++; } // advance one byte
if (BitCount == NBIT)

{
RFstate = TRFreset; // finished receiving
RFFull = TRUE;
}
}
else
{ // still low
RFcount++;
if ( RFcount >= LOW_TO) // too long low
{
RFstate = TRFSYNC; // fall back into RFSYNC state
Bptr = 0; // reset pointers, while keep counting on
BitCount = 0;
}
}
break;

case TRFSYNC:
if ( RFBit)
{ // rising edge detected +---+ +---..
// | | |
// +----------------+
if ( ( RFcount < SHORT_HEAD) || ( RFcount >= LONG_HEAD))
{
RFstate = TRFreset;
break; // too short/long, no header
}
else
{
RFcount =0; // restart counter
RFstate= TRFUNO;//合适的长低电平信号出现
}
}
else
{ // still low
RFcount++;
}
break;

case TRFreset://初始状态
default:
RFstate = TRFSYNC; // reset state machine in all other cases
RFcount = 0;
Bptr = 0;
BitCount = 0;
break;

} // switch
//-----------------------------------------------------------------
} // rxi


void InitReceiver()
{
T0IF = 0;
T0IE = 1; // TMR0 overflow interrupt
GIE = 1; // enable interrupts
RFstate = TRFreset; // reset state machine in all other cases
RFFull = 0; // start with buffer empty
XTMR = 0; // start extende

.

(编辑:金阳电工培训学校)

金阳电工培训学校


金阳电工培训学校

湖南阳光电子学校教学特色

金阳电工培训学校

金阳电工培训学校

金阳电工培训学校

金阳电工培训学校

金阳电工培训学校

金阳电工培训学校

金阳电工培训学校

金阳电工培训学校

百度收录查询: 金阳电工培训学校

  • 扫码分享
  • 新资讯
  • 热点资讯
电工培训学校 电动车维修学校 摩托车维修学校 手机维修培训学校 水电工培训学校 电脑维修培训学校 电动工具维修培训学校 液晶电视维修培训学校 安防监控培训学校 空调维修培训学校 电焊培训学校 手机维修培训学校 电工培训学校 摩托车维修培训学校 电器维修培训学校 家电维修学校 焊工培训学校 电工培训学校 木工培训学校 瓦工培训学校 摩托车维修学校 电工培训学校 木工培训学校 电器维修学校 电工培训学校