单片机与嵌入式系统设计:扩展存储器与接口配置

版权申诉
0 下载量 190 浏览量 更新于2024-08-25 收藏 793KB DOC 举报
该文档是关于单片机原理和嵌入式系统设计的第六次作业习题,涉及了如何扩展外部存储器、8155初始化编程、8255A的配置以及I2C总线上的AT24C01E2PROM的读写地址设定。 1. **片外扩展存储器**: 在单片机系统中,为了增加存储空间,通常会扩展外部RAM和ROM。题目中的图示没有提供,但从描述中可以理解,需要将8KBRAM和8KBROM连接到单片机。扩展存储器通常需要考虑地址线、数据线和控制线的连接。RAM和ROM的地址范围需要根据单片机的地址线数量来确定,以确保它们不重叠且覆盖整个8KB的地址空间。 2. **存储器芯片地址范围**: 四片8K*8位的存储器芯片通过地址线A12到A0连接。每片芯片的地址范围由高位地址线决定。例如,1#片的地址范围是0000H到1FFFH,这表示A12到A0都是0,表明地址线的使用情况。其他片的地址范围根据A12、A11和A10的值来变化,从而形成连续的4个8KB地址空间。 3. **8155初始化编程**: 8155是一个可编程外围接口芯片,具有A、B、C三个端口和一个定时器/计数器。为了初始化8155,需要设置其内部寄存器。在这个例子中,A口设为选通输出,B口设为选通输入,C口作为控制联络口,定时器/计数器按方式1工作,工作时间为10ms,计数脉冲频率为单片机时钟频率的24分频。编写初始化程序时,首先指向相应的地址寄存器,然后写入对应的配置字节。 4. **8255A初始化**: 8255A是通用并行接口芯片,有三个可配置的端口PA、PB、PC。在8031单片机上扩展8255A,需要设定PA为输入,PB和PC为输出。初始化程序中,先指定控制口地址,然后写入控制字以配置各个端口的工作模式。 5. **AT24C01E2PROM的读写地址**: AT24C01E2是I2C总线上的电可擦除可编程只读存储器(E2PROM),每个设备有唯一的7位地址。根据题目中的型号地址1010,可以推算出各片的读写地址。读地址和写地址通常仅在最高位有所区别。例如,对于AT2401,读地址为A1H,写地址为A0H。在实际编程中,需要创建总线的起始和停止条件的子程序,以正确地访问这些设备。 总结,这个作业涉及到的知识点包括:单片机扩展存储、存储器地址范围计算、8155和8255A的配置编程、以及I2C通信协议中E2PROM的地址管理和读写操作。这些内容都是嵌入式系统设计中的基础,对于理解和实现单片机控制系统至关重要。