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

📄 main.lst

📁 07年电子设计大赛程序,开关电源设计,全部代码
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  09/05/2007 08:58:03 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          //文 件 名:CPLD.H
   2          //功    能:实现单片机与CPLD器件的数据传送
   3          //作    者:吕定胜
   4          //创建日期:2007-09-03
   5          //修改日期:
   6          
   7          //传送端口定义
   8          #include <stc12c5410ad.h>
   9          #include "lcd.h"
  10          sbit pwmclk = P2^3;
  11          sbit senddata = P2^2;
  12          sbit pwmcs = P2^5;
  13          sbit outcs = P2^6;
  14          unsigned char flagpower;
  15          int gpwm;
  16          
  17          void delay_50us1(unsigned char i)
  18          {
  19   1              unsigned char j;
  20   1              while(i--)
  21   1              for(j=0;j<146;j++);
  22   1      }
  23          
  24          //发送数据子程序
  25          void send(int pwmdata)
  26          {
  27   1              unsigned char i;
  28   1              pwmdata <<= 7;
  29   1              pwmcs = 0;
  30   1              for(i=0;i<9;i++)
  31   1              {
  32   2                      
  33   2                      pwmdata <<= 1;
  34   2                      senddata = CY;
  35   2                      pwmclk = 0;
  36   2                      pwmclk = 1;
  37   2                      pwmclk = 1;
  38   2                      pwmclk = 0;
  39   2              }
  40   1              pwmcs = 0;
  41   1              pwmcs = 1;
  42   1      }
  43          
  44          
  45          void main()
  46          {
  47   1              P1M0 = 0x0F;
  48   1              P1M1 = 0xF0;    //设置P1.0~3为高阻输入,作ADC输入用.P1.4~7为推挽式
  49   1              IPH = 0x01;
  50   1              IP  = 0x01;             //设置按键中断为最高级
  51   1              IT0 = 1;                //设置按键中断为下降沿有效
  52   1              EA  = 1;                //开总中断
  53   1              EX0 = 1;                //开键盘中断
  54   1              lcdinit();
  55   1              outcs = 1;
C51 COMPILER V7.06   MAIN                                                                  09/05/2007 08:58:03 PAGE 2   

  56   1              gpwm = 255;
  57   1              send(gpwm);
  58   1              while(1){;}
  59   1              
  60   1      }
  61          
  62          
  63          
  64          void ex0_int(void) interrupt 0
  65          {
  66   1              unsigned int i,j;
  67   1              wr_lcd(1,49);
  68   1              ADC_CONTR = 0xE0;                       //选择ADC0通道
  69   1              do
  70   1              {
  71   2                      ADC_CONTR |= 0x08;                      //启动AD转换
  72   2                      while(!(ADC_CONTR&0x10));       //AD转换尚未完成,继续等待
  73   2                      ADC_CONTR = ADC_CONTR&0xE7;     //清ADC_FLAG,ADC_START,停止AD转换
  74   2                      i = ADC_DATA;
  75   2                      delay_50us1(1);
  76   2      
  77   2                      ADC_CONTR |= 0x08;                      //启动AD转换
  78   2                      while(!(ADC_CONTR&0x10));       //AD转换尚未完成,继续等待
  79   2                      ADC_CONTR = ADC_CONTR&0xE7;     //清ADC_FLAG,ADC_START,停止AD转换
  80   2                      j = ADC_DATA;
  81   2              }while(j!=i);
  82   1                      
  83   1              wr_lcd(1,50);
  84   1      
  85   1              j &= 0xFC;
  86   1      
  87   1              switch(j)
  88   1              {
  89   2                      case 0xF0:      //"开关"
  90   2                      wr_lcd(1,55);
  91   2                      if(flagpower==1)
  92   2                      {
  93   3                              outcs = 1;
  94   3                              gpwm = 511;
  95   3                              flagpower = 0;
  96   3                      }//关电源
  97   2                      else 
  98   2                      {
  99   3                              
 100   3                              gpwm = 255;
 101   3                              send(gpwm);
 102   3                              outcs = 0;
 103   3                              flagpower = 1;
 104   3                      }//开电源
 105   2                      break;
 106   2                      
 107   2                      case 0xE4://向上
 108   2                              gpwm -= 5;
 109   2                              send(gpwm);
 110   2                              break;
 111   2                      
 112   2                      case 0xD8://向下
 113   2                              gpwm += 5;
 114   2                              send(gpwm);
 115   2                              break;
 116   2      
 117   2                      case 0x3C:                                      //按下1
C51 COMPILER V7.06   MAIN                                                                  09/05/2007 08:58:03 PAGE 3   

 118   2                              gpwm = 5;
 119   2                              send(gpwm);
 120   2                              break;
 121   2                      
 122   2                      case 0x8C:                                      //按下2
 123   2                      gpwm = 505;
 124   2                      send(gpwm);
 125   2                      break;
 126   2              }
 127   1              display_coordinate(2,1);
 128   1              i = gpwm;
 129   1              wr_lcd(1,i/1000+48);
 130   1              i %= 1000;
 131   1              wr_lcd(1,i/100+48);
 132   1              i %= 100;
 133   1              wr_lcd(1,i/10+48);
 134   1              wr_lcd(1,i%10+48);
 135   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    942    ----
   CONSTANT SIZE    =     67    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3       8
   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 + -