AT89S51单片机与82C55的接口设计编程

发布者:SerendipityDawn最新更新时间:2018-03-09 来源: eefocus关键字:AT89S51  单片机  82C55 手机看文章 扫描二维码
随时随地手机看文章

  1.硬件接口电路
  
  下图所示为AT89S51单片机扩展一片82C55的电路图。图中,74LS373是地址锁存器,P0.1、P0.0经74LS373与82C55的地址线A1、A0连接;P0.7经74LS373与片选端CS相连,其他地址线悬空;82C55的控制线RD(的反)、WR(的反)直接与AT89S51单片机的RD(的反)和WR(的反)端相连;AT89S51单片机的数据总线P0.0~P0.7与82C55的数据线D0~D7连接。
  
  2.确定82C55端口地址
  
  图中82C55只有3条线与AT89S51单片机的地址线相接,片选端CS、端口地址选择端Al、A0,分别接于P0.7、P0.1和P0.0,其他地址线全悬空。显然只要保证PO.7为低电平时,即可选中82C55;若P0.1、P0.0再为00,则选中82C55的PA口。同理P0.1、P0.0为01、10、11分别选中PB口、PC口及控制口。
  1
  若端口地址用16位表示,其他无用端全设为1(也可把无用端全设为0),则82C55的A、B、C及控制口地址分别为FF7CH、FF7DH、FF7EH、FF7FH。
  
  如果没有用到的位取0,则4个端口地址分别为0000H、0001H、0002H、0003H,只要保证CS、A1、A0的状态,无用位设为0或l均可。
  
  3.软件编程
  
  在实际应用设计中,必须根据外部设备的类型选择82C55的操作方式,并在初始化程序中把相应控制字写入控制口。下面根据上图所示,介绍对82C55进行操作的编程。
  
  例1:要求82C55工作在方式O,且PA口作为输入,PB口、PC口作为输出,则程序如下:
  2
  例2:对端口PC的置位/复位。
  
  82C55的PC口8位中的任意一位,均可用指令来置位或复位。例如,如果想把PC口的PC5置1,相应的控制字为00001011B-0BH。程序如下:
  3
  如果想把PC口的PC5复位,相应的控制字00001010B-0AH,程序如下:
  4
  82C55接口芯片在AT89S51单片机应用系统中广泛用于与各种外部数字设备的连接,如打印机、键盘、显示器以及作为数字信息的输入、输出接口。

关键字:AT89S51  单片机  82C55 引用地址:AT89S51单片机与82C55的接口设计编程

上一篇:AT89S51单片机与81C55的接口设计及软件编程
下一篇:AT89S51单片机扩展EEPROM AT2864的设计

推荐阅读最新更新时间:2024-03-16 15:56

芯海单片机按开始键后实现闪烁
;按开始键(PT2.1)后程序实现LED闪烁 ;目的学习I/O口的输入输出控制 ;============================================ ;完整代码下载地址: http://www.51hei.com/f/xhpms.rar ; filename: 111.asm ; chip : csu1181b ; author : ; date : 2012-07-18 ;============================================ include csu1181b.inc ;============================================ ; pro
[单片机]
单片机复位电路的可靠性设计及精典实用复位电路
一、概述 影响单片机系统运行稳定性的因素可大体分为外因和内因两部分: 1、外因 射频干扰,它是以空间电磁场的形式传递 在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰; 电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰 。 2、内因 振荡源的稳定性,主要由起振时间 频率稳定度和占空比稳定度决定 起振时间可由电路参数整定 稳定度受振荡器类型 温度和电压等参数影响复位电路的可靠性。 二、复位电路的可靠性设计 1、基本复位电路 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后
[单片机]
<font color='red'>单片机</font>复位电路的可靠性设计及精典实用复位电路
单片机AVR微控制器蓄电池充放电控制器的设计
本设计采用AVR单片机Mega16L作为核心,可同时控制两块539CH-1型蓄电池的充、放电过程。Mega16L通过串行总线接收上位机的命令,然后通过SPI总线将数据发送给TLV5638。单片机通过多路模拟开关CD4053将TLV5638的两路D/A输出送入信号调整电路,从而完成对充放电电流的控制。放电过程中,Mega16L通过控制8D锁存器74LS573和复合管阵列ULN2081控制放电电阻接入。系统框图如图1所示。 图1 系统原理框图硬件设计   硬件系统包括串行通信电路、充电和放电控制电路、继电器驱动电路等模块。 通信电路   单片机通过串口与上位机通信。Mega16L端口为TTL电平,而上位机串口为RS232C标准接口
[单片机]
<font color='red'>单片机</font>AVR<font color='red'>微控制器</font>蓄电池充放电控制器的设计
运用单片机进行加减乘除法的运算
  单片机介绍   单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设
