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

📄 test3pin.lst

📁 LCD lcm HZ系列 协议资料
💻 LST
字号:
C51 COMPILER V7.07   TEST3PIN                                                              06/08/2005 02:52:56 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE TEST3PIN
OBJECT MODULE PLACED IN test3pin.OBJ
COMPILER INVOKED BY: c:\Keil\C51\BIN\C51.EXE test3pin.c OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #define uchar unsigned char
   2          #define uint  unsigned int
   3          #define ulong unsigned long
   4          #include <reg52.h>
   5          sbit MCLK=P3^5;
   6          sbit SCLK=P3^6;
   7          sbit SDA=P3^7;
   8          uchar bdata DATA;
   9          sbit BIT0=DATA^0;
  10          sbit BIT7=DATA^7;
  11          // 发送一个数据到模块
  12          putbytespi(uchar ch)
  13          {
  14   1              uchar i;
  15   1              uint c;
  16   1              
  17   1              if(!MCLK)return; //     
  18   1              MCLK=0; //申请通讯
  19   1              DATA=ch;
  20   1      
  21   1              for(i=4;i!=0;i--)
  22   1              {
  23   2                      while(SCLK); //检测从机响应
  24   2              
  25   2                      SDA=BIT0;   //放一个bit到SDA
  26   2                      MCLK=1;         
  27   2                      DATA=DATA>>1; //准备下一个bit
  28   2      
  29   2                      while(!SCLK); //检测从机响应
  30   2              
  31   2                      SDA=BIT0;   //放一个bit到SDA
  32   2                      MCLK=0;         
  33   2                      DATA=DATA>>1; //准备下一个bit
  34   2              }
  35   1              while(SCLK); //检测从机收完
  36   1              MCLK=1;
  37   1              while(!SCLK);//等待从机准备好
  38   1              SDA=1;
  39   1      }
*** WARNING C280 IN LINE 15 OF TEST3PIN.C: 'c': unreferenced local variable
  40          
  41          //从模块接收一个数据
  42          //调用之前最好检测MCLK是否为0(对方是否申请数据通讯)再进入,否则里面是死等此信号!
  43          uchar getbytespi()
  44          {
  45   1              uchar i;
  46   1      
  47   1              while(MCLK);
  48   1              SCLK=0; //接受通讯
  49   1      
  50   1              for(i=4;i!=0;i--)
  51   1              {
  52   2                      DATA=DATA>>1; //准备下一个bit
  53   2                      while(!MCLK); //检测主机放数据
  54   2                      BIT7=SDA;//收一个bit
C51 COMPILER V7.07   TEST3PIN                                                              06/08/2005 02:52:56 PAGE 2   

  55   2                      SCLK=1;
  56   2      
  57   2                      DATA=DATA>>1; //准备下一个bit
  58   2                      while(MCLK); //检测从机响应
  59   2                      BIT7=SDA;  //收一个bit
  60   2                      SCLK=0; 
  61   2              }
  62   1              
  63   1              while(!MCLK); //检测从机收完
  64   1              SCLK=1;
  65   1              return(DATA);   
  66   1      }
  67          
  68          //显示国标字符串
  69          lcd_gbstring(uchar *pst)
  70          {
  71   1              uchar i;
  72   1              putbytespi(0x1b);
  73   1              putbytespi(0x37);
  74   1              putbytespi(0x00);
  75   1              for(i=0;*pst!=0;i++)
  76   1              {
  77   2                      putbytespi(*pst);
  78   2                      pst++;
  79   2              }
  80   1              putbytespi(0x00);                               
  81   1      }
  82          
  83          //显示unicode串
  84          lcd_unicodestring(uchar n,uchar *pst)
  85          {
  86   1              uchar i;
  87   1              putbytespi(0x1b);
  88   1              putbytespi(0x4e);
  89   1              putbytespi(0x00);
  90   1              putbytespi(n);
  91   1              for(i=0;i<n*2;i++)
  92   1              {
  93   2                      putbytespi(*pst);
  94   2                      pst++;
  95   2              }
  96   1      
  97   1      }
  98          
  99          //定义一个国标字符串
 100          uchar code gb2312[]="abc123汉显液晶真好用。";
 101          //定义一个unicode字符串"字符串abcABC123内码转换《》?。【】¥!☆●★◆◇㈠⑴⑵㈡〖〗{}№§"
 102          //1b 4e 00 27 5B 57 7B 26 4E 32 00 61 00 62 00 63 00 41 00 42 00 43 00 31 00 32 00 33 51 85 78 01 8F 6C 63
             - 62 30 0A 30 0B FF 1F 30 02 30 10 30 11 FF E5 FF 01 26 06 25 CF 26 05 25 C6 25 C7 32 20 24 74 24 75 32 21 30 16 30 17 FF
             - 5B FF 5D 21 16 00 A7
 103          uchar code unicode[]={0x5B,0x57,0x7B,0x26,0x4E,0x32,0x00,0x61,0x00,0x62,0x00,0x63,0x00,0x41,0x00,0x42,0x00
             -,0x43,0x00,0x31,0x00,0x32,0x00,0x33,0x51,0x85,0x78,0x01,0x8F,0x6C,0x63,0x62,0x30,0x0A,0x30,0x0B,0xFF,0x1F,0x30,0x02,0x30
             -,0x10,0x30,0x11,0xFF,0xE5,0xFF,0x01,0x26,0x06,0x25,0xCF,0x26,0x05,0x25,0xC6,0x25,0xC7,0x32,0x20,0x24,0x74,0x24,0x75,0x32
             -,0x21,0x30,0x16,0x30,0x17,0xFF,0x5B,0xFF,0x5D,0x21,0x16,0x00,0xA7};
 104          
 105          uchar code dx58[3] _at_ 0x3b; //这句dx58仿真器调试需要
 106          main()
 107          {
 108   1              uchar i;
 109   1              uint n;
 110   1      
 111   1              for(i=0;i<3;i++) //闪灯3下
C51 COMPILER V7.07   TEST3PIN                                                              06/08/2005 02:52:56 PAGE 3   

 112   1              {
 113   2                      putbytespi(0x1b);
 114   2                      putbytespi(0x25);
 115   2                      putbytespi(0x01);
 116   2              
 117   2                      for(n=0;n<30000;n++);
 118   2              
 119   2                      putbytespi(0x1b);
 120   2                      putbytespi(0x25);
 121   2                      putbytespi(0x00);
 122   2      
 123   2                      for(n=0;n<30000;n++);
 124   2              }
 125   1      
 126   1              while(1)
 127   1              {
 128   2                      //清屏
 129   2                      putbytespi(0x1b);
 130   2                      putbytespi(0x32);
 131   2      
 132   2                      for(n=0;n<60000;n++);
 133   2                      //显示一个GB2312数据串
 134   2                      lcd_gbstring(gb2312);
 135   2      
 136   2              
 137   2                      for(n=0;n<60000;n++);
 138   2      
 139   2                      //显示一个unicode数据串
 140   2                      lcd_unicodestring(0x27,unicode);
 141   2      
 142   2                      for(n=0;n<60000;n++);
 143   2      
 144   2      
 145   2              
 146   2              }
 147   1      }
 148          
 149          
 150          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    417    ----
   CONSTANT SIZE    =    101    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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