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

📄 点阵汉字20080106.lst

📁 VB环境下的串口通讯设计
💻 LST
字号:
C51 COMPILER V8.05a   点阵汉字20080106                                                     01/07/2008 15:30:50 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE 点阵汉字20080106
OBJECT MODULE PLACED IN 点阵汉字20080106.OBJ
COMPILER INVOKED BY: C:\Keilc51\C51\BIN\C51.EXE 点阵汉字20080106.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          #include <intrins.h>
   3          #define int8 unsigned char
   4          #define int16 unsigned int
   5          #define int32 unsigned long 
   6          //============================
   7          sbit LED1=P3^4;
   8          sbit GRE=P1^7;
   9          sbit s1=P0^3;
  10          sbit s2=P2^3;
  11          sbit SCK=P2^4;
  12          sbit RCK=P2^5;
  13          sbit nG=P2^6;
  14          sbit SER=P2^7;
  15          int8 tab[16][6]={
  16                                          {0x40,0x00,0x00,0x00,0x08,0x00},
  17                                          {0x27,0xF0,0x12,0x10,0x0B,0xFC},
  18                                          {0x24,0x10,0x12,0x10,0x49,0x08},
  19                                          {0x14,0x10,0x12,0x10,0x49,0x10},
  20                                          {0x07,0xF0,0x12,0x10,0x48,0xA0},
  21                                          {0x94,0x10,0xFF,0xFE,0x48,0x40},
  22                                          {0x54,0x10,0x12,0x10,0x48,0xB0},
  23                                          {0x17,0xF0,0x12,0x10,0x49,0x08},
  24                                  /**/{0x2F,0xFC,0x12,0x10,0x0A,0x04},
  25                                          {0xC9,0x24,0x13,0xF0,0x09,0x00},
  26                                          {0x49,0x24,0x10,0x00,0x3F,0xF8},
  27                                          {0x49,0x24,0x10,0x00,0x01,0x00},
  28                                          {0x49,0x24,0x10,0x04,0x01,0x00},
  29                                          {0x49,0x24,0x1F,0xFC,0x01,0x00},
  30                                          {0x5F,0xFE,0x00,0x00,0xFF,0xFE},
  31                                          {0x40,0x00,0x00,0x00,0x00,0x00},
  32                                     };
  33          /*
  34                                  
  35          
  36          0x40,0x00,0x27,0xF0,0x24,0x10,0x07,0xF0,0x94,0x10,0x54,0x10,0x17,0xF0,0x20,0x00,
  37          0x2F,0xFC,0xC9,0x24,0x49,0x24,0x49,0x24,0x49,0x24,0x49,0x24,0x5F,0xFE,0x40,0x00,"温"
  38          0x00,0x00,0x12,0x10,0x12,0x10,0x12,0x10,0x12,0x10,0xFF,0xFE,0x12,0x10,0x12,0x10,
  39          0x12,0x10,0x13,0xF0,0x12,0x10,0x10,0x00,0x10,0x08,0x1F,0xFC,0x00,0x00,0x00,0x00,"世"
  40          0x08,0x00,0x0B,0xFC,0x49,0x08,0x49,0x10,0x48,0xA0,0x48,0x40,0x48,0xB0,0x49,0x0E,
  41          0x0A,0x04,0x09,0x00,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,"坚"
  42          
  43          */
  44          //==========================
  45          
  46          void delay(int8 N);
  47          void sendbyte(int8 byte);
  48          void display(int8 n);
  49          void Save595(void);
  50          void WriteByte(int8 val);
  51          void lay(int8 n);
  52          void delays(int8 n);
  53          void XianShiX(void);
  54          //==========================
  55          