[单片机]
运用<font color='red'>单片机</font>进行加减乘除法的运算
51单片机+MPU6050驱动程序,1602显示
想做滚球控制系统,先写了个MPU6050驱动看看 单片机源程序如下: #include REG52.H #include math.h //Keil library #include stdio.h //Keil library #include INTRINS.H typedef unsigned char uchar; typedef unsigned short ushort; typedef unsigned int uint; //**************************************** // 定义51单片机端口 //*******************************
[单片机]
51<font color='red'>单片机</font>+MPU6050驱动程序,1602显示
详细介绍单片机可视化编程的相关知识状况
A1:何谓开关电源模块单片机编程的MTD2002可视化?   Q1:可视化编程就是提供给用户可视化的开关电源模块器件模块配置界面使用户在不用关心具体MTD2002器件工作原理和设置的情况下直接生成所要配置的器件初始化代码及驱动程序,从而直接进行单片机应用层程序的开发。   A2:单片机的可视化编程是不是指在环境下避开复杂的指令编写而通过图形的方式产生指令代码?-在MTD2002可视化的条件下是否可以观察到仿真的结果?   Q2:是的。不过仿真的结果不能够直接观察到,而要通过将生成的开关电源模块代码装载到仿真器工具中才能看到。   A3:配置字节(option)怎么样通过C语言定位在0x80-0x84的地址?我现在是通过
[单片机]
STM32单片机使用定时器中断方式实现毫秒级延时的设计
因为STM32 HAL库中仅有对HAl_Delay()毫秒级的延时,为实现精确的微秒级延时,就不得不修改Systick,但由于HAL库内部使用其作为超时判断等操作,对其修改会发生不可预期的错误,不建议修改。因此,使用通用定时器进行定时操作。 参考网上例程,使用定时器中断方式实现延时,代码如下: TIM3溢出时间=72MHz/(71+1)/(0+1)=1Mhz=1us 计数模式:向上计数模式 使能TIM3中断 */ __IO static uint32_t usDelay=0; void Delayms(uint32_t ms) { Delayus(ms*1000); } void Delayus(uint32_t us) {
[单片机]
STM32<font color='red'>单片机</font>使用定时器中断方式实现毫秒级延时的设计
单片机存储器一些相关知识的学习
接着上一期内容我们继续来认识一下单片机存储器,学习一些相关知识。 片内的ROM和片外的ROM有两种组合方案,第一个方案是51单片机内部的ROM一共有4K,4K是它的存储容量,它的存储空间分布地址分布式从0000H到0FFFH,大家要理解什么叫做存储容量,什么叫做地址分布,比如说一个空间里面可以容纳4085个人,这4085个人指这个空间的容量是4085个人,把十进制的4085转换成这个二进制转换成二进制的这种方式称之为4K,也就是按照二进制进行编码,一共会占到12个1,就是2的平方乘以2的10次方,这样的话它的地址空间就是从0000H到0FFFH,也就相当于是这个空间一共是4096个座位,每个座位上可以做一个8位的二进制数,这个座位
[单片机]
<font color='red'>单片机</font>存储器一些相关知识的学习
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved