ROM实验

实验目的

  1. 熟悉ROM的功能特性及用法。

  2. 了解七段数码管的显示原理。

实验原理

ROM(Read Only Memory),即只读存储器,是指在应用系统中只能读出、不能写入的半导体随机存储器。 在计算机中,存放程序代码是ROM的一个典型应用场景。 也可以用来存放固定不变的数据,如字符点阵数据。

此外,还可以用ROM实现逻辑功能。 将ROM的地址看作逻辑电路的输入,而对应单元的内容就是逻辑电路的输出。 例如,可以用8X1位的ROM实现3输入1输出的任何组合逻辑功能。

本实验用ROM实现七段数码管的译码。 七段数码管主要由七个条形的发光二极管(LED)组成,它们排列成类似数字 “8” 的形状。 这七个段分别被标记为a、b、c、d、e、f、g,有些数码管还有一个小数点段,标记为dp。 当在某段LED上施加一定的正向电压时,该段LED点亮。 通过不同的组合,可用来显示数字0~9和少量字母符号, 如图 1所示。

mem 7seg display
图 1. 七段数码管及十六进制数字形

在实际应用中,通常使用七段译码器将输入的二进制代码转换为七段数码管各个笔段所需的驱动信号, 电路框图如图 2所示。 在本实验中,图中“7段译码”由ROM实现。

mem 7seg decode
图 2. 七段显示译码电路框图

实验任务

  1. 用ROM设计七段显示译码电路

    电路如图 3所示。ROM的地址作为十六进制数据输入,ROM单元的内容存放数码管每个段的是否需要点亮的信息。

    1. 绘制电路图。

      ROM组件位于“Components/组件 ➤ Memory/存储器 ➤ ROM”。 ROM组件的属性设置为“数据位数:8;地址位数:4”。 显示组件位于“Components/组件 ➤ IO/输入输出 ➤ Displays/显示 ➤ Seven-Segment Display / 7段数码管”。

      ,
      图 3. 使用ROM组件构成7段显示译码器
    2. 初始化ROM数据

      在ROM组件的属性窗口点击“编辑”按钮,用下面的数据初始化ROM的前8个存储单元。

      0b00111111
      0b00000110
      0b01011011
      0b01001111
      0b01100110
      0b01101101
      0b01111101
      0b00000111
  2. 仿真

    通过输入引脚输入“0000~0111” 8组数据,七段数码管应显示数字“0~7”。

  3. 完善数据使电路能够显示“8~F”

    理解数码管显示原理,编写“8~F”的显示数据,填入ROM的后8个存储单元,验证结果是否正确。

  4. 总结ROM组件的功能和用法