打印
[AVR单片机]

请教一个关于AVR单片机的I/O口重组的算法问题,

[复制链接]
1522|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
acer1992|  楼主 | 2012-9-21 21:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是Atmega32单片机,要用到它的AD采集和外部中断,我现在已经把PB和PC口用完了,但是还需要一个8位数据I/O口,但是问题就在这里,余下的PA口和PD口,PA是8位AD采集端口,而PD中有外部中断引脚,这个注定我不能够整个整个的用一组来作为数据端口。所以我打算在PA和PD中挑选几个端口重新组合成为一组新的8位I/O口,使这组端口能像其他端口一样用相同的方法对其进行定义,赋值。。但是关于这个算法问题始终参不透,想了几个小时也没有什么好办法,希望哪位高人可以点拨一下,先谢了!

相关帖子

沙发
acer1992|  楼主 | 2012-9-21 23:15 | 只看该作者
:loljjjjj

使用特权

评论回复
板凳
zhanan| | 2012-9-26 10:07 | 只看该作者
定义一个变量,再写一个函数, 该函数将变量和端口作对应。即:将那几个端口封装成一个变量,定时刷新。
你就把该变量当成新端口用。

使用特权

评论回复
地板
zd420325| | 2012-9-26 14:20 | 只看该作者
void dispSet(void)
{       
    if(dummy.0)//判断dunmmy第0位
                   set1   SEG0//置1
    else
            set0   SEG0//置0
   
    if(dummy.1)
            set1   SEG1
    else
            set0   SEG1
   
    if(dummy.2)
            set1   SEG2
    else
            set0  SEG2
   
    if(dummy.3)
            set1   SEG3
    else
           set0   SEG3
   
    if(dummy.4)
            set1   SEG4
    else
            set0   SEG4
   
    if(dummy.5)
            set1    SEG5
    else
            set0   SEG5
   
    if(dummy.6)
           set1  SEG6
    else
           set0  SEG6
   
    if(dummy.7)
           set1  SEG7
    else
           set0  SEG7


你懂得

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

19

帖子

1

粉丝