你现在位置:首页>技术论文>行业应用>检测监控>正文
FM24C64汇编测试程序c语言(8052)
日期:2007-11-18 18:34:46 来源:本站整理  
点击: 作者:未知
点击【】放大字体.
//THIS CODE WAS DESIGNED TO DEMONSTRATE HOW THE FM24C04/FM24C04A SERIAL FRAM COULD
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

//BE INTERFACED TO THE 8051 MICROCONTROLLER. THE INTERFACE USES 2 LINES
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

//FROM PORT 2 (P2.7 AND P2.6) TO COMMUNICATE.
WWW_PLCJS_COM-PLC-技.术_网

//THE CODE SHOWN DEMONSTRATES A 'RANDOM READ' AND 'BYTE WRITE'. THE OTHER *
——可——编——程——控-制-器-技——术——门——户

//MODES OF OPERATION CAN BE CREATED BY EXPANDING UPON THESE ROUTINES.
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

//深圳市华胄科技有限公司
WWW_P※LCJS_CO※M-PLC-技-.术_网

//the first date writed:2003-11-20
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

//=============================
WW.W_PLCJS_COM-PLC-技.术_网

#include
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

#include
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

#define uchar unsigned char
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

#define uint unsigned int
WWW_PL※CJS_COM-PLC-技.术_网

#define IIC_READ 0XA1    //定义读指令
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

#define IIC_WRITE 0XA0   //定义写指令
WWW_PLC※JS_COM-PmLC-技.术_网

#define NOP _nop_()
WWW_P※LCJS_COM-PLC-)技.术_网

//#define SDA INT0
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

//#define SCL T0
W1WW_P4LCJS_COM-PLC-技.术_网

//==============================
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

uchar idata buff[32]; //save the byte read out  form iic device in test operation
WWW_PLCJS@_COM%-PLC-技.术_网

uchar idata readbuff[32];//测试数组,暂存写入读出数据
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

//uchar writebuff[32];
——可——编——程——控-制-器-技——术——门——户

//===============================
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

sbit SDA=P1^4;//P2^7; //THE SDA BIT IS PORT 2 BIT 7
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

sbit SCL=P1^7;//P2^6; //THE SCL BIT IS PORT 2 BIT 6
WWW_PLCJS_COM-PLC-技.术_网

//sbit WP=P2^5;
plcjs.技.术_网

//sbit test=P1^0;
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

//===============================
W1WW_P4LCJS_COM-PLC-技.术_网

//define a bit_operation byte to use in shift operation
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

//use this mode can achieve high operation speed
WWW_PL※CJS_COM-PLC-技.术_网

uchar bdata bbyte;//定义位操作用数组,采用此方法可提高位操作速度
W1WW_P4LCJS_COM-PLC-技.术_网

sbit a0=bbyte^0;
WWW_PL※CJS_COM-PLC-技.术_网

sbit a1=bbyte^1;
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

sbit a2=bbyte^2;
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

sbit a3=bbyte^3;
P.L.C.技.术.网——可编程控制器技术门户

sbit a4=bbyte^4;
WWW_PL※CJS_COM-PLC-技.术_网

sbit a5=bbyte^5;
WWcW_PLCJS_COM-PLC-技.术_网

sbit a6=bbyte^6;
WWW_P※LCJS_COM-PLC-)技.术_网

sbit a7=bbyte^7;
WWW_P※LCJS_CO※M-PLC-技-.术_网

//========================================
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

bit IFACK; //record the SDA state to confirn if ACK has happened
WW.W_PLCJS_COM-PLC-技.术_网

bit NO_ACK; //no ack flag
WWW_PLCJS@_COM%-PLC-技.术_网

bit BUS_FAULT; //bus fault flag
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

//========================================
WW.W_PLC※JS_C,OM-PL,C-技.术_网

//FUNCTION:ROUTES TO PROVIDE A START SIGNAL
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

void start(void)
WWW_P※LCJS_COM-PLC-)技.术_网

{
WWW_PL※CJS_COM-PLC-技.术_网

SCL=0;SDA=1;SCL=1;SDA=0;SCL=0;
P.L.C.技.术.网——可编程控制器技术门户

}
——可——编——程——控-制-器-技——术——门——户

//=======================================
——可——编——程——控-制-器-技——术——门——户

//FUNCTION:ROUTES TO PROVIDE A STOP SIGNAL
——可——编——程——控-制-器-技——术——门——户

void stop(void)
WW.W_PLCJS_COM-PLC-技.术_网

