[工学]11、12第八章51单片机系统扩展及编程.pptVIP

  • 6
  • 0
  • 约1.24万字
  • 约 52页
  • 2018-03-27 发布于浙江
  • 举报

[工学]11、12第八章51单片机系统扩展及编程.ppt

[工学]11、12第八章51单片机系统扩展及编程

第八章 51单片机系统扩展及编程 Any question? Thanks! Vcc WR RD P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 8051 ALE EA GND D7 D6 D5 D4 D3 D2 D2 D1 DO G Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 WR RD CS A1 A0 D7 D6 D5 D4 D3 D2 D1 GND Vcc +5V +5V PA7-PA0 PB7-PB0 PC7-PC0 OE D0 图中,8255的数据线与8051单片机的数据总线相连,读、写信号线对应相连,地址线A0、A1与单片机的地址总线的A0和A1相连,片选信号CS与8051的P2.0相连。则8255A的A口、B口、C口和控制口的地址分别是:FEFCH,FEFDH,FEFEH,FEFFH。 2.软件编程 如果设定8255的A口为方式0输入,B口为方式0输出,则初始化程序为: 汇编程序段: MOV A,#90H MOV DPTR,#0FEFFH MOVX @DPTR,A C语言程序段: #include reg51.h #include absacc.h //定义绝对地址访问 …… XBYTE[0xfeff]=0x90; …… 例 用8255控制打印机 上图是8051扩展8255与打印机接口的电路。8255的片选线为P0.7,打印机与8051采用查询方式交换数据。打印机的状态信号输入给PC7,打印机忙时BUSY=1。微型打印机的数据输入采用选通控制,当   上负跳变时数据被打入。8255采用方式0,由PC0模拟产生   信号。 按照接口电路,口A地址=7CH,口B地址=7DH,口C地址=7EH,命令口地址=7FH;PC7-PC4为输入,PC3-PC0为输出;方式选择命令字=8EH。 向打印机输出字符串“WELCOME”的程序print.C 如下: #include reg51.h #include absacc.h #define uchar unsigned char #define COM8255 XBYTE [0x007f] /* 命令口地址*/ #define PA8255 XBYTE [0x007c] /* 口A地址 */ #define PC8255 XBYTE [0x007e] /* 口C地址 */ void toprn (uchar *p) /* 打印字符串函数 */ { while(*p! = ‘\0’) { while((0x80PC8255)! =0); /* 查询等待打印机的BUSY状态*/ PA8255=*P; /* 输出字符 */ COM8255=0X00; /* 模拟STB脉冲*/ COM8255=0x01; p++; } } void main (void) { Uchar idata prn[ ]=“WELCOME”; /* 设一测试用字符串*/ COM8255=0x8e; /* 输出方式选择命令字*/ toprn(prn) ; /* 打印字符串*/ } 8.3.3 可编程I/O扩展 8155 8155包含有256字节的RAM存储器,两个可编程的8位并行口,一个6位并行口和一个14位的计数器。8155时8051应用系统中最适用的外围器件。 1 8155的结构和引脚 8155的结构如图所示。8155数据存储器是256*8静态RAM;I/O由三个通用口组成,其中的6位口可编程为状态控制信号;可编程的14位计数器/定时器用于给微计算机系统提供方波或计数脉冲。 8155的结构框图 8155的引脚如图所示,其中: ★RESET:复位高有效 ★AD0-AD7:三态地址/数据线。 ★CE  :芯片片选。 ★RD ,WR :读写信号。 ★ALE :地址锁存信号。 ★IO/M :IO/RAM选择线。该位为低选择RAM;为高选择I/O口。 ★PA0-PA7:端口A。 ★PB0-PB7:端口B。 ★PC0-PC5:端口C。当PC0-PC

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档