欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機擴展片外ram后的C語言編程問題 [打印本頁]

作者: 駱駝9527    時間: 2020-3-30 22:04
標題: 51單片機擴展片外ram后的C語言編程問題
如圖,擴展了一片6116,C語言編程創建一個數組,儲存在片外ram,再次調用數組時要考慮硬件電路(地址)嗎?

CDX%7J4TOH3@K_O9{}7R252.png (31.6 KB, 下載次數: 47)

CDX%7J4TOH3@K_O9{}7R252.png

作者: chenalfe2013    時間: 2020-3-30 22:04
電路里的6116的地址范圍是0x0000~0x07ff。存儲在外部ram的數組或變量,使用xdata進行定義,注意不要超過6116地址范圍。使用時,可以像正常的內部變量進行讀寫即可,不用考慮硬件的地址。
例如:
xdata char buf[10];//定義外部數組buf[]
char a; //定義內部變量a
buf[0]=1;//外部數組buf[]寫
a=buf[0];//外部數組buf[]讀

作者: csmyldl    時間: 2020-3-31 01:05
數組用xdata定義,不需要
作者: BSq    時間: 2020-3-31 09:48
不用考慮,只要不超過范圍即可
作者: kmsj    時間: 2020-3-31 14:04
都什么年代了?還研究6116?6116是總線型單片機的產物,以后設計電路,用到6116的可能性幾乎為零,沒有特殊要求,就不要研究6116了,上個世紀80年代左右,單片機基本只有一種,就是51單片機,51單片機就是典型的總線型單片機,為了擴展使用,就用總線擴RAM、IO口等,優點是是在當時的技術下,可以設計出比較復雜的電路,缺點還是電路復雜、成本太高、抗干擾差。6116好像是2K×8的RAM,很早以前研究過6264、2764之類的東西,好像還需要一片74LS373,匯編語言和C語言都有專門讀外部RAM的指令和語句,F在的單片機都是以非總線型單片機為主,像AVR或者STM32,片內達到2K×8的RAM或者EEPROM多得是。
作者: f556    時間: 2020-3-31 16:40
kmsj 發表于 2020-3-31 14:04
都什么年代了?還研究6116?6116是總線型單片機的產物,以后設計電路,用到6116的可能性幾乎為零,沒有特殊 ...

非常精辟,精單的事情不要復雜化。當用了6116后,發現IO不夠了,是否再加一片IO擴展!另外csmyldl的回答也有道理,我一般大的數組放在DATA 或者const。
作者: kmsj    時間: 2020-3-31 22:39
f556 發表于 2020-3-31 16:40
非常精辟,精單的事情不要復雜化。當用了6116后,發現IO不夠了,是否再加一片IO擴展!另外csmyldl的回答 ...

你說的也非常精辟,51單片機通過6116外擴2K×8位的RAM,要用掉十幾個IO口,按現在主流的非總線單片機而言,絕對是一件大虧本的事情,現在的主流單片機,內部資源已經非常豐富了,IO口反而顯得比較珍貴。
作者: 772678949    時間: 2020-6-30 02:00
kmsj 發表于 2020-3-31 14:04
都什么年代了?還研究6116?6116是總線型單片機的產物,以后設計電路,用到6116的可能性幾乎為零,沒有特殊 ...

不是實用不實用的問題, 是因為現在高校設計都是要用這些舊芯片,我就是設計被要求擴展6116并使用的。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1