打印
[AVR单片机]

请教AVR

[复制链接]
1499|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ayb_ice|  楼主 | 2008-5-19 19:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AVR的寄存器0~31是和RAM统一编址的吗,如果是的话,为什么TINY13的0~31的RAM空间被分配了好多SFR呢
看了DATASHEET应该是32寄存器+64IO+RAM这样分配的,但后面的SFR列表却又不一致,不知为什么?
侃单片机那里没有人知道啊,没有办法还是到这边问了。
 
 

相关帖子

沙发
John_Lee| | 2008-5-19 22:43 | 只看该作者

tiny13的ram编址方式与其它avr一样,你有什么问题?

使用特权

评论回复
板凳
ayb_ice|  楼主 | 2008-5-20 10:03 | 只看该作者

我用的是IAR

这里有个ADCXX的寄存器被分配在0X03地址,而这个地址不是工作寄存器R3空间吗?
是不是LD和ST指令针对IO空间要加0X20才行啊。
反正有点晕。

使用特权

评论回复
地板
宇宙飞船| | 2008-5-20 12:13 | 只看该作者

AVR所有的内存/IO空间都可以用LD,ST指令,

IO空间除了可以用以上两条指令(双周期)还提供专用单周期的IO指令,in,out,sbi,cbi.
不过M48某些外围设备的寄存器没有了专用的IO指令!只能用LD,ST,所以M48的某些外围测定存取速度性能不如M8!
    LDS  temp,UCSR0B
 //OUT UCSRB,temp;      //M48中不可用
   STS  UCSR0B,temp     //占用2机器周期
//-------------       
// ;OUT  TCNT1H,temp    //M48中不可用  
    STS  TCNT1H,temp   
 
// ;OUT  TCNT1L,temp    //M48中不可用     
    STS  TCNT1L,temp 
    

使用特权

评论回复
5
ayb_ice|  楼主 | 2008-5-20 19:29 | 只看该作者

AVR没有直接寻址

感觉指令还是不大行啊,另外寄存器太多也不是好事,想把所有寄存器都入栈还是要花点时间。

使用特权

评论回复
6
dai_weis| | 2008-5-21 09:33 | 只看该作者

C方便些,汇编是有些费力气了

使用特权

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

本版积分规则

222

主题

15435

帖子

34

粉丝