单片机中存储器扩展位地址线怎么算_51单片机存储器小结
存儲器分為程序存儲器(ROM)和數據存儲器(RAM),兩種又都可以分為片內和片外,片外即需要自己在單片機外部擴展。
8051單片機的片內程序存儲器有4K,片內數據存儲器有256個字節,其中又分為高128字節位特殊功能寄存器區,真正用戶能用的RAM只有低128字節。
8052單片機有8K片內程序存儲器,而數據存儲器除了低128字節外還有擴展的高128字節,地址上跟特殊功能寄存器一樣,但物理上是獨立的,尋址方式不一樣,擴展的高128字節只能間接尋址。
Keil中變量的存儲類型:
存儲類型
說明
code
程序空間(無需改變的變量)
data
直接訪問的內部數據存儲器(速度最快)
idata
間接訪問的內部數據存儲器(可以訪問全部256字節RAM)
bdata
可位尋址的內部數據存儲器
xdata
外部數據寄存器(最大64K)
pdata
分頁的外部數據寄存器(最大256字節,少用)
【如無使用關鍵字,系統則按默認處理(根據存儲模式)】
Keil中的存儲模式:
存儲模式
說明
Small
變量默認為data型,最大128字節
Compare
變量默認為pdata型,最大256字節
Large
變量默認為xdata型,最大64K
Keil中設置如下圖:
我們平常使用的STC單片機,有很多型號,具體存儲器大小都要看型號:
【89/90系列的機器周期需要12個或6個時鐘周期】
【12/15系列的機器周期只需要1個時鐘周期】
51單片機上的FFT算法
最近用增強型51單片機做了一個簡易的點陣音樂頻譜顯示器,最主要是自己剛學完信號處理課程,想自己寫一個FFT算法。現將已經能夠在51單片機上運行的FFT算法供需要的伙伴們參考。
在51單片機上運行FFT算法,需要注意一下幾點:
由于51單片機的內存RAM很小,只有128字節,52有256字節,而16點的浮點數輸入,就需要2*4*16=128字節的內存開銷,所以只有256字節的做多只能做16點的FFT運算。而且必須要用idata定義才能將其定義在高128字節。所以要做16點以上的FFT運算,必須選用有內部擴展RAM的51系列單片機,然后用xdata定義,并且要將存儲模式設為LARGE模式。
總結
以上是生活随笔為你收集整理的单片机中存储器扩展位地址线怎么算_51单片机存储器小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3级调度 fpga_FPGA的软核、硬核
- 下一篇: 知道这些关于电脑的基础知识电脑的相关知识