当前位置:文档之家› 实验二 I2C存储器实验重点讲义资料

实验二 I2C存储器实验重点讲义资料

实验二 I2C存储器实验重点讲义资料
实验二 I2C存储器实验重点讲义资料

I2C存储器实验

实验目的

1、了解I2C总线的工作原理

2、掌握I2C总线驱动程序的设计和调试方法

3、掌握I2C总线存储器的读写方法

实验仪器

单片机开发板、稳压电源、计算机

实验原理

1、 I2C总线常识

I2C总线采用一个双线式漏极开路接口,可在一根总线上支持多个器件和主控器。所连接的器件只会把总线拉至低电平,而决不会将其驱动至高电平。总线在外部通过一个电流源或上拉电阻器连接至一个正电源电压。当总线空闲时,两条线路均为高电平。在标准模式中,I2C 总线上的数据传输速率高达100kbit/s,而在快速模式中则高达400kbit/s。

I2C总线上的每个器件均由一个存储于该器件中的唯一地址来识别,并可被用作一个发送器或接收器(视其功能而定)。除了发送器和接收器之外,在执行数据传输时,还可把器件视作主控器或受控器。主控器是负责启动总线上的数据传输并生成时钟信号以允许执行该传输的器件。同时,任何被寻址的器件均被视作受控器。

CAT24WC01/02/04/08/16是一个1K/2K/4K/8K/16K位串行CMOS EEPROM,内部含有128/256/512/1024/2048个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗,CAT24WC01有一个8字节页写缓冲器,CAT24WC02/04/08/16有一个16字节页写缓冲器,该器件通过I2C总线接口进行操作,有一个专门的写保护功能,并且器件能与400KHzI2C 总线兼容。

引脚名称和功能如图1所示。

图1 24系例I2C存储器引脚说明

通过器件地址输入端A0、A1和A2可以实现将最多8个24WC01和24WC02器件4个24WC04器件,2个24WC08器件和1个24WC16器件连接到总线上。

2、I2C总线协议

(1)只有在总线空闲时才允许启动数据传送。

(2)在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变。时钟线为高电平时,数据线的任何电平变化将被看作总线的起始或停止信号。

(3)起始信号

时钟线保持高电平期间,数据线电平从高到低的跳变作为I2C 总线的起始信号。

(4) 停止信号

时钟线保持高电平期间,数据线电平从低到高的跳变作为I2C 总线的停止信号。I2C 总线时序:

I2C 总线时序图

I2C总线启动停止信号波形:SCL为高电平,SDA降沿为启动信号;SCL为高电平,SDA 上升沿为停止信号。

I2C 总线启动停止信号

I2C总线写周期波形:SCL正脉冲锁存数据,或SCL为高电平数据有效。SCL高电平期间SDA数据应保持不变。

I2C 总线写时序波形

I2C总线应答信号波形:I2C总线数据传送时,每成功地传送一个字节数据后,接收器都必须产生一个应答信号。应答的器件在第9个时钟周期时将SDA线拉低,表示其已收到一个8 位数据。

I2C 总线读时序

3、24C系列存储器读写操作

(1)24系列常用存储器器件地址安排

24系例存储器器件地址安排

(2)字节写操作

在字节写模式下,主器件发送起始命令和从器件地址信息(R/W位置零)给从器件,在从器件产生应答信号后,主器件发送CAT24WC01/02/04/08/16的1字节地址(存储容量大的存储器字节地址两字节),主器件在收到从器件的另一个应答信号后,再发送数据到被寻址的存储单元。CAT24WC01/02/04/08/16再次应答,并在主器件产生停止信号后,开始内部数据的擦写,在内部擦写过程中从器件不再应答主器件的任何请求(10ms)。如图所示。

字节写操作数据帧结构

(3)页写操作(提高写入速度)根据页缓冲区的大小,页写的字节数不能超过缓冲区大小。如果在发送停止信号之前主器件发送超过缓冲区大小,地址计数器将自动翻转,先前写入的数据被覆盖。如图所示。

页写操作数据帧结构

(4)当前地址读操作

当读取一个字节数据后,存储器内部地址计数器加1。当读到最后一字节时,计数器将翻转到0且继续输出数据。CAT24WC01/02/04/08/16 接收到从器件地址信号后(R/W 位置1),它首先发送一个应答信号,然后发送一个8位字节数据。主器件产生一个非应答信号(这里是主器件发送的非应答信号),再产生一个停止信号。如图所示。

当前地址读操作数据帧结构

(5)任意地址读操作、连续读操作

任意地址读、连续读操作数据帧结构

4、I2C总线存储读写程序设计

I2C总线存储器读写程序分为两层:硬件接口程序和存储器读写程序。其中硬件接口程序有:总线启动、停止、发数据、收数据、发响应、发非响应、读从器件响应状态等。存储器读写程序有:单字节写数据、页写数据、当前地址读数据、任意地址读数据、连续读数据等。

参考上面的时序图设计硬件接口相关子程序。

I2C总线接口程序流程图

I2C总线数据读写流程图

存储器读写程序设计。这里以单字节读、写程序为例说明,其它子程序由读者自行设计。

I2C存储器单字节读写流程图

实验参考程序:

/******************************************************************************

普中科技

--------------------------------------------------------------------------------

* 实验名 : 24C02EEPROM存储试验

* 实验说明 : 使用LCD1602显示写入的数据和读出的数据

* 连接方式 : 见连接图

* 注意 :

******************************************************************************/ #include

#include"i2c.h"

#include"lcd.h"

//--定义使用的IO口--//

//数码管IO

#define GPIO_DIG P0

sbit LSA=P2^2;

sbit LSB=P2^3;

sbit LSC=P2^4;

//按键IO

sbit K1=P3^0;

sbit K2=P3^1;

sbit K3=P3^2;

sbit K4=P3^3;

//--定义全局变量--//

unsigned char wordCode0[6] = "write:";

unsigned char wordCode1[6] = " read:";

//--声明全局函数--//

void At24c02Write(unsigned char ,unsigned char );

unsigned char At24c02Read(unsigned char );

void Delay10ms(unsigned int c); //误差 0us

/****************************************************************************** * 函数名 : main

* 函数功能 : 主函数

* 输入 : 无

* 输出 : 无

******************************************************************************/ void main()

{

unsigned int num0 = 0,num1 = 0,n;

LcdInit();

LcdWriteCom(0x80);

for(n=0; n<6; n++)

{

LcdWriteData(wordCode0[n]);

}

LcdWriteCom(0x80 + 0x40);

for(n=0; n<6; n++)

{

LcdWriteData(wordCode1[n]);

}

while(1)

{

if(K1 == 0) //按键1按下

{

Delay10ms(1);

if(K1 == 0)

At24c02Write(2,num0);

while((n < 50)&&(K3==0))

{

n++;

Delay10ms(1);

}

n=0;

n=0;

}

if(K2 == 0) //按键2按下

{

Delay10ms(1);

if(K2 == 0)

num1 = At24c02Read(2);

while((n < 50)&&(K2 == 0))

{

n++;

Delay10ms(1);

}

n=0;

}

if(K3 == 0) //按键3按下

{

Delay10ms(1);

if(K3 == 0)

num0++;

while((n < 50)&&(K3 == 0))

{

n++;

Delay10ms(1);

}

n=0;

if(num0==256)

num0=0;

}

if(K4 == 0) //按键4按下

{

Delay10ms(1);

if(K4 == 0)

num0 = 0;

while((n < 50) && (K4 == 0))

{

n++;

Delay10ms(1);

}

n=0;

}

LcdWriteCom(0x87);

LcdWriteData('0' + (num0/1000));//千位

LcdWriteData('0' + (num0%1000/100));//百位

LcdWriteData('0' + (num0%1000%100/10));//十位

LcdWriteData('0' + (num0%1000%100%10));//个位

LcdWriteCom(0x87 + 0x40);

LcdWriteData('0' + (num1/1000));//千位

LcdWriteData('0' + (num1%1000/100));//百位

LcdWriteData('0' + (num1%1000%100/10));//十位

LcdWriteData('0' + (num1%1000%100%10));//个位

}

}

