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

📄 16x16dian zhen.lst

📁 138与595控制 16x16点阵
💻 LST
字号:
C51 COMPILER V8.06   16X16DIAN_ZHEN                                                        12/15/2012 15:22:32 PAGE 1   


C51 COMPILER V8.06, COMPILATION OF MODULE 16X16DIAN_ZHEN
OBJECT MODULE PLACED IN 16x16dian zhen.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 16x16dian zhen.c BROWSE DEBUG OBJECTEXTEND TABS(3)

line level    source

   1          //作者:肖向前
   2          //日期:2012年12月14日
   3          //功能:16*32点阵
   4          //取模方式:横向
   5          //两个138,两个595
   6          #include <reg52.h> 
   7          #include <intrins.h> 
   8          #define uchar unsigned char  
   9          #define uint unsigned int 
  10          #define NOP    _nop_() 
  11          
  12          sbit OE = P2^3; 
  13          sbit A1 = P2^0; 
  14          sbit B1 = P2^1; 
  15          
  16          sbit SRCLK = P2^1;    //11脚SHCP    移位时钟 
  17          sbit SCLK = P2^2;    //12脚STCP    锁存时钟 
  18          sbit DATA = P2^0;    //数据输入 
  19          
  20          char code table[]=
  21          {
  22          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  23          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  24          /*--  文字:  明  --*/
  25          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
  26          0x00,0xFC,0x7C,0x84,0x44,0x84,0x44,0x84,0x44,0xFC,0x7C,0x84,0x44,0x84,0x44,0x84,
  27          0x44,0xFC,0x7C,0x84,0x00,0x84,0x01,0x04,0x01,0x04,0x02,0x04,0x04,0x14,0x00,0x08,
  28          
  29          
  30          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  31          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  32          
  33          };
  34          //数据串行输入  
  35          void serial_input(uchar dat)     
  36          { 
  37   1         uint m; 
  38   1         for(m=0;m<8;m++) 
  39   1         { 
  40   2            if(dat&0x80) 
  41   2            DATA=1; 
  42   2            else  
  43   2            DATA=0; 
  44   2            SRCLK=0; 
  45   2            SRCLK=1;    
  46   2            NOP; 
  47   2            NOP; 
  48   2            SRCLK=0; 
  49   2            NOP; 
  50   2            NOP; 
  51   2            dat=dat<<1; 
  52   2         } 
  53   1      
  54   1      } 
  55          
C51 COMPILER V8.06   16X16DIAN_ZHEN                                                        12/15/2012 15:22:32 PAGE 2   

  56          /*******************************************************************************************/ 
  57          //595并行输出 
  58          void serial_output() 
  59          { 
  60   1         SCLK=1;                  
  61   1         NOP; 
  62   1         NOP; 
  63   1         SCLK=0; 
  64   1      }   
  65          /*******************************************************************************************/ 
  66          /*******************************************************************************************/ 
  67          void delay(int z)
  68          {
  69   1      int x,y;
  70   1      for(x=0;x<z;x++)
  71   1      for(y=0;y<110;y++);
  72   1      }
  73          
  74          
  75          /*******************************************************************************************/ 
  76          /*******************************************************************************************/ 
  77          //整屏显示 
  78          void display() 
  79          { 
  80   1         uint i,up=0,control;
  81   1         for(control=0;control<60;control++)//移动速度
  82   1         {
  83   2            for(i=0;i<16;i++)
  84   2            {  
  85   3               serial_input(table[2*i+2*up]); //左半屏
  86   3               serial_input(table[2*i+1+2*up]);//右半屏
  87   3               
  88   3               P1=i; //行控制 
  89   3               serial_output(); //595输出
  90   3               delay(5);      
  91   3            }
  92   2            up=up+1; //上移,改变up可实现上移或下移
  93   2            if(up>32) up=0;   
  94   2         }
  95   1          
  96   1      
  97   1      } 
  98          
  99          void main() 
 100          { 
 101   1         while(1) 
 102   1         { 
 103   2            display(); 
 104   2         } 
 105   1      }


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