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

📄 main.c

📁 stc12 AD UART demo代码
💻 C
字号:
//#include "REG_STC516AD.h"
#include <RegSTC51.h>
#include <intrins.h>
#include <stdio.h>

sbit CR = 0xDE;

typedef	unsigned char	INT8U;
typedef unsigned int	INT16U;

void PWM_Output(INT8U nDiv)
{
	CMOD = 0x02;
	CL = 0x00;
	CH = 0x00;
	CCAP0L = nDiv;
	CCAP0H = nDiv;
	PCA_PWM0 = 0x00;
	CCAPM0 = 0x42;
	CR = 1;
}

void Delay(INT8U uDelayTime)
{
	INT8U	n;
	INT16U	m;
	
	for (n=0; n<uDelayTime; n++)
	{
		for (m=0; m<10000; m++)
			;
	}
}
void InitCOM(void)
{
  SCON = 0x52;    /* SCON */                   /* setup serial port control */
  TMOD = 0x20;    /* TMOD */                   /* hardware (2400 BAUD @12MHZ) */
  TCON = 0x69;    /* TCON */
  TH1 =  0xf3;    /* TH1 */
}



void SendByte(INT8U uByte)
{
	TI = 0;
	SBUF = uByte;
	while (TI == 0)
		;
	TI = 0;
}

INT8U GetADResult(INT8U uChannel)
{
	INT8U uADFinished = 0;
	ADC_DATA = 0;
	ADC_CONTR = uChannel;
	Delay(1);
	ADC_CONTR |= 0x08;
	uADFinished = 0;
	while (uADFinished == 0)
		uADFinished = (ADC_CONTR &0x10);
	ADC_CONTR &= 0xF7;
	return ADC_DATA;
}

void SendDataToCOM(unsigned char* pBuffer, INT8U Length)
{
  INT8U data I;
  for (I=0; I<Length; I++)
  {
	while (TI == 0) ;
	SBUF = *(pBuffer+I);
	TI = 0;
  }
}


void main(void)
{
	InitCOM();
	P1 = P1 | 0x63;
	P1_ADC_EN = 0x63;
	
	SendDataToCOM("Hello", 5);
	while (1)
	{
		SendByte(GetADResult(0));
		Delay(0x200);
	}
}



⌨️ 快捷键说明

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