ledt0.c

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

C
61
字号
#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)
	{	
		LEDP=1;
		send(dbuffer);
		LEDP=0;
		for(i=0;i<100;i++);
	}
}

void	timer0_int(void)	interrupt	1
{
	TR0=0;
	TH0=0x3B;
	TL0=0xC0;
	if(!(counter--))
	{
		counter=0x16;
		dbuffer=_cror_(dbuffer,1);
	}
	TR0=1;
}


⌨️ 快捷键说明

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