{
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

SCL=0;SDA=0;SCL=1;SDA=1;SCL=0;
WWW_P※LCJS_CO※M-PLC-技-.术_网

}
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

//=====================================
WWW_PLCJS@_COM%-PLC-技.术_网

//FUNCTION:ROUTES TO PROVIDE ACK SINGAL
WWW_P※LCJS_CO※M-PLC-技-.术_网

void ack(void)
WWW_PLCJS_COM-PLC-技.术_网

{
plcjs.技.术_网

SCL=0;SDA=0;SCL=1;SCL=0;
——可——编——程——控-制-器-技——术——门——户

}
WWW.PLCJS.COM——可编程控制器技术门户

//=====================================
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

//FUNCTION:ROUTES TO RELEASE THE SDA TO RECEIVE A ACK SIGNAL
W1WW_P4LCJS_COM-PLC-技.术_网

//              OR TO PROVIDE A NO_ACK SIGNAL
WWW_P※LCJS_CO※M-PLC-技-.术_网

//type=1等待应答信号
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

//type=0 产生无应答信号
WWW_PLC※JS_COM-PmLC-技.术_网

void nack(uchar type)
P.L.C.技.术.网——可编程控制器技术门户

{
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

SCL=0;SDA=1;SCL=1;IFACK=SDA; SCL=0;
WWcW_PLCJS_COM-PLC-技.术_网

if(type)
P.L.C.技.术.网——可编程控制器技术门户

{
plcjs.技.术_网

if(IFACK)//如果无应答信号,则置标志位NO_ACK,程序中止
WWW_PLC※JS_COM-PmLC-技.术_网

{
WWW_PLCJS@_COM%-PLC-技.术_网

NO_ACK=1;//用户可以加入自己的异常处理程序
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

//while(1);
WWW.PLCJS.COM——可编程控制器技术门户

}
P.L.C.技.术.网——可编程控制器技术门户

else NO_ACK=0;
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

}
WW.W_PLCJS_COM-PLC-技.术_网

}
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

//=======================================================
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

//FUNCTION:THE IIC DEVICE SHIFT OUT A BYTE  TO THE MASTER
WWW.PLCJS.COM——可编程控制器技术门户

uchar  inbyte(void) {//从IIC器件中读出数据
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

SDA=1;
——可——编——程——控-制-器-技——术——门——户

SCL=1;a7=SDA;SCL=0;
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

SCL=1;a6=SDA;SCL=0;
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

SCL=1;a5=SDA;SCL=0;
WWcW_PLCJS_COM-PLC-技.术_网

SCL=1;a4=SDA;SCL=0;
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

SCL=1;a3=SDA;SCL=0;
WWW.PLCJS.COM——可编程控制器技术门户

SCL=1;a2=SDA;SCL=0;
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

SCL=1;a1=SDA;SCL=0;
WWcW_PLCJS_COM-PLC-技.术_网

SCL=1;a0=SDA;SCL=0;
WWW_PLC※JS_COM-PmLC-技.术_网

return(bbyte);
WWW_P※LCJS_CO※M-PLC-技-.术_网

}
WW.W_PLCJS_COM-PLC-技.术_网

//=======================================================
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

//FUNCTION:THE IIC DEVICE SHIFT IN A BYTE FROM THE MASTER
WWW_PLCJS@_COM%-PLC-技.术_网

void outbyte(uchar outdata) {//将数据写放IIC器件
WWcW_PLCJS_COM-PLC-技.术_网

bbyte=outdata;
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

SDA=a7;SCL=1;SCL=0;
P.L.C.技.术.网——可编程控制器技术门户

SDA=a6;SCL=1;SCL=0;
WW.W_PLC※JS_C,OM-PL,C-技.术_网

SDA=a5;SCL=1;SCL=0;
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

SDA=a4;SCL=1;SCL=0;
W1WW_P4LCJS_COM-PLC-技.术_网

SDA=a3;SCL=1;SCL=0;
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

SDA=a2;SCL=1;SCL=0;
plcjs.技.术_网

SDA=a1;SCL=1;SCL=0;
P.L.C.技.术.网——可编程控制器技术门户

SDA=a0;SCL=1;SCL=0;
WWW_P※LCJS_COM-PLC-)技.术_网

}
WWW_P※LCJS_COM-PLC-)技.术_网

//======================================================
WW.W_PLCJS_COM-PLC-技.术_网

//FUNCTION:BYTE WRITE.  'add'     THE WRITE ADDRESS, 'wbyte'   THE DATA WANT TO WRITE

本新闻共2页,当前在第11 2  
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行