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

📄 左跑马郭少斌.lst

📁 基于51单片机的16*16点阵
💻 LST
字号:
C51 COMPILER V9.00   譥臺_砉_少盻                                                          04/12/2010 15:28:17 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE 譥臺_砉_少盻
OBJECT MODULE PLACED IN 左跑马郭少斌.OBJ
COMPILER INVOKED BY: d:\Keil\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;
   9           sbit RCK=P2^6;
  10           sbit SCLR=P2^5;
  11           void delay(uchar x)
  12           {
  13   1           uchar a,b;
  14   1               for(a=x;a>0;a--)
  15   1                  for(b=110;b>0;b--);
  16   1       
  17   1       }
  18           uchar code bmp[][32]=
  19           {
  20              /*{
  21                  0x08,0x00,0x04,0x7C,0xFF,0xC4,0x00,0x44,0x3F,0x48,0x21,0x48,0x21,0x50,0x3F,0x48,
  22              0x00,0x44,0x7F,0x42,0x02,0x42,0x04,0x62,0xFF,0x54,0x04,0x48,0x14,0x40,0x08,0x40,
  23                  },
  24                  {
  25                  0x01,0x00,0x01,0x00,0x01,0x00,0x09,0x20,0x09,0x10,0x11,0x0C,0x11,0x04,0x21,0x10,
  26              0x41,0x10,0x01,0x20,0x01,0x40,0x00,0x80,0x01,0x00,0x02,0x00,0x0C,0x00,0x70,0x00,
  27                  },
  28                  {
  29                  0x00,0x10,0x20,0x10,0x11,0xF4,0x00,0x12,0xFC,0x10,0x0B,0xFE,0x48,0x10,0x28,0x50,
  30              0x29,0x50,0x11,0x70,0x29,0x50,0x25,0x48,0x45,0x48,0x81,0x6A,0x03,0x86,0x00,0x02
  31                          
  32              }*/
  33                  {0xF7,0xFF,0xFB,0x83,0x00,0x3B,0xFF,0xBB,0xC0,0xB7,0xDE,0xB7,0xDE,0xAF,0xC0,0xB7,
  34               0xFF,0xBB,0x80,0xBD,0xFD,0xBD,0xFB,0x9D,0x00,0xAB,0xFB,0xB7,0xEB,0xBF,0xF7,0xBF
  35                  },
  36                  {
  37                   0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xF6,0xDF,0xF6,0xEF,0xEE,0xF3,0xEE,0xFB,0xDE,0xEF,
  38               0xBE,0xEF,0xFE,0xDF,0xFE,0xBF,0xFF,0x7F,0xFE,0xFF,0xFD,0xFF,0xF3,0xFF,0x8F,0xFF
  39                  },
  40                  {
  41                  0xFF,0xEF,0xDF,0xEF,0xEE,0x0B,0xFF,0xED,0x03,0xEF,0xF4,0x01,0xB7,0xEF,0xD7,0xAF,
  42              0xD6,0xAF,0xEE,0x8F,0xD6,0xAF,0xDA,0xB7,0xBA,0xB7,0x7E,0x95,0xFC,0x79,0xFF,0xFD
  43                  }
  44              };
  45           uchar data dispram[32];
  46           void main()
  47           {
  48   1          SCON=0x00;             //串口工作模式0;移位寄存器方式
  49   1              TMOD=0x01;                         //定时器T0工作方式1:16位方式
  50   1              TR0=1;                 //启动定时器t0
  51   1              P1=0x3f;               //P1端口初值:允许接收、锁定、显示
  52   1          IE=0x82;
  53   1              while(1)
C51 COMPILER V9.00   譥臺_砉_少盻                                                          04/12/2010 15:28:17 PAGE 2   

  54   1                {
  55   2                 delay(2000);
  56   2                  
  57   2                 
  58   2                 for(i=0;i<3;i++) 
  59   2                  {
  60   3                        for(j=0;j<2;j++)
  61   3                         for(k=1;k<9;k++)
  62   3                         {
  63   4                           for(l=0;l<16;l++)
  64   4                                 {
  65   5                             dispram[l*BLKN]=dispram[l*BLKN]<<1|dispram[l*BLKN+1]>>7;
  66   5                             dispram[l*BLKN+1]=dispram[l*BLKN+1]<<1|bmp[i][l*BLKN+j]>>(8-k);
  67   5                             }
  68   4                                 delay(100);
  69   4                         }
  70   3              }                                                                                                                     
             -                                                                                                                        
             -                                                                                                                        
             -                                                                                        
  71   2      
  72   2                
  73   2                }
  74   1      
  75   1       }
  76           void leddisplay(void)  interrupt 1 using 1
  77           {
  78   1         uchar i,j=BLKN;                       //设定显示屏刷新率62.5帧/s
  79   1         TH0=0xfd;
  80   1         TL0=0xf0;
  81   1         i=P1;                                         //读取当前显示的行列
  82   1         i=++i&0x0f;                           /*行数自动加一,屏蔽高4位 ,注意P1.0,P1.1,P1.2,P1,3控制行的显示,
  83   1                                     通过4线16线译码器,对16行进行控制*/
  84   1         do
  85   1           {                                                                                          
  86   2                 j--;          
  87   2                 SBUF=dispram[i*BLKN+j];        //送显示数据,SBUF串行数据缓冲寄存器
  88   2                 while(!TI);                             /*串行发送停止位的开始时,由内部硬件使T11,向CPU发出中断请求
  89   2                                              ,在中断服务程序中,必须用软件使其清0*/
  90   2                 TI=0;
  91   2               }
  92   1         while(j);                                      //完成一行数据的发送
  93   1         G=1;                                                   //消隐(关闭显示)
  94   1         P1&=0xf0;                                      //行号端口清0
  95   1         RCK=1;                                                  //显示数据打入输出锁存器
  96   1         P1|=i;                                                  //写入行号
  97   1         RCK=0;                                                  //锁存显示数据
  98   1         G=0;                                                    //打开显示
  99   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    269    ----
   CONSTANT SIZE    =     96    ----
   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 + -