机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 7054|回复: 3
打印 上一主题 下一主题

单片机与8155 之间的数据是怎样传送的?---[请教]

[复制链接]
跳转到指定楼层
1#
发表于 2006-9-23 21:48:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

有谁知道单片机与8155 之间的数据是怎样传送的吗?8155做为单片机的I/O口数据扩展

6 q4 |% j3 z6 A* }! ]$ u ?2 M- U

,如果单片机要扩展40个通道请问数据是怎样传送的

回复

使用道具 举报

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

Re: 单片机与8155 之间的数据是怎样传送的?---[请教]

注意8155的控制命令字寄存器只写不读,状态字寄存器只读不写,它们共用一个地址。
, f7 |! Q. I2 k6.        8155的基本用法:
- f2 d1 ]: b2 t①        可扩展256字节片外RAM6 X+ s; m/ P( J6 f8 J6 t; B
IO/M引脚低电平时,只能用作片外RAM扩充,其低8位地址为00H~FFH,共256字节,对其读写时用MOVX指令。. u- Y8 b" g! t6 p
②        作扩展I/O口使用5 K- N/ m- y! Z  U9 t( A
IO/M引脚高电平时,可根据命令字的规定从A、B、C口输入输出,共有20条输入输出线,$ }& X' X, ?* G% ~1 y
③        扩充一个14位定时器计数器0 I8 Y8 s( Z  D& {1 w# I3 k6 ~
8155提供一个14位减1计数器,它的功能主要用于计数,从TIMER IN端输入计数脉冲,计数满时由TIMER OUT输出脉冲或方波。2 x, A: p& j# Z
使用步骤:
7 A% E- O; n2 T2 N. f写入控制命令字的D7、D6位控制启停。
( p* U) d/ q5 d/ O* y5 d, V* W/ o- [写入计数长度:端口地址04H的8位为计数器的低8位5 i# j, b* n$ ^- S9 ^$ ^8 X
端口地址05H的低6位为计数器的高6位,共14位。. ^3 k, O7 |, s% j7 z  l
05H的高2位确定当计数器时减到0时的输出方式。, P8 T/ I  @+ V/ q
0 Y! P2 F0 n' q. o
8155片内带有地址锁存器,可在ALE的下降沿锁存地址,不必在外部另接锁存器。0 N9 \. Y* s9 F% [- m$ l" i! ]+ p6 ?
由上图得到8155各端口的地址为:
, @  N: G, \2 S3 `P2.7 = 0 ,片选CE有效;P2.0 = 1,则为端口地址
/ e$ f, X$ n/ t% `! ?" UP2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 A7 A6 A5 A4 A3 A2 A1 A0 & q/ ]: j+ ]  G5 |) }- D( e

/ U1 ]9 D1 u/ u0   1   1   1   1   1   1    1  0  0  0  0  0  0  0  0 命令状态口7F00H
' s. w0 z# O& W5 H
' N2 e& R+ r4 j: B/ m1 d2 I0   1   1   1    1   1   1    1  0  0  0  0  0  0  0  1   PA口   7F01H, t  w4 J+ q/ P8 n0 o. N7 w
# |$ M4 J/ S0 C. G+ r( C
0   1   1   1    1   1   1    1  0  0  0  0  0  0  1  0   PB口   7F02H+ x& Q9 G  b2 `2 k2 t7 a. s4 Q2 g
4 T6 ?$ N8 A7 S: P/ d
0   1   1   1    1   1   1    1  0  0  0  0  0  0  1  1   PC口   7F03H6 v! Y. x$ I0 k# P9 I) }, Y
7 Y6 T2 E( v2 r3 z9 d
0   1   1   1    1   1   1    1  0  0  0  0  0  1  0  0 定时器低位7F04H$ y1 `. G3 ]. w7 C; y$ r+ ^
2 P; W$ B$ z0 D: n1 D- Q% G
0   1   1   1    1   1   1    1  0  0  0  0  0  1  0  1 定时器高位 7F05H! i8 B. C1 J! }# |# w3 z& S+ v

, C4 E2 B0 R$ U' k$ g4 bP2.7 = 0,片选CE = 0,且P2.0 = 0则为8155片内RAM地址:
& R6 u( k: p" b1 t4 N7E00H~7EFFH    共256字节。: c( Q7 n* D5 {8 u, [
8155的基本操作软件:7 C$ q* \7 h/ [2 h0 V$ M
①I/O口及8155RAM的操作软件:& t  a: }5 n- A3 l1 u; ^% A
MOV  DPTR ,  #7F00H     ;选命令状态口+ ^2 X) o0 d, G
MOV  A, #0C2H           ;送命令字 1  1  0  0  0  0  1  0     % u& X& g$ e4 h1 t
MOVX  @DPTR , A        ;A口输入、B口输出、C口输入$ [0 Q8 @  d6 R% o, T! j& n
MOV  DPTR , #7F01H      ;选A口% L0 ^7 L7 w& E
MOVX  A , @DPTR        ;从A口输入数据
- X7 o$ K; }5 ?, eMOV  DPTR , #7E30H      ;选8155RAM的30H单元
! N4 o6 V8 D8 s( W* X! }MOVX  @DPTR , A        ;将A口输入的数据存入30H单元0 v. U3 L/ M+ Z4 i- N! Y
MOV  DPTR , #7F02H      ;选B口& U2 R) g  E! ^) c8 F/ U; _
MOVX  @DPTR , A        ;将A口输入的数据转从B口输出% {: E" P" R. w* |6 R
②计数器的软件:) H6 m9 @% w8 k4 J
MOV  DPTR , #7F04H      ;选计数器低8位$ U: P' T3 @  T0 @
MOV  A , #18H            - Y+ y* ^* ]& q3 H( C8 t
MOVX  @DPTR , A        ;计数常数24装入计数器低8位- |3 a  Z; M( N
1NC  DPTR               ;选计数器高位
. }' w$ ~- h4 B) R5 j8 _5 lMOV  A, #40H
& X9 C+ C& C/ m8 W0 C: l  p3 W) CMOVX  A ,@DPTR        ; 高2位01选择输出方式为连续方波
. d& k0 ^. F- j: T) C& i* ^                          其低6位为计数器的高6位为00H
7 p. W4 |& ^( e( T9 M' C1 a# C9 A! x9 S6 `+ k9 A

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
回复 支持 反对

使用道具 举报

3#
发表于 2006-9-24 04:37:58 | 只看该作者

Re: 单片机与8155 之间的数据是怎样传送的?---[请教]

楼主网友好!
9 A& l2 U2 c# T1 u
3 D7 ~) j& E. i. I* u3 d. G你说的:“单片机要扩展40个通道……。”
8 h% g( |8 }# \/ K. |
7 g5 W. l4 @2 v% d+ w能否告诉一下,这40个通道端口具体要做什么?
( ?% b- }1 Q) @" t% E2 y8 w
8 Z) y/ x) v! a- c也许有好办法帮你解决点实际问题。
! A4 ?2 n5 A+ G% \6 r( U# Y9 x0 i% C% S. C. W: {
syw   060924---04.37* h) T, U4 \$ S) p
回复 支持 反对

使用道具 举报

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-1-11 01:20 , Processed in 0.052512 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表