当前位置:首页 > 单片机 > 单片机
[导读]继电器:继电器的示意图:由继电器的示意图可知:继电器是一种电子控制器件,它具有控制系统和被控制系统,通常应用于自动控制电路中,他实际上是一种用比较小的电流控制较大电流的一种自动开关,故在电路中起着自动

继电器:继电器的示意图:

由继电器的示意图可知:继电器是一种电子控制器件,它具有控制系统和被控制系统,通常应用于自动控制电路中,他实际上是一种用比较小的电流控制较大电流的一种自动开关,故在电路中起着自动调节,安全保护,转换电路的功能

使用,用开发板上的红外拟控制步进电机(按下1,led0亮,步进电机转动,按下2,led0灭,步进电机停止转动)

示例代码:


//本程序可以按键控制led灯的亮灭

//按下1,可以控制开灯

//按下0,可以熄灯


#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

sbit IR=P3^2; //红外接口标志

unsigned char irtime;//红外用全局变量

sbit led =P2^0;

bit irpro_ok,irok,dian_qi;

unsigned char IRcord[4];//用来存储用户名2个字节,数据码,数据反码

unsigned char irdata[33];//4个字节,一个字节8位,最后一位是标志位0或者是1

void Ir_work(void);

void Ircordpro(void);



unsigned int i;

void TIM0init(void)//定时器0初始化

{


TMOD=0x02;//定时器0工作方式2,TH0是重装值,TL0是初值

TH0=0x00; //重载值

TL0=0x00; //初始化值

ET0=1; //开中断

TR0=1;

}


void EX0init(void)

{

IT0 = 1; //指定外部中断0下降沿触发,INT0 (P3.2)

EX0 = 1; //使能外部中断

EA = 1; //开总中断

}



void tim0_isr (void) interrupt 1 using 1

{


irtime++; //用于计数2个下降沿之间的时间


}



void step()

{



P1 = 0x01;//0000 0001

for(i = 0;i<620;i++);

P1 = 0x02;//0000 0010

for(i = 0;i<620;i++);

P1 = 0x04;//0000 0100

for(i = 0;i<620;i++);

P1 = 0x08;//0000 1000

for(i = 0;i<620;i++);


}

void EX0_ISR (void) interrupt 0 //外部中断0服务函数

{

static unsigned char i; //接收红外信号处理

static bit startflag; //是否开始处理标志位


if(startflag)

{

if(irtime<63&&irtime>=33)//引导码 TC9012的头码,9ms+4.5ms

i=0;

irdata[i]=irtime;//存储每个电平的持续时间,用于以后判断是0还是1

irtime=0;

i++;

if(i==33)

{

irok=1;

i=0;

}

// if(dian_qi ==1)

// {

// douji();

// }

}

else

{

irtime=0;//这是因为程序在执行,定时器也开始计时了,这样的话,定时器的数字就不为0

startflag=1;

}


}





void Ir_work(void)//红外键值散转程序

{

switch(IRcord[2])//判断第三个数码值

{

case 0x0c:

{

led = 0;

dian_qi = 1;

}

break;//1 显示相应的按键值

case 0x18:

{

led = 1;

dian_qi = 0;

}

break;//2

// case 0x5e:

// {

// duoji();

// }break;//3

// case 0x08:

// {

// P1 = 0;

// }break;//4

/*case 0x1c:;break;//5

case 0x5a:;break;//6

case 0x42:;break;//7

case 0x52:;break;//8

case 0x4a:;break;//9*/

default:break;

}


irpro_ok=0;//处理完成标志


}

void Ircordpro(void)//红外码值处理函数

{

unsigned char i, j, k;

unsigned char cord,value;


k=1;

for(i=0;i<4;i++) //处理4个字节

{

for(j=1;j<=8;j++) //处理1个字节8位

{

cord=irdata[k];

if(cord>7)//大于某值为1,这个和晶振有绝对关系,这里使用12M计算,此值可以有一定误差

value"=0x80;//0x80即是1000 0000

if(j<8)

{

value>>=1;

}

k++;

}

IRcord[i]=value;

value=0;

}

irpro_ok=1;//处理完毕标志位置1

}




/*------------------------------------------------

主函数

------------------------------------------------*/

void main(void)

{

EX0init(); //初始化外部中断

TIM0init();//初始化定时器



while(1)//主循环

{

f1:

if(irok) //如果接收好了进行红外处理

{

Ircordpro();

irok=0;

}


if(irpro_ok) //如果处理好后进行工作处理,如按对应的按键后显示对应的数字等

{

Ir_work();

}

if(dian_qi ==1)

{

step();

}


if(dian_qi==0)

goto f1;

}

}



