姚总补充8051存储器扩展:
外部并行总线扩展32K SRAM
讲原理不讲汇编,讲扩展存储器不讲并行,都是不对的
这个图是试验箱上的一个图纸:
是扩展SRAM的实验
我手头有STC送的9.6实验箱,我自己也买了一个9.62的试验箱,我查过,U10----74HC573-SOP20和U9---IS62C256AL-SOP28这2块芯片都没有焊接,需要的时候再搞吧。
这里P4.1,姚总介绍是为了P0口和P2口的分时复用,并且我们尽量不要跳线!P4.1置高的时候,U9---IS62C256AL-SOP28就是高阻,就不影响其他设备。STC几乎没有跳线
下面补充EEPROM:
首先保证安全,先布置好触发寄存器IAP_TRIG
有关的寄存器
汇编的程序代码:
STC32G12K128系列EEPROM操作
对于 STC32G12K128 系列,使用 IAP 方式时,地址数据为 EEPROM 的目标地址,地址从 0000 开始,若使用 MOV 指令读取 EEPROM 数据,则地址数据为基地址 FE0000h 加上 EEPROM 的目标地址。
现在需要对EEPROM物理地址1234h的单元进行读、写、擦除时,若使用IAP方式进行访问时,设置的目标地址为1234h,即IAP_ADDRE设置为00h,IAP_ADDRH设置12h,IAP_ADDRL设置34h,然后设置相应的触发命令即可对1234h单元进行正确操作了。但若是使用MOV方式读取EEPROM的1234h单元,则目标地址为基地址FE0000h加上1234h,即必须将32位寄存器DRx设置为FE:1234h,才能使用MOV指令正确读取(注意:STC32G系列和STC8系列不一样,不能使用MOVC读取EEPROM)。
详细见手册P820 21.4范例程序
这里我跟着冲哥做个掉电存储实验,就是写到EEPROM里:
当时注意的是读懂程序,现在的理论其实也不太好懂。。。。。。
相关的控制寄存器: