使用STC8G1K20pin-16脚仿真出现问题,求大神帮忙
STC8G仿真问题。第一, P0M0 = 0x03; P0M1 = 0xc0;P1.0驱动电机芯片正转,P1.1驱动反转 ,P1.6和P1.7采样。用仿真,P0M0直接就执行不下去了,不用的端口改成1也不行。IO口配置好,STC-ISP仿真无法执行下去,求如何解决??{:cry:}{:cry:}{:cry:}
我设置了多个ADC端口,轮询检测,不过目前就配置一个ADC端口就出现ADC能检测数值,但是数值有很严重的出入。低电压有段数值要比高电压高,数值分布有问题。
第二个就是写ADC采样。我把所有端口设置为双向除P3.3端口为高阻输入进行采样。
void ADCInitC()//P3.3 C采样
{
P_SW2|=0x8B; //打开特殊寄存器ADCTIM
ADCTIM=0x3f;//00111111CSSETUP=0,CSHOLD=01;SMPUTY=11111;
P_SW2&=0x7f;//关闭特殊寄存器
ADCCFG=0x2f;//SPEED=1111;SYSCLK/2/16
ADC_CONTR=0x8B;//打开ADC_POWER电源位 P3.3 10001011
}
uint ReadC(void)
{
uint result;
ADC_CONTR|=0x40;//启动AD转换
_nop_();
_nop_();
while(!(ADC_CONTR&0x20));
ADC_CONTR&= ~0x20;
result=(ADC_RES<<8)|ADC_RESL;
return result;
}
void main()
{
uint A,B;
P1M0 = 0x00;
P1M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x08;
ADCInitC();
B=ReadC();
while(1);
}
仿真读取的数值很怪异。170V电压0x0390,190V电压数值 0x03F9,265v电压是0x3FF,275V电压0x0005,200V电压是0x000B等等,数值严重有问题。之前做了一个测试程序也发现ADC采样严重有问题,特地做了一下采样数据。
新手上路,自己搭建电路,画pcb板子,都弄的最后调试阶段,ADC测试有问题,同时IO口设置仿真有问题。
新手上路问问大大的,以为51的简单,先做一个产品小试牛刀,结果问题大大的。{:cry:}{:cry:}{:cry:} 楼主,我先给你几个ADC的程序,您先参考一下。
1、
2、
仿真问题参考论坛里此2贴:
1、【用 STC-USB Link1D 仿真STC8系列MCU】www.stcaimcu.com/forum.php?mod=viewthread&tid=752
2、【仿真注意事项总结】https://www.stcaimcu.com/forum.php?mod=viewthread&tid=108
ADC采集结果在这里查看,或者赋值到全局变量里,然后在watch窗口里查看。
页:
[1]