本帖最后由 yytpy2008 于 2012-6-25 11:20 编辑
初识中颖单片机,觉得仿真功能作的不错,可是在学习单片机ad功能时,仿真出现了如下的问题:先附源代码:
#include<SH79F083.h>
#define uint unsigned int
#define uchar unsigned char
void main()
{
uint i,adc,adc_data;
adc=0;
adc_data=0;
ADCON=0x80;
ADT=0x88;
ADCH=0x01;
for(i=0;i<250;i++);
while(1)
{
ADCON|=0x01;
while(ADCON&0x01);
adc = ADDH;
adc = adc<<2 + ADDL;
adc_data=adc;
}
}
仿真结果:首先adc_data一直是0.单步执行能执行到adc = adc<<2 + ADDL;,可是执行不到adc_data=adc;这一步。
其次,在有时仿真时ADDH,ADDL有时会为0。附件为仿真时的图。
是不是我代码做的也有问题,请与解答谢谢。
|