这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 综合技术» 基础知识» 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。

我用的是win AVR。请那位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 跳转至

回复

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