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

📄 350_adc0.c.bak

📁 C8051F350单片机的24位AD程序
💻 BAK
字号:
//-----------------------------------------------------------------------------
// 包含文件
//-----------------------------------------------------------------------------
//
#include "C8051F350.H"
#include "c8051f350_command.h"
#include <intrins.h>

//-----------------------------------------------------------------------------
// 外部全局变量声明区
//-----------------------------------------------------------------------------
//
extern unsigned char GCV_received_command_buf;
//-----------------------------------------------------------------------------
// 调用外部函数声明区
//-----------------------------------------------------------------------------
//
void Save_calibrate_parameter(void);
void Load_calibrate_parameter(void);




void _350_ADC0_startup(void)
{
	unsigned char TCV_temp_command;
	
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	//满足命令字条件,则执行ADC0启动命令
	if( GCV_received_command_buf < 0xa0 )			 
	{
		//使ADC0进入空闲状态
		COM_ADC0_idle; 						         
		TCV_temp_command = GCV_received_command_buf;
		//判断进入哪一路校准
		TCV_temp_command &= 0x0f;					 
		if     ( TCV_temp_command == 0x01 )
		{
			COM_ADC0_channels_1;
		}
		else if( TCV_temp_command == 0x02 )
		{
			COM_ADC0_channels_2;
		}
		else if( TCV_temp_command == 0x03 )
		{
			COM_ADC0_channels_3;
		}
		else if( TCV_temp_command == 0x04 )
		{
			COM_ADC0_channels_4;
		}
		 
		TCV_temp_command = GCV_received_command_buf;
		TCV_temp_command &= 0xf0;
		//判断命令操作					 
		if ( TCV_temp_command == 0x10 )		 		 
		{	
			//执行系统自动偏移校正
			COM_ADC0_system_offset_calibrate;		 
		}
		else if( TCV_temp_command == 0x20 )	 		 
		{
			//执行系统自动增益校正
			COM_ADC0_system_gain_calibrate;	 		 
		}

		else if( GCV_received_command_buf == 0x33 )	 
		{
			//执行系统偏移手动加
			ADC0COM++;
		}
		else if( GCV_received_command_buf == 0x44 )	 
		{
			//执行系统偏移手动减
			ADC0COM--;
		}
		else if( GCV_received_command_buf == 0x55 )	 
		{
			//执行系统增益手动加
			ADC0CGH++;
		}
		else if( GCV_received_command_buf == 0x66 )	 
		{	
			//执行系统增益手动减						 	
			ADC0CGH--;
		}
		else if( GCV_received_command_buf == 0x77 )	 
		{
			//执行保存校准参数命令
			Save_calibrate_parameter();	
		}
		else if( GCV_received_command_buf == 0x88 )   令
		{
			//执行读取校准参数命
			Load_calibrate_parameter();
		}
		else if( GCV_received_command_buf == 0x99 )   
		{
			//执行全内部校准
			COM_ADC0_all_inside_calibrate;
		}
		
		//禁止AD0中断
		EIE1 = 0x00;
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();


		//等待校准完毕
		while( AD0CBSY )
		{
			_nop_();
			_nop_();
			_nop_();
		}
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		//清除中断标志
		AD0INT = 0;
		//清除校准中断标志
		AD0CALC = 0;
		//允许AD0中断
		EIE1 = 0x08;
		//清空命令字
		GCV_received_command_buf = 0xff;	
		//强制进入ADC0中断,再次启动ADC0	 
		AD0INT = 1;
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		_nop_();							 
	}
	
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();		
}

⌨️ 快捷键说明

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