牛逼的 奇怪的STC12C单片机
本帖最后由 a20084666 于 2013-9-5 16:26 编辑用过stc12c5620AD系列单片机的来说说看,这个单片机速度还是蛮快的,曾经我把vcc和gnd接错了,片子烧的那叫一个热,后来我试着下载程序,ok没问题,运行居然也没问题my god太不可思议了。
下面的图是关于IO口的说明,我在读取IO口数据时发现要延时400微妙才能读到正确的数字(不是说只有延时1到2个空操作的么,为啥要那么多才行),很是纠结,很是纳闷,上面说,不是说可以加上啦电阻么,,为啥我用了10K还是不行,
自己顶起 哈哈 我在读取IO口数据时发现要延时400微妙才能读到正确的数字(不是说只有延时1到2个空操作的么,为啥要那么多才行)
我觉得不可能,STC不至于两个电平都读不对 额看来我可以试试我的STC12C2052AD是不是还能用哦。。。上次把IO口接电了
也是烧得非烫 xou822 发表于 2013-9-5 08:42 static/image/common/back.gif
额看来我可以试试我的STC12C2052AD是不是还能用哦。。。上次把IO口接电了
也是烧得非烫 ...
赶紧去试试吧 估计能用哦 hhxb 发表于 2013-9-4 23:18 static/image/common/back.gif
我在读取IO口数据时发现要延时400微妙才能读到正确的数字(不是说只有延时1到2个空操作的么,为啥要那么多 ...
也不知道是IO设置的原因,还是啥反正延时后就能读正确的数字 很有可能是烧坏了,局部功能随坏,经常遇到类似情况,你可以看看总电流是不是偏大 读IO之前没有将管脚置1吧,不可能要这么长时间的。要不就是管脚没配置好 用万用表二极管档测一下,vcc之外的其它引脚都对vcc有一个保护二极管。也就是说反接的话电源会通过内部二极管导通起到反接保护作用,当然如果电源比较强劲这个二极管也会抗不住了。 noneno 发表于 2013-9-5 10:57 static/image/common/back.gif
读IO之前没有将管脚置1吧,不可能要这么长时间的。要不就是管脚没配置好
真的是没有给管脚置1的原因 谢谢 说句公道话,STC挺好滴{:lol:} gzhmcu 发表于 2013-9-5 16:19 static/image/common/back.gif
说句公道话,STC挺好滴
你可知道原因,为啥,纠结了 gzhmcu 发表于 2013-9-5 16:19 static/image/common/back.gif
说句公道话,STC挺好滴
支持、、 如果VCC GND 接反过,还是更换一片再试试吧,也许会有“内伤” a20084666 发表于 2013-9-5 15:54 static/image/common/back.gif
真的是没有给管脚置1的原因 谢谢
51的准双向 IO 可以理解为: 读取前要准备一下:IO口置1,然后延时一小下。 catwill 发表于 2013-9-6 09:23 static/image/common/back.gif
51的准双向 IO 可以理解为: 读取前要准备一下:IO口置1,然后延时一小下。 ...
不对我还是得延时400us才能读取数据,很纠结 即使置1也要延时400us a20084666 发表于 2013-9-6 09:31 static/image/common/back.gif
不对我还是得延时400us才能读取数据,很纠结 即使置1也要延时400us
你换新的芯片了吗?烧过那个也许有内伤呢。 建议你把程序中无关的部分都去掉,只试验,这个功能,应该不需要几行代码的。 catwill 发表于 2013-9-6 09:52 static/image/common/back.gif
建议你把程序中无关的部分都去掉,只试验,这个功能,应该不需要几行代码的。 ...
我试试看吧,希望能解决问题 400us应该不至于,我写程序时,要读端口时连续读三次的,没出过问题! ZY_Hong 发表于 2013-9-6 10:47 static/image/common/back.gif
400us应该不至于,我写程序时,要读端口时连续读三次的,没出过问题!
不知道是为啥,我是先给164发送数据,然后读164管脚电平 ZY_Hong 发表于 2013-9-6 10:47 static/image/common/back.gif
400us应该不至于,我写程序时,要读端口时连续读三次的,没出过问题!
哥们用过74hc164没? a20084666 发表于 2013-9-6 10:50 static/image/common/back.gif
哥们用过74hc164没?
没用过,不过这种数字芯片用起来都简单的,建议先弄清楚是程序的原因还是外围电路的原因,可以断开外围或者用示波器直接观察引脚电平变化! ZY_Hong 发表于 2013-9-6 10:55 static/image/common/back.gif
没用过,不过这种数字芯片用起来都简单的,建议先弄清楚是程序的原因还是外围电路的原因,可以断开外围或 ...
我也想,没用示波器看过引脚。不知道程序一开始是不是立马从主程序开始,还是有个其他内置程序运行, a20084666 发表于 2013-9-6 11:02 static/image/common/back.gif
我也想,没用示波器看过引脚。不知道程序一开始是不是立马从主程序开始,还是有个其他内置程序运行, ...
程序开始执行用户程序时是从main()开始的!
至于启动文件什么的没必要了解,与你这个问题也没有关系!
手头有示波器的话直接看波形,要学会查找问题的思路与方法! gzhmcu 发表于 2013-9-5 16:19 static/image/common/back.gif
说句公道话,STC挺好滴
支持,就是不知道为啥有那么多口水,为啥有人认为如果用stc做产品就山寨,技术要低一等? wgui 发表于 2013-9-5 23:21 static/image/common/back.gif
支持、、
支持!!!!!!!!!!!!!!! 不知我理解得对不对:
首先,指令为引脚置1,要两个周期后才出现在输出引脚锁存器上,因此至少要等两个周期。
其次,由于IO默认是弱上拉,实际引脚电平的上升时间会比较长,因此还要多等一下。如果设为推挽输出可能会快一些。 要不要来个暴力大电流烧毁试验 也有可能IO口烧坏了 可能Io坏了吧 帮忙顶起来! 觉得你这是有什么问题,看一下我这个片段,发送数据给一个IC的,测试过的,没有问题的,那就是说上升时间,或是下降时间都挺快的。
void send_dat(uchar dat) //高位先传
{
uchar i;
for(i=8;i>0;i--)
{
if(dat & 0x80)
{
DIN=1;
_nop_();
CLK=1;
_nop_();
CLK=0;
}
else
{
DIN=0;
_nop_();
CLK=1;
_nop_();
CLK=0;
}
dat <<=1;
}
}
void sendRGB(uchar r,uchar g,uchar b)
{
send_dat(r);//R
send_dat(g);//G
send_dat(b);//B
}
页:
[1]