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

📄 tools.lst

📁 个人学习参考!禁止使用到产品上! 任何人不得公开发布!
💻 LST
📖 第 1 页 / 共 3 页
字号:
 152   1              IicWait();                                                                                                          //延时等候---SDA先设定为1,SCL也设定为1,等待确认信号的出现*/
 153   1              ack=IicSDA;                                                                                                                 //读取确认信号*/
 154   1              IicSCL=0;
 155   1                                                                                                                                          //将SCL恢复为0电平*/
 156   1              IicWait();                                                                                                          //延时等候*/
 157   1              return ack;                                                                                                         //返回确认信号到原调用程序*/
 158   1      }
 159          void IicStart(void)                                                                                                         //起始信号*/
 160          {
 161   1              IicSDA=1;                                                                                                                   //数据线等于1*/
 162   1              IicSCL=1;                                                                                                                   //时钟线等于1*/
 163   1              IicWait();                                                                                                          //延时等候*/
 164   1              IicSDA=0;                                                                                                                   //数据线等于0*/
 165   1              IicWait();                                                                                                          //延时等候*/
 166   1              IicSCL=0;                                                                                                                   //时钟线等于0*/
 167   1      }
 168          void IicStop(void)                                                                                                          //停止信号*/
 169          {
 170   1              IicSDA=0;                                                                                                                   //数据线清零*/
 171   1              IicWait();                                                                                                          //延时等候*/
 172   1              IicSCL=1;                                                                                                                   //时钟线置位*/
 173   1              IicWait();                                                                                                          //延时等候*/
 174   1              IicSDA=1;                                                                                                                   //数据线置位*/
 175   1      }
 176          void IicWait(void)                                                                                                          //等候
C51 COMPILER V7.10   TOOLS                                                                 02/03/2005 10:45:41 PAGE 4   

 177          {
 178   1              _nop_();
 179   1              _nop_();
 180   1              _nop_();
 181   1              _nop_();
 182   1              _nop_();
 183   1              _nop_();
 184   1              _nop_();
 185   1              _nop_();
 186   1              _nop_();
 187   1              _nop_();
 188   1              _nop_();
 189   1              _nop_();
 190   1              _nop_();
 191   1              _nop_();
 192   1              _nop_();
 193   1              _nop_();
 194   1              _nop_();
 195   1              _nop_();
 196   1              _nop_();
 197   1              _nop_();
 198   1              _nop_();
 199   1              _nop_();
 200   1              _nop_();
 201   1              _nop_();
 202   1              _nop_();
 203   1              _nop_();
 204   1              _nop_();
 205   1      }
 206          void SendAcknowledge(bit ack)                                                                                       //应答信号*/
 207          {
 208   1              IicSDA=ack;                                                                                                                 //发送应答信号ack*/
 209   1              //IicWait();
 210   1              IicSCL=1;                                                                                                                   //SCL作“1”到“0”的变化*/
 211   1              IicWait();
 212   1              IicSCL=0;
 213   1              //IicWait();
 214   1      }
 215          //-----***-1621-***-----//
 216          void LcdStart(void)
 217          {
 218   1          LcdCs=0;
 219   1          Delay(LcdDelay);
 220   1      }
 221          
 222          void LcdStop(void)
 223          {
 224   1              LcdCs=1;
 225   1          Delay(LcdDelay);
 226   1      }
 227          void LcdSendId(unsigned char ID)
 228          {
 229   1              unsigned char data i;
 230   1      
 231   1              for(i=3;i>0;i--)
 232   1              {
 233   2                      LcdWr=0;
 234   2                      Delay(LcdDelay);
 235   2      
 236   2                      if((ID&0x80)==0x80)
 237   2                      {
 238   3                              LcdData=1;
C51 COMPILER V7.10   TOOLS                                                                 02/03/2005 10:45:41 PAGE 5   

 239   3                      }
 240   2                      else
 241   2                      {
 242   3                              LcdData=0;
 243   3                      }
 244   2                      LcdWr=1;
 245   2                      Delay(LcdDelay);
 246   2                      ID=ID<<1;
 247   2          }
 248   1      }
 249          void LcdSendAddress(unsigned char Address)
 250          {
 251   1              unsigned char data i;
 252   1              
 253   1              for(i=6;i>0;i--)
 254   1              {
 255   2                      LcdWr=0;
 256   2                      Delay(LcdDelay);                
 257   2                      if((Address&0x80)==0x80)
 258   2                      {
 259   3                              LcdData=1;
 260   3                      }
 261   2                      else
 262   2                      {
 263   3                      LcdData=0;;
 264   3                      }
 265   2                      LcdWr=1;
 266   2                      Delay(LcdDelay);                
 267   2                      Address=Address<<1;
 268   2              }
 269   1      }
 270          void LcdSendByte(unsigned char Data)
 271          {
 272   1              unsigned char data i,k;
 273   1              for(i=2;i>0;i--)
 274   1              {
 275   2      
 276   2                      for(k=4;k>0;k--)
 277   2                      {
 278   3                              LcdWr=0;
 279   3                              Delay(LcdDelay);
 280   3                              if((Data&0x80)==0x80)
 281   3                              {
 282   4                                      LcdData=1;
 283   4                              }
 284   3                              else
 285   3                              {
 286   4                                      LcdData=0;
 287   4                          }
 288   3                              LcdWr=1;
 289   3                              Delay(LcdDelay);
 290   3                              Data=Data<<1;
 291   3                      }
 292   2              }
 293   1      }
 294          void LcdSendCommand(unsigned char Command)
 295          {
 296   1              unsigned char data i;
 297   1          LcdStart();
 298   1              LcdSendId(0x80);
 299   1              for(i=0;i<9;i++)
 300   1              {
C51 COMPILER V7.10   TOOLS                                                                 02/03/2005 10:45:41 PAGE 6   

 301   2                      LcdWr=0;
 302   2                      Delay(LcdDelay);
 303   2                      if((Command&0x80)==0x80)
 304   2                      {
 305   3                              LcdData=1;
 306   3                      }
 307   2                      else
 308   2                      {
 309   3                              LcdData=0;
 310   3                      }
 311   2                      LcdWr=1;
 312   2                      Delay(LcdDelay);

⌨️ 快捷键说明

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