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

📄 operationst2226a.c

📁 DMX驱动器
💻 C
字号:
//============================================
//   广州中大中鸣科技有限公司
//   DMX驱动器源程序
//   文件名:DMX-DRIVER-2.0.c
//   功能描述:1、模式可调  2、可以设地址 3、485总线  4、DMX512协议
//   建立时间:2007年12月15日
//   修改时间:2007年12月29日
//   修改完成时间:2007年12月29日
//   编写:陈勇强
//   版本:V 2.0
//=============================================

#include<STC12C5410AD.H>
#include<intrins.h>

//I/O脚定义
sbit DCLK = P2^5;                        //数据时钟位
sbit DD = P2^6;                          //数据位
sbit M1 = P2^1;                          //2226A命令位1
sbit M2 = P2^3;                          //2226A命令位2
sbit M3 = P2^4;                          //2226A命令位3

//全局变量的定义
unsigned char DmxData[24];               //接收到的数据数组
unsigned char delay_time;                 //数据时钟延时值

//===========================================
//函数名:delay
//描述:延时
//输入:要延长的时间数
//返回:无
//===========================================
void delay(unsigned char delaytime)
{
	unsigned int t;
	for(t=0;t<delaytime;t++);
}

//===========================================
//函数名:setmode
//描述:对ST2226A-1I设定模式
//输入:无
//返回:无
//===========================================
void setmode(void)
{ 	
  	M1=0;
  	M2=0;
  	M3=0;
  	DCLK=1;
	delay(delay_time);
	DCLK=0;
	delay(delay_time);
}

//===========================================
//函数名:shiltin
//描述:通知ST2226A-1 IC开始移入数据
//输入:无
//返回:无
//===========================================
void shiltin(void)
{
  	M1=0;
  	M2=1;
  	M3=0;
  	DCLK=1;
	delay(delay_time);
	DCLK=0;
	delay(delay_time);
}

//===========================================
//函数名:send0
//描述:对ST2226A-1 IC发送0
//输入:无     
//返回:无    
//===========================================
void send0(void)
{
  	DD=0;
	_nop_();
	_nop_();
  	DCLK=1;
	delay(delay_time);
	DCLK=0;
	delay(delay_time);
}

//===========================================
//函数名:send1
//描述:对ST2226A-1 IC发送1
//输入:无  
//返回:无  
//===========================================
void send1(void)
{	
  	DD=1;
	_nop_();
	_nop_();
  	DCLK=1;
	delay(delay_time);
	DCLK=0;	
	delay(delay_time);
	DD=0;
}

//===========================================
//函数名:latch
//描述:通知ST2226A-1 IC锁存数据
//输入:无  
//返回:无     
//===========================================
void latch(void)
{
  	M1=1;
  	M2=1;
  	M3=0;
  	DCLK=1;
	delay(delay_time);
	DCLK=0;
	delay(delay_time);
}

//===========================================
//函数名:stopemit
//描述:通知ST2226A-1 IC停止发光
//输入:无
//返回:无
//===========================================
void stopemit(void)
{	
  	M1=0;
  	M2=1;
  	M3=1;
  	DCLK=1;
	delay(delay_time);
	DCLK=0;
	delay(delay_time);
}

//===========================================
//函数名

⌨️ 快捷键说明

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