/****************************************************************************** * 函数名 : Delay10ms

* 函数功能 : 延时函数,延时10ms

* 输入 : 无

* 输出 : 无

******************************************************************************/

void Delay10ms(unsigned int c) //误差 0us

{

unsigned char a, b;

//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--// for (;c>0;c--)

{

for (b=38;b>0;b--)

{

for (a=130;a>0;a--);

}

}

}

/****************************************************************************** * 函数名 : void At24c02Write(unsigned char addr,unsigned char dat)

* 函数功能 : 往24c02的一个地址写入一个数据

* 输入 : 无

* 输出 : 无

******************************************************************************/

void At24c02Write(unsigned char addr,unsigned char dat)

{

I2C_Start();

I2C_SendByte(0xa0, 1);//发送写器件地址

I2C_SendByte(addr, 1);//发送要写入内存地址

I2C_SendByte(dat, 0); //发送数据

I2C_Stop();

}

/****************************************************************************** * 函数名 : unsigned char At24c02Read(unsigned char addr)

* 函数功能 : 读取24c02的一个地址的一个数据

* 输入 : 无

* 输出 : 无

******************************************************************************/

unsigned char At24c02Read(unsigned char addr)

{

unsigned char num;

I2C_Start();

I2C_SendByte(0xa0, 1); //发送写器件地址

I2C_SendByte(addr, 1); //发送要读取的地址

I2C_Start();

I2C_SendByte(0xa1, 1); //发送读器件地址

num=I2C_ReadByte(); //读取数据

I2C_Stop();

return num;

}

#include"i2c.h"

/****************************************************************************** * 函数名 : Delay1us()

* 函数功能 : 延时

* 输入 : 无

* 输出 : 无

******************************************************************************/

void I2C_Delay10us()

{

uchar a, b;

for(b=1; b>0; b--)

{

for(a=2; a>0; a--);

}

}

/****************************************************************************** * 函数名 : I2C_Start()

* 函数功能 : 起始信号:在I2C_SCL时钟信号在高电平期间I2C_SDA信号产生一个下降沿

* 输入 : 无

* 输出 : 无

* 备注 : 起始之后I2C_SDA和I2C_SCL都为0

******************************************************************************/

void I2C_Start()

{

I2C_SDA = 1;

I2C_Delay10us();

I2C_SCL = 1;

I2C_Delay10us();//建立时间是I2C_SDA保持时间>4.7us

I2C_SDA = 0;

I2C_Delay10us();//保持时间是>4us

I2C_SCL = 0;

I2C_Delay10us();

}

/****************************************************************************** * 函数名 : I2C_Stop()

* 函数功能 : 终止信号:在I2C_SCL时钟信号高电平期间I2C_SDA信号产生一个上升沿

* 输入 : 无

* 输出 : 无

* 备注 : 结束之后保持I2C_SDA和I2C_SCL都为1;表示总线空闲

******************************************************************************/

void I2C_Stop()

{

I2C_SDA = 0;

I2C_Delay10us();

I2C_SCL = 1;

I2C_Delay10us();//建立时间大于4.7us

I2C_SDA = 1;

I2C_Delay10us();

}

/****************************************************************************** * 函数名 : I2cSendByte(uchar num)

* 函数功能 : 通过I2C发送一个字节。在I2C_SCL时钟信号高电平期间,

* * 保持发送信号I2C_SDA保持稳定

* 输入 : num ,ack

* 输出 : 0或1。发送成功返回1,发送失败返回0

* 备注 : 发送完一个字节I2C_SCL=0, 需要应答则应答设置为1,否则为0 ******************************************************************************/

uchar I2C_SendByte(uchar dat, uchar ack)

{

uchar a = 0,b = 0;//最大255,一个机器周期为1us,最大延时255us。

for(a=0; a<8; a++)//要发送8位,从最高位开始

{

I2C_SDA = dat >> 7; //起始信号之后I2C_SCL=0,所以可以直接改变I2C_SDA 信号

dat = dat << 1;

I2C_Delay10us();

I2C_SCL = 1;

I2C_Delay10us();//建立时间>4.7us

I2C_SCL = 0;

I2C_Delay10us();//时间大于4us

}

I2C_SDA = 1;

I2C_Delay10us();

I2C_SCL = 1;

while(I2C_SDA && (ack == 1))//等待应答,也就是等待从设备把I2C_SDA拉低

{

b++;

if(b > 200) //如果超过200us没有应答发送失败,或者为非应答,表示接收结束

{

I2C_SCL = 0;

I2C_Delay10us();

return 0;

}

}

I2C_SCL = 0;

I2C_Delay10us();

return 1;

}

/****************************************************************************** * 函数名 : I2cReadByte()

* 函数功能 : 使用I2c读取一个字节

* 输入 : 无

* 输出 : dat

* 备注 : 接收完一个字节I2C_SCL=0

******************************************************************************/

uchar I2C_ReadByte()

{

uchar a = 0,dat = 0;

I2C_SDA = 1; //起始和发送一个字节之后I2C_SCL都是0

I2C_Delay10us();

for(a=0; a<8; a++)//接收8个字节

{

I2C_SCL = 1;

I2C_Delay10us();

dat <<= 1;

dat |= I2C_SDA;

I2C_Delay10us();

I2C_SCL = 0;

I2C_Delay10us();

}

return dat;

#include"lcd.h"

/****************************************************************************** * 函数名 : Lcd1602_Delay1ms

* 函数功能 : 延时函数,延时1ms

* 输入 : c

* 输出 : 无

* 说名 : 该函数是在12MHZ晶振下,12分频单片机的延时。

******************************************************************************/

void Lcd1602_Delay1ms(uint c) //误差 0us

{

uchar a,b;

for (; c>0; c--)

{

for (b=199;b>0;b--)

{

for(a=1;a>0;a--);

}

}

}

/****************************************************************************** * 函数名 : LcdWriteCom

* 函数功能 : 向LCD写入一个字节的命令

* 输入 : com

* 输出 : 无

******************************************************************************/ #ifndef LCD1602_4PINS //当没有定义这个LCD1602_4PINS时

void LcdWriteCom(uchar com) //写入命令

{

LCD1602_E = 0; //使能

LCD1602_RS = 0; //选择发送命令

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = com; //放入命令

Lcd1602_Delay1ms(1); //等待数据稳定

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5); //保持时间

LCD1602_E = 0;

}

#else

void LcdWriteCom(uchar com) //写入命令

{

LCD1602_E = 0; //使能清零

LCD1602_RS = 0; //选择写入命令

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = com; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

// Lcd1602_Delay1ms(1);

LCD1602_DATAPINS = com << 4; //发送低四位

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

}

#endif

/****************************************************************************** * 函数名 : LcdWriteData

* 函数功能 : 向LCD写入一个字节的数据

* 输入 : dat

* 输出 : 无

******************************************************************************/

#ifndef LCD1602_4PINS

void LcdWriteData(uchar dat) //写入数据

{

LCD1602_E = 0; //使能清零

LCD1602_RS = 1; //选择输入数据

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = dat; //写入数据

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5); //保持时间

LCD1602_E = 0;

}

#else

void LcdWriteData(uchar dat) //写入数据

{

LCD1602_E = 0; //使能清零

LCD1602_RS = 1; //选择写入数据

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = dat; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

LCD1602_DATAPINS = dat << 4; //写入低四位

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

}

