STC15系列ADC通用程序
更新时间:2024-06-07 21:57:01 阅读量: 综合文库 文档下载
/************************************************************************/
/********* ADC_STC15.C *************/ /********** Written By ZQW---20160819 *************/ /********** Version 1.9 ***************/ /************************************************************************/ #include \
#include \#include \#include \
//-----------------------------------------------------------------------
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //-----------------------------------------------------------------------
//----------------------函数说明-----------------------------------------
//STC15系列单片机的AD功能能够使用串口传输数据,使用ADC_CONTER寄存器中的 //ADC_FLAG位可以触发中断5@interrupt5 using1,该文件中未调用中断函数,直接 //从ADC_RES和ADC_RESL寄存器中读取数据
//-----------------------------------------------------------------------
//=======================================================================
uint8 Temp_adc_h = 0; uint8 Temp_adc_l = 0; fp32 voltage = 0;
voidDelay_adc(uint8 i) { uint16 n; while(i--) { n=6000; while(--n); } }
//adc初始化---------------------------- voidADC_Init(void) { P1ASF = 0x80; //P17 CLK_DIV &= 0xdf; //高8位,低2位 ADC_CONTR = 0x40; //adcs速度 _nop_(); ADC_CONTR |= 0x07; //P17 _nop_(); ADC_CONTR |=0x80; //开电源 Delay_adc(1);
}
//adc转换并取出------------------------- void ADC_STC15(void) { uint8 AD_finished=0; ADC_RES=0; ADC_RESL=0; ADC_CONTR |= 0x08; //开始转换 AD_finished = 0; while(AD_finished==0) { AD_finished = (ADC_CONTR & 0x10); }
ADC_CONTR &= 0xe7; //清除转换标志位,关转换 Temp_adc_h = ADC_RES; Temp_adc_l = ADC_RESL; }
//转换电压------------------------------- fp32 ADC_transfer(uint8 bit_8_10) { uint16 ADC_conb = 0; if(bit_8_10==8) {
voltage=(Temp_adc_h/256)*5; //voltage第一位为个位 } if(bit_8_10==10) { ADC_conb = ADC_RES; //把RES和RESL结合为10位数据 ADC_conb = (ADC_conb<<2) | (ADC_RESL & 3); voltage = (ADC_conb/1024)*5; //基准电压为单片机VCC,5V } return(voltage); //返回电压值 }
//======================================================================= //--------------------------End of ADC_STC15.C---------------------------------
//=======================================================================
//以下是.H文件
/************************************************************************/
/********* ADC_STC15.H *************/ /********** Written By ZQW---20160819 *************/ /********** Version 1.9 ***************/ /************************************************************************/ #ifndef __ADC_STC15__ #define __ADC_STC15__
//-----------------------------------------------------------------------
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //-----------------------------------------------------------------------
//----------------------硬件接口配置------------------------------------- //-----------------------------------------------------------------------
//======================================================================= //USE-> //
//-----------------------------------------------------------------------
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //-----------------------------------------------------------------------
//----------------------外部接口函数-------------------------------------
//======================================================================= voidADC_Init(void); void ADC_STC15(void);
fp32 ADC_transfer(uint8 bit_8_10); extern uint8 Temp_adc_h ; extern uint8 Temp_adc_l ; extern fp32 voltage ;
//-----------------------------------------------------------------------
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //-----------------------------------------------------------------------
//----------------------内部调用函数------------------------------------- //-----------------------------------------------------------------------
//======================================================================= voidDelay_adc(uint8 n);
#endif
//-----------------------------------------------------------------------
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //-----------------------------------------------------------------------
//----------------------具体应用实例------------------------------------- //-----------------------------------------------------------------------
//======================================================================= //void main() //{
// P4M0&=~0x02; // P4M1&=~0x02; // InitGPIO_lcd(); // InitLcd(); // ADC_Init(); // while(1) // { // ADC_STC15(); // Display10BitData((ADC_transfer(10)), 2, 1); // LED1 =~ LED1; // Delay(22); // } //}
//======================================================================= //--------------------------End of ADC_STC15.H---------------------------------
//=======================================================================
- 小学生造句大全
- 增压泵投资项目可行性研究报告(模板)
- 高中语文人教版粤教版必修1-5全部文言文知识点归纳
- 两学一做专题民主生活会组织生活会批评与自我批评环节个人发言提
- 管理处环境保洁工作操作标准作业指导书
- 2012六一儿童节活动议程 - 图文
- 移树申请报告
- 《贵州省市政工程计价定额》2016定额说明及计算规则
- 计算机长期没有向WSUS报告状态
- 汉语拼音教学策略研究
- 发展西部领先的航空货运枢纽
- 司法所上半年工作总结4篇
- 如何提高银行服务水平
- 发电厂各级人员岗位职责
- 丰田汽车的外部环境分析
- 2017—2018年最新冀教版四年级数学下册《混合运算》教案精品优质
- 中建八局样板策划 - 图文
- 戚安邦《项目管理学》电子书
- 2015年高级项目经理笔记
- 弯桥的设计要点
- 通用
- 程序
- 系列
- STC15
- ADC
- 砖混结构施工组织设计
- 2017-2018学年七年级地理下学期期中试题 新人教版
- 福建省南平市水东学校七年级数学上册 35去括号教案 北师大
- 13、四方监管协议与文明施工措施费核实表(1)
- 一年级上册数学第七单元淘气的校园宋娇(主)钟伟容(副)
- 政协党组向省委巡视组工作汇报
- 论天然气长输管道工程建设管理
- 正版标准:1000 kV交流电气设备预防性试验规程
- 五、安全文明施工和环境保护措施(含扬尘)
- 大学英语教学计划(3级)
- 基于MATLAB的图像处理及跟踪算法
- 《计算机组成原理》课程习题答案_秦磊华2011-9-8
- GM905指令
- 汽车保险案例分析2011
- (山东莱阳董福军原创2013.11.11)我的地理歌谣
- 2015高考名校热身试卷_四川省南充市2015届高三第三次高考适应性
- 2015统计工作实务真题和答案
- 2013年(行政类)安徽会计继续教育网上考试练习及答案(中华会计学
- 浅谈如何加快大型建筑施工企业商务人员的培养
- 基于PLC的啤酒发酵自动控制系统毕业论文设计