STC12C5A60S2单片机的10位AD转换程序

上传人:liu****han 文档编号:156260292 上传时间:2022-09-26 格式:DOC 页数:2 大小:23.50KB
返回 下载 相关 举报
STC12C5A60S2单片机的10位AD转换程序_第1页
第1页 / 共2页
STC12C5A60S2单片机的10位AD转换程序_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述
STC12C5A60S2单片机的10位AD转换程序#includestc12c5a.h /头文件在STC公司主页上下载#includestdio.h /输入输出函数#includeintrins.h/-void AD_init(); /初始化ADvoid serial_init(); void delay(unsigned int a);float AD_work(unsigned char channel);unsigned int AD_get(unsigned char channel);/-void main() /主程序AD_init(); /A/D转换初始化serial_init(); /串口初始化while(1) unsigned char i; for(i=0;i8;i+) /循环发送P1.0-P1.7的转换数值 TI=1; /使用printf函数前须先将发送标志位TI置1 printf(The P1.%bd voltage is %fn,i,AD_work(i); TI=0; delay(1000); /延时约1s /-unsigned int AD_get(unsigned char channel)ADC_CONTR=0x88|channel; /开启AD转换1000 1000 即POWER SPEED1 SPEED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0 _nop_(); _nop_(); _nop_(); _nop_(); /要经过4个CPU时钟的延时,其值才能够保证被设置进ADC_CONTR 寄存器while(!(ADC_CONTR&0x10); /等待转换完成ADC_CONTR&=0xe7; /关闭AD转换,ADC_FLAG位由软件清0return(ADC_RES*4+ADC_RESL); /返回AD转换完成的10位数据(16进制)/-float AD_work(unsigned char channel)float AD_val; /定义处理后的数值AD_val为浮点数unsigned char i;for(i=0;i0;i-); /1T单片机i=600,若是12T单片机i=125/-void serial_init()TMOD=0x20;TH1=0xfd;TL1=0xfd; /设置9600波特率SCON=0x50; /串口方式1,允许接收TR1=1;/-void AD_init()P1ASF=0xff; /P1口全部作为模拟功能AD使用ADC_RES=0; /清零转换结果寄存器高8位ADC_RESL=0; /清零转换结果寄存器低2位ADC_CONTR=0x80;/开启AD电源delay(2); /等待1ms,让AD电源稳定/*
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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