51单片机总线接口设计田开坤2007.09.20总线概述一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念数据总线——DB控制总线——CB地址总线——AB三总线扩展示意图单片机对象1对象2对象n数据总线DB地址总线AB控制总线CBXTAL218XTAL119RST9P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115AD[0..7]A[8..15]ALE30EA31PSEN29P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78U6AT89C52对象1CPU对象2对象3对象4对象N对象N+1ABDBCB三总线控制原理图51单片机的三总线数据总线:51单片机的数据总线为P0口,P0口为双向数据通道,CPU从P0口送出数据和读回数据。地址总线:51系列单片机地址总线为16位,为了节约芯片引脚,P0口复用,P0口除了作为数据总线外,在ALE引脚信号时序匹配下,通过外置数据锁存器,在总线访问前半周送出低8位地址总线,后半周期用作数据总线。高8位地址通过P2口送出。控制总线:51系列单片机控制总线为读控制信号P3.7和写控制信号P3.6,分别作为总线模式下数据读回和数据写出使能信号。单片机总线时序分析TT0T1A0–A7锁存地址XXA0–A7XX读写指令:MOVXA,@DPTR;CPU从外部对象读数据MOVX@DPTR,A;CPU给外部对象写数据基于P2口的简单编址电路74LS273真值表带编址的273数码管驱动电路R74373低8位地址锁存电路74LS373真值表时序波形分析LOOP:MOVDPTR,#0FF55HMOVA,#0AAHMOVX,@DPTR,ALJMPLOOP执行以下指令时序图:A[0..7]AD[0..7]ALEWRRDA0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15B0[0..7]B1[0..7]B2[0..7]B3[0..7]带译码器的复杂地址接口电路P2口(无关位用“1”表示)从0b11111000到0b11111111P2口(无关位用“0”表示)从0b00000000到0b00000111译码得到的地址,通常低电平有效,常常用来配合控制信号使用,在一些存储器上可以直接作为片选信号使用,详细带译码器的复杂地址接口电路P2口(无关位用“1”表示)从????到????P2口(无关位用“0”表示)从????到????Y0Y1Y2Y3Y4Y5Y6Y7Y8Y9YAYBYCYDYEYFYAYBP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7WRRDD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U274LS373A23B22C21D20E118E219011223344556677889910101111131214131514161517U374HC15412U4:A74LS04123U10:A74LS08231U11:A74S02564U11:B74S02P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7WRRDLcd1EnLcd2EnALE带译码器的复杂地址接口电路Mini51板地址设计Mini51板地址分配表单元模块地址分配(P2+P0)备注STC单片机片内2K扩展RAM从0b0111100000000000到0b01111111111111112k连续编址LCD12864接口从0b1111000011101010到0b11111111111010108个有效地址数据读写,命令读写,分左右屏LCD1602接口从0b1111110011101011到0b11111111111010114个有效地址数据读写,命令读写4位数码管从0b1111111111101100到0b11111111111011114个有效地址That’sall,Doityourself!部分存储器引脚图A010A19A28A37A46A55A64A73A825A924A1021A1123A122CE20CS26WE27OE22D011D112D213D315D416D517D618D719U16164A010A19A28A37A46A55A64A73A825A924A1021A1123A122CE20OE22WE27D011D112D213D315D416D517D618D719RDY/B1U22864A010A19A28A37A46A55A64A73A825A924A1021A1123A122CE20WE27OE22D011D112D213D315D416D517D618D719A1326A141U362256返回Mini51板LCD128x64接口返回Mini51板LCD1602接口返回Mini51板数码管接口S10S11S12S13S14S15S16S17S20S21S22S23S24S25S26S27S30S31S32S33S34S35S36S37S40S41S42S43S44S45S46S47VCCVCCVCCSEG1SEG2SEG3SEG4YCYDYEYFP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7SEG1VCCS10S17S16S15S14S13S12S11P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7SEG2VCCS20S27S26S25S24S23S22S21P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7SEG3VCCS30S37S36S35S34S33S32S31P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7SEG4VCCS40S47S46S45S44S43S42S41WRWRWRWRD03D14D27D38D413D514D617D718CLK11MR1Q02Q15Q26Q39Q412Q515Q616Q719U574LS273123U9:A74LS32456U9:B74LS329108U9:C74LS32121311U9:D74LS32S1[7..0]D03D14D27D38D413D514D617D718CLK11MR1Q02Q15Q26Q39Q412Q515Q616Q719U674LS273S2[7..0]D03D14D27D38D413D514D617D718CLK11MR1Q02Q15Q26Q39Q412Q515Q616Q719U774LS273S3[7..0]D03D14D27D38D413D514D617D718CLK11MR1Q02Q15Q26Q39Q412Q515Q616Q719U874LS273S4[7..0]返回