C51 COMPILER V8.05a   点阵汉字20080106                                                     01/07/2008 15:30:50 PAGE 2   

  56          
  57                  /*主函数*/
  58          void main(void)
  59          {
  60   1              int8 i;
  61   1              i=0;
  62   1              P1=0x00;
  63   1              P3=0x00;
  64   1              nG=0;
  65   1              display(0);
  66   1      
  67   1              while(1)
  68   1              {       
  69   2              XianShiX();
  70   2                      
  71   2              }
  72   1              
  73   1      }
  74          
  75          /* 列选择*/
  76          void lay(int8 n)
  77          {
  78   1              int8 i;
  79   1              i=n;
  80   1              s1=0;
  81   1              s2=0;
  82   1              if(n<8)
  83   1              {
  84   2                      _nop_();
  85   2                      P0=(P0&0xf8)|(~i);
  86   2              }
  87   1              else
  88   1              {       i=i-7;
  89   2                      i=i&0x07;
  90   2                      i=i|0xf0;                 //保护nG位
  91   2                      P2=(P2&0xf8)|(~i);
  92   2              }
  93   1      
  94   1      }               
  95          /*延时*/
  96          void delay(int8 N)
  97          {
  98   1              int8 i,j,k;
  99   1              for(i=0;i<100;i++)
 100   1                      for(j=0;j<10;j++)
 101   1                              for(k=0;k<N;k++);       
 102   1      
 103   1      }
 104          /*发送字节,移位发送*/
 105          void WriteByte(int8 val)
 106          {
 107   1              int8 i,m;
 108   1              m=~val;
 109   1              for (i = 8; i > 0; i --)
 110   1              {
 111   2              SCK = 0;//拉低74HC595时钟
 112   2              SER = m&0x01;//发送74HC595一位串行数据
 113   2              SCK = 1;//拉高74HC595时钟
 114   2                      m=m>>1;
 115   2              _nop_();//延时
 116   2        }
 117   1        SER = 1;//释放数据总线
C51 COMPILER V8.05a   点阵汉字20080106                                                     01/07/2008 15:30:50 PAGE 3   

 118   1      //========================
 119   1      //      以下3条指令若在多字节时,应该移入多字节全发送完后在执行此3条指令
 120   1      //  RCLK = 0;
 121   1      //  _nop_();//延时
 122   1      //  RCLK = 1;//打入并行数据
 123   1      }
 124          
 125          /*保存串行发送的数据,并打入到并行引脚寄存器*/
 126          //void Save595(void) 
 127          //{
 128          //        RCK=0;        //保存并行数据
 129          //        _nop_();
 130          //        RCK=1;
 131          //}
 132          
 133          /*发送字*/
 134          void display(int8 n )
 135          {
 136   1              int8 i;
 137   1              for(i=0;i<6;i++)
 138   1              WriteByte(tab[n][i]);
 139   1          RCK=0;      //保存并行数据
 140   1          _nop_();
 141   1          RCK=1;
 142   1      }
 143          
 144          void delays(int8 n)
 145          {
 146   1              int8 i;
 147   1              n=n;
 148   1              for(i=10;i>0;i--);
 149   1      }
 150          
 151          void XianShiX(void)
 152          {
 153   1              /**/display(0);//行0
 154   1                      lay(14);   //列
 155   1                      delays(1); //短延时
 156   1              /**/display(1);//行1
 157   1                      lay(13);
 158   1                      delays(1);
 159   1              /**/display(2);//行2
 160   1                      lay(12);
 161   1                      delays(1);
 162   1              /**/display(3);//行3
 163   1                      lay(11);
 164   1                      delays(1);
 165   1              /**/display(4);//行4
 166   1                      lay(10);
 167   1                      delays(1);
 168   1              /**/display(5);//行5
 169   1                      lay(9);
 170   1                      delays(1);
 171   1              /**/display(6);//行6
 172   1                      lay(8);
 173   1                      delays(1);
 174   1              /**/display(7);//行7
 175   1                      lay(15);
 176   1                      delays(1);
 177   1              /**/display(8);//行8
 178   1                      lay(7);
 179   1                      delays(1);
C51 COMPILER V8.05a   点阵汉字20080106                                                     01/07/2008 15:30:50 PAGE 4   

 180   1              /**/display(9);//行9
 181   1                      lay(6);
 182   1                      delays(1);
 183   1              /**/display(10);//行10
 184   1                      lay(5);
 185   1                      delays(1);
 186   1              /**/display(11);//行11
 187   1                      lay(4);
 188   1                      delays(1);
 189   1              /**/display(12); //行12
 190   1                      lay(0);
 191   1                      delays(1);
 192   1              /**/display(13); //行13
 193   1                      lay(1);
 194   1                      delays(1);
 195   1              /**/display(14); //行14
 196   1                      lay(2);
 197   1                      delays(1);
 198   1              /**/display(15);  //行15
 199   1                      lay(3);
 200   1                      delays(1);
 201   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    312    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     96       1
   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 + -