实验2: 用开发板上的红外拟控制步进电机(按下1,led0亮,步进电机转动,按下2,led0灭,步进电机停止转动,按下3,继电器开,同时控制强电的l直流电机转动,按下4,控制强电的继电器关)


示例代码:


//本程序可以按键控制led灯的亮灭

//按下1,可以控制开灯

//按下0,可以熄灯


#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

sbit IR=P3^2; //红外接口标志

unsigned char irtime;//红外用全局变量

sbit led =P2^0;

sbit jdq = P2^1;


bit irpro_ok,irok,dian_qi;

unsigned char IRcord[4];//用来存储用户名2个字节,数据码,数据反码

unsigned char irdata[33];//4个字节,一个字节8位,最后一位是标志位0或者是1

void Ir_work(void);

void Ircordpro(void);



unsigned int i;

void TIM0init(void)//定时器0初始化

{


TMOD=0x02;//定时器0工作方式2,TH0是重装值,TL0是初值

TH0=0x00; //重载值

TL0=0x00; //初始化值

ET0=1; //开中断

TR0=1;

}


void EX0init(void)

{

IT0 = 1; //指定外部中断0下降沿触发,INT0 (P3.2)

EX0 = 1; //使能外部中断

EA = 1; //开总中断

}



void tim0_isr (void) interrupt 1 using 1

{


irtime++; //用于计数2个下降沿之间的时间


}



void step()

{



P1 = 0x01;//0000 0001

for(i = 0;i<620

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

5月5日晚间,红外成热像技术大厂烟台睿创微纳技术股份有限公司发布公告称,其全资子公司“艾睿光电”被美国国财政部OFAC(美国财政部海外资产控制办公室)列入SDN清单(特别指定国民清单)。

关键字: SDN 睿创微纳 红外 艾睿光电

新款1KV多路复用器系列,采用仪器级高品质舌簧继电器,具有硬件互锁功能确保安全性,兼具高密度和高性能。

关键字: 多路复用器 继电器 半导体

2024年4月7日,高性能舌簧继电器的领先制造商Pickering Electronics将于4月9日至10日参加在北京国家会议中心举行的EDI CON(电子设计创新大会),并展示用于射频和高速数字开关的同轴舌簧继电器,...

关键字: 继电器 数字开关 射频

在科技飞速发展的今天,固态继电器以其独特的优势和广泛的应用领域,正逐渐取代传统的电磁继电器,成为现代工业控制系统中的核心组件。本文将深入探讨固态继电器的原理、特点、应用以及未来发展趋势,以期为读者提供一个全面而深入的了解...

关键字: 继电器 固态继电器

电磁铁和触点两部分组成。当电磁继电器线圈通电时,铁芯被磁化产生强大的磁场,吸引衔铁,进而带动动触点与静触点闭合,形成电路的连接。当线圈断电后,电磁铁失去磁性,弹簧力使衔铁返回,动触点与静触点断开,从而切断电路。

关键字: 电磁 继电器 电磁铁

专业研发提供节省空间的PoE ASFET和EMC优化型NextPowerS3 MOSFET。

关键字: PoE 继电器 MOSFET

在工业自动化和电力系统的控制领域,接触器和继电器是两种极为重要的电气元件。它们虽然在功能上有着相似之处,但在应用、结构和工作原理上却各有特色。本文将深入探讨这两种设备的区别,并通过比较分析来阐明它们各自的优势和局限。

关键字: 接触器 继电器

今天解析一下中间继电器的作用与应用深度解析。在工业自动化和电气控制系统中,中间继电器作为一种电磁开关设备,扮演着重要的角色。不同于一般的接触器或大型继电器,中间继电器通常用于控制一个或多个辅助电路,其负载电流相对较小。本...

关键字: 中间继电器 继电器

在工业和建筑自动化控制系统中,中间继电器和接触器作为两种常用的电磁开关设备,它们在电路中扮演着至关重要的角色。尽管二者在功能上有所重叠,但它们的设计、用途以及工作方式却有着明显的差异。为了帮助工程师和技术人员更好地理解和...

关键字: 中间继电器 继电器 接触器

在电子和电气工程领域,继电器作为一种基础而重要的组件,扮演着控制、保护和通信的多重角色。它们在各种设备和系统中广泛应用,从简单的家用电器到复杂的工业控制系统中都能看到它们的身影。本文将深入探讨继电器的作用以及其工作原理,...

关键字: 继电器 电控制器件
关闭
关闭