搜索
bottom↓
回复: 12

AVR引脚输入问题

[复制链接]

出0入0汤圆

发表于 2012-12-27 11:21:19 | 显示全部楼层 |阅读模式
小弟初学AVR,我把引脚设置成输入状态,然后接地和电源,值都不变。

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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2012-12-27 11:26:17 | 显示全部楼层
怎么设置的,贴图贴代码!

出0入0汤圆

 楼主| 发表于 2012-12-27 11:30:42 | 显示全部楼层
void jp_init()
{
    PORTB=0xff;
    DDRB=0xff;
}
u8 jp_data(u8 a)
{  
    delay_us(3);  
    DDRB=0xff;
    delay_us(3);
    PORTB=a;
    delay_us(3);
    DDRB=0x0f;
    delay_us(3);
    a=PORTB;
    return a;
}
void jp()
{
        if (jp_data(0xf0)!=0xf0)
        {
                switch(jp_data(0xfe))
                {
                        case 0xee:
                                key=1;                               
                                break;
                        case 0xde:
                                key=2;                               
                                break;
                        case 0xbe:
                                key=3;                               
                                break;
                }
                switch(jp_data(0xfd))
                {
                        case 0xed:
                                key=4;                       
                                break;
                        case 0xdd:
                                key=5;                               
                                break;
                        case 0xbd:
                                key=6;                               
                                break;
                }
                switch(jp_data(0xfb))
                {
                        case 0xeb:
                                key=7;                               
                                break;
                        case 0xdb:
                                key=8;                               
                                break;
                        case 0xbb:
                                key=9;                               
                                break;
                }
                if (jp_data(0xf7)==0xe7)
                {
                        key=0;
                }
        }

}
这个是矩阵键盘程序

出0入0汤圆

 楼主| 发表于 2012-12-27 11:32:00 | 显示全部楼层
#define led0 PORTA.0
#define led1 PORTA.1
#define led2 PORTA.2
#define led3 PORTA.3
#define led4 PORTA.4
#define led5 PORTA.5
#define led6 PORTA.6
#define led7 PORTA.7
    DDRB=0x00;
    PORTA=0xff;
    DDRA=0xff;
        while(1)
    {
       if (!(PORTB&0x01))
       led0=0;
       else
       led0=1;
        
    }
这个是我测试输入引脚的代码

出0入0汤圆

 楼主| 发表于 2012-12-27 11:32:25 | 显示全部楼层
xiaodao35 发表于 2012-12-27 11:26
怎么设置的,贴图贴代码!

您看看有什么问题吗?

出0入0汤圆

发表于 2012-12-27 11:35:55 | 显示全部楼层
#define led7 PORTA.7
错误
AVR端口不能位寻址
使用
#define    SET_BIT(X,Y)         (X|=(1<<Y))       //将某位置1操作
#define    CLR_BIT(X,Y)         (X&=~(1<<Y))     //将某位置0操作DDRB=0x00;
    PORTA=0xff;
    DDRA=0xff;
        while(1)
    {
       if (!(PORTB&0x01))
           CLR__BIT(PORTB,0) ;         
    else
         SET_BIT(PORTB,0)  ;      
    }

出0入0汤圆

发表于 2012-12-27 11:41:29 | 显示全部楼层
SuperTao 发表于 2012-12-27 11:32
您看看有什么问题吗?

DDRX=1是输出口!看看数据手册先!

出0入0汤圆

 楼主| 发表于 2012-12-27 11:42:33 | 显示全部楼层
qhshilin 发表于 2012-12-27 11:35
#define led7 PORTA.7
错误
AVR端口不能位寻址

在CVAVR中,是支持PORTA.x的
不过别的软件不支持,
你的程序非常好,学习了,谢谢。

出0入42汤圆

发表于 2012-12-27 12:36:05 | 显示全部楼层
输入寄存器是PINX……

出0入0汤圆

 楼主| 发表于 2012-12-27 12:40:45 | 显示全部楼层
jimmy_xt 发表于 2012-12-27 12:36
输入寄存器是PINX……

看的不详细,多谢了。

出0入0汤圆

发表于 2013-2-5 17:02:06 来自手机 | 显示全部楼层
顶,顺便学习

出0入0汤圆

发表于 2013-5-21 08:38:46 | 显示全部楼层
qhshilin 发表于 2012-12-27 11:35
#define led7 PORTA.7
错误
AVR端口不能位寻址

值得借鉴

出0入0汤圆

发表于 2013-5-21 08:39:15 | 显示全部楼层
qhshilin 发表于 2012-12-27 11:35
#define led7 PORTA.7
错误
AVR端口不能位寻址

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

本版积分规则

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

GMT+8, 2024-4-23 23:07

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

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