⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 relayandscr.c

📁 继电器光偶。需要的同志们可以下载看看。有一定的帮助
💻 C
字号:
//-----------------------------------------------------------------------------
// 版权归新华龙电子公司所有
//-----------------------------------------------------------------------------
//
//文件名:	RELAYANDSCR.c
//
//编写人:	LC
//
//编写时间:2005/03/10
//
//目标器件: C8051F02x
//
//编译工具: Silicon Laboratories IDE
//
//程序说明:	此程序是驱动继电器和光耦

//P54--MUSIC	P55--RELAY		P56--PHOT0		P57--PHOT1

//------------------------------------------------------------------------------------
// Includes
//------------------------------------------------------------------------------------
#include <c8051f020.h>                    // SFR declarations
#include <intrins.h>
//------------------------------------------------------------------------------------
// Function PROTOTYPES
//------------------------------------------------------------------------------------
void PORT_Init (void);

/***************************************************************************************
函数名称:	void sleep_ms(WORD count)
功能描述:	延时
输入:		WORD count(所要延时的长度)
输出:		无
全局变量:	无
调用模块:	_nop_()
***************************************************************************************/
void sleep_ms(unsigned int count)
{
  unsigned char ii,jj;
  for(ii=0;ii<count;ii++)
    {
      for(jj=0;jj<250;jj++)
	  _nop_();			
    }	
}

//------------------------------------------------------------------------------------
// MAIN Routine
//------------------------------------------------------------------------------------
void main (void) {
   /*无效看门狗*/
   WDTCN = 0xde;
   WDTCN = 0xad;
   PORT_Init ();
   P5=P5&0x00;		/*关PHOTO1和步进电机*/
   P5=P5|0x60;		/*关RELAY和PHOTO0*/
   while (1) 
   {
   		//PHOTO1
		P5 = P5 | 0x80;		/*开*/
		sleep_ms(250);
		P5 = P5 & 0x7F;		/*关*/
		sleep_ms(250);
		//RELAY
		P5 = P5 & 0xDF;		/*开*/
		sleep_ms(250);
		P5 = P5 | 0x20;		/*关*/
		sleep_ms(250);
		//PHOTO0
		P5 = P5 & 0xBF;		/*开*/
		sleep_ms(250);
		P5 = P5 | 0x40;		/*关*/
		sleep_ms(250);
   }
}

/***************************************************************************************
函数名称:	void PORT_Init(void)
功能描述:	初始化I/O
输入:		无
输出:		无
全局变量:	XBR2,P74OUT
调用模块:	_nop_()
***************************************************************************************/
void PORT_Init (void)
{
   XBR2    = 0x40;		/*使能交叉开关和弱拉*/
   P74OUT |= 0x08;     /*P5高4位为推挽输出,其余口为开漏输出*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -