main.c
来自「这是单片机的模数转换和串口调试程序」· C语言 代码 · 共 102 行
C
102 行
/************************************************************************************
* 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 + =
减小字号Ctrl + -
显示快捷键?