单片机程序存储器
A. 51单片机的存储器有哪些
51单片机的存储器主要包括以下几个部分:
1. 程序存储器(ROM或Flash):用于存储固件程序,单片机上电后从这里开始执行。程序存储区分为片内和片外,目前许多51单片机片内已具备64KB容量,因此很少需要外扩片外Flash或Rom。无论是片内还是片外,用Code修饰的常量在程序运行过程中不可更改。
2. 内部RAM:包括低128位(00-7F)和高128位(80-FF)。
- 低128位RAM(data):用于定义变量,如定义一个unsigned char类型的变量Var。
- 高128位RAM(idata):同样用于定义变量,但访问速度相对较慢。
- 特殊功能寄存器(SFR)(80-FF):用于定义Sfr类型的变量,操作这些变量相当于操作特殊的寄存器,但需注意不要随意定义Sfr变量。
3. 外部RAM(64KB,0000-FFFF):可以扩展至65536个字节。前256个字节可以用Pdata修饰,也可以用Xdata修饰,而超过256个字节的部分只能用Xdata修饰。
4. Pdata和Xdata:两者均可修饰外部RAM的第一页(256个字节),但Pdata仅适用于第一页,而Xdata适用于整个64KB外部RAM。Pdata使用R0和R1进行寻址,速度快且代码体积小;Xdata使用16位的DPTR进行寻址。
综上所述,51单片机的内存结构包括程序存储器、内部低128位RAM(data)、内部高128位RAM(idata)、特殊功能寄存器(SFR)以及外部65536个字节的RAM。需要注意的是,不同内核的单片机(如ARM)其存储器结构可能有所不同。
B. 单片机的程序存储器有哪些类型
单片机的程序存储器是专门用来存放程序和常数的,有掩模ROM、OTPROM、EPROM、FlashROM等类型。
掩模这种形式的程序存储器适用于成熟、大批量生产的产品,如彩色电视机等家电产品中的单片机。用户把应用程序代码交给半导体制造厂家,单片机在生产时,程序就被固化到芯片中,因此芯片一旦生产出来,程序就无法改变了。
采用EPROM的单片机具有可以灵活修改程序的优点,但存在需要紫外线擦除、较费时间的缺点。
在自己做试验或样机的研发阶段,推荐使用Flash单片机,它有电写入、电擦除的优点,使得修改程序很方便,可以提高开发速度。
对于初具规模的产品可选用0TP单片机,它不但能免去较长的产品掩膜时间,加快产品的上市时间,而且方便程序的修改,能够对产品进行及时的调整和升级。
程序存储器的容量可根据程序的大小确定。8位单片机片内程序存储器的最大容量能达到64KB,不够时还可以扩展。