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

📄 pwm2.lst

📁 C8051和CC1100配合使用
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.08   PWM2                                                                  06/22/2006 10:27:59 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE PWM2
OBJECT MODULE PLACED IN PWM2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE PWM2.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /**********************************************************************
   2          * *功能描述:PWM试验2,利用C8051F310内部PWM,从P2.0输出一定脉宽的波波
   3          * *          从而产生音乐。
   4          ***********************************************************************/
   5          
   6          #include <c8051F310.h>                          //C8051F31X系列头文件。
   7          
   8          #define SYSCLK          24500000        // SYSCLK frequency in 24.5 MHz
   9          #define T1_18ms         65536L - 6 * (SYSCLK / 4000L)
  10          #define TH1S            T1_18ms >> 8
  11          #define TL1S            T1_18ms
  12          
  13          
  14          
  15          //*********************************************************************
  16          //变量定义
  17          //*********************************************************************
  18          unsigned char music;                            //歌曲指针
  19          unsigned char yf=0;                             //音符
  20          unsigned char pm=0;                             //拍码,拍数
  21          unsigned char td=0;                             //停顿
  22          unsigned char gq;                               //歌曲选择
  23          //////////////////////////////////////////////////////////////////////
  24          
  25          
  26          
  27          
  28          //*********************************************************************
  29          //歌曲
  30          //*********************************************************************
  31          code unsigned char tab[5][250] = {
  32                  {0x82, 0x01, 0x81, 0x94, 0x84,          //生日快乐
  33                  0xb4, 0xa4, 0x04,
  34                  0x82, 0x01, 0x81, 0x94, 0x84,
  35                  0xc4, 0xb4, 0x04,
  36                  
  37                  0x82, 0x01, 0x81, 0xf4, 0xd4,
  38                  0xb4, 0xa4, 0x94,
  39                  0xe2, 0x01, 0xe1, 0xd4, 0xb4,
  40                  0xc4, 0xb4, 0x04,
  41                  
  42                  0x82, 0x01, 0x81, 0x94, 0x84,
  43                  0xb4, 0xa4, 0x04,
  44                  0x82, 0x01, 0x81, 0x94, 0x84,
  45                  0xc4, 0xb4, 0x04,
  46                  
  47                  0x82, 0x01, 0x81, 0xf4, 0xd4,
  48                  0xb4, 0xa4, 0x94,
  49                  0xe2, 0x01, 0xe1, 0xd4, 0xb4,
  50                  0xc4, 0xb4, 0x04, 0x00},
  51          
  52          
  53                  {0x44, 0x54, 0x64,0x44,                 //两只老虎
  54                  0x44, 0x54, 0x64,0x44,
  55                  0x64, 0x74, 0x88,
C51 COMPILER V7.08   PWM2                                                                  06/22/2006 10:27:59 PAGE 2   

  56                  0x64, 0x74, 0x88,
  57                  
  58                  0x82, 0x92, 0x82, 0x72, 0x64, 0x44,
  59                  0x82, 0x92, 0x82, 0x72, 0x64, 0x44,
  60                  0x44, 0x84, 0x48,
  61                  0x44, 0x14, 0x48,
  62                  
  63                  0x44, 0x54, 0x64,0x44,
  64                  0x44, 0x54, 0x64,0x44,
  65                  0x64, 0x74, 0x88,
  66                  0x64, 0x74, 0x88,
  67                  
  68                  0x82, 0x92, 0x82, 0x72, 0x64, 0x44,
  69                  0x82, 0x92, 0x82, 0x72, 0x64, 0x44,
  70                  0x44, 0x84, 0x48,
  71                  0x44, 0x14, 0x48, 0x00},
  72                  
  73                  {0x64, 0x64, 0x52, 0x42,                //把根留住
  74                  0x28, 0x12, 0x22,
  75                  0x44, 0x44, 0x22, 0x12,
  76                  0xfb,
  77                  
  78                  0x54, 0x54, 0x24,
  79                  0x64, 0x56, 0x22,
  80                  0x6b,
  81                  0x6b,
  82                  
  83                  0x64, 0x64, 0x52, 0x42,
  84                  0x28, 0x12, 0x22,
  85                  0x44, 0x44, 0x22, 0x12,
  86                  0xfb,
  87                  
  88                  0x54, 0x54, 0x24,
  89                  0x64, 0x56, 0x12,
  90                  0x2b,
  91                  0x2b,
  92                  
  93                  0x64, 0x64, 0x52, 0x42,
  94                  0x28, 0x12, 0x22,
  95                  0x44, 0x44, 0x22, 0x12,
  96                  0xfb,
  97                  
  98                  0x54, 0x54, 0x24,
  99                  0x64, 0x56, 0x22,
 100                  0x6b,
 101                  0x6b,
 102                  
 103                  0x64, 0x64, 0x52, 0x42,
 104                  0x28, 0x12, 0x22,
 105                  0x44, 0x44, 0x22, 0x12,
 106                  0xfb,
 107                  
 108                  0x54, 0x54, 0x24,
 109                  0x64, 0x56, 0x12,
 110                  0x2b,
 111                  0x2b,
 112                  
 113                  0x13, 0x21, 0x12, 0x12, 0x12, 0x22,
 114                  0x48, 0x64,
 115                  0x52, 0x62, 0x52, 0x22, 0x52, 0x82,
 116                  0x6b,
 117                  0x94, 0x94, 0xa2, 0x94,
C51 COMPILER V7.08   PWM2                                                                  06/22/2006 10:27:59 PAGE 3   

 118                  0x88, 0x54,
 119                  0x6b,
 120                  
 121                  0x6b,
 122                  0x94, 0x94, 0x92, 0x82,
 123                  0x88, 0x82, 0x52,
 124                  0x66, 0x82, 0x52, 0x62,
 125                  0x2b,
 126                  0x54, 0x86, 0x62,
 127                  0x58, 0x52, 0x62,
 128                  0x2b,
 129                  
 130                  0x24, 0x04, 0x04,
 131                  0x54, 0x86, 0x62,
 132                  0x58, 0x84,
 133                  0x9b, 0x9b, 0x9b, 0x00},
 134                  
 135                                                          
 136                  
 137                  {0x02, 0x12, 0x42, 0x32,        //童话
 138                  
 139                  0x43, 0x11, 0x14, 0x02, 0x12, 0x42, 0x32,
 140                  0x43, 0x11, 0x14, 0x02, 0x12, 0x42, 0x32,
 141                  0x46, 0x42, 0x42, 0x22, 0x22, 0x12,
 142                  0x18, 0x02, 0x12, 0x42, 0x32,
 143                  
 144                  0x42, 0x12, 0x14, 0x02, 0x12, 0x63, 0x51,
 145                  0x52, 0x42, 0x44, 0x02, 0x12, 0x42, 0x32,
 146                  0x42, 0x22, 0x02, 0x22, 0x22, 0x42, 0x92, 0x82,
 147                  0x88, 0x02, 0x52, 0x52, 0x72,
 148                  
 149                  0x72, 0x62, 0x64, 0x02, 0x62, 0x52, 0x32,
 150                  0x53, 0x41, 0x42, 0x31, 0x41, 0x02, 0x42, 0x32, 0x42,
 151                  0x74, 0x02, 0x12, 0x82, 0x72, 0x62, 0x52,
 152                  0x58, 0x02, 0x52, 0x52, 0x72,
 153                  
 154                  0x72, 0x62, 0x64, 0x02, 0x62, 0x62, 0xa2,
 155                  0xa2, 0x92, 0xa2, 0xb2, 0x02, 0xb2, 0x52, 0x42,
 156                  0x96, 0x92, 0x92, 0x82, 0x82, 0x82,
 157                  0x88, 0x02, 0x12, 0x82, 0x72,
 158                  
 159                  0x64, 0x62, 0x71, 0x61, 0x64, 0x62, 0x72,
 160                  0x62, 0x72, 0x62, 0x51, 0x41, 0x02, 0x42, 0x62, 0x82,
 161                  0x94, 0x92, 0x91, 0x81, 0x82, 0x52, 0x52, 0x71, 0x61,
 162                  0x68, 0x02, 0x42, 0x62, 0x82,
 163                  
 164                  0x94, 0x92, 0x91, 0x81, 0x52, 0x52, 0x52, 0x72,
 165                  0x62, 0x72, 0x62, 0x51, 0x41, 0x44, 0x52, 0x51, 0x61,
 166                  0x24, 0x22, 0x42, 0x42, 0x32, 0x34,
 167                  0x48, 0x00 },
 168                  
 169                  {0x04, 0x04, 0x02, 0x42, 0x42, 0x52,            //昨日重现
 170                  0x64, 0x84, 0x82, 0x62, 0x82, 0x62,
 171                  0x94, 0x84, 0x64, 0x62, 0x82,
 172                  
 173                  0x94, 0x54, 0x62, 0x86,
 174                  0x98, 0x04, 0x62, 0x82,
 175                  0x94, 0xd4, 0xc2, 0xb4, 0xa2,
 176                  0xa6, 0x82, 0x62, 0x84, 0x64, 0x5b}
 177                  };
 178                  
 179          