#endif

/****************************************************************************** * 函数名 : LcdInit()

* 函数功能 : 初始化LCD屏

* 输入 : 无

* 输出 : 无

******************************************************************************/

#ifndef LCD1602_4PINS

void LcdInit() //LCD初始化子程序

{

LcdWriteCom(0x38); //开显示

LcdWriteCom(0x0c); //开显示不显示光标

LcdWriteCom(0x06); //写一个指针加1

LcdWriteCom(0x01); //清屏

LcdWriteCom(0x80); //设置数据指针起点

}

#else

void LcdInit() //LCD初始化子程序

{

LcdWriteCom(0x32); //将8位总线转为4位总线

LcdWriteCom(0x28); //在四位线下的初始化LcdWriteCom(0x0c); //开显示不显示光标

LcdWriteCom(0x06); //写一个指针加1

LcdWriteCom(0x01); //清屏

LcdWriteCom(0x80); //设置数据指针起点

}

#endif

实验心得

思考题

1、24C02EEPROM存储器的存储过程?

2、LCD1602显示写入的数据和读出的数据过程?

计算机原理实验二 静态随机存储器实验 操作步骤

2.1 静态随机存储器实验 2.1.1 实验目的 掌握静态随机存储器RAM工作特性及数据的读写方法。 2.1.2 实验设备 PC机一台,TD-CMA实验系统一套。 2.1.3 实验原理 实验原理图如图2-1-3所示,存储器数据线接至数据总线,数据总线上接有8个LED 灯显示D7…D0的内容。地址线接至地址总线,地址总线上接有8个LED灯显示A7…A0的内容,地址由地址锁存器(74LS273,位于PC&AR单元)给出。数据开关(位于IN单元)经一个三态门(74LS245)连至数据总线,分时给出地址和数据。地址寄存器为8位,接入6116的地址A7…A0,6116的高三位地址A10…A8接地,所以其实际容量为256字节。 RD WR 图2-1-3 存储器实验原理图 实验箱中所有单元的时序都连接至时序与操作台单元,CLR都连接至CON单元的CLR 按钮。实验时T3由时序单元给出,其余信号由CON单元的二进制开关模拟给出,其中IOM 应为低(即MEM操作),RD、WR高有效,MR和MW低有效,LDAR高有效。 2.1.4 实验步骤 (1) 关闭实验系统电源,按图2-1-4连接实验电路,并检查无误,图中将用户需要连接的信号用圆圈标明。 (2) 将时序与操作台单元的开关KK1、KK3臵为运行档、开关KK2臵为‘单步’档(时序单元的介绍见附录二)。 (3) 将CON单元的IOR开关臵为1(使IN单元无输出),打开电源开关,如果听到有

‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。 图2-1-4 实验接线图 (4) 给存储器的00H、01H、02H、03H、04H地址单元中分别写入数据11H、12H、13H、14H、15H。由前面的存储器实验原理图(图2-1-3)可以看出,由于数据和地址由同一个数据开关给出,因此数据和地址要分时写入,先写地址,具体操作步骤为:先关掉存储器的读写(WR=0,RD=0),数据开关输出地址(IOR=0),然后打开地址寄存器门控信号(LDAR=1),按动ST产生T3脉冲,即将地址打入到AR中。再写数据,具体操作步骤为:先关掉存储器的读写(WR=0,RD=0)和地址寄存器门控信号(LDAR=0),数据开关输出要写入的数据,打开输入三态门(IOR=0),然后使存储器处于写状态(WR=1,RD=0,IOM=0),按动ST产生T3脉冲,即将数据打入到存储器中。写存储器的流程如图2-1-5所示(以向00地址单元写入11H为例): WR = 0 RD = 0 IOM = 0 IOR = 0 LDAR = 0 WR = 0 RD = 0 IOM = 0 IOR = 0 LDAR = 1 T3= WR = 0 RD = 0 IOM = 0 IOR = 0 LDAR = 0 WR = 1 RD = 0 IOM = 0 IOR = 0 LDAR = 0 T3= 图2-1-5 写存储器流程图 (5) 依次读出第00、01、02、03、04号单元中的内容,观察上述各单元中的内容是否与前面写入的一致。同写操作类似,也要先给出地址,然后进行读,地址的给出和前面一样,而在进行读操作时,应先关闭IN单元的输出(IOR=1),然后使存储器处于读状态(WR=0,RD=1,IOM=0),此时数据总线上的数即为从存储器当前地址中读出的数据内容。读存储器的流程如图2-1-6所示(以从00地址单元读出11H为例):

离心泵特性实验报告

离心泵特性测定实验报告 一、实验目的 1.了解离心泵结构与特性,熟悉离心泵的使用; 2.测定离心泵在恒定转速下的操作特性,做出特性曲线; 3.了解电动调节阀、流量计的工作原理和使用方法。 二、基本原理 离心泵的特性曲线是选择和使用离心泵的重要依据之一,其特性曲线是在恒定转速下泵的扬程H 、轴功率N 及效率η与泵的流量Q 之间的关系曲线,它是流体在泵内流动规律的宏观表现形式。由于泵内部流动情况复杂,不能用理论方法推导出泵的特性关系曲线,只能依靠实验测定。 1.扬程H 的测定与计算 取离心泵进口真空表和出口压力表处为1、2两截面,列机械能衡算方程: f h g u g p z H g u g p z ∑+++=+++222 2222111ρρ (1) 由于两截面间的管长较短,通常可忽略阻力项f h ∑,速度平方差也很小故可忽略,则有 (=H g p p z z ρ1 212)-+ - 210(H H H ++=表值) (2) 式中: 120z z H -=,表示泵出口和进口间的位差,m ; ρ——流体密度,kg/m 3 ; g ——重力加速度 m/s 2; p 1、p 2——分别为泵进、出口的真空度和表压,Pa ; H 1、H 2——分别为泵进、出口的真空度和表压对应的压头,m ; u 1、u 2——分别为泵进、出口的流速,m/s ; z 1、z 2——分别为真空表、压力表的安装高度,m 。 由上式可知,只要直接读出真空表和压力表上的数值,及两表的安装高度差,就可计算出泵的扬程。 2.轴功率N 的测量与计算 k N N ?=电 (3) 其中,N 电为电功率表显示值,k 代表电机传动效率,可取95.0=k 。

实验二 数据存储器和程序存储器实验

实验二数据存储器和程序存储器实验 实验目的: 了解DSP内部数据存储器和程序存储器的结构 了解DSP指令的几种寻址方式 实验要求: 主要是对外扩数据存储器进行数据的存储、移动。该实验所需要的硬件主要是DSP、CPLD、DRAM。实验过程是:让学生通过CCS5000的DSP仿真器对DSP 进行仿真,向DSP外扩DRAM写入数据、读数据、数据块的移动,其操作结果通过CCS5000仿真界面进行观察或通过发光二极管观察其正确性。 实验步骤: 经过了实验一以后,相信各位同学对于CCS的基本操作已经了解,故在此不再赘述。 1、以Simulator方式启动CCS,打开项目文件,编译程序,加载目标代码文件。 2、打开各个观察窗口,值得注意的是,本实验需要打开三个内存窗口:Data页的0x2000(.data段)起始处、Data页的0x3000(.stack段)起始处、以及Program页的0x1f00起始处 3、按照实验一的步骤设置断点,观察方法也基本相同,下面仅对各个小段程序进行简要说明: bk0: 通过对XF引脚的置位和复位实现发光二极管的闪烁 bk1: 立即数寻址方式 bk2: 绝对地址寻址方式-数据存储器地址寻址 bk3: 绝对地址寻址方式-程序存储器地址寻址 bk4: 累加器寻址方式 bk5: 直接寻址方式(DP为基准) bk6: 直接寻址方式(SP为基准) bk7: 间接寻址方式 bk8: 存储器映射寄存器寻址方式 bk9: 堆栈寻址方式 bk10: 将程序存储器0x2000为起始地址的0x100个字复制到数据存储器的0x4000为起始地址的空间中

