久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 7260|回復: 3

單片機與8155 之間的數據是怎樣傳送的?---[請教]

[復制鏈接]
1#
發表于 2006-9-23 21:48:16 | 只看該作者 |倒序瀏覽 |閱讀模式

有誰知道單片機與8155 之間的數據是怎樣傳送的嗎?8155做為單片機的I/O口數據擴展

' F: O" [+ S7 l6 a Z; m

,如果單片機要擴展40個通道請問數據是怎樣傳送的

回復

使用道具 舉報

2#
發表于 2006-9-23 23:03:56 | 只看該作者

Re: 單片機與8155 之間的數據是怎樣傳送的?---[請教]

注意8155的控制命令字寄存器只寫不讀,狀態字寄存器只讀不寫,它們共用一個地址。
) F5 Z" z  Y! m8 j6.        8155的基本用法:7 K2 y! g8 W6 u: e" U
①        可擴展256字節片外RAM
6 c5 n1 W3 d+ g+ ?% ]. BIO/M引腳低電平時,只能用作片外RAM擴充,其低8位地址為00H~FFH,共256字節,對其讀寫時用MOVX指令。
) Q- O8 j6 h' n) J②        作擴展I/O口使用0 C' Y2 z6 f1 ^8 t" {1 ?
IO/M引腳高電平時,可根據命令字的規定從A、B、C口輸入輸出,共有20條輸入輸出線,
/ I7 R4 k) N  O8 d" z* t5 j③        擴充一個14位定時器計數器
) h  M; ^5 L5 C! x- ?: @8155提供一個14位減1計數器,它的功能主要用于計數,從TIMER IN端輸入計數脈沖,計數滿時由TIMER OUT輸出脈沖或方波。
- `1 M' \- `) L$ V6 v: s; e使用步驟:* _9 v" u- g) N2 \
寫入控制命令字的D7、D6位控制啟停。$ V4 ~4 ?4 E! D( ^
寫入計數長度:端口地址04H的8位為計數器的低8位
; y! k9 u, k5 A& x端口地址05H的低6位為計數器的高6位,共14位。) l3 V$ F9 }% e: v& M
05H的高2位確定當計數器時減到0時的輸出方式。/ R6 F$ t9 c3 `, \1 z  A
; j$ K# }+ x" {0 b1 m0 Y) O5 p
8155片內帶有地址鎖存器,可在ALE的下降沿鎖存地址,不必在外部另接鎖存器。
9 G" {1 G- A) D2 p8 g& S由上圖得到8155各端口的地址為:3 Z9 _/ K5 w' x$ \" [% |2 x+ s) o
P2.7 = 0 ,片選CE有效;P2.0 = 1,則為端口地址" _' k9 L2 J7 p& H! _; q
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 A7 A6 A5 A4 A3 A2 A1 A0 / Q+ Y3 H* Y! c4 v

  [6 b4 b) T5 l" V2 Q$ v$ {0   1   1   1   1   1   1    1  0  0  0  0  0  0  0  0 命令狀態口7F00H
* Y3 X# Y3 U; E3 k, w9 B
1 R0 s$ T  E) s- X' \, i2 _' r0   1   1   1    1   1   1    1  0  0  0  0  0  0  0  1   PA口   7F01H
! g# L/ |: i3 ]- K/ [4 F( Q# G1 L4 o3 f, p& M& q
0   1   1   1    1   1   1    1  0  0  0  0  0  0  1  0   PB口   7F02H% n0 X+ k. l  p( W* v4 m
2 v1 x, E0 U% o
0   1   1   1    1   1   1    1  0  0  0  0  0  0  1  1   PC口   7F03H
% w: W9 v/ F, H, E5 r  [' A
3 L/ V" B3 H' h0   1   1   1    1   1   1    1  0  0  0  0  0  1  0  0 定時器低位7F04H9 f, e: v: P  P
9 F9 ]( d$ C# o$ J. q- W
0   1   1   1    1   1   1    1  0  0  0  0  0  1  0  1 定時器高位 7F05H7 Z, u5 ^. E! |9 [3 \+ K( A
( h! B) R2 R1 u0 }0 ?9 a& q
P2.7 = 0,片選CE = 0,且P2.0 = 0則為8155片內RAM地址:
1 @2 j9 p% n+ S) _; G! [/ B7E00H~7EFFH    共256字節。- n  Y9 W. v  J
8155的基本操作軟件:
+ x4 P9 D6 V' ~& [- @8 ]3 f. o①I/O口及8155RAM的操作軟件:
! L0 {: E  A. p0 k, \MOV  DPTR ,  #7F00H     ;選命令狀態口
+ l9 z: z* ]$ ~" M/ e$ d) VMOV  A, #0C2H           ;送命令字 1  1  0  0  0  0  1  0     % E& u! t6 m! x. ]
MOVX  @DPTR , A        ;A口輸入、B口輸出、C口輸入( F4 u1 I* B. j$ K
MOV  DPTR , #7F01H      ;選A口6 x$ X. X! D5 \" ]0 A/ D8 `; v
MOVX  A , @DPTR        ;從A口輸入數據
0 q  y! ~0 ]8 p; r8 i% j( `- cMOV  DPTR , #7E30H      ;選8155RAM的30H單元) _/ R& M7 {7 W: j  L1 |# n0 O  q
MOVX  @DPTR , A        ;將A口輸入的數據存入30H單元
5 w" k& z4 C( B: ZMOV  DPTR , #7F02H      ;選B口
* B* \9 t% G% P4 o0 M# R' nMOVX  @DPTR , A        ;將A口輸入的數據轉從B口輸出0 s; M% D; }( ?9 k  _6 ~- g
②計數器的軟件:
: ^1 q, j* w- x  M7 T4 ~MOV  DPTR , #7F04H      ;選計數器低8位
% ^4 W' `5 J0 e: ~$ ]MOV  A , #18H            
% }# e% H7 X# F8 L! nMOVX  @DPTR , A        ;計數常數24裝入計數器低8位
2 q& e" ?: t7 v1NC  DPTR               ;選計數器高位
2 q$ M1 g3 K8 h: OMOV  A, #40H
/ ~/ \. ]( P1 d& m" N% T  p4 RMOVX  A ,@DPTR        ; 高2位01選擇輸出方式為連續方波* a: k# p4 V! b: L3 z) L7 ^
                          其低6位為計數器的高6位為00H
! g; a+ q7 q+ _& S# z8 x! r6 l/ h$ _5 K4 L- f% n  v! Y" ^2 \7 G

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?注冊會員

×
3#
發表于 2006-9-24 04:37:58 | 只看該作者

Re: 單片機與8155 之間的數據是怎樣傳送的?---[請教]

樓主網友好!
0 o2 j, }/ O5 B) ]' D; i; u6 I: k7 E$ v7 r  ~8 c- X
你說的:“單片機要擴展40個通道……。”- o: {3 ?# M+ X* c3 A+ D2 Q
( C/ M1 }9 M, ~, f- @8 W1 |& a
能否告訴一下,這40個通道端口具體要做什么?0 C% ]7 x0 n( K+ @6 @2 Y

6 ~3 F, @3 T& N& W1 \: ?5 i, m也許有好辦法幫你解決點實際問題。% L3 M/ T" J2 L* l
, W4 {/ i$ N8 ]$ M. P# c' \
syw   060924---04.371 G  x5 N6 w! y9 ?  d7 r# I6 k
4#
發表于 2010-6-19 22:42:18 | 只看該作者
給你個鏈接吧 http://liuyunfeng484.blog.163.com/blog/static/6683171520096219621632/
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-7-19 01:59 , Processed in 0.066029 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表