52单片机内部没有集成adc转换器,所以要想进行ad模数转换就必须adc转换芯片。单片机与adc芯片的接口要看具体选用了哪种类型的转换芯片。msp430是16位单片机,STM8和avr是8位单片机。至于8051以前是单片机型号,现在成为一种标准,这类的单片机都叫8051内核。IAR与KEIL一样,是编译软件。
MSP430单片机称之为混合信号处理器。首先你要明白ADC的时钟概念:时钟频率为250KHz,意思是一秒钟转换250000次,而每次转换的数据是根据你ADC的精度来算的。比如你的ADC是8位的。STC官网上有例子的,大概有以下几个过程:ADC_CONTR=ADC_CONTR|0X80;//10000000开启转换电源Delay1ms(1);//延时,等待内部电源稳定//P1M0=P1M0|0X0
16位ADC就是说它的AD转换是16位精度的。最简单的用并口,或者用模拟SPI发给43将相应端口的模式设置为输入或开漏。打开ad开关并设置转换通道与速度。启动转换并等待结束。关闭转换并读出值。这些操作都是内部程序操作。那么直接把传感器模拟信号接入即可,前提是信号电压的范围要合适,如果信号过于用AD转换器如果是AD转换的话就直接接到单片机的I/O口了。
AD测量范围:0~基准电压。包含0跟基准电压。基准电压分多种:单片机电源电压;(有AD功能的就有)内置高精度电压23V;(如果单片机有的话)选一款带PWM功能的PIC单片机。接8M或更高的晶振,程序调节PRCCPR1L和CCPR1H这些寄存器则可实现10K到200k可调。这里只用到它的连续输出频率。
看一下你输入的2V到单片机引脚是不是还有2V,是不是被拉低了。看一下你AD采样脚和AD采样寄存器的配置。AD值是指模拟信号经过模数转换器(ADC)转换为数字信号后的数值。将AD值转换为实际值需要知道ADC的量程、参考电压以及输入信号的量化范围。主程序是空的当然进不去,你再次AD转换应该能进,主循环里放ADC12CTL0|=ADC12SC;不需要自己清除采样中断标志!!MSP430的ADC模块具有16个采样通道。
暂无评论内容