************************************************ * FileName: ex2.asm * * Description: 数据存储器和程序存储器实验* ************************************************ CMD文件: MEMORY { PAGE 0: VECS: origin = 0xff80, length = 0x80 PROG: origin = 0x1000, length = 0x1000 PAGE 1: DATA: origin = 0x2000, length = 0x1000 STACK: origin = 0x3000, length = 0x1000 } SECTIONS { .vectors: {} > VECS PAGE 0 .text: {} > PROG PAGE 0 .data: {} > DATA PAGE 1 .stack: {} > STACK PAGE 1 } 5000系列DSP汇编语言: .title "ex2" ;在清单页头上打印标题 .global reset,_c_int00 ;定义reset和_c_int00两个全局(外部标号),_c_int00是C ; ;行环境的入口点,该入口点在连接的rtsxxx.lib库中,DSP ;复位后,首先跳到0地址,复位向量对应的代码必须跳转 ;到C运行环境的入口点_c_int00. .mmregs ;输入存储器映象寄存器进符号表 .def _c_int00 ;识别定义在当前模块和用在其它模块中的一个或多个符号DA T0 .set 00H ;给符号DAT0设置值为00H DA T1 .set 01H DA T2 .set 02H DA T3 .set 03H DDAT0 .set 2004H DDAT1 .set 2005H DDAT2 .set 2006H DDAT3 .set 2007H PDAT0 .set 1f00H PDAT1 .set 1f01H PDAT2 .set 1f02H PDAT3 .set 1f03H .sect ".vectors" ;中断向量表, 表示以下语句行汇编进名为.vectors的初始化段, ;若用户的程序是要写进EPROM并在上电之后直接运 ;行,则必须包含Vectors.asm文件,这个文件的代码将作为IST ;(中断服务表),并且必须被连接命令文件(.cmd)分配到0 ;地址,DSP复位后,首先跳到0地址,复位向量对应的代码

实验存储器部件实验(精品)

北京林业大学 11学年—12学年第 2 学期计算机组成原理实验任务书 专业名称:计算机科学与技术实验学时: 2 课程名称:计算机组成原理任课教师:张海燕 实验题目:实验四内存储器部件实验 实验环境:TEC-XP+教学实验系统、PC机 实验内容 1.设计扩展8K字存储器容量的线路图,标明数据线、地址线和控制信号的连接关系。 2.扩展教学机的存储器空间,为扩展存储器选择一个地址,并注意读写等控制信号的正确状态。 3.用监控程序的D、E命令对存储器进行读写,比较RAM(6116)、EEPROM (58C65)在读写上的异同。 4.用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确。 5.用监控程序的A命令编写一段程序,对扩展存储器EEPROM(58C65)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。 实验目的 1.熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处。 2.理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。 3.了解如何通过读、写存储器的指令实现对58C65ROM芯片的读、写操作。 4.加深理解存储器部件在计算机整机系统中的作用。 实验要求 1.实验之前认真预习,明确实验的目的和具体实验内容,做好实验之前的

必要准备。 2.想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果; 3.在教学实验过程中,要爱护教学实验设备,记录实验步骤中的数据和运算结果,仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。 4.实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,运算结果的分析讨论,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。 实验说明 内存储器是计算机中存放正在运行中的程序和相关数据的部件。在教学计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存储器芯片实现内存储器的存储体,包括只读存储区(ROM、存放监控程序等)和随读写存储区(RAM)两部分,ROM存储区选用4片长度8位、容量8KB的58C65芯片实现,RAM存储区选用2片长度8位、容量2KB的6116芯片实现,每2个8位的芯片合成一组用于组成16位长度的内存字,6个芯片被分成3组,其地址空间分配关系是:0-1777H用于第一组ROM,固化监控程序,2000-2777H用于RAM,保存用户程序和用户数据,其高端的一些单元作为监控程序的数据区,第二组ROM的地址范围可以由用户选择,主要用于完成扩展内存容量(存储器的字、位扩展)的教学实验。 在这里还要说明如下两个问题。 第一,要扩展8K字的存储空间,需要使用2片(每一片有8KB容量,即芯片内由8K个单元、每个单元由8个二进制位组成)存储器芯片实现。 第二,当存储器选用58C65ROM芯片时,它属于电可擦除的EPROM器件,可以通过专用的编程器软件和设备向芯片的写入相应的内容,这是正常的操作方式。也可以通过写内存的指令向芯片的指定单元写入16位的数据,只是每一次的这种写操作需要占用长得多写入时间,例如几百个微秒,可以通过运行完成等待功能的子程序来加以保证。本次试验采用的是通过写内存的指令将数据写入芯片

离心泵性能实验报告记录(带数据处理)

离心泵性能实验报告记录(带数据处理)

————————————————————————————————作者:————————————————————————————————日期:

实验三、离心泵性能实验姓名:杨梦瑶学号:1110700056 实验日期:2014年6月6日 同组人:陈艳月黄燕霞刘洋覃雪徐超张骏捷曹梦珺左佳灵 预习问题: 1.什么是离心泵的特性曲线?为什么要测定离心泵的特性曲线? 答:离心泵的特性曲线:泵的He、P、η与Q V的关系曲线,它反映了泵的基本性能。要测定离心泵的特性曲线是为了得到离心泵最佳工作条件,即合适的流量范围。 2.为什么离心泵的扬程会随流量变化? 答:当转速变大时,,沿叶轮切线速度会增大,当流量变大时,沿叶轮法向速度会变大,所以根据伯努力方程,泵的扬程: H=(u22- u12)/2g + (p2- p1) / ρg + (z2- z1) +H f 沿叶轮切线速度变大,扬程变大。反之,亦然。 3.泵吸入端液面应与泵入口位置有什么相对关系? 答:其相对关系由汽蚀余量决定,低饱和蒸气压时,泵入口位置低于吸入端液面,流体可以凭借势能差吸入泵内;高饱和蒸气压时,相反。但是两种情况下入口位置均应低于允许安装高度,为避免发生汽蚀和气缚现象。 4.实验中的哪些量是根据实验条件恒定的?哪些是每次测试都会变化,需要记录的?哪些 是需要最后计算得出的? 答:恒定的量是:泵、流体、装置; 每次测试需要记录的是:水温度、出口表压、入口表压、电机功率; 需要计算得出的:扬程、轴功率、效率、需要能量。 一、实验目的: 1.了解离心泵的构造,熟悉离心泵的操作方法及有关测量仪表的使用方法。 2.熟练运用柏努利方程。 3.学习离心泵特性曲线的测定方法,掌握离心泵的性能测定及其图示方法。 4.了解应用计算机进行数据处理的一般方法。 二、装置流程图: 图5 离心泵性能实验装置流程图

离心泵性能实验

实验名称:离心泵性能试验 一、实验目的及任务: 1.了解离心泵的构造,掌握其操作和调节方法。 2.测定离心泵在恒定转速下的特性曲线,并确定泵的最佳工作范围。 3.测定管路的特性曲线。 4.熟悉个孔板流量计的构造、性能和安装方法。 5.测定孔板流量计的孔流系数。 二、实验原理: 1. 离心泵特性曲线的测定 离心泵的性能参数取决于泵的内部结构、叶轮形式及转速。其中理论压头与流量的关系可以通过对泵内液体质点运动的理论分析得到。由于流体流经泵时,不可不免的会产生阻力损失,如摩擦损失、环流损失等,实际压头小于理论压头,且难以计算。因此,通常采用实验方法,直接测定其参数间的关系,并将测出的He-Q、N-Q、η-Q三条曲线称为离心泵的特性曲线。根据曲线可以找到最佳操作范围,作为选择泵的依据。 (1)泵的扬程 由伯努利方程,泵的实际压头He如下: 其中,动能项相比于压头项数量级很小,可以忽略;损失项由于管路较短,损失较小,可以忽略,因此得到:

式中——泵出口处的压力,mH2O ——泵入口处的压力,mH2O ——出口压力表和入口压力表的垂直距离,m (2)泵的有效功率和效率 泵在运转过程中存在能量损失,因此泵的实际和流量较理论低,而输入功率又比理论值高,有泵的总效率: 轴 轴电电转 式中——泵的有效功率,kW ——流量,m3/s ——扬程,m ——流体密度,kg/ m3 N轴——泵轴输入离心泵的功率,kW N电——电机的输入功率,Kw η电——电机效率,取0.9 η转——传动装置的效率,取1.0 2. 孔板流量计孔流系书的测定 孔板流量计的结构如图1所示。

图1 孔板流量计构造原理 在水平管路上装有一块孔板,其两侧接测压管,分别与压力传感器的两端连接。孔板流量计是根据流通通过锐孔的节流作用,使流速增大,压强减小,造成孔板前后压差作为测量依据。若管路的直径为d 1,锐孔的直径为d 0,流体流经孔板后所形成缩脉的直径为d 2,流体的密度为ρ,孔板前测压导管截面处与缩脉截面处的速度和压强分别为u 1、u 2和p 1、p 2,根据伯努利方程,不考虑能量损失可得: 或 由于缩脉的位置随流速的变化而变化,缩脉处的截面积S 2难以知道,而孔口的面积已知,且测压口的位置不变,因此可以用孔口处的u 0代替u 2,考虑流体因局部阻力造成的能量损失,用校正系数C 校正后,有: 对不可压缩流体,根据连续性方程有: 整理得: 令 ,则可简化为: u d d

实验二 I2C存储器实验

I2C存储器实验 实验目的 1、了解I2C总线的工作原理 2、掌握I2C总线驱动程序的设计和调试方法 3、掌握I2C总线存储器的读写方法 实验仪器 单片机开发板、稳压电源、计算机 实验原理 1、 I2C总线常识 I2C总线采用一个双线式漏极开路接口,可在一根总线上支持多个器件和主控器。所连接的器件只会把总线拉至低电平,而决不会将其驱动至高电平。总线在外部通过一个电流源或上拉电阻器连接至一个正电源电压。当总线空闲时,两条线路均为高电平。在标准模式中,I2C 总线上的数据传输速率高达100kbit/s,而在快速模式中则高达400kbit/s。 I2C总线上的每个器件均由一个存储于该器件中的唯一地址来识别,并可被用作一个发送器或接收器(视其功能而定)。除了发送器和接收器之外,在执行数据传输时,还可把器件视作主控器或受控器。主控器是负责启动总线上的数据传输并生成时钟信号以允许执行该传输的器件。同时,任何被寻址的器件均被视作受控器。 CAT24WC01/02/04/08/16是一个1K/2K/4K/8K/16K位串行CMOS EEPROM,内部含有128/256/512/1024/2048个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗,CAT24WC01有一个8字节页写缓冲器,CAT24WC02/04/08/16有一个16字节页写缓冲器,该器件通过I2C总线接口进行操作,有一个专门的写保护功能,并且器件能与400KHzI2C 总线兼容。 引脚名称和功能如图1所示。 图1 24系例I2C存储器引脚说明 通过器件地址输入端A0、A1和A2可以实现将最多8个24WC01和24WC02器件4个24WC04器件,2个24WC08器件和1个24WC16器件连接到总线上。 2、I2C总线协议 (1)只有在总线空闲时才允许启动数据传送。 (2)在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变。时钟线为高电平时,数据线的任何电平变化将被看作总线的起始或停止信号。 (3)起始信号 时钟线保持高电平期间,数据线电平从高到低的跳变作为I2C 总线的起始信号。 (4) 停止信号 时钟线保持高电平期间,数据线电平从低到高的跳变作为I2C 总线的停止信号。I2C 总线时序:

离心泵实验

一、 实验题目 离心泵性能实验 二、 实验摘要 本实验使用转速为2900 r/min ,WB70/055型号的离心泵实验装置,以水为工作流体,通过调节阀门改变流量,测得不同流量下离心泵的性能参数,并画出特性曲线同时标定孔板流量计的孔流系数C 0,测定管路的特性曲线。实验中直接测量量有q v 、P 出、P 入、电机输入功率N 电、孔板压差ΔP 、水温T 、频率f ,根据上述测量量来计算泵的扬程He 、泵的有效功率Ne 、轴功率N 轴及效率η,从而绘制泵的特性曲线图;又由P 、q v 求出孔流系数C 0、Re ,从而绘制C 0-Re 曲线图,求出孔板孔流系数C 0;最后绘制管路特性曲线图。 关键词: 特性曲线图、孔流系数、He 、N 轴、η、q v 三、 实验目的及内容 1、解离心泵的构造,掌握其操作和调节方法。 2、定离心泵在恒定转速下的特性曲线,并确定泵的最佳工作范围。 3、熟悉孔板流量计的构造、性能及安装方法。 4、测定孔板流量计的孔流系数。 5、测定管路特性曲线。 四、实验原理 1、离心泵特性曲线测定 离心泵的性能参数取决于泵的内部结构、叶轮形式及转速。其中理论压头与流量的关系,可通过对泵内液体质点运动的理论分析得到,如下图的曲线。由于流体流经泵时,不可避免地会遇到各种阻力,产生能量损失,诸如摩擦损失、环流损失等,因此,实际压头比理论压头笑,且难以通过计算求得,因此通常采用实验方法,直接测定其参数间的关系,并将测出的He-Q 、N-Q 和η-Q 三条曲线称为离心泵的特性曲线。另外,曲线也可以求出泵的最佳操作范围,作为选泵的依据。 (1)泵的扬程He 式中: ——泵出口处的压力,mH 2O ; ——泵出口处的压力, mH 2O ; ——出口压力表与入口压力表的垂直距离, =0.2m 。 (2)泵的有效功率和效率 由于泵在运转过程中存在种种能量损失,使泵的实际压头和流量较理论值为低,而输入泵的功率又比理论值高,所以泵的总效率为 轴 N Ne = η 102 e ρ QHe N = 式中 Ne ——泵的有效效率,kW ;

计算机组成原理实验报告二半导体存储器原理实验

半导体存储器原理实验 一、实验目的: 1、掌握静态存储器的工作特性及使用方法。 2、掌握半导体随机存储器如何存储和读取数据。 二、实验要求: 按练习一和练习二的要求完成相应的操作,并填写表2.1各控制端的状态及记录表2.2的写入和读出操作过程。 三、实验方案及步骤: 1、按实验连线图接线,检查正确与否,无误后接通电源。 2、根据存储器的读写原理,按表2.1的要求,将各控制端的状态填入相应的栏中以方便实验的进行。 3、根据实验指导书里面的例子练习,然后按要求做练习一、练习二的实验并记录相关实验结果。 4、比较实验结果和理论值是否一致,如果不一致,就分析原因, 然后重做。 四、实验结果与数据处理: (1)表2.1各控制端的状态

