① 51单片机定义变量时默认是存储到哪里的
未显式声明的情况下,变量会根据Memory Model的设置,默认分配在指定的存储区。
Small模式:默认分配在data区
Compact模式:默认分配在pdata区
Large模式:默认分配在xdata区
新建工程默认都是Small模式,所以未显式声明存储区域的变量都会分配在data区的。所以才会容易出现data区挤爆、编译器跳着脚让你把变量分到idata区去……
② 51单片机内部程序存储地址范围
51单片机内部存储器范围是:
1、8751,89X51,一般是EPROM,EEPROM:4K,0000H~0FFFH
2、8031,没有内部程序存储器,必须靠外部扩展。
3、8XX52,一般是EPROM或EEPROM:8K,0000H~1FFFH
4、其他,从4K~64K不等,比如Winbond77E58,64K,0000H~FFFFH,比如STC12C5A60S2,60K,0000H~EFFFH
③ 51单片机怎么实现数据的存储,通过51单片机可以把数据存到哪,没学过usb协议
一般可以存在,单片机的flash里,flash本来是用来存放程序的,但是如果程序没那么大,可以存在flash的末尾。
具体代码怎么实现,可以查阅一下资料,我就不详细描述了。
存flash 的时候要注意的地方有几点:
1,flash的擦写次数有限制,所以不要频繁储存
2,擦除flash的时候不要把代码擦除了!
还有一种方法是存在外置的eeprom里面,这种芯片保存数据比较安全可靠,容量也大,但是价格比较贵,一般是用SPI通讯来实现的!
纯手打,望采纳!
楼主还有什么不明白的可以追问。
④ 51单片机AD读取外界数据,存储在单片机那里
51单片机AD读取外界数据,存储在单片机的寄存器中,00H~7FH都可以存储,一般存在30H~7FH中,00H~1FH是工作寄存器区域,20H~2FH为位地址区域,最好不占用。
⑤ 用汇编语言编写51单片机程序,指令程序存储在ROM里还是RAM里
程序指令智能存在ROM里,数据变量存在RAM里