现在的主流8位单片机有哪些?51系列的,和avr系列的都有哪些?我大四做毕业设计用哪个型号的8位单
- 提问者网友:两耳就是菩提
- 2021-02-11 10:27
- 五星知识达人网友:蕴藏春秋
- 2021-02-11 11:48
- 1楼网友:duile
- 2021-02-11 13:27
我只接触过一点avr单片机,对于初学者来说,c语言应该是要会的,楼主可以先找个pc上的avr模拟器练练手;
网上找了些别人总结的区别,供楼主参考:
avr与51的区别:(以at90s8515为例)
1.程序空间(000h~fffh)访问时用lpm指令访问。
2.片内数据存储(0060h~025fh)访问时用sts、lds和st、ld指令访问。
3.片外数据存储(0260h~ffffh)访问时用sts、lds和st、ld指令访问。
4.32个通用寄存器r0~r31,它们之间数据传送可使用mov指令。
5.i/o寄存器(00h~3fh)使用in、out访问。
堆栈:mcs-51的堆栈指针寄存器sp(单字节)将数据压入堆栈时sp增大,avr正好相反。
注意:1.avr堆栈既可以放置在片内sram中,也可以放置到片外sram.
2.在avr中,若不支持外部sram,sp为一字节.若支持外部sram,则sp为两字节。
3.在对avr编程时,一定要对sp进行初始化,否则很可能出现,模拟调试正常而程序下载到芯片后却不能工作的现象.
外部sram:
mcs-51单片机访问外部sram使用movx而在avr中访问片内或片外sram均使用相同指令,芯片会自动选择,但为了正常工作还必须对相应寄存器进行设置.
程序空间:
在avr中程序存储器的总线为16位. 注:在使用avr单片机之前,一定要根据引脚功能定义对相应的端口初始化.
例:设置端口b的寄存器高四位为输出,低四位为输入
则汇编
ldi r16,f0
out ddrb,r16
在c语言中: ddrb=0xf0
比较详细的: http://wenku.baidu.com/view/93a9420d844769eae009ed79.html