2)练习操作 数据1:(AA)16 =(10101010)2 写入操作过程: 1)写地址操作: ①应设置输入数据的开关状态:将试验仪左下方“ INPUT DEVICE ”中的8位数据开关D7-D0 设置为00000000 即可。 ②应设置有关控制端的开关状态:先在实验仪“SWITCH UNIT ”中打开输入三态门控制端,即SW-B=0 ,打开地址寄存器存数控制信号,即LDAR=1, 关闭片选信号(CE ),写命令信号(WE )任意,即CE=1,WE=0 或1。 ③应与T3 脉冲配合可将总线上的数据作为地址输入AR 地址寄存器中:按一下微动开关START 即可。 ④应关闭AR 地址寄存器的存数控制信号:LDAR=0 。 2)写内容操作: ①应设置输入数据的开关状态:将试验仪左下方“ INPUT DEVICE ”中的8位数据开关D7-D0 设置为10101010 。 ②应设置有关控制端的开关状态:在实验仪“SWITCH UNIT ”中打开输入三态门控制端, 即SW-B=O,关闭地址寄存器存数控制信号,即LDAR=O,打开片选信号(CE )和写命令 信号(WE),即CE=0,WE=1。 ③应与T3 脉冲配合可将总线上的数据写入存储器6116的00000000地址单元中:再按一下 微动开关START 即可。 ④应关闭片选信号和写命令信号:即CE=1,WE=0。 读出操作过程: 1 )写地址操作:参考写入操作的写地址操作 2)读内容操作: ①关闭输入三态门控制端,即SW-B=1。 ②地址寄存器存数控制信号(LDAR)任意,不过最好关闭,即LDAR=0 ,防止误按脉冲信号存入数据。 ③关闭写命令信号(WE),即WE=0,打开片选信号(CE),即CE=0,不需要T3脉冲,即 不要按微动开关START。此时00000000地址的内容通过“ BUS UNIT ”中数据显示灯B7-B0 显示出来。 数据2:(55)16 =(01010101)2 写入操作过程: 1)写地址操作: ①设置输入数据的开关状态:将试验仪左下方“ INPUT DEVICE ”中的8位数据开关D7-D0 设置为

静态存储器实验报告

静态随机存储器实验 组员: 组号:21组 日期:周二5、6节

【实验目的】 掌握静态随机存储器RAM工作特性及数据的读/写方法。 【实验设备】 实验仪一台、PC机一台(观察波形) 【实验原理】 由一片6116(2K x 8)芯片、一片8位锁存器(74LS273)、一片8位三态门(74LS245)构成存储器原理图。 存储器实验原理图 由于存储器地址是由数据开关(input device)锁存在(273),存储器写数据也是由数据开关提供的,因此要分时给出地址和写数据。 因地址寄存器为8 位,所以接入6116 的地址为A7~A0,而高三位A8~A10 接地,所以其实际容量为256 字节。6116 有三个控制线:CE(片选线)、OE(读线)、WE(写线)。当片选有效(CE=0)时,OE=0 时进行读操作,WE=0 时进行写操作。本实验中将OE 常接地,在此情况下,当CE=0、WE=0 时进行读操作,CE=0、WE=1 时进行写操作,其写时间与T3 脉冲宽度一致。 实验时将T3 脉冲接至实验板上时序电路模块的TS3 相应插孔中,其脉冲宽度可调,其它电平控制信号由“SWITCH UNIT”单元的二进制开关模拟,其中SW-B 为低电平有效,LDAR 为高电平有效。 【实验步骤】 (1) 形成时钟脉冲信号T3。具体接线方法和操作步骤如下: ①接通电源,用示波器接入方波信号源的输出插孔H23,调节电位器W1 及W2 ,使H23 端输出 实验所期望的频率及占空比的方波。 ②将时序电路模块(STATE UNIT)单元中的ф和信号源单元(SIGNAL UNIT)中的H23 排针相连。 ③在时序电路模块中有两个二进制开关“STOP”和“STEP”。将“STOP”开关置为“RUN”状

实验一 存储器实验

实验一存储器实验 1.FPGA中LPM_ROM定制与读出实验 一.实验目的 1、掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性与配置方法。 2、用文本编辑器编辑mif文件配置ROM,学习将程序代码以mif格式文件加载于 lpm_ROM中; 3、在初始化存储器编辑窗口编辑mif文件配置ROM; 4、验证FPGA中mega_lpm_ROM的功能。 二.实验原理 ALTERA的FPGA中有许多可调用的LPM (Library Parameterized Modules)参数化的模块库,可构成如lpm_rom、lpm_ram_io、lpm_fifo、lpm_ram_dq的存储器结构。CPU 中的重要部件,如RAM、ROM可直接调用她们构成,因此在FPGA中利用嵌入式阵列块EAB 可以构成各种结构的存储器,lpm_ROM就是其中的一种。lpm_ROM有5组信号:地址信号address[ ]、数据信号q[ ]、时钟信号inclock、outclock、允许信号memenable,其参数都就是可以设定的。由于ROM就是只读存储器,所以它的数据口就是单向的输出端口,ROM中的数据就是在对FPGA现场配置时,通过配置文件一起写入存储单元的。图3-1-1中的lpm_ROM有3组信号:inclk——输入时钟脉冲;q[23、、0]——lpm_ROM的24位数据输出端;a[5、、0]——lpm_ROM的6位读出地址。 实验中主要应掌握以下三方面的内容: ⑴ lpm_ROM的参数设置; ⑵ lpm_ROM中数据的写入,即LPM_FILE初始化文件的编写; ⑶lpm_ROM的实际应用,在GW48_CP+实验台上的调试方法。 三.实验步骤 (1)用图形编辑,进入mega_lpm元件库,调用lpm_rom元件,设置地址总线宽度address[] 与数据总线宽度q[],分别为6位与24位,并添加输入输出引脚,如图3-1-1设置与连接。 (2)设置图3-1-1为工程。 (3)在设置lpm_rom数据参数选择项lpm_file的对应窗口中(图3-1-2),用键盘输入 lpm_ROM配置文件的路径(rom_a、mif),然后设置在系统ROM/RAM读写允许,以便能

离心泵性能实验报告(带数据处理)

实验三、离心泵性能实验姓名:杨梦瑶学号:1110700056 实验日期:2014年6月6日 同组人:陈艳月黄燕霞刘洋覃雪徐超张骏捷曹梦珺左佳灵 预习问题: 1.什么是离心泵的特性曲线?为什么要测定离心泵的特性曲线? 答:离心泵的特性曲线:泵的He、P、η与Q V的关系曲线,它反映了泵的基本性能。要测定离心泵的特性曲线是为了得到离心泵最佳工作条件,即合适的流量范围。 2.为什么离心泵的扬程会随流量变化? 答:当转速变大时,,沿叶轮切线速度会增大,当流量变大时,沿叶轮法向速度会变大,所以根据伯努力方程,泵的扬程: H=(u22- u12)/2g + (p2- p1) / ρg + (z2- z1) +H f 沿叶轮切线速度变大,扬程变大。反之,亦然。 3.泵吸入端液面应与泵入口位置有什么相对关系? 答:其相对关系由汽蚀余量决定,低饱和蒸气压时,泵入口位置低于吸入端液面,流体可以凭借势能差吸入泵内;高饱和蒸气压时,相反。但是两种情况下入口位置均应低于允许安装高度,为避免发生汽蚀和气缚现象。 4.实验中的哪些量是根据实验条件恒定的?哪些是每次测试都会变化,需要记录的?哪些 是需要最后计算得出的? 答:恒定的量是:泵、流体、装置; 每次测试需要记录的是:水温度、出口表压、入口表压、电机功率; 需要计算得出的:扬程、轴功率、效率、需要能量。 一、实验目的: 1.了解离心泵的构造,熟悉离心泵的操作方法及有关测量仪表的使用方法。 2.熟练运用柏努利方程。 3.学习离心泵特性曲线的测定方法,掌握离心泵的性能测定及其图示方法。 4.了解应用计算机进行数据处理的一般方法。 二、装置流程图: 图5 离心泵性能实验装置流程图

