text.c

来自「基于单片机avr的led,串口模块的编程代码。」· C语言 代码 · 共 76 行

C
76
字号
#include "at89x52.h"
#include "SERIAL.h"
#include "led.h"

#define uchar unsigned char

#define uint unsigned int

#define CONTRALLINE P0_0

uchar count = 0;
uint highnumber;  //高位时的T0初计数值
uint lownumber;   //低位时的T0初计数值
uint initnumber;

uchar T0_lowbool = 0; 

void ConutIni(float angle) // 1ms需要1843.2个机器周器   hightime
{
	float hightime;
	hightime = 0.5 + 2.0 / 180.0  *  angle;
	highnumber = 0xffff - ( int ) ( hightime * 1843.2 )  ;
	lownumber = 0xffff - ( int ) ( ( 20 - hightime ) * 1843.2 )   ;
}

void time0_over(void) interrupt 1
{
	count %= 2; 
	if( count == 0)
	{
		initnumber = highnumber;
		P0_0 = 1;
		P0_7 = 1;     
	}
	else
	{
		initnumber = lownumber;
		P0_0 = 0;
		P0_7 = 0;
		T0_lowbool = 1;
	}	
	count ++;
	TL0 = 0xff & initnumber;
	TH0 = 0xff & ( initnumber >> 8 );
}

void device_ini(void)
{
	TMOD = 0x01;
	IE = 0x82;
	TR0 = 0x01; //启动定时器T0;
}


void main(void)
{     
	DeviceIniSerial(0xff, 0xb8);
	ComSend(0x12);
	device_ini();
	ConutIni(90);
	while (1) 
	{
		//if(T0_lowbool == 1)
		//{
			if(receive_bool)
			{
				//ConutIni(0);
				LedPrint(receive_number);
				receive_bool = 0;
			}
			T0_lowbool = 0;
			LedScan();
		//}
	}
}     

⌨️ 快捷键说明

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