您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于RTOS的太阳能热水控制系统设计 正文
基于RTOS的太阳能热水控制系统设计

基于RTOS的太阳能热水控制系统设计

点击数:7909 次   录入时间:03-04 11:59:32   整理:http://www.55dianzi.com   嵌入式系统-技术

除此之外,还可以按照设计的需要自行增加帧的类型,以实现更为复杂的通信。

4 系统外存储器EEPROM

由于控制中经常会涉及到参数的更改,为了使掉电后不影响系统的运行,即需要参数能够重现,系统采用带有I2C总线接口的EEPROM 2402芯片实现数据的存储和读取。读和写分别调用的两个函数如下:

unsigned char eepromread(unsigned char beginbyte){

unsigned char data result;

unsigned char i;

EA=0;

i=RW24XX(&result,1,beginbyte,READ_OP,M2402);

EA=1;

return(result);

}

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

unsigned char i;

EA=0;

i=RW24XX(&datum,beginbyte,WRITE_OP,M2402);

EA=1;

}

可以看出,函数RW24XX是对EEPROM外存储芯片操作的主体函数,这里给出该函数中包含参数的定义:

bit RW24XX(unsigned char *DataBuff,unsigned char ByteQuantity,unsigned int Address,unsigned char ControlByte,enum eepromtype EepromType)

其中,DataBuff为读写数据输入输出缓冲区的首地址,ByteQuantity为要读写数据的字节数,Address为EEPROM芯片的片内地址,ControlByte是EEPROM的控制字节,具体形式为(1)(0)(1)(0)(A2)(A1)(A0)(R/W),其中R/W=1,表示读操作,R/W=0为写操作,A2、A1、A0为EEPROM的页选或片选地址;EepromType为枚举变量,需为M2401~M24256中的一种,分别对应24C01~24C256,本系统中为M2402;函数返回值为一个位变量,若返回1表示此次操作失效,0表示操作成功;ERRORCOUNT为允许最大次数,若出现ERRORCOUNT次操作失效后,则函数中止操作,并返回1。

图5

    在该函数中,调用的若干I2C总线函数如下:

void IICStart(void);

void IICStop(void);

bit IICRecAck(void);

void IICNoAck(void);

void IICAck(void);

unsigned char IICReceiveByte(void);

void IICSendByte(unsigned char sendbyte);

结语

本系统结构简单,操作方便,拥有手动和自动两种控制模式,具有一定的智能性;既可现场控制,又可远程控制;能根据现场状况,合理地调节控制状态。另外,利用RTX51TNY实时操作系统提供的系统特征,可以简化多任务程序设计,满足多个任务的时间特性要求。基于实时多任务操作系统,可以将各任务进行细分馐,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步提高。



上一页  [1] [2] 


本文关键字:控制系统  太阳能  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术