[AVR单片机] AVR的引脚怎么取反??

[复制链接]
10203|10
 楼主| Metalor 发表于 2010-8-6 22:57 | 显示全部楼层 |阅读模式
刚接触AVR不久,准备自己写两个小程序。
今天想写一个电子琴的,不过突然发现AVR不支持位操作也就不能对某一位端口引脚取反。想了好久还没想出办法……求人支招~~
宇宙飞船 发表于 2010-8-7 00:50 | 显示全部楼层
里面有。
用定时器1中断输出方波的汇编框架(适用初学AVR者)   0 宇宙飞船
camtime 发表于 2010-8-7 13:16 | 显示全部楼层
Mega系列,可以向对应的PIN写1来取反.
123jj 发表于 2010-8-7 13:47 | 显示全部楼层
早期的MPU都没有位操作指令,执行位取反都使用异或操作!

例如:   C程序       PORTB ^= 0x01;           //  对PORTB口的0位取反

       汇编程序      IN        R20,PORTB           ;  读入PORTB口数据到R20
                               LDI       R21,0x01             ;  R21设置为0x01            
                               EOR      R20,R21               ;  R20,R21异或(将0位取反),值送R20               
                               OUT      PORTB,R20           ;  将R20的值送PORTB口
 楼主| Metalor 发表于 2010-8-16 15:01 | 显示全部楼层
额 前段时间忙没来看
现在知道了
现在改用IAR支持位操作,比较方便。。
ddllxxrr 发表于 2011-7-26 09:40 | 显示全部楼层
学习啦
ccxlslr 发表于 2011-7-26 10:12 | 显示全部楼层
与1异或!
werewofe 发表于 2011-8-5 16:19 | 显示全部楼层
感谢123jj,学习了
lisijun100 发表于 2011-8-26 04:30 | 显示全部楼层
异或 的符号 怎么打出来, 请赐教!
lisijun100 发表于 2011-8-26 04:31 | 显示全部楼层
楼上的 用 开方符号^
qin552011373 发表于 2011-8-27 22:29 | 显示全部楼层
不错  慢慢学吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

224

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部