共2条
1/1 1 跳转至页
郁闷,这个管脚电平怎么读不了
问
代码如下:
“
if((P2&0x80)==0x80)
level_cnt3=(level_cnt3<<1)|0x01;
else
level_cnt3<<=1;
”
说明,89c51cpu,p2口外上拉10k电阻。
很奇怪,当p27电平有变化时(有意为之),levle_cnt3却没有变化。
如果将程序改为用p07,即
if((P0&0x80)==0x80)
level_cnt3=(level_cnt3<<1)|0x01;
else
level_cnt3<<=1;
却有效。
各位帮我分析一哈问题在哪里?谢谢先。
答 1: 检查P2口初始化是否正确。 答 2: p2口p0口初始化一样。另外,89c51的管脚初始化会象其他非51需要定义其输入输出?
好像没听说过。
实际证明:初始化时p2=0xff与p2=0x7f没有差别。
答 3: re:1、头文件中定义的特殊功能寄存器地址错了,查看一下头文件,或用KEIL软件仿真一下。
2、或者是你看错管脚了,把P0和P2口看错了!
3、单片机坏了! 答 4: 还有,在读一个管脚状态前,先将其写1 答 5: to 阿南“读一个管脚状态前,先将其写1”
是何道理?多谢指教。
但我这里为何p0行,p2不行?
我也怀疑单片机坏了。所以将p27引到没有用的p07。
但客户换了几片,也一样。
在没有找到原因而时间又急时,我现在暂时如下编程解决问题。真正郁闷。
#DEFINE TempratureIN 0X80
if(((P0&TempratureIN)==0x80)||((P2&TempratureIN)==0x80))
level_cnt3=(level_cnt3<<1)|0x01;
else
level_cnt3<<=1;
答 6: 你可以找一本单片机的基础书,参考一下I/O口部分这是和单片机I/O口的内部结构有关,内部原理相当于一个晶体管(或者说是三极管)!如果你将这个I/O口写为0,无论你这个管脚输入如何变化,读进来的值总是0。
我建议你用KEIL软件仿真一下你的程序,如果软件都通不过,那肯定与实际的单片机无关啦 答 7: P2口为什么你也上拉? 答 8: 现在只有怀疑单片机坏了 聂金华 发表于 2005-5-20 15:07 侃单片机 ←返回版面
P2口为什么你也上拉?
--------------
这个硬件不是我做的,不过,P2口上拉也没错。
我现在只有怀疑单片机坏了。
但手里没更多的片子,客户在异地又不大关心。暂无法确认。
答 9: 不一定是单片机坏了P2口不用上拉也是可以的,但如果有上拉电阻就必须确保该上拉电阻
没有被烧坏,可以检查一下P2口的上拉电阻,这样才能确保检测信号
的正确性。 答 10: 已经确认:芯片脚坏了。谢谢楼上各位热心交流 答 11: 测管脚坏简单可发55和AA两次得到正确结果在编程器能烧写但不能正确使用时.这种方法非常有效.
最好嵌入到系统中进行实时检测.
“
if((P2&0x80)==0x80)
level_cnt3=(level_cnt3<<1)|0x01;
else
level_cnt3<<=1;
”
说明,89c51cpu,p2口外上拉10k电阻。
很奇怪,当p27电平有变化时(有意为之),levle_cnt3却没有变化。
如果将程序改为用p07,即
if((P0&0x80)==0x80)
level_cnt3=(level_cnt3<<1)|0x01;
else
level_cnt3<<=1;
却有效。
各位帮我分析一哈问题在哪里?谢谢先。
答 1: 检查P2口初始化是否正确。 答 2: p2口p0口初始化一样。另外,89c51的管脚初始化会象其他非51需要定义其输入输出?
好像没听说过。
实际证明:初始化时p2=0xff与p2=0x7f没有差别。
答 3: re:1、头文件中定义的特殊功能寄存器地址错了,查看一下头文件,或用KEIL软件仿真一下。
2、或者是你看错管脚了,把P0和P2口看错了!
3、单片机坏了! 答 4: 还有,在读一个管脚状态前,先将其写1 答 5: to 阿南“读一个管脚状态前,先将其写1”
是何道理?多谢指教。
但我这里为何p0行,p2不行?
我也怀疑单片机坏了。所以将p27引到没有用的p07。
但客户换了几片,也一样。
在没有找到原因而时间又急时,我现在暂时如下编程解决问题。真正郁闷。
#DEFINE TempratureIN 0X80
if(((P0&TempratureIN)==0x80)||((P2&TempratureIN)==0x80))
level_cnt3=(level_cnt3<<1)|0x01;
else
level_cnt3<<=1;
答 6: 你可以找一本单片机的基础书,参考一下I/O口部分这是和单片机I/O口的内部结构有关,内部原理相当于一个晶体管(或者说是三极管)!如果你将这个I/O口写为0,无论你这个管脚输入如何变化,读进来的值总是0。
我建议你用KEIL软件仿真一下你的程序,如果软件都通不过,那肯定与实际的单片机无关啦 答 7: P2口为什么你也上拉? 答 8: 现在只有怀疑单片机坏了 聂金华 发表于 2005-5-20 15:07 侃单片机 ←返回版面
P2口为什么你也上拉?
--------------
这个硬件不是我做的,不过,P2口上拉也没错。
我现在只有怀疑单片机坏了。
但手里没更多的片子,客户在异地又不大关心。暂无法确认。
答 9: 不一定是单片机坏了P2口不用上拉也是可以的,但如果有上拉电阻就必须确保该上拉电阻
没有被烧坏,可以检查一下P2口的上拉电阻,这样才能确保检测信号
的正确性。 答 10: 已经确认:芯片脚坏了。谢谢楼上各位热心交流 答 11: 测管脚坏简单可发55和AA两次得到正确结果在编程器能烧写但不能正确使用时.这种方法非常有效.
最好嵌入到系统中进行实时检测.
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |