source01.c

来自「M62429,FM62429 C语言源程序」· C语言 代码 · 共 92 行

C
92
字号
#include <REGX51.H>
#include <intrins.h>
#include <typedefine.h>
#define OP_NULL	_nop_()
sbit M62429_CLK = P1^0;
sbit M62429_DAT = P1^7;

COMMAND TAB_M62429_VOL[] ={
	0xAF
};
void Delay1ms(uint count);
SEND_M62429_DAT(uchar dat);

void Delay1ms(uint count)
{
	unsigned int i,j;
	for(i=0;i<count;i++)
	for(j=0;j<120;j++);
}

SEND_M62429_DAT(uchar dat)
{
	uchar i;
//**************** D0 = 0;
	M62429_CLK = 0;
	OP_NULL;
	M62429_DAT = 0;
	OP_NULL;
	M62429_CLK = 1;
	OP_NULL;
	M62429_DAT = 0;
	OP_NULL;

//**************** D1 = 0;
	M62429_CLK = 0;
	OP_NULL;
	M62429_DAT = 0;
	OP_NULL;
	M62429_CLK = 1;
	OP_NULL;
	M62429_DAT = 0;
	OP_NULL;
//**************** D2..D9
	for(i = 0; i < 8; i++)
	{
		M62429_CLK = 0;
		OP_NULL;
		M62429_DAT = (dat>>i) & 1;
		OP_NULL;
		M62429_CLK = 1;
		OP_NULL;
		M62429_DAT = 0;
		OP_NULL;
	}
//**************** D10 = 1;
	M62429_CLK = 0;
	OP_NULL;
	M62429_DAT = 1;
	OP_NULL;
	M62429_CLK = 1;
	OP_NULL;
	M62429_DAT = 0;
	OP_NULL;
//*****************
//	M62429_CLK = 0;
//	_nop_();
//	_nop_();
	M62429_DAT = 1;
	_nop_();
	M62429_CLK = 0;
}

void main()
{
	uchar i,j, vol1, vol2, vol;
	while(1)
	{
		vol2 = 7;
		for(j=0; j<3; j++)
		{
			vol1 = 21;
			for(i=0; i<21; i++)
			{
				vol = (vol2 << 5) + vol1;
				SEND_M62429_DAT(vol);
				Delay1ms(200);
				vol1--;
			}
			vol2--;
		}
	}
}

⌨️ 快捷键说明

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