大家帮我解决下关于AT89C2051片子的问题

[复制链接]
4401|11
 楼主| mycbaobei 发表于 2011-8-26 13:41 | 显示全部楼层 |阅读模式
我在做个双电机自动调节摄像机镜头实验,我开始用89S52做的实验,调试是成功的。现在我们工程师要我用AT89C2051做,但是我把程序写到2051里面去后调试不出来,不知道为什么,我测试过,振荡正常,复位是用的47UF和10K电阻。输出就是不正确,应该是上电后,自动选择基准点,也就是电机先自动调节,但是我测量输出引脚一直是高电位。大侠们帮我解决下,是不是硬件方面有什么问题,或者说程序方面 两个单片机的初始化不一样啊,我用的是C语言编写的,初始化方面就是P1|=0x00,和P3|=0xff,大家帮我看看应该怎么弄  我现在都急死了  这破东西我都弄了快一个月了
ayb_ice 发表于 2011-8-26 14:51 | 显示全部楼层
2051哪有什么P3口?
sw008 发表于 2011-8-26 17:11 | 显示全部楼层
看一下生成Hex时是不是没有在软件里选择芯片
再编一个简单的测试程序,看能否输出正确的值
逐步查找原因
另外P1|=0x00和P3|=0xff有什么意义?
manle789 发表于 2011-8-26 18:38 | 显示全部楼层
我没用过,自己最好去看看AT89C2051的datasheet,也许会发现与at89c52的不同
dengm 发表于 2011-8-29 23:02 | 显示全部楼层
at80C2051 只有 2k
 楼主| mycbaobei 发表于 2011-8-30 09:31 | 显示全部楼层
2# ayb_ice  2051 有P3口的
 楼主| mycbaobei 发表于 2011-8-30 09:34 | 显示全部楼层
3# sw008  我编写了一个简单的程序实验了下 也是一样的,输出就是不对,P1|=0x00和P3|=0xff,是初始化啊,P3做为输入口要至1,P1口作为输入口也要至1的,但是我不用P1口做为输入口就给他至0了,现在我怀疑是我的初始化有问题
ayb_ice 发表于 2011-8-30 11:23 | 显示全部楼层
对了,好象是有P3口,
记得2051的某个口是要接上拉电阻的,和比较器有关的
 楼主| mycbaobei 发表于 2011-8-30 13:17 | 显示全部楼层
8# ayb_ice  你的意思是哪个引脚啊,P3口就P3.6没有上拉电阻,但是片子上没有P3.6引脚,P1中P1.0,P1.1是没有上拉电阻的,可是他们是同向输入和输出端啊。还有就是我刚注意到我的程序,烧写是“已忽略部分超出缓存区的内容”,但是我用个小程序,实验的话,I/O口的输出全部是高电平
ayb_ice 发表于 2011-8-30 14:06 | 显示全部楼层
本帖最后由 ayb_ice 于 2011-8-30 14:24 编辑
8# ayb_ice  你的意思是哪个引脚啊,P3口就P3.6没有上拉电阻,但是片子上没有P3.6引脚,P1中P1.0,P1.1是没有上拉电阻的,可是他们是同向输入和输出端啊。还有就是我刚注意到我的程序,烧写是“已忽略部分超出缓存区 ...
mycbaobei 发表于 2011-8-30 13:17

这种问题直接问手册
刚才看了一下文档,好象不用比较器的话,是不用加上拉的
ayb_ice 发表于 2011-8-30 14:06 | 显示全部楼层
还有
“已忽略部分超出缓存区的内容”,
这个肯定是不行的
 楼主| mycbaobei 发表于 2011-9-1 08:22 | 显示全部楼层
非常感谢大家,找到解决办法了,是编译器问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

7

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部