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

📄 1616led.lst

📁 16位LED点阵显示 显示汉字等可以显示想要显示的信息
💻 LST
字号:
C51 COMPILER V7.07   1616LED                                                               06/03/2008 11:47:46 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE 1616LED
OBJECT MODULE PLACED IN 1616LED.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1616LED.C BROWSE DEBUG OBJECTEXTEND TABS(8)

stmt level    source

   1          #include"reg51.h"
   2          typedef  unsigned char  byte;
   3          typedef  unsigned int   word;
   4          sbit  datah595=P1^0;
   5          sbit  datal595=P1^1;
   6          sbit  clk595=P1^2;
   7          sbit  str595=P1^3;
   8          sbit  oe595=P1^4;
   9          word  data  datah,datal;                 /*datah是行数据,datal是列选通*/
  10                                                   /*取模方式:阴码、逐列式、逆向、十六进制、C51格式自定义 (使用Pcto
             -lcd2002软件)*/
  11          byte  code  displaydata[]=               /*在ROM中定义一个可变长度数组,供用户填充一定个数的字模*/
  12          {                                        /*可填充的最大字模数取决于您所选用的单片机ROM空间大小*/
  13          0x00,0x00,                               /*表头*/
  14          
  15          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  16          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  17          //在以下位置插入字模
  18          0x14,0x20,0x24,0x10,0x44,0x4C,0x84,0x43,0x64,0x43,0x1C,0x2C,0x20,0x20,0x18,0x10,
  19          0x0F,0x0C,0xE8,0x03,0x08,0x06,0x08,0x18,0x28,0x30,0x18,0x60,0x08,0x20,0x00,0x00,/*"欢",0*/
  20          
  21          
  22          
  23          0x40,0x40,0x41,0x20,0xCE,0x1F,0x04,0x20,0x00,0x40,0xFC,0x47,0x04,0x42,0x02,0x41,
  24          0x02,0x40,0xFC,0x5F,0x04,0x40,0x04,0x42,0x04,0x44,0xFC,0x43,0x00,0x40,0x00,0x00,/*"迎",1*/
  25          
  26          
  27          0x80,0x00,0x40,0x20,0x30,0x38,0xFC,0x03,0x03,0x38,0x90,0x40,0x68,0x40,0x06,0x49,
  28          0x04,0x52,0xF4,0x41,0x04,0x40,0x24,0x70,0x44,0x00,0x8C,0x09,0x04,0x30,0x00,0x00,/*"您",2*/
  29          
  30          0x40,0x00,0x20,0x00,0xF0,0x7F,0x1C,0x00,0x07,0x40,0xF2,0x41,0x94,0x22,0x94,0x14,
  31          0x94,0x0C,0xFF,0x13,0x94,0x10,0x94,0x30,0x94,0x20,0xF4,0x61,0x04,0x20,0x00,0x00,/*"使",3*/
  32          
  33          0x00,0x80,0x00,0x40,0x00,0x30,0xFE,0x0F,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,
  34          0xFE,0xFF,0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82,0xFE,0x7F,0x00,0x00,0x00,0x00,/*"用",4*/
  35          
  36          0x08,0x20,0xF8,0x3F,0x88,0x20,0xC0,0x01,0x28,0x26,0x18,0x38,0x08,0x20,0x00,0x00,/*"K",0*/
  37          0x08,0x20,0xF8,0x3F,0x08,0x21,0x08,0x01,0x08,0x01,0x08,0x01,0xF0,0x00,0x00,0x00,/*"P", 5*/
  38          
  39          0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,
  40          0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"-",6*/
  41          
  42          0x00,0x00,0xF8,0x19,0x08,0x21,0x88,0x20,0x88,0x20,0x08,0x11,0x08,0x0E,0x00,0x00,/*"5"*/
  43          0x00,0x00,0x10,0x20,0x10,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*"1", 7*/
  44          
  45          
  46          0x00,0x08,0x00,0x08,0xF8,0x0B,0x28,0x09,0x29,0x09,0x2E,0x09,0x2A,0x09,0xF8,0xFF,
  47          0x28,0x09,0x2C,0x09,0x2B,0x09,0x2A,0x09,0xF8,0x0B,0x00,0x08,0x00,0x08,0x00,0x00,/*"单",10*/
  48          
  49          0x00,0x80,0x00,0x40,0x00,0x30,0xFE,0x0F,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,
  50          0x10,0x01,0x1F,0x01,0x10,0x01,0x10,0xFF,0x10,0x00,0x18,0x00,0x10,0x00,0x00,0x00,/*"片",11*/
  51          
  52          0x08,0x04,0x08,0x03,0xC8,0x00,0xFF,0xFF,0x48,0x00,0x88,0x41,0x08,0x30,0x00,0x0C,
  53          0xFE,0x03,0x02,0x00,0x02,0x00,0x02,0x00,0xFE,0x3F,0x00,0x40,0x00,0x78,0x00,0x00,/*"机",12*/
  54          
C51 COMPILER V7.07   1616LED                                                               06/03/2008 11:47:46 PAGE 2   

  55          
  56          0x40,0x00,0x42,0x40,0x42,0x20,0x42,0x10,0x42,0x0C,0xFE,0x03,0x42,0x00,0x42,0x00,
  57          0x42,0x00,0x42,0x00,0xFE,0x7F,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x00,0x00,/*"开",0*/
  58          
  59          0x00,0x40,0x10,0x20,0x3E,0x10,0x10,0x88,0x10,0x87,0xF0,0x41,0x9F,0x46,0x90,0x28,
  60          0x90,0x10,0x92,0x28,0x94,0x27,0x1C,0x40,0x10,0xC0,0x10,0x40,0x10,0x00,0x00,0x00,/*"发",1*/
  61          
  62          0x10,0x04,0x10,0x03,0xD0,0x00,0xFF,0x7F,0x50,0x00,0x90,0x11,0x00,0x0E,0xFE,0x41,
  63          0x62,0x20,0xA2,0x11,0x22,0x0A,0x21,0x0E,0xA1,0x31,0x61,0x60,0x00,0x20,0x00,0x00,/*"板",2*/
  64          
  65          
  66          
  67          0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  68          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",20*/
  69          //至此字模插入结束
  70          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  71          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  72          };
  73          byte  *p=&displaydata[0];                               //定义指针p指向字模表的第一个汉字
  74          byte  *q=&displaydata[32];                              //定义指针q指向字模表的第二个汉字,每个汉字含有32个字节
  75          
  76          void  delay(word a)                          
  77          {
  78   1          word b;
  79   1              for(b=0;b<a;b++);
  80   1      }
  81          
  82          void  senddata(word datah,datal)                        //向行和列的4个595同时发送数据,显示其中的一列数据
  83          {
  84   1              byte i=0;
  85   1              word m,n;
  86   1              oe595=0;
  87   1              str595=0;
  88   1              for(;i<16;i++)                                  //行和列各有两片595驱动,所以行和列分别需要连续送两个字节
             -数据                      
  89   1              {
  90   2                      clk595=0;
  91   2                      m=datah;                                //行为高电平驱动
  92   2                      n=~datal;                               //列为低电平驱动
  93   2                      m&=0x8000;
  94   2                      n&=0x8000;
  95   2                      datah595=(bit)m;                        //在每个clk周期,同时送出行和列的1bit串行数据
  96   2                      datal595=(bit)n;
  97   2                      datah<<=1; 
  98   2                      datal<<=1;
  99   2                      clk595=1;
 100   2              }
 101   1              str595=1;                                       //一列数据送完,锁存到输出端进行显示
 102   1              str595=0;
 103   1      }
 104          
 105          void  horizontal(byte time,word counth)  // ①水平移动子程序
 106          {
 107   1              byte  x,y;
 108   1              word  j,k,z;    
 109   1              for(z=0;z<counth;z++)                                                                   //显示字模表
             -中的所有汉字(包括有用字模前后的的清屏数据)
 110   1                      {
 111   2                              for(y=0;y<time;y++)                                                     //该屏数据重复显示time次
             -后刷新,实际上这是水平移动的速度
 112   2                                      {
 113   3                                               datal=0x0001;
C51 COMPILER V7.07   1616LED                                                               06/03/2008 11:47:46 PAGE 3   

 114   3                                               for(x=0;x<16;x++)                                      //发送一整屏数据

⌨️ 快捷键说明

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