搜索
bottom↓
回复: 5

mega169IC口输入检测问题

[复制链接]

出0入0汤圆

发表于 2007-10-17 09:53:52 | 显示全部楼层 |阅读模式
我在使用mega169时,在设置个端口输入情况下并且设置了上拉,单端口PINxn并不能检测到按键的变化(按键一头接端口线,另一头接地)PINxn各脚位在悬空状态下测得电压为1.67V,单片机5V供电,我不清楚为何各脚位在悬空状态下只有1.67V,难道mega169还要配置外部上拉电阻,各口在输出状态下工作都正常,且PINxn在此状态下也能检测到按键的高低电平变化,我不明白为何在输入状态下却不能,而我在使用MEGA8515L,MEGA48V都没遇到此情况,最初怀疑mega169损坏,更换单片机及线路都一样,是不是mega169在输入设置与其他AVR单片机不一样?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2007-10-17 16:55:14 | 显示全部楼层
检查一下你使用的I/O口是否是JTAG口?

出0入0汤圆

 楼主| 发表于 2007-10-17 18:53:22 | 显示全部楼层
除了F口之外,其它口也一样,而且把JTAG的熔丝位去掉使能了.


//ICC-AVR application builder : 2007-9-30 9:40:08
// Target : M169
// Crystal: 3.2768Mhz

#include <iom169v.h>
#include <macros.h>

void port_init(void)
{
PORTA = 0x00;
DDRA  = 0xFF;               //   out
  
PORTB = 0xFF;
DDRB  = 0x00;
  
PORTC = 0xFF;  
DDRC  = 0x00;
  
PORTD = 0xFF;
DDRD  = 0x00;
  
PORTE = 0xFF;
DDRE  = 0x00;

PORTF = 0xFF;
DDRF  = 0x00;
  
PORTG = 0x1F;
DDRG  = 0x00;
}
//=============================
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
MCUCR&=~(1<<PUD);                                       
SEI(); //re-enable interrupts
}

void main(void)
{
init_devices();
while(1)
    {   
     PORTA=PINE;           //我依次用过PINB,PINC,PIND,PINF,PING,结果都一样,输入脚位的
        }                  //高低电平变化改变不了A口的输出结果
  
}

出0入0汤圆

发表于 2007-10-18 00:36:51 | 显示全部楼层
mega169我没用过,但对I/O的使用应该同其它的相同。

只能建议:
1。将语句MCUCR&=~(1<<PUD)去掉试试;
2。检查你的M169的地连接正确吗?
3。如果是上面的测试程序,你下载后,能确认M169在运行吗?(如果AVR一直处在RESET状态,引脚电平就不是5V)

出0入0汤圆

 楼主| 发表于 2007-10-18 08:22:41 | 显示全部楼层
最初我并没加MCUCR&=~(1<<PUD);MEGA169复位后输入口默认应是上拉的,因不来事才加这句。此程序下载后应该在运行,将E口改输出状态,此时PORTA=PINE起作用,A口能够反应E口的变化,输出口位接近5V,只是输入端口当时只是用来检测按键的开合,现在却将端口改输出状态才能反应按键的变化,不知复位异常对输出是否有影响?复位电路如下图,此复位电路我在其它AVR都使用


出0入0汤圆

发表于 2007-10-18 14:16:19 | 显示全部楼层
复位电路问题不大,C7可以不用,否则复位时间长了点。

现在只能考虑是否是其它问题,如编译器的问题,或你编译时是否指定了M169。

笨的办法是用汇编写一个简单的读I/O的程序,在AVR STUDIO中编译,跳开C编译器;或检查C编译后的ASM代码等。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-23 09:32

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表