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

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

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

使用,用开发板上的红外拟控制步进电机(按下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

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

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

关键字: PoE 继电器 MOSFET

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

关键字: 接触器 继电器

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

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

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

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

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

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

你了解继电器与接触器的区别吗,在电气控制系统中,继电器和接触器是两种常见的电磁开关设备。它们在自动控制电路中扮演着至关重要的角色,负责实现远距离控制、保护电路以及传递信号等功能。尽管两者在功能上有所重叠,但它们的设计、用...

关键字: 继电器 接触器

在工业控制和自动化领域,中间继电器作为一种典型的电气控制组件,扮演着扩展控制能力、增强系统灵活性的重要角色。本文旨在深入探讨中间继电器的工作原理,并解析其在多样化应用场景中的功能及作用。

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

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

关键字: 继电器 漏电继电器

在现代电气工程中,继电器是一种广泛应用于控制电路的关键元件。它们可以实现小电流控制大电流的功能,从而实现对各种设备的自动控制。然而,市场上有众多的继电器型号,让人眼花缭乱。本文将为您介绍继电器的基本知识,以及如何根据实际...

关键字: 继电器 电气工程

继电器是一种电气、电子设备,它能够通过电磁效应将一个电路的信号或能量传递给另一个电路。在电路图中,继电器通常用特定的符号来表示。本文将介绍继电器符号的基本概念和使用方法,以及继电器在电气、电子设备中的应用。

关键字: 继电器 电子设备
关闭
关闭