STM32学习100步之第五十六步 |
您所在的位置:网站首页 › 4脚继电器怎么接断电 › STM32学习100步之第五十六步 |
继电器
所谓继电器就是一个开关电路,给线圈通电,利用电流的磁效应产生磁场吸合开关。具体怎么利用单片机来控制继电器,原理图如下: 继电器内部原理图如下: 单片机控制继电器的原理和控制按键程序相同,程序如下: RCC_Configuration(); //系统时钟初始化 TOUCH_KEY_Init();//触摸按键初始化 RELAY_Init();//继电器初始化 while(1){ if(!GPIO_ReadInputDataBit(TOUCH_KEYPORT,TOUCH_KEY_A))RELAY_1(1); //当按键A按下时继电器1标志置位 if(!GPIO_ReadInputDataBit(TOUCH_KEYPORT,TOUCH_KEY_B))RELAY_1(0); //当按键B按下时继电器1标志置位 if(!GPIO_ReadInputDataBit(TOUCH_KEYPORT,TOUCH_KEY_C))RELAY_2(1); //当按键C按下时继电器2标志置位 if(!GPIO_ReadInputDataBit(TOUCH_KEYPORT,TOUCH_KEY_D))RELAY_2(0); //当按键D按下时继电器2标志置位 }relay.c中的程序: void RELAY_Init(void){ //继电器的接口初始化 GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE); //APB2外设时钟使能 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);//启动AFIO重映射功能时钟 GPIO_InitStructure.GPIO_Pin = RELAY1 | RELAY2; //选择端口号(0~15或all) GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //选择IO接口工作方式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置IO接口速度(2/10/50MHz) GPIO_Init(RELAYPORT, &GPIO_InitStructure); //必须将禁用JTAG功能才能做GPIO使用 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);// 改变指定管脚的映射,完全禁用JTAG+SW-DP GPIO_ResetBits(RELAYPORT,RELAY1 | RELAY2); //都为低电平(0) 初始为关继电器 } void RELAY_1(u8 c){ //继电器的控制程序(c=0继电器放开,c=1继电器吸合) GPIO_WriteBit(RELAYPORT,RELAY1,(BitAction)(c));//通过参数值写入接口 } void RELAY_2(u8 c){ //继电器的控制程序(c=0继电器放开,c=1继电器吸合) GPIO_WriteBit(RELAYPORT,RELAY2,(BitAction)(c));//通过参数值写入接口 }需要特别注意这里禁用了JTAG接口。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |