久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2649|回復: 9
打印 上一主題 下一主題
收起左側

單片機89C2051能夠完成存儲器HM6116的數據存儲輸出功能嗎?

[復制鏈接]
跳轉到指定樓層
樓主
單片機功能強大,我想它可以完成存儲器6116的數據存取功能吧?這或許是認識單片機比較容易的一步?討厭我這個問題的朋友您就別看了,我真的不是想愚弄您。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:748788 發表于 2020-8-28 08:14 | 只看該作者
當然可以啦,而且存取速度比你用dip開關要快多了。
為什么要討厭你的問題呢?參與你的問題可以掙黑幣呀。
聽廣大網友勸不要在死胡同里打轉了
回復

使用道具 舉報

板凳
ID:595237 發表于 2020-8-28 15:34 | 只看該作者
用Z80更簡單  2716當監控  可以把 2716的數據復制到6116上。
也可以把電腦上的數據存儲在6116上。后備文件名忘記了,
以前還看到過可以把錄音機磁帶上的數據存儲在6116上,
好久以前的 2716程序基本上都是匯編搞定的。
回復

使用道具 舉報

地板
ID:595237 發表于 2020-8-28 15:41 | 只看該作者
單片機程序內行的人很容易用89c51連接HM6116的數據存儲輸出功能,
還可以與8255當鍵盤輸入,數碼管輸出。
回復

使用道具 舉報

5#
ID:595237 發表于 2020-8-28 15:57 | 只看該作者

89c52外擴6116RAM,用C語言怎么在片外定義兩個數組?然后再調用這兩個數組!
External Data Memory
External data memory is read/write. Since external data memory is indirectly accessed through a data pointer register (which must be loaded with an address), it is slower than access to internal data memory.
Several 8051 devices provide on-chip XRAM space that is accessed with the same instructions as the traditional external data space. This XRAM space is typically enabled via dedicated chip configuration SFR registers and overlaps the external memory space.
There may be up to 64K Bytes of external data memory; though, this address space does not necessarily have to be used as memory. Your hardware design may map peripheral devices into the memory space. If this is the case, your program would access external data memory to program and control the peripheral. This technique is referred to as memory-mapped I/O.
The C51 Compiler offers two memory types that access external data: xdata and pdata.
The xdata memory specifier refers to any location in the 64K Byte address space of external data memory. The large memory model locates variables in this memory space.
The pdata memory type specifier refers to exactly one (1) page (256 bytes) of external data memory. The compact memory model locates variables in this memory space.
Note
External data memory may be accessed indirectly using the MOVX instruction. It may not be accessed directly.
_________________________________________________________
Generic Pointers
Generic pointers are declared like standard C pointers. For example:
char *s; /* string ptr */
int *numptr; /* int ptr */
long *state; /* Texas */
Generic pointers are always stored using three bytes. The first byte is the memory type, the second is the high-order byte of the offset, and the third is the low-order byte of the offset. Generic pointers may be used to access any variable regardless of its location in 8051 memory space. Many of the Cx51 Compiler library routines use these pointer types for this reason. By using these generic pointers, a function can access data regardless of the memory in which it is stored.
The following code and assembly listing shows the values assigned to generic pointers for variables in different memory areas. Note that the first value is the memory space followed by the high-order byte and low-order byte of the address.
stmt level source
1 char *c_ptr; /* char ptr */
2 int *i_ptr; /* int ptr */
3 long *l_ptr; /* long ptr */
4
5 void main (void)
6 {
7 1 char data dj; /* data vars */
8 1 int data dk;
9 1 long data dl;
10 1
11 1 char xdata xj; /* xdata vars */
12 1 int xdata xk;
13 1 long xdata xl;
14 1
15 1 char code cj = 9; /* code vars */
16 1 int code ck = 357;
17 1 long code cl = 123456789;
18 1
19 1
20 1 c_ptr = &dj; /* data ptrs */
21 1 i_ptr = &dk;
22 1 l_ptr = &dl;
23 1
24 1 c_ptr = &xj; /* xdata ptrs */
25 1 i_ptr = &xk;
26 1 l_ptr = &xl;
27 1
28 1 c_ptr = &cj; /* code ptrs */
29 1 i_ptr = &ck;
30 1 l_ptr = &cl;
31 1 }
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION main (BEGIN)
; SOURCE LINE # 5
; SOURCE LINE # 6
; SOURCE LINE # 20
0000 750000 R MOV c_ptr,#00H
0003 750000 R MOV c_ptr+01H,#HIGH dj
0006 750000 R MOV c_ptr+02H,#LOW dj
; SOURCE LINE # 21
0009 750000 R MOV i_ptr,#00H
000C 750000 R MOV i_ptr+01H,#HIGH dk
000F 750000 R MOV i_ptr+02H,#LOW dk
; SOURCE LINE # 22
0012 750000 R MOV l_ptr,#00H
0015 750000 R MOV l_ptr+01H,#HIGH dl
0018 750000 R MOV l_ptr+02H,#LOW dl
; SOURCE LINE # 24
001B 750001 R MOV c_ptr,#01H
001E 750000 R MOV c_ptr+01H,#HIGH xj
0021 750000 R MOV c_ptr+02H,#LOW xj
; SOURCE LINE # 25
0024 750001 R MOV i_ptr,#01H
0027 750000 R MOV i_ptr+01H,#HIGH xk
002A 750000 R MOV i_ptr+02H,#LOW xk
; SOURCE LINE # 26
002D 750001 R MOV l_ptr,#01H
0030 750000 R MOV l_ptr+01H,#HIGH xl
0033 750000 R MOV l_ptr+02H,#LOW xl
; SOURCE LINE # 28
0036 7500FF R MOV c_ptr,#0FFH
0039 750000 R MOV c_ptr+01H,#HIGH cj
003C 750000 R MOV c_ptr+02H,#LOW cj
; SOURCE LINE # 29
003F 7500FF R MOV i_ptr,#0FFH
0042 750000 R MOV i_ptr+01H,#HIGH ck
0045 750000 R MOV i_ptr+02H,#LOW ck
; SOURCE LINE # 30
0048 7500FF R MOV l_ptr,#0FFH
004B 750000 R MOV l_ptr+01H,#HIGH cl
004E 750000 R MOV l_ptr+02H,#LOW cl
; SOURCE LINE # 31
0051 22 RET
; FUNCTION main (END)
In the above example listing, the generic pointers c_ptr, i_ptr, and l_ptr are all stored in the internal data memory of the 8051. However, you may specify the memory area in which a generic pointer is stored by using a memory type specifier. For example:
char * xdata strptr; /* generic ptr stored in xdata */
int * data numptr; /* generic ptr stored in data */
long * idata varptr; /* generic ptr stored in idata */
These examples are pointers to variables that may be stored in any memory area. The pointers, however, are stored in xdata, data, and idata respectively.
Note
The code generated for a generic pointer executes more slowly than the equivalent code generated for a memory-specific pointer because the memory area is not known until run-time. The compiler cannot optimize memory accesses and must generate generic code that can access any memory area. If execution speed is a priority, you should use memory-specific pointers instead of generic pointers wherever possible.
_________________________________________________________
Memory-Specific Pointers
Memory-specific pointers always include a memory type specification in the pointer declaration and always refer to a specific memory area. For example:
char data *str; /* ptr to string in data */
int xdata *numtab; /* ptr to int(s) in xdata */
long code *powtab; /* ptr to long(s) in code */
Because the memory type is specified at compile-time, the memory type byte required by generic pointers is not needed by memory-specific pointers. Memory-specific pointers can be stored using only one byte (idata, data, bdata, and pdata pointers) or two bytes (code and xdata pointers).
Like generic pointers, you may specify the memory area in which a memory-specific pointer is stored. To do so, prefix the pointer declaration with a memory type specifier. For example:
char data * xdata str; /* ptr in xdata to data char */
int xdata * data numtab; /* ptr in data to xdata int */
long code * idata powtab; /* ptr in idata to code long */
Memory-specific pointers may be used to access variables in the declared 8051 memory area only. Memory-specific pointers provide the most efficient method of accessing data objects, but at the cost of reduced flexibility.
The following code and assembly listing shows how pointer values are assigned to memory-specific pointers. Note that the code generated for these pointers is much less involved than the code generated in the generic pointers example listing.
stmt level source
1 char data *c_ptr; /* memory-specific char ptr */
2 int xdata *i_ptr; /* memory-specific int ptr */
3 long code *l_ptr; /* memory-specific long ptr */
4
5 long code powers_of_ten [] =
6 {
7 1L,
8 10L,
9 100L,
10 1000L,
11 10000L,
12 100000L,
13 1000000L,
14 10000000L,
15 100000000L
16 };
17
18 void main (void)
19 {
20 1 char data strbuf [10];
21 1 int xdata ringbuf [1000];
22 1
23 1 c_ptr = &strbuf [0];
24 1 i_ptr = &ringbuf [0];
25 1 l_ptr = &powers_of_ten [0];
26 1 }
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION main (BEGIN)
; SOURCE LINE # 18
; SOURCE LINE # 19
; SOURCE LINE # 23
0000 750000 R MOV c_ptr,#LOW strbuf
; SOURCE LINE # 24
0003 750000 R MOV i_ptr,#HIGH ringbuf
0006 750000 R MOV i_ptr+01H,#LOW ringbuf
; SOURCE LINE # 25
0009 750000 R MOV l_ptr,#HIGH powers_of_ten
000C 750000 R MOV l_ptr+01H,#LOW powers_of_ten
; SOURCE LINE # 26
000F 22 RET
; FUNCTION main (END)
Note
The code generated for a memory-specific pointer executes more quickly than the equivalent code generated for a generic pointer. This is because the memory area is known at compile-time rather than at run-time. The compiler can use this information to optimize memory accesses. If execution speed is a priority, you should use memory-specific pointers instead of generic pointers wherever possible.
_________________________________________________________
Pointer Conversions
......
_________________________________________________________
Abstract Pointers

