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

📄 text1.lst

📁 单片机驱动32X64点阵资料
💻 LST
字号:
C51 COMPILER V8.08   TEXT1                                                                 11/02/2012 16:22:24 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: D:\Program Files\keil_51\C51\BIN\C51.EXE Text1.c LARGE OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include<STC12C5A60S2.H>
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          const uchar code hanzi[];
   6          
   7          sbit IA  =P4^0;  //行控制线A
   8          sbit IB  =P2^0;  //行控制线B
   9          sbit IC  =P2^1;  //行控制线C
  10          sbit ID  =P2^2;  //行控制线D
  11          
  12          #define  scan0    {IA=0;IB=0;IC=0;ID=0;}
  13          #define  scan1    {IA=1;IB=0;IC=0;ID=0;}
  14          #define  scan2    {IA=0;IB=1;IC=0;ID=0;}
  15          #define  scan3    {IA=1;IB=1;IC=0;ID=0;}
  16          #define  scan4    {IA=0;IB=0;IC=1;ID=0;}
  17          #define  scan5    {IA=1;IB=0;IC=1;ID=0;}
  18          #define  scan6    {IA=0;IB=1;IC=1;ID=0;}
  19          #define  scan7    {IA=1;IB=1;IC=1;ID=0;}
  20          #define  scan8    {IA=0;IB=0;IC=0;ID=1;}
  21          #define  scan9    {IA=1;IB=0;IC=0;ID=1;}
  22          #define scan10    {IA=0;IB=1;IC=0;ID=1;}
  23          #define scan11    {IA=1;IB=1;IC=0;ID=1;}
  24          #define scan12    {IA=0;IB=0;IC=1;ID=1;}
  25          #define scan13    {IA=1;IB=0;IC=1;ID=1;}
  26          #define scan14    {IA=0;IB=1;IC=1;ID=1;}
  27          #define scan15    {IA=1;IB=1;IC=1;ID=1;}
  28          //extern uiAllData;
  29          uchar code hanzi[];                                         //汉字字模
  30          uchar code hanzi1[];
  31          uchar l=0;                                          //汉字字模
  32                                           //0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
  33          uchar code sw[16]={0X00,0X08,0x04,0x0C,0X02,0X0A,0X06,0X0E,0X01,0X09,0X05,0X0D,0X03,0X0B,0X07,0X0F};/*16行
             -段码*///138驱动数据
  34                                             
  35          
  36          
  37          sbit STR=P4^1;              //锁存       
  38          sbit SCK=P2^7;              //时钟       
  39          sbit SERr1= P2^4;            //数据
  40          sbit SERg1= P2^6;
  41          
  42          
  43          
  44          sbit SERr= P2^3;
  45          sbit SERg= P2^5;        
  46          uchar Move=0,Speed,line;  //时间温度变量
  47          uint zimuo;                                //字模计数器
  48          uchar BUFF[50];                            //缓存
  49          uchar BUFF1[50];                                   //缓存
  50          
  51          void   DelayMs(void);              // 延时
  52          void   in_data();                                  // 调整移动数据
  53          void   rxd_data();                                 // 串口发送移动数据
  54          /******************************************************/
C51 COMPILER V8.08   TEXT1                                                                 11/02/2012 16:22:24 PAGE 2   

  55          /*****不影响其他端口的扫描*************************/
  56          void scan(unsigned char Value)
  57          {switch(Value)
  58   1              {case  15: scan0;break;
  59   2                        case  0: scan1;break;
  60   2                         case  1: scan2;break;
  61   2                          case  2: scan3;break;
  62   2                   case  3: scan4;break;
  63   2                            case  4: scan5;break;
  64   2                             case  5: scan6;break;
  65   2                              case  6: scan7;break;
  66   2                       case  7: scan8;break;
  67   2                             case  8: scan9;break;
  68   2                            case 9:scan10;break;
  69   2                           case 10:scan11;break;
  70   2                  case 11:scan12;break;
  71   2                        case 12:scan13;break;
  72   2                       case 13:scan14;break;
  73   2                  case 14:scan15;break;
  74   2                 default:break;
  75   2              }
  76   1      }
  77          /**************************延时***********************/
  78          
  79          void DelayMs(void)
  80           {
  81   1        uchar TempCyc;
  82   1        for(TempCyc=150;TempCyc>1;TempCyc--)
  83   1           {;}
  84   1       }
  85          /********************************************/
  86          
  87          /*主函数*/
  88          void main()
  89          {  
  90   1         Move=0;
  91   1         zimuo=0;
  92   1         while(1)  
  93   1         {
  94   2         while(zimuo<1792)
  95   2          { 
  96   3               while(Move<32)                                      //数据移位。
  97   3             {
  98   4                   for(Speed=0;Speed<2;Speed++)       //移动速度
  99   4                    { 
 100   5                          for(line=0;line<16;line++)
 101   5                                {
 102   6                               in_data();                                  //调整移动数据
 103   6                           rxd_data();
 104   6                       scan(line);       
 105   6                                                                                               
 106   6                                      //      STR=1;//锁存
 107   6                                              STR=0;
 108   6                                          STR=1;
 109   6                                          DelayMs();   //延时,等待一段时间,让这列显示的内容在人眼内产生“视觉暂留”现蟆

⌨️ 快捷键说明

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