这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » mega8515 新手上路:如何用mega8515做一个3-8译码器

共2条 1/1 1 跳转至

mega8515 新手上路:如何用mega8515做一个3-8译码器

院士
2006-09-17 18:14:16     打赏
mega8515 新手上路:如何用mega8515做一个3-8译码器



关键词: mega8515     新手上路     何用     一个     译码器    

院士
2006-12-22 22:43:00     打赏
2楼
问 我想用pa2-pa0作为地址选择,pa7-pa0作为输出端。
假设,pa2-pa0:010,则pa7-pa0:11111011。

我用的是winAVR。请那位DX,帮个忙,写下C程序。

万事开头难,我以前没有学过单片机,现在想自学,但是看是很多文档,都看不懂。因此想,通过实践来学习,由简入繁。

谢谢了! 1: 怎么pa0...2既是输出又是输入?假定pb是输出口

....;//初始化相关寄存器

PORTB=0XFF;
PORTB&=~(1<<(PINA&0x07));

不知道这样可以否 2: 谢谢我弄错了:pb是输出口

PORTB&=~(1<<(PINA&0x07));

为什么是PINA,而不是PORTA

输入我只用了3位,该如何初始化方向寄存器!

非常感谢勇敢的心,我也再去看看datasheet 3: 给个参考,类C写的,自己修改。unsigned char temp;

void main (void)
{

DDRA=0x00;
DDRB=0xFF;

while(1)
{

  temp=PINA;
  temp&=0x07;

  switch (temp)
  {
   case 0x01 : PORTB=0B11111110; break;
   case 0x02 : PORTB=0B11111101; break;
   ……;
   }
}
} 4: 再次感谢可以了

#include <AVR/io.h>

int main()
{
    
    DDRA = 0;
    DDRB = 0xFF;
    
    while(1)
    {
        PORTB = ~(1 << (PINA & 7));
    }
    
    return 0;
}

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]