ledtf0.c

来自「这些是基于dp51仿真仪的程序」· C语言 代码 · 共 62 行

C
62 行
字号
#include<reg51.h>
#include <intrins.h>

sbit	SDA=P1^0;
sbit	CLK=P1^1;
sbit	LEDP=P1^7;

unsigned char counter,dbuffer;

void	send(unsigned char a)
{
	data unsigned char i;
	for(i=0;i<8;i++)
	{
		if(_crol_(a,i)&0x80)
			SDA=1;
		else
			SDA=0;
		CLK=1;
		CLK=0;
	}
}

main()
{
	unsigned char i;	
	TMOD=0x01;
	TH0=0x3B;
	TL0=0xC0;
	
	counter=0x16;
	dbuffer=0x80;
	
	//	EA=1;
	//	ET0=1;
	TR0=1;
	
	while(1)
	{	
		if(TF0)
		{
			TF0=0;
			counter--;
			if(!counter)
			{
				counter=0x16;
				dbuffer=_cror_(dbuffer,1);
			}			
		}
		else
		{
			LEDP=1;
			send(dbuffer);
			LEDP=0;
			for(i=0;i<100;i++);
		}
	}
}



⌨️ 快捷键说明

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