实验二:SRAM 静态随机存储器实验

《计算机组成原理》 实验报告 实验二:SRAM 静态随机存储器实验 学院: 专业: 班级学号: 学生姓名: 实验日期: 指导老师: 成绩评定: 计算机学院计算机组成原理实验室

实验二 一、实验名称:SRAM 静态随机存储器实验 二、实验目的: 掌握静态随机存储器RAM工作特性及数据的读写方法。 三、实验内容: 1、向存储器中指定的地址单元输入数据,地址先输入AR寄存器,在地址灯上显示;再将数据送入总线后,存到指定的存储单元,数据在数据显示灯显示。 2、从存储器中指定的地址单元读出数据, 地址先输入AR寄存器,在地址灯显示; 读出的数据送入总线, 通过数据显示灯显示。 四、实验设备: PC机一台,TD-CMA实验系统一套。 五、实验步骤: 1、关闭实验系统电源,按图2-4 连接实验电路,并检查无误,图中将用户需要连接的信号用圆圈标明。 2、将时序与操作台单元的开关KK1、KK3 置为运行档、开关KK2 置为…单步?档。 3、将CON 单元的IOR 开关置为1(使IN 单元无输出),打开电源开关,如果听到有…嘀?报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。

图2-4 4、给存储器的00H、01H、02H、03H、04H 地址单元中分别写入数据11H、12H、13H、14H、15H。 由前面的存储器实验原理图(图2-1-3)可以看出,由于数据和地址由同一个数据开关给出,因此数据和地址要分时写入,先写地址,具体操作步骤为:先关掉存储器的读写(WR=0,RD=0),数据开关输出地址(IOR=0),然后打开地址寄存器门控信号(LDAR=1),按动ST 产生T3 脉冲,即将地址打入到AR 中。再写数据,具体操作步骤为:先关掉存储器的读写(WR=0,RD=0)和地址寄存器门控信号(LDAR=0),数据开关输出要写入的数据,

化工原理实验报告_离心泵

离心泵特性曲线的测定 一、实验目的 1.学习离心泵的操作。 2.测定单级离心泵在固定转速下的特定曲线。 二、实验原理 离心泵的性能一般用三条特性曲线来表示,分别为H-Q 、N-Q 和-Q 曲线,本实验利用 如图1所示的实验装置进行测定工作。 泵的压头用下式计算 g u u h H H H 22 1 220-+++=真空表压力表 其中压力表H 及真空表H 分别表示离心泵出口压力表和进口真空表的读数换算成米液柱的数值,0h 表示进、出口管路两测压点间的垂直距离,可忽略不计,21u u =,故 真空表压力表H H H += g QH N e ρ=/(36001000) 效率%100?= N N e η, 式中:e N ——泵的有效功率,kW ; N ——电机的输入功率,由功率表测出,kW ; Q ——泵的流量,-13h m ?。

图1. 实验装置流程图 1-底阀 2-入口真空表 3-离心泵 4-出口压力表 5-充水阀 6-差压变送器 7-涡轮流量计 8-差压变送器 9-水箱 离心泵入口和出口管的规格为 1#~2#装置,入口内径为,出口内径为 3#~8#装置,入口内径为41mm,出口内径为48 三、实验步骤 1.打开充水阀向离心泵泵壳内充水。 2.关闭充水阀、出口流量调节阀,启动总电源开关,启动电机电源开关。 3.打开出口调节阀至最大,记录下管路流量最大值,即控制柜上的涡轮流量计的读数。 4.调节出口阀,流量从最大到最小测取8次,再由最小到最大测取8次,记录各次实验数据,包括压力表读数、真空表读数、涡轮流量计的读数、功率表的读数。 5.测取实验用水的温度。 6.关闭出口流量调节阀,关闭电机开关,关闭总电源开关。 注意事项:离心泵禁止在未冲满水的情况下空转。 四、数据处理与讨论 水温:℃,离心泵型号规格: 序流量泵入口压力(表压)泵出口压力(表压)电机功率扬程效率

化工原理实验报告-离心泵试验

化工原理实验报告-离心泵试验

化工原理 实 验 报 告 班级: XXXXXX 指导老师: XXX 小组: XXX

组员:XXX XXX XXX XXX 实验时间: X年X月X日 目录 一、摘要 (2) 二、实验目的及任务 (3) 三、基本原理 (3) 1.泵的扬程He (4) 2.泵的有效功率和效率 (4) 四、实验装置和流程 (5) 五、操作要点 (6) 六、实验数据记录与处理 (7) 1.泵的扬程与流量关系曲线的测定(H e~Q) (7) 2.泵的轴功率与流量关系曲线的测定(N轴~Q) (8) 3.泵的总效率与流量关系曲线的测定(η~Q) (10)

4.计算示例 (13) (1)泵的扬程与流量关系曲线的测定(H e~Q) (13) (2)泵的轴功率与流量关系曲线的测定(N 轴~Q) (13) (3)泵的总效率与流量关系曲线的测定(η~Q) (13) 七、实验结果及分析 (14) 八、误差分析 (15) 九、思考题 (16) 实验二离心泵性能试验 一、摘要 本实验以水为工作流体,使用WB70/055型离心泵实验装置。通过调节阀门改变流量,测得不同流量下离心泵的各项性能参数,流量通过涡轮流量计测量。实验中直接测量量有P真空表、P压力表、电机功率N电、水流量Q、水温℃。根据上述测量量来计算泵的扬程He、泵的有效功率Ne、泵的总效率η。从而绘制He-Q、N e-Q和η-Q三条曲线即泵的特性曲线图,并根据此图求出泵的最佳操作

范围。 关键词:离心泵特性曲线 二、实验目的及任务 ①了解离心泵的构造,掌握其操作和调节方法。 ②测定离心泵的扬程与流量关系曲线。 ③测定离心泵的轴功率与流量关系曲线。 ④测定离心泵的总效率与流量关系曲线。 ⑤综合测定离心泵在恒定转速下的特性曲线,并确定泵的最佳工作范围。 三、基本原理 离心泵的性能参数取决于泵的内部结构、叶轮形式及转速。其中理论压头与流量的关系,可通过对泵内液体质点运动的理论分析得到。由于流体流经泵时,不可避免地会遇到各种阻力,产生能量损失,诸如摩擦损失、环流损失等,因此,实际压头比理论压头笑,且难以通过计算求得,因此通常采用实验方法,直接测定其参数间的关系,并将测出的He-Q、N-Q和η-Q三条曲线称为离心泵的特性曲线。另外,曲线也可以求出泵的最佳操作范围,作为选泵的依据。

实验二数据存储实验

实验二数据存储实验 一、实验目的 1、掌握TMS320C54的程序空间的分配; 2、掌握TMS320C54的数据空间的分配; 3、熟悉操作TMS320C54数据空间的指令。 二、实验设备 计算机,CCS 2.0版软件,DSP仿真器,实验箱。 三、实验原理 本实验指导书是以TMS320C5416为例,介绍相关的内部和外部存储器资源。对于其他类型的CPU请参考查阅相关的数据手册。 下面给出TMS320C5416的存储器分配表: 对于数据存储空间而言,映射表相对固定。值得注意的是内部寄存器都映射到数据存储空间内。因此在编程应用是这些特定的空间不能作其他用途。对于程序存储空间而言,其映射表和CPU的工作模式有关。当MP/MC引脚为高电平时,CPU工作在微处理器模式;当MP/MC引脚低电平时,CPU工作在为计算机模式。具体的存储器映射关系如上如所示。 存储器试验主要帮助用户了解存储器的操作和DSP的内部双总线结构。并熟悉相关的指令代码和操作等。 四、实验步骤与内容 1、连接好DSP开发系统,运行CCS软件;

