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

📄 河工科技 欢迎您.lst

📁 基于51单片机的16*16点阵
💻 LST
字号:
C51 COMPILER V9.00   河工科技_欢迎腳                                                       04/06/2010 12:02:53 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE 河工科技_欢迎腳
OBJECT MODULE PLACED IN 河工科技 欢迎您.OBJ
COMPILER INVOKED BY: d:\Keil4\C51\BIN\C51.EXE 河工科技 欢迎您.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1           #include <reg52.h>
   2          #define BLKN 2                                  //列锁存器数
   3          #define uchar unsigned char
   4          #define uint  unsigned int
   5          uchar i,j,k,l;
   6           //uint i;
   7           uchar data dispram[32];                        //显示缓存                                                                     
             -                                                                                                                        
             -                                                                                                                        
             - 
   8           sbit G  =P2^7;                            //P2.7为显示允许控制信号端口
   9           sbit RCK=P2^6;                            //P2.6为输出锁存器时钟信号端口
  10           sbit SCLR=P2^5;                           //P2.5为移位寄存器清0端口
  11           /****延时函数*****/
  12           void delay(uchar x)
  13           {
  14   1           uchar a,b;
  15   1               for(a=x;a>0;a--)
  16   1                  for(b=110;b>0;b--);
  17   1       
  18   1       }
  19           uchar code bmp[][32]=                          //字模表
  20           {
  21              
  22                  {
  23                  0xF9,0xCF,0xF1,0x8F,0xF1,0x8F,0xF3,0x9F,0xE3,0x1F,0xE3,0x1F,0xE7,0x3F,0xC0,0x3F,
  24              0xC0,0x33,0xCE,0x39,0x8E,0x38,0x9E,0x38,0x1C,0x38,0x18,0x00,0x18,0x00,0x1F,0xFF
  25                  
  26                  }, //河工科技图标  0
  27              {
  28                  0xBF,0xFB,0xC0,0x01,0xEF,0xF7,0xFF,0xF7,0x7F,0xB7,0x98,0x17,0xDB,0xB7,0xF3,0xB7,
  29              0xEB,0xB7,0xDB,0xB7,0x18,0x37,0xDB,0xB7,0xDF,0xF7,0xDF,0xF7,0xDF,0xD7,0xDF,0xEF
  30                  },//河                     1
  31                  {
  32                  0xFF,0xFF,0xFF,0xF7,0x80,0x03,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,
  33              0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFF,0xFF,0xFF,0xFF
  34                  
  35                  },//工                     2
  36          
  37                  {
  38                   0xFB,0xEF,0xF1,0xEF,0x07,0x6F,0xF7,0xAF,0xF7,0xEF,0x01,0x6F,0xF7,0xAF,0xE3,0xEB,
  39               0xE5,0xE1,0xD6,0x0F,0xD7,0xEF,0xB7,0xEF,0x77,0xEF,0xF7,0xEF,0xF7,0xEF,0xF7,0xEF
  40                  
  41                  },//科                    3
  42                  {
  43                   0xEF,0xBF,0xEF,0xBF,0xEF,0xB7,0xEC,0x03,0x03,0xBF,0xEF,0xBF,0xEF,0xBF,0xEC,0x07,
  44              0xE5,0xF7,0xCE,0xEF,0x2E,0xEF,0xEF,0x5F,0xEF,0xBF,0xEF,0x4F,0xAE,0xF1,0xD9,0xFB
  45                  
  46                  },//技                     4
  47                  {
  48                  0xFF,0xFF,0xFF,0xF7,0x80,0x03,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,
  49              0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFF,0xFF,0xFF,0xFF
  50                  
  51                  },//工                     5
  52                  {
C51 COMPILER V9.00   河工科技_欢迎腳                                                       04/06/2010 12:02:53 PAGE 2   

  53                  0xF6,0xFF,0xF6,0xFF,0xF6,0xFB,0xEE,0x01,0xED,0x7F,0xCD,0x7F,0xAB,0x6F,0x67,0x07,
  54              0xEF,0x7F,0xEF,0x7F,0xEF,0x77,0xEF,0x03,0xEF,0x7F,0xEF,0x7F,0xEF,0x7F,0xEF,0x7F
  55                  },//作                     6
  56                  {
  57                  0xFD,0xFF,0xFE,0xFF,0x80,0x01,0xBF,0xFD,0x7F,0xEB,0xC0,0x07,0xFB,0xFF,0xF7,0xDF,
  58              0xE0,0x0F,0xFE,0xEF,0xFE,0xFF,0xE0,0x0F,0xFE,0xFF,0xFE,0xF7,0x80,0x03,0xFF,0xFF
  59                  },//室                    7
  60                  
  61                  {
  62                  0xFF,0xFF,0xFF,0xFF,0xF0,0x0F,0xEF,0xF7,0xDF,0xFB,0xBF,0xFD,0xA3,0xC5,0x9D,0xB9,
  63              0xBF,0xFD,0xBF,0xFD,0xBF,0xFD,0xB7,0xED,0xD8,0x1B,0xEF,0xF7,0xF0,0x0F,0xFF,0xFF
  64                  
  65                  },//笑脸                   8
  66                  { 
  67                  0xFF,0x7F,0xFF,0x7F,0x03,0x7F,0xFB,0x03,0xBA,0xFB,0xB9,0xB7,0xD7,0xBF,0xD7,0xBF,
  68              0xEF,0xBF,0xD7,0xBF,0xDB,0x5F,0xBB,0x5F,0x7E,0xEF,0xFE,0xF7,0xFD,0xF1,0xF3,0xFB
  69                  
  70                  },//欢                     9
  71                  {
  72                  0xFF,0xFF,0xBE,0x7B,0xD9,0x81,0xEB,0xBB,0xFB,0xBB,0xFB,0xBB,0x0B,0xBB,0xEB,0x3B,
  73              0xEA,0xBB,0xE9,0xAB,0xEB,0xB7,0xEF,0xBF,0xEF,0xBF,0xD7,0xB9,0xB8,0x03,0xFF,0xFF
  74                  
  75                  },//迎                          10
  76                  {
  77                  
  78                  0xF6,0xFF,0xF6,0xFF,0xEC,0x03,0xED,0xFB,0xCB,0xB7,0xA6,0xBF,0x6E,0xAF,0xED,0xB3,
  79              0xEB,0xBB,0xEE,0xBF,0xEF,0x7F,0xFD,0xFF,0xAE,0x7B,0xAF,0x6D,0x6F,0xED,0xF0,0x0F
  80                  } //您                     11
  81           };
  82          
  83           void main()
  84           {
  85   1          SCON=0x00;             //串口工作模式0;移位寄存器方式
  86   1              TMOD=0x01;                         //定时器T0工作方式1:16位方式
  87   1              TR0=1;                 //启动定时器t0
  88   1              P1=0x3f;               //P1端口初值:允许接收、锁定、显示
  89   1          IE=0x82;
  90   1              for(i=0;i<32;i++)
  91   1              {
  92   2               dispram[i]=0xff;
  93   2              
  94   2              }
  95   1              while(1)
  96   1                {
  97   2                 delay(2000);
  98   2                 for(i=0;i<8;i++)                                                        //上卷帘显示“河工科技工作室”
  99   2                 {
 100   3                       for(j=0;j<16;j++)
 101   3                       {
 102   4                        for(k=0;k<15;k++)
 103   4                        {
 104   5                         dispram[k*BLKN]=dispram[(k+1)*BLKN];
 105   5                         dispram[k*BLKN+1]=dispram[(k+1)*BLKN+1];
 106   5                        }
 107   4                        dispram[30]=bmp[i][j*BLKN];
 108   4                        dispram[31]=bmp[i][j*BLKN+1];
 109   4                        delay(100);
 110   4                       }
 111   3                 } 
 112   2                 delay(2000);                                                                  //左跑马显示“欢迎您”
 113   2                      for(i=8;i<12;i++) 
 114   2                  {
C51 COMPILER V9.00   河工科技_欢迎腳                                                       04/06/2010 12:02:53 PAGE 3   

 115   3                        for(j=0;j<2;j++)
 116   3                         for(k=1;k<9;k++)
 117   3                         {
 118   4                           for(l=0;l<16;l++)
 119   4                                 {
 120   5                             dispram[l*BLKN]=dispram[l*BLKN]<<1|dispram[l*BLKN+1]>>7;
 121   5                             dispram[l*BLKN+1]=dispram[l*BLKN+1]<<1|bmp[i][l*BLKN+j]>>(8-k);
 122   5                             }
 123   4                                 delay(100);
 124   4                         }
 125   3              }                                                                                                                     
             -                                                                                                                        
             -                                                                                                                        
             -                                                                                        
 126   2                }
 127   1      
 128   1       }
 129           void leddisplay(void)  interrupt 1 using 1
 130           {
 131   1         uchar i,j=BLKN;                       //设定显示屏刷新率62.5帧/s
 132   1         TH0=0xfd;
 133   1         TL0=0xf0;
 134   1         i=P1;                                         //读取当前显示的行列
 135   1         i=++i&0x0f;                           /*行数自动加一,屏蔽高4位 ,注意P1.0,P1.1,P1.2,P1,3控制行的显示,
 136   1                                     通过4线16线译码器,对16行进行控制*/
 137   1         do
 138   1           {                                                                                          
 139   2                 j--;          
 140   2                 SBUF=dispram[i*BLKN+j];        //送显示数据,SBUF串行数据缓冲寄存器
 141   2                 while(!TI);                             /*串行发送停止位的开始时,由内部硬件使T11,向CPU发出中断请求
 142   2                                              ,在中断服务程序中,必须用软件使其清0*/
 143   2                 TI=0;
 144   2               }
 145   1         while(j);                                      //完成一行数据的发送
 146   1         G=1;                                                   //消隐(关闭显示)
 147   1         P1&=0xf0;                                      //行号端口清0
 148   1         RCK=1;                                                  //显示数据打入输出锁存器
 149   1         P1|=i;                                                  //写入行号
 150   1         RCK=0;                                                  //锁存显示数据
 151   1         G=0;                                                    //打开显示
 152   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    430    ----
   CONSTANT SIZE    =    384    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     36    ----
   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 + -