最新STC12C5A60S2单片机的AD转换(8位).doc

上传人:1595****071 文档编号:33812702 上传时间:2022-08-12 格式:DOC 页数:6 大小:954.50KB
返回 下载 相关 举报
最新STC12C5A60S2单片机的AD转换(8位).doc_第1页
第1页 / 共6页
最新STC12C5A60S2单片机的AD转换(8位).doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《最新STC12C5A60S2单片机的AD转换(8位).doc》由会员分享,可在线阅读,更多相关《最新STC12C5A60S2单片机的AD转换(8位).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品资料STC12C5A60S2单片机的AD转换(8位).A/D转换测试程序(ADC查询方式)#include “stc12c5a.h”/头文件在STC公司主页上下载#include ”intrins.h”/与STC12C5A60S2单片机ADC相关的寄存器说明/Sfr ADC_CONTR = 0xBC;/AD转换控制寄存器Sfr ADC_RES = 0xBD;/AD转换结果寄存器高Sfr ADC_RESL = 0xBE;/AD转换结果寄存器低Sfr P1ASF = 0x9D;/P1口模拟转换功能控制寄存器Sfr AURX1 = 0xA2;/AD转换结果存储方式控制位#define ADC_P

2、OWER 0x80 /ADC电源开#define ADC_FLAG 0x10 /ADC结束标志位#define ADC_START 0x08 /ADC启动控制位设为开#define ADC_SPEEDLL 0x00 /设为540个时钟周期ADC一次#define ADC_SPEEDL 0x20 /设为360个时钟周期ADC一次#define ADC_SPEEDH 0x40 /设为180个时钟周期ADC一次#define ADC_SPEEDHH 0x60 /设为90个时钟周期ADC一次void AD_init(void);void delay(unsigned int a);unsigned i

3、nt AD_get(unsigned char n);float AD_work(unsigned char n);void main()unsigned char i;AD_init();while(1)for(i=0;i8;i+)AD_work(i);delay(20);unsigned int AD_get(unsigned char n) /第n通道ADC采样函数unsigned int adc_data;ADC_RES = 0; /清零ADC_CONTR=ADC_POWER|ADC_SPEEDLL|n|ADC_START;/打开AD转换电源、设定转换速度、设定通道号、AD转换开始_n

4、op_();_nop_();_nop_();_nop_();/要经过4个CPU时钟的延时,其值才能够保证被设置进ADC_CONTR寄存器while(!(ADC_CONTR&ADC_FLAG); /等待转换完成adc_data=ADC_RES; /转换结果计算,取8位结果ADC_CONTR&=ADC_FLAG;/关闭AD转换,ADC_FLAG位由软件清0 return adc_data;/返回ADC的值float AD_work(unsigned char n) float AD_val; /定义处理后的数值AD_val为浮点数 unsigned char i; for(i=0;i100;i+)

5、 AD_val+=AD_get(n); /转换100次求平均值(提高精度) AD_val/=100; AD_val=(AD_val*5)/256; /AD的参考电压是单片机上的5v,所以乘5即为实际电压值 return AD_val; void AD_init(void) P1ASF = 0xff; /P1口全部作为模拟功能A/D使用ADC_RES = 0; /清零转换结果寄存器高8位ADC_CONTR = ADC_POWER|ADC_SPEEDLL; delay(2); /等待1ms,让AD电源稳定 void delay(unsigned int a) unsigned int i; while (a-) i=5000;while(i-);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