2、在CCS的Memory窗口中查找C5416各个区段的数据存储器地址,在可以改变 的数据地址随意改变其中内容; 3、在CCS 中装载实验示范程序,单步执行程序,观察程序中写入和读出的数据存储地址的变化; 4、联系其他寻址方式的使用。 5、样例程序实验操作说明 启动CCS 2.0,并加载“exp02.out”; 图2.1 加载out文件 用“View”下拉菜单中的“Memory”查看内存单元;

图2.2 memory视图菜单 输入要查看的内存单元地址,本实验要查看0x1000H~0x100FH单元的数值变化,输 入地址0x1000H; 图2.3 memory 参数设置窗 查看0x1000H~0x100FH 单元的初始值,单击“Run”运行程序,也可以“单步”运 行程序;

离心泵特性曲线实验报告

化工原理实验报告 实验名称:离心泵特性曲线实验报告:克川 专业:化学工程与工艺(石油炼制)班级:化工11203 学号:201202681

离心泵特性曲线实验报告 一、 实验目的 1. 了解离心泵的结构与特征,熟悉离心泵的使用。 2. 测定离心泵在恒定转速下的特征曲线,并确定离心泵的最佳工作围。 3. 熟悉孔板流量计的构造与性能以及安装方法。 4. 测量孔板流量计的孔流系数C 岁雷诺数R e 变化的规律。 5. 测量管路特性曲线。 二、 基本原理 离心泵的特性曲线是选择和使用离心泵的重要依据之一,其特性曲线是在恒 定转速下泵的扬程H 、功率N 及效率η与泵的流量Q 之间的关系曲线,它是流体在泵流动规律的宏观表现形式。由于泵部流动情况复杂,不能用理论方法推导出泵的特性关系曲线,只能依靠实验测定。 2.1扬程H 的测定与计算 取离心泵进口真空表和出口压力表处为1、2两截面,列机械能衡算方程: z 1+ P 1ρg +U 12 2g +H=z 2+ P 2 ρg +U 22 2g +∑h f (1-1) 由于两截面间的管子较短,通常可忽略阻力项∑h f ,速度平方差也很小,故也可忽略,则有 H=(z 1-z 2)+ p 1?p 2ρg =H 1+H 2(表值)+H 3 (1-2) 由上式可知,只要直接读出真空表和压力表上的数值,及两表的安装高度差,就可计算出泵的扬程。 2.2轴功率N 的测量与计算 N=N 电k(w) (1-3) 其中,N 电为电功率表显示值,k 代表电机传动效率,可取0.90 2.3效率η的计算 泵的效率η是泵的有效功率Ne 与轴功率N 的比值。有效功率Ne 是单位时间流体经过泵时所获得的实际功率,轴功率N 是单位时间泵轴从电机得到的功,两者差异反映了水力损失、容积损失和机械损失的大小。 泵的有效功率Ne 可用下式计算: N e =HQ ρg (1-4) η= HQρg N ×100% (1-5)

计算机组成原理实验五存储器读写实验

实验五 存储器读写实验实验目的 1. 掌握存储器的工作特性。 2. 熟悉静态存储器的操作过程,验证存储器的读写方法。 二、实验原理 表芯片控制信号逻辑功能表

2. 存储器实验单元电路 芯片状态 控制信号状态 DO-D7 数据状态 M-R M -W 保持 1 1 高阻抗 读出 0 1 6116-^总钱 写人 1 0 总线-*6116 无效 报警 ^2-10 D7—DO A7—A0

團2-8存储器实验电路逻辑图 三、实验过程 1. 连线 1) 连接实验一(输入、输出实验)的全部连线。 2) 按逻辑原理图连接M-W M-R 两根信号低电平有效信号线 3) 连接A7-A0 8根地址线。 4) 连接B-AR 正脉冲有效信号 2. 顺序写入存储器单元实验操作过程 1) 把有B-AR 控制开关全部拨到0,把有其他开关全部拨到1,使全部信号都处 于无效 状态。 2) 在输入数据开关拨一个实验数据,如“ 00000001”即16进制的01耳 把IO-R 控制开关拨下,把地址数据送到总线。 3) 拨动一下B-AR 开关,即实现“1-0-1 ”产生一个正脉冲,把地址数据送地 址寄存器保存。 4) 在输入数据开关拨一个实验数据,如“ 10000000',即16进制的80耳 把IO-R 控 制开关拨下,把实验数据送到总线。 3. 存储器实验电路 0 O O 0 0 olo O O O O 0 00 OUTPUT L/O :W 8-AR £ ■」2 ■七 ol^Fgr' L P O 74LS273 A7- AO vz 0 o|o 0 r 6116 A7 INPUT D7-O0 [olololololololol T2

存储器实验报告

计组实验三实验报告 实验日期:2015 年4 月14 日学号:201308010227 姓名:吴晗 实验名称:存储器实验总分: 一.实验内容 1.随机存储器RAM的工作特性及使用方法 2.RAM数据存储和读取的工作原理 3.LPM类存储元件的定制 二.实验原理 原理图:

三.实验电路图: RAM电路图: addr[7..0]:地址输入 clk:时钟信号 we,rd;mem:控制信号,高电平有效 Initial_file.mif文件: 存储器电路图: i[7..0]:数据输入l[7..0]:总线数据 sw_bus:pc_bus:三态门控制信号 ld161,clr161,pc161:74161控制信号,控制置数,读取,清零,计数 ldar:74273控制信号 w,r,m:RAM控制信号

仿真图: 仿真说明: 时间参数:End Time:2.0us Grid Size:100ns 端口说明: clk:时钟信号 i[7..0]:数据输入l[7..0]:总线数据 sw_bus:pc_bus:三态门控制信号,控制数据输出到总线 ld161,clr161,pc161:74161控制信号,控制置数,读取,清零,计数 ldar:74273控制数据从总线读入 w,r,m:RAM控制信号 仿真说明: 0-100ns:无操作 100-200ns:sw_bus为0有效,从i读入01,74161置数状态,RAM默认状态,总线

数据01 200-300ns:sw_bus为0有效,pc_bus无效,从i读入01,74161保持状态,RAM默认状态,总线数据01 300-400ns:pc_bus为0有效,sw_bus无效,74161保持状态,RAM默认状态,总线数据01,ldar为1,跳入下一个地址 400-500ns:sw,pc_bus无效,74161保持状态,RAM读取状态,读取E1,总线E1 500-600ns:sw,pc_bus无效,74161保持状态,RAM读取状态,读取D2,总线D2 600-700ns:sw,pc_bus无效,74161保持状态,RAM写入状态,总线输入EE,写入RAM 700-800ns:sw,pc_bus无效,74161保持状态,RAM读取状态,读取EE,总线EE 800-900ns:pc_bus为0有效,sw_bus无效,74161计数加1状态,RAM默认状态,总线数据01在上升沿时变为02 900-1000ns:pc_bus为0有效,sw_bus无效,74161计数加1状态,RAM默认状态,总线数据02在上升沿时变为03,ldar为1,跳入下一个地址1000-1100ns:sw,pc_bus无效,74161保持状态,RAM读取状态,读取F3,总线EE在上升沿变为F3 1100-1200ns:sw,pc_bus无效,74161保持状态,RAM读取状态,读取F3,总线F3 仿真结论:仿真结果与理论相符,仿真成功 五.硬件验证 管脚分配: 选择FLEX10K-EPF10K20TC144-4器件下载验证与仿真结果相符,实验成功。

相关主题
文本预览
相关文档 最新文档