STC12C5A60S2单片机A/D转换器C语言软件的编写
扫描二维码
随时随地手机看文章
单片机的A/D转换器是指单片机的模拟信号转换为数字信号,这是单片机在自动化控制中常用到的功能之一,而熟练和掌握A/D软件编写,也是学习单片机必不可少的课程。由于选用了宏晶科技的STC12C5A60S2单片机,所以在编写A/D转换软件时首先就得参考STC12C5A60S2器件手册,但对于初学者来说,是无法看明白的,还好在学习单片机时购买的单片机学习板上有配套的例程,其A/D源码略(编注:如有需求,请与本报联系)。经测试这段代码在OK51-EASY单片机开发板(笔者购买的单片机学习板)上能正常运行.在PLo引脚上用杜邦线连接电源的正极或地线,数码管能显示0—255,说明单片机的A/D模块已工作。
而在实际应用时用以上函数编写就基本上能满足一般的模数转换要求,但由于以上函数编写的是8位精度AD转换函数,(STC12C5A60S2器件手册提供的是8位源码例子)如果要求精度比较高的就需要编写10精度的AD转换函数了,为此笔者在网上参考了大量的TC12C5A60S2/ADC源码,最终找到了测试正常的IO位ADC函数,以下是10位精度的AD转换函数:
比较了一下8位精度的AD函数和10位精度的AD函数,发现有很大不同,有了以上ADC函数,就能轻松使用STC12C5A60S2内部的AD功能,不再为编写AD函数而烦恼,让读者更容易接触到模拟信号到数字信号的奇妙转换,感受触手可及的数字信号。