满意答案

a26264679

2014.04.21

采纳率:44%    等级:8

已帮助:313人

用8255扩展之后就是PA,PB,PC了,怎么还会只有8个端口呢?

用8255扩展51单片机 I/O口的程序,需要结合电路图才能确定,不同的连线,PA,PB,PC的地址是不同的,不过我也忘记怎么写程序了= =!

8255中的A0.A1,CS非,与单片机的连线决定了,8255中,PA,PB,PC的各端口地址。单片机中P0,是低8位地址线,P2,是高8位地址线。

例如 CS非连接P2.7 A0,A1通过锁存器连接到单片机中的P0.0,P0.1的话。那么PA口地址就是 7FFCH。

因为 CS非要低电平,8255才工作,因为 要选择PA口,则A0=0,A1=0。

这样,CS,A0,A1对应单片机中的 P2.7,P0.0,P0.1就是低电平。

所以单片机中低8位地址加上高8位地址用2进制表示就是 0111111111111100,

对应的16进制就是 7FFCH

同理,PB口对应的就是 7FFDH

PC口对应的就是 7FFEH

还有个控制端。对应的就是 7FFFH

如果你要用8255的扩展口的话,就要先打通控制端,看你要用什么工作方式了。

有个工作方式控制字的,可以让你选择使用啥工作方式。但是不管怎样,都要先打通控制端 ,用汇编来写就是 MOV DPTR,#7FFFH

然后就是选择工作方式了,比方说用 A口——方式0输入,B口——方式0输出,C口高半字节——输入,C口低半字节——输出,则她的工作方式控制字就为 10011000B,就是 98H。

程序就是 MOV DPTR,#7FFFH 这个就是 打通控制端

MOV A,#98H 选择方式控制字

MOVX @DPTR,A 把控制字弄到8255的控制口去

这些在单片机的书中都有,多看看吧。写的这么详细了,给我最佳吧。呵呵

01分享举报

51单片机74ls273并行输出地址c语言程序,51单片机I/O口的扩展问题:使用 锁存器74LS273连接后还是只有8个端口,为什么说是扩展呢?...相关推荐

  1. 51单片机74ls273并行输出地址c语言程序,跑马灯/输入输出接口(片选地址74LS273)...

    ;NAME:  跑马灯 ;AUTOR: ;CONTENT: P1.0-P1.7接发光二极管L1-L8CSEG AT 4000H         ;定义起始地址,为什么是4000H呢 ;存储器:程序存储 ...

  2. 单片机按键控制数码管c语言程序,基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文).doc...

    基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文) 物理与电子工程学院2014级课程设计 PAGE IV 物理与电子工程学院 <单片机原理与接口技术> 课程设计报告书 ...

  3. 单片机交通灯数码管c语言程序,51单片机C语言实现交通灯(红绿灯)源程序.doc

    51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /*1.程序目的:使用定 ...

  4. 基于单片机的交通灯设计c语言程序,基于单片机AT89C51控制的十字路口交通灯系统设计...

    摘要:本文设计一个单片机AT89C51控制的十字路口交通灯,通过硬件电路设计.元器件使用.软件设计.仿真等环节,实现主干道和支干道的分时控制,保证正常的交通秩序. 关键词:单片机 系统设计 交通灯 1 ...

  5. 8255A红绿灯c语言程序,51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序).doc...

    51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序) 51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序)2010-04-21 22:0 ...

  6. 山东大学单片机原理与应用实验 C语言程序实验

    一.实验题目 C语言程序实验 二.试验要求 片内RAM30H开始的32个单元中分布着随机的有符号8位二进制数,按从小到大的顺序进行排序,排序后的数据仍然保存到30H开始的32个单元中(低地址存放小数据 ...

  7. fir滤波 c语言,分享MSP430单片机实现的FIR滤波器C语言程序

    分享MSP430单片机实现的FIR滤波器C语言程序 [复制链接] #include #define FRAME        180 short int h[19] = { 399,-296,-945 ...

  8. DSB算法C语言程序,单片机中使用DSB温度传感器C语言程序.doc

    单片机中使用DSB温度传感器C语言程序 单片机中使用DS18B20温度传感器C语言程序(参考1) /************************************************** ...

  9. 89c51c语言程序,89C51单片机计算器C语言程序.doc

    89C51单片机计算器C语言程序 89C51单片机[计算器]C语言程序 89C51单片机[计算器]C语言程序2010-12-15 16:54/*89C51单片机[计算器]C语言程序*/ /*P2位选P ...

最新文章

  1. 一次性理清JavaScript变量等高难度面试问题
  2. 用jQuery写的一个翻页,并封装为插件,
  3. Android Studio 打包、生成jks密钥、签名Apk、多渠道打包
  4. 删除元素(LintCode)
  5. csdn自定义模块backup
  6. 向mysql 插入中文数值报错
  7. 第一次失效_神兵小将:净化之力失效地魔兵兽,全靠特殊办法,铁心方式真霸气...
  8. android package.xml,Android自动化编译设置AndroidManifest.xml中package值(包名)
  9. (转)让我们原谅齐达内吧!(附一张落泪的照片)
  10. 你需掌握的CSS知识都在这了(长文建议收藏,文末有福利)
  11. TensorFlow-谷歌深度学习库 数据读取器
  12. python实现tkinter可视化一
  13. 2021 软件开发的 5 大趋势,低代码、无代码得到了验证!
  14. 我的世界java种子 要塞,《我的世界》你绝对没见过的稀奇种子,恐龙骨架出现在要塞...
  15. HeadFirst设计模式部分源码
  16. 软件架构领域集大成者——《架构之美》读书笔记
  17. java.lang.InstantiationException: class has no zero argument constructor
  18. 一元非线性方程求根的算法——二分法/牛顿迭代法
  19. 教你炒股票24:MACD对背弛的辅助判断
  20. qemu: usb存储设备仿真

热门文章

  1. 复利计算器(软件工程)及Junit测试———郭志豪
  2. NOIP 2012 国王游戏
  3. 400+汽车经销商怎么在一天完成算奖?
  4. 【金猿投融展】齐治科技——数据中心安全管理领军者
  5. 【UBUNTU】使用Remmina访问远程linux服务器桌面
  6. linux增加预读缓存区大小,Linux blockdev命令设置文件预读大小介绍
  7. xunsearch快速教程,支持下载本地
  8. 用Winrar打造永不被杀的免杀捆绑器!
  9. sqoop的java操作,总结归纳,含代码
  10. fiddler 升级后抓取https流量各种失败后一定不要忘记这一招