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

📄 main.c

📁 这是单片机的模数转换和串口调试程序
💻 C
字号:
/************************************************************************************
*  Copyright (c) 2004,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* 文件名称: MAIN.C
* 文件标识: none
* 适用器件: C8051F020
* 
* 摘 要:
* 
* 当前版本:1.0
* 作 者:张宁强
* 完成日期:2006年1月10日
*
* 历史版本:0.9 
* 原作者 : 张宁强
* 完成日期:2005年x月xx日
*************************************************************************************/

#include "MAIN.H"


#define LED_PORT P5 //P5.4--P5.7


void DelayMs(unsigned int n)//延时(n)MS
{
	unsigned int i;
	for(; n > 0; n--)
	{
		for(i = 2211; i > 0; i--);
	}
}

void SysClkInit(void)//配置系统时钟
{
   int n = 0;
	OSCXCN = 0x67;
   for (n = 0; n < 255; n++) ;
   while ( (OSCXCN & 0x80) == 0 );
	OSCICN = 0x0C;
}

void SystemInit(void)//系统配置
{
   WDTCN = 0xDE;   // 关闭 WDT
   WDTCN = 0xAD;

   LED_PORT = 0x0f;
}

void PortInit(void)//端口配置
{
   //交叉开关配置
	XBR0 = 0x04;
	XBR1 = 0x00;
	XBR2 = 0x40;
	// P0 口分配状况
	// P0.0 = UART0 TX
	// P0.1 = UART0 RX

   //输出方式
   P74OUT = 0x08;
}

void main(void)
{
   unsigned int i;
   float voltage;
   unsigned int tp;
	SystemInit();//系统配置
	SysClkInit();//配置系统时钟
	PortInit();//端口配置
   UartInit();//UART初始化
   ADC0_Init();
	while(1)
	{
      DelayMs(2000);
      ADC0_Conver();
      printf("\n");
		for (i=0;i<9;i++)
	  	{
        	voltage = result[i] * 2430.0 / 4095;
         tp = voltage;
			switch(i)
			{
         	case 8:
   				voltage = (tp - 776) / 2.86;
               tp = voltage;
        			printf ("Chip temperature is %d ℃\n", tp);
				break;
				default:
      			printf ("Channel %d voltage is %dmV\n", i, tp);
				break;
		 	}
   	}
	}
}



⌨️ 快捷键说明

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