回復

使用道具 舉報

6#
ID:460466 發表于 2020-8-28 17:53 | 只看該作者
juncedz 發表于 2020-8-28 15:57
89c52外擴6116RAM,用C語言怎么在片外定義兩個數組?然后再調用這兩個數組!
External Data Memory
Ext ...

天書一般!
回復

使用道具 舉報

7#
ID:140371 發表于 2020-8-29 06:54 | 只看該作者
單片機89C2051能夠完成存儲器HM6116的數據存儲輸出功能嗎?
回復

使用道具 舉報

8#
ID:420836 發表于 2020-8-29 07:55 | 只看該作者
這是一個非常好的問題,沒有人會討厭它。 每個人都會受益。
回復

使用道具 舉報

9#
ID:469932 發表于 2020-8-29 08:24 | 只看該作者
單片機功能是很強大,但你說的89C2051卻沒有你想要的功能,因這單片機做內部存儲代價很高,所以一些低成本的多用外部存儲,比如我們常見TF卡,SD卡,CF卡,U盤等
回復

使用道具 舉報

10#
ID:460466 發表于 2020-8-30 12:41 | 只看該作者
Sawardeakar 發表于 2020-8-29 08:24
單片機功能是很強大,但你說的89C2051卻沒有你想要的功能,因這單片機做內部存儲代價很高,所以一些低成本 ...

謝謝!值得考慮。我是看某網友提供的電路圖和6116存儲器的數據寫入,讀出很相似的呢?地址顯示,數據顯示,手動送地址脈沖,,,,。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人欧美一区二区三区在线播放 | 国产99视频精品免费播放照片 | 香蕉视频1024| 男人的天堂在线视频 | 国产日韩欧美一区二区 | 男女在线免费观看 | 久久精品国产免费 | 国产成人精品综合 | 日韩欧美一区二区三区免费观看 | 国产精品一区二区三区四区 | 久久精品二区 | 久久国产精品一区二区三区 | 隔壁老王国产在线精品 | 亚洲国产成人一区二区 | 波多野结衣一区二区三区在线观看 | 日韩在线看片 | 在线久草| 午夜久久久久久久久久一区二区 | 国产1区2区3区 | 日韩成人免费在线视频 | 欧美视频在线免费 | 国产精品久久久久久久久大全 | 成人片免费看 | 日韩成人免费视频 | 欧美激情一区二区三级高清视频 | 亚洲日本激情 | 欧美激情久久久 | 亚洲九九 | 欧洲精品一区 | 99精品国产一区二区三区 | 国产精品mv在线观看 | 日韩精品四区 | 日韩亚洲一区二区 | 欧美一区二区免费电影 | 农村黄性色生活片 | 久久99精品久久久久蜜桃tv | 九七午夜剧场福利写真 | 99资源 | 美女露尿口视频 | 黄色永久免费 | 欧美性大战久久久久久久蜜臀 |