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

📄 adc.c

📁 这个是汽车制动台控制程序的C语言版本. 用于实际产品中.单片机用的是PIC16F877A.
💻 C
字号:
#include <pic.h>
#include "total.h"

/*********************************************************************************************
* 函数名称: 	unsigned short adc_read(unsigned char channel)
* 功能: 		对某一通道进行AD转换
* 入口参数: 	channel	  转换的通道号
* 出口参数: 	result	  1次AD转换的结果	
* 全局变量: 	无
* 调用模块:	adc_delay
* 设计者: 	饶阳胜
* 日期: 		05-3-1
*********************************************************************************************/
unsigned short Adc_Read(unsigned char channel)
{
	unsigned char i;
	unsigned short ad_result;

	ADCON0 = (channel << 3) + 0x81;		//使能AD,32倍外部转换时钟
	for(i = 0; i < 7; i++){				//延时采样
		asm("nop");
		asm("nop");
	}
	ADIF = 0;
	ADGO = 1;							//开始转换	
	while(ADIF == 0)
		continue;						//等待转换完成
	ad_result = (ADRESH << 8) + ADRESL;	//返回转换结果
	return ad_result;
}


/**********************************************************************************************
* 函数名称: 	unsigned short ad_average(unsigned char channel)
* 功能: 		求AD转换平均值
* 入口参数:	channel     	通道号
* 出口参数: 	result	 	 	转换后的平均值
* 全局变量: 	无
* 调用模块: 	adc_read
* 设计者: 	饶阳胜
* 日期: 		05/3/1
**********************************************************************************************/
unsigned short Adc_Adverage(unsigned char channel)
{
	long summation = 0;						//和变量
	unsigned short i;						//次数变量

	for(i = 0; i < 256; i++){
		summation += Adc_Read(channel);		//调用AD转换函数
	}
	return (short)(summation >> 8);
}

⌨️ 快捷键说明

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