请教LPC925单片机AD转换问题,第一次用LPC925,在做实验AD转换当中发现了如下问题:<br />首先将输入信号电压调至1.5V(用稳压电源做的信号源),接到P0.1<br />编写程序如下:<br />PT0AD EQU 0F6H <br /> P0M1 EQU 84H<br /> P0M2 EQU 85H<br /> ADINS EQU 0A3H<br /> ADMODA EQU 0C0H<br /> ADMODB EQU 0A1H<br /> ADCON1 EQU 97H<br /> ADCI1 BIT ADCON1-3<br /> AD1DAT0 EQU 0D5H<br /> ORG 0000H<br /> LJMP START<br /> ORG 0100H<br />START: MOV P0M1,#01H ; 设置P0.1仅为输入功能<br /> MOV P0M2,#00H<br /> MOV ADCON1,#45H ;立即触发<br /> MOV ADINS,#10H ;选择AD10(p0.1)为输入通道<br /> MOV ADMODA,#10H ;模式固定通道单次转换<br /> MOV ADMODB,#00H ;AD转换频率<br />LOOP:JNB ADCI1,LOOP ;扫描是否转换完毕<br /> MOV A,AD1DAT0 ;取数<br /> MOV R0,A<br /> CLR ADCI1 ;清标志位<br /> CLR P0.2<br /> CLR P0.3<br /> CLR P0.4<br /> JMP $<br /> END<br /> <br />在KEIL编程环境里看,R0的AD转换的数值始终在E*左右变化,很实际数值相差别较大.<br />仔细寻找原因还是未能找到错误的所在,所以希望能够提供帮助解决次问题<br /> |
|