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

📄 main.lst

📁 读SD卡用SST单片机与tlc5620播放音乐程序
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  03/02/2009 16:29:21 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "HAL.H"
   2          #include "SMC162.h"
   3          #include "tlc5620.h"
   4          #include "main.h"
   5          
   6          
   7          #define TIMERH  0xff
   8          #define TIMERL  0xa3
   9          #define ADDR    0x00050200
  10          sbit SDCS1=P0^4;
  11          sbit SDCS2=P0^5;        //1的时候开启   0的时候关闭
  12          
  13          unsigned char idata SdReadBuf;
  14          unsigned char idata PreSdReadBuf;
  15          unsigned long Addr=ADDR;
  16          void Beep(void);
  17          void InitPort(void);
  18          void DelayNTime(unsigned char);
  19          unsigned char check=0;
  20          void Timer0Init(void);
  21          unsigned short jishu=0;
  22          void Ex1Init(void);
  23          void Ex0Init(void);
  24          
  25          void main()
  26          {
  27   1              Beep();
  28   1              InitPort();
  29   1              SdInit();
  30   1              TLC5620_Init();
  31   1              Timer0Init();
  32   1              TR0=1;
  33   1              EX0=1;
  34   1              EX1=1;
  35   1              while(1)
  36   1              {
  37   2                      if(SDCS1==0)
  38   2                      {
  39   3                              while(SDCS2==0);
  40   3                      }
  41   2                      else if(SDCS2==0)
  42   2                      {
  43   3                              while(SDCS1==0);
  44   3                      }
  45   2                      if (jishu==0)
  46   2                      {
  47   3                              ET0=0;
  48   3                              SD_CS=0;
  49   3                              SdWrite(0x11|0x40);
  50   3                              SdWrite(((unsigned char *)&Addr)[0]);
  51   3                              SdWrite(((unsigned char *)&Addr)[1]);
  52   3                              SdWrite(((unsigned char *)&Addr)[2]);
  53   3                              SdWrite(((unsigned char *)&Addr)[3]);
  54   3                              SdWrite(0x95);
  55   3                              SdResponse();
C51 COMPILER V7.06   MAIN                                                                  03/02/2009 16:29:21 PAGE 2   

  56   3                              SdRead();
  57   3                              jishu++;
  58   3                              ET0=1;
  59   3                      }
  60   2                      else if(jishu==513)
  61   2                      {
  62   3                              ET0=0;
  63   3                              SdRead();
  64   3                      SdRead();
  65   3                              SD_CS=1;
  66   3                      SdRead();
  67   3                              jishu=0;
  68   3                              Addr+=512;
  69   3                              ET0=1;
  70   3                      }
  71   2              }
  72   1      }
  73          
  74          void Timer0ISR(void) interrupt 1
  75          {
  76   1              TH0=TIMERH;
  77   1              TL0=TIMERL;
  78   1              PreSdReadBuf=SdReadBuf;
  79   1              if(jishu>0&&jishu<513)
  80   1              {
  81   2                      SdReadBuf=SdRead();
  82   2                      jishu++;
  83   2              }
  84   1              if (SdReadBuf>253||SdReadBuf<2)
  85   1                      SdReadBuf=PreSdReadBuf;
  86   1              TLC5620_SetOutput(CHL0,SdReadBuf);
  87   1      }
  88          
  89          void Beep()
  90          {
  91   1              unsigned char i,m;
  92   1              for (i=0;i<50;i++)
  93   1              {
  94   2              P14=0;
  95   2              DelayNTime(1);
  96   2              P14=1;
  97   2              DelayNTime(1);
  98   2              }
  99   1              for (m=0;m<10;m++)
 100   1                      DelayNTime(10);
 101   1      }
 102          void DelayNTime(unsigned char dly)
 103          {
 104   1              unsigned char j;
 105   1              unsigned char i;
 106   1              for (i=0;i<2*dly;i++)
 107   1                      for (j=219;j>0;j--);    
 108   1      }
 109          
 110          void InitPort()
 111          {
 112   1              SD_CS=0;
 113   1              SD_DI=0;
 114   1              SD_DO=0;
 115   1              SD_CLK=0;
 116   1      }
 117          
C51 COMPILER V7.06   MAIN                                                                  03/02/2009 16:29:21 PAGE 3   

 118          void Timer0Init()
 119          {
 120   1              TMOD=0X00;
 121   1              TH0=TIMERH;
 122   1              TL0=TIMERL;
 123   1              EA=1;
 124   1              ET0=1;
 125   1              P30=1;
 126   1              P31=1;
 127   1              SDCS2=0;
 128   1              SDCS1=0;
 129   1      }
 130          
 131          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    383    ----
   CONSTANT SIZE    =   1024    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7       2
   IDATA SIZE       =      2    ----
   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 + -