⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 romsore.lst

📁 液晶程序液晶程序液晶程序液晶程序液晶程序液晶程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 208          //------------------------------------------------------------------------------------
 209          
 210          //向某一地址处连续读一定数目的数据,入口为存数的指针,以及需要写入的数目,写入的eeprom首地址
 211          void read_seq_chip1(uchar * readstore,uint rnum,uint radd)
 212          {
 213   1              uint i;
 214   1              SCK1=1;
 215   1              CS1=0;
 216   1              sendbyte_chip1(EEROM_READ );//发送读命令
 217   1              sendword_chip1(radd);//发送16位地址 
 218   1              for(i=0;i<rnum;i++)
 219   1              {
 220   2                      *readstore=receivebyte_chip1();
 221   2                      readstore++;
 222   2              }
 223   1              CS1=1;
 224   1      }
 225          //------------------------------------------------------------------------------------
 226          
 227          //向某一地址处连续写入一定数目的数据,入口为存数的指针,以及需要写入的数目,写入的eeprom首地址
 228          void write_seq_chip1(uchar * writebuf,uchar writenum,uint writeadd)
 229          {  
 230   1              while(writenum!=0)//说明没有写完
 231   1              {  
 232   2                      SCK1=0;
 233   2                      CS1=0;
 234   2                      sendbyte_chip1(EEROM_WREN);
 235   2                      CS1=1;
 236   2                      
 237   2                      CS1=0;
 238   2                      sendbyte_chip1(EEROM_WRITE);//发送写命令
 239   2                      sendword_chip1(writeadd);//发送16位地址
 240   2                      
 241   2                      do
C51 COMPILER V7.01  ROMSORE                                                                09/23/2008 14:27:39 PAGE 5   

 242   2                      {
 243   3                              sendbyte_chip1(*writebuf);
 244   3                              writebuf++;
 245   3                              writenum--;
 246   3                              writeadd++;
 247   3                      }
 248   2                      while(((writeadd&0x001F)!=0x0000)&&(writenum!=0));//没有到一页的结尾在该页中接着写
 249   2                      
 250   2                      CS1=1;   
 251   2                      checkend_chip1();
 252   2              }
 253   1              
 254   1      }
 255          //------------------------------------------------------------------------------------
 256          /*
 257          void  clear_alarm()
 258          {
 259                  unsigned int clearnum,clearadd=0x0008;
 260                  
 261                  alarm_num=wordread_chip2(ALAME_NUM_ADD);
 262                  clearnum=alarm_num*8; 
 263                  
 264                  while(clearnum!=0)
 265                  {
 266                          CS2=0;
 267                          sendbyte_chip2(EEROM_WREN);
 268                          CS2=1;
 269                          
 270                          CS2=0;
 271                          sendbyte_chip2(EEROM_WRITE);
 272                          sendword_chip2(clearadd);
 273                          do
 274                          {
 275                                  sendbyte_chip2(0x0000);
 276                                  clearnum--;
 277                                  clearadd++;
 278                          }
 279                          while(((clearadd&0x001F)!=0x0000)&&(clearnum!=0));
 280                          CS2=1;
 281                          checkend_chip2();
 282                  }
 283                  wordwrite_chip2(ALAME_NUM_ADD,0x0000); 
 284                  wordwrite_chip2(ALAME_ADDPT_ADD,0x0000);//将数目和地址回0
 285          }    
 286          */
 287          //------------------------------------------------------------------------------------
 288          
 289          /*
 290          void main()
 291          {
 292                  uchar i;
 293                  for(i=0;i<64;i++)
 294                  {
 295                          DATA_STORE[i]=i;
 296                  }
 297                  wrsr_cmd_chip1();
 298                  wordwrite_chip1(0x0005,0x1212);
 299                  
 300                  //bytewrite_chip2(0x0000,10);
 301                  //bytewrite_chip2(0x0001,8);
 302                  //bytewrite_chip2(0x0002,7);
 303                  //i=byteread_chip1(0x0001);
C51 COMPILER V7.01  ROMSORE                                                                09/23/2008 14:27:39 PAGE 6   

 304                  //write_seq_chip1(DATA_STORE,32,0x0002);
 305                  //test4=wordread_chip1(0x0005);
 306                  //test1=byteread_chip1(0x0000);
 307                  //test2=byteread_chip1(0x0005);
 308                  //test3=byteread_chip2(0x0002);
 309                  read_seq_chip1(DATA_RECE,32,0x0000);
 310                  //senddatatorom(0x0000,32);
 311                  //getdatafromrom(0x0000,32);
 312                  
 313                  while(1);
 314          }
 315          */
 316          //------------------------------------------------------------------------------------
 317          
 318          /*往起始地址为addr处读出num_read个数据到DATA_RECE[]中
 319          void getdatafromrom(unsigned int addr,uchar num_read)
 320          {
 321                  unsigned int addrl,addrh,i;
 322                  addrl=addr;//分离地址的高8位和低8位
 323                  addr>>=8;
 324                  addrh=addr;
 325                  
 326                  CS=0;                //发送读命令
 327                  sendbyte( EEROM_READ );
 328                  
 329                  sendbyte(addrh);//发送16位地址
 330                  sendbyte(addrl);
 331                  
 332                  for(i=0;i<num_read;i++)//读出num_read个数据到DATA_RECE[]
 333                  DATA_RECE[i]=receivebyte();
 334                  CS=1;
 335          }//读数过程结束CS置1
 336          //------------------------------------------------------------------------------------
 337          
 338          //往起始地址为addr处写入数据,一次写入数据最大数不超过32
 339          void  senddatatorom(unsigned int addr,uchar num_send) //num_send最大为32,否则该页循环写入,破坏数据
 340          {
 341                  uchar addrl,addrh,i;
 342                  
 343                  addrl=addr;//分离地址的高8位和低8位
 344                  addr>>=8;
 345                  addrh=addr;
 346                  
 347                  CS=0;
 348                  sendbyte(EEROM_WREN);//写使能
 349                  CS=1;
 350                  
 351                  CS=0;
 352                  sendbyte(EEROM_WRITE);//发送写命令
 353                  
 354                  sendbyte(addrh);//发送16位地址
 355                  sendbyte(addrl);
 356                  
 357                  for(i=0;i<num_send;i++)//写入num_send个数据
 358                  sendbyte(DATA_STORE[i]);
 359                  CS=1;
 360                  wip_poll();
 361          }
 362          */
 363          //------------------------------------------------------------------------------------
 364          
 365          /*
C51 COMPILER V7.01  ROMSORE                                                                09/23/2008 14:27:39 PAGE 7   

 366          void writeseq_chip1(uchar * writebuf,uchar writenum,uint writeadd)
 367          {
 368                  uchar n;
 369                  for(n=0;n<writenum;n++)
 370                  {
 371                          CS1=0;
 372                          sendbyte_chip1(EEROM_WREN);
 373                          CS1=1;
 374                          
 375                          CS1=0;
 376                          sendbyte_chip1(EEROM_WRITE);//发送写命令
 377                          sendword_chip1(writeadd);//发送16位地址
 378                          sendbyte_chip1(*writebuf);
 379                          writebuf++;
 380                          writeadd++;
 381                          CS1=1;   
 382                          checkend_chip1();
 383                  }
 384          }
 385          */
 386          //------------------------------------------------------------------------------------
 387          
 388          //从某一地址处连续读出一定数目的数据,入口为存储数据的指针,以及需要读出的数目,读出的首地址
 389          /*
 390          void  readseq_chip1(uchar * readbuf,uchar readnum,uint readadd)
 391          {
 392                  uchar rsn,rdat;
 393                  for(rsn=0;rsn<readnum;rsn++)  
 394                  {
 395                          CS1=0;
 396                          sendbyte_chip1(EEROM_READ ); //发送读命令
 397                          sendword_chip1(readadd);//发送16位地址
 398                          
 399                          rdat=receivebyte_chip1();
 400                          *readbuf=rdat;
 401                          readbuf++;
 402                          readadd++;
 403                          CS1=1;
 404                  }
 405          }
 406          */
 407          //------------------------------------------------------------------------------------
 408          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    448    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      4    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      15
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -