详文

FM31xx的控制软件(8052)(C语言)和相关电路图

[日期:2005-12-6] 来源:huazhoucn  作者: [字体: ]

 

;仅供参考 cn_f__12308.c
;                                       路泽阳            
    while(1)  ////////////////////////////
      {      
            ADDRESS2=0x01;
            ADDRESS1=0x00;              
            for(i=0;i<14;i++)
              {
                save_char(ADDRESS1,ADDRESS2,SAVE_DATA);
              }   
            _NOP();  
            ADDRESS2=0x01;
            ADDRESS1=0x00;
            for(j=0;j<14;j++)
              {
                DISP_NUM[0][j]=get_char(ADDRESS1,ADDRESS2);
              }    
            _NOP(); 
      }
/////////write byte/////////////////////////////////////////////////////////////
  void save_char(char address1,char address2,char wbyte)
    {  
      P_LCM_CONOUT|=FM18L08_CEB;          //预充电
      P_ADDRESSHIGH_OUT&=~FM1808_WEB;     //写操作             
      P_ADDRESSLOW_OUT=address1;          //低8位地址
      P_ADDRESSHIGH_OUT=address2;         //高7位地址
      P_LCM_CONOUT&=~FM18L08_CEB;         //地址锁定
      P_DATA_DIR=0XFF;                    //DATA—BUS口线改为输出状态
      P_DATA_OUT=wbyte;                   //给出数据内容 
      P_LCM_CONOUT|=FM18L08_CEB;          //结束写操作
      P_ADDRESSHIGH_OUT|=FM1808_WEB;      //取消写状态
      ADDRESS1++;                         //地址递增
      if(ADDRESS1>0xff)
        {
          ADDRESS1=0x00;
          ADDRESS2++;
          if(ADDRESS2>0x7f)
            {
              ADDRESS2=0x00;
            }
        }     
      P_DATA_DIR=0XFF;                    //BUS口线为输出状态
      P_DATA_OUT=0XFF;                    //释放BUS总线
    }
///////read byte///////////////////////////////////////////////////////////////
  char get_char(char address1,char address2) 
    {
      char rbyte;
      P_ADDRESSHIGH_OUT|=FM1808_WEB;      //取消写状态
      P_LCM_CONOUT|=FM18L08_CEB;          //预充电
      P_ADDRESSLOW_OUT=address1;          //低8位地址
      P_ADDRESSHIGH_OUT=address2;         //高7位地址
      P_LCM_CONOUT&=~FM18L08_CEB;         //地址锁定
      P_LCM_CONOUT&=~FM18L08_OEB;         //读状态
      P_DATA_DIR=0X00;                    //DATA—BUS口线改为输入状态
      rbyte=P_DATA_IN;                    //读入数据内容 
      P_LCM_CONOUT|=FM18L08_CEB;          //结束读操作
      P_LCM_CONOUT|=FM18L08_OEB;          //取消读状态
      ADDRESS1++;                         //地址递增
      if(ADDRESS1>0xff)
        {
          ADDRESS1=0x00;
          ADDRESS2++;
          if(ADDRESS2>0x7f)
            {
              ADDRESS2=0x00;
            }
        }
      P_DATA_DIR=0XFF;               //BUS口线为输出状态
      P_DATA_OUT=0XFF;               //释放BUS总线
      return rbyte;                  //返回数据值
    }  

FM31系列提供最新的参考电路图

 


 



【热点推荐信息:】
【>>>>>察看网友评论 , 或发表您对本文的看法】【 推荐