C51 COMPILER V7.08   PWM2                                                                  06/22/2006 10:27:59 PAGE 4   

 180          //**********************************************************************
 181          //函数名:void PORT_Init (void)
 182          //功能描述:端口初始化。
 183          //**********************************************************************
 184          void PORT_Init (void)
 185          {
 186   1      
 187   1              P2MDOUT = 0x01;                 // P2.0为输出。
 188   1              
 189   1              P0SKIP = 0XFF;
 190   1              P1SKIP = 0X7F;
 191   1              
 192   1              XBR0 = 0x00;                    //硬件UART。
 193   1              XBR1 = 0xC2;                    //弱上拉关,交叉开关使能,CEX1使能。
 194   1      }
 195          
 196          
 197          
 198          
 199          //**********************************************************************
 200          //函数名:void Internal_Crystal(void)
 201          //功能描述:设定内部时钟。
 202          //**********************************************************************
 203          void Internal_Crystal(void)
 204          {
 205   1              OSCICN = 0x83;                  // 内部振荡器允许,不分频最快频率 
 206   1                                  
 207   1              CLKSEL = 0x00;                  // 使用内部振荡器。                                     
 208   1      }
 209          
 210          //**********************************************************************
 211          //函数名:void PWMInit(void)
 212          //功能描述:PWM初始化。
 213          //**********************************************************************
 214          void PWMInit(void)
 215          {

⌨️ 快捷键说明

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