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

📄 脉宽调制技术.lst

📁 这是一个由C语言编写的PWM技术控制灯炮亮暗的程序.亮暗分为几级,由独立按钮调节.
💻 LST
字号:
C51 COMPILER V7.06   脉宽_髦萍际_                                                          01/04/2008 20:52:49 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 脉宽_髦萍际_
OBJECT MODULE PLACED IN 脉宽调制技术.OBJ
COMPILER INVOKED BY: D:\keil c51\C51\BIN\C51.EXE 脉宽调制技术.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //这是一个PWM技术控制电灯亮暗的C语言程序
   2          #include<reg52.h>
   3          sbit KEY=P3^2;
   4          sbit OUTPUT=P1^0;
   5          sbit P11=P1^1;
   6          sbit P12=P1^2;
   7          sbit P17=P1^7;
   8          sbit P13=P1^3;
   9          sbit P33=P3^3;
  10          sbit P34=P3^4;
  11          sbit P35=P3^5;
  12          sbit P36=P3^6;
  13          sbit P37=P3^7;
  14          unsigned short int leddisplaycode[10]={0xC0,0xF9,0xA4,0xB0,0x99,
  15          0x92,0x82,0xF8,0x80,0x90};/*这是LED显示代码*/
  16          unsigned char counter=0;
  17          unsigned char pointer=9;
  18          unsigned char width=10;
  19          //延时子程序
  20          //延时时间为(timex2+2)us
  21          void delay(int time)
  22          { int s;
  23   1      for(s=0;s<time;s++);
  24   1      }
  25          void _keyp32_(void)//这是P32按键的处理程序
  26          {pointer++;
  27   1      if (pointer==10) pointer=0;
  28   1      while(KEY==0);
  29   1      }
  30          void _keyp33_(void)
  31          {P11=~P11;
  32   1      while(P33==0);}//这是P33处理程序
  33          void _keyp34_(void)
  34          {P12=~P12;while(P34==0);}
  35          void _keyp35_(void)
  36          {P17=~P17;
  37   1      while(P35==0);}
  38          void _keyp36_(void){}
  39          void _keyp37_(void){}
  40          void _keyboard_(void)//这是键盘程序
  41          {void delay(int time);
  42   1      if (KEY==0){delay(1500);if(KEY==0) _keyp32_();};
  43   1      if (P33==0){delay(1500);if(P33==0) _keyp33_();};
  44   1      if (P34==0){delay(1500);if(P34==0) _keyp34_();};
  45   1      if (P35==0){delay(1500);if(P35==0) _keyp35_();};
  46   1      if (P36==0){delay(1500);if(P36==0) _keyp36_();};
  47   1      if (P37==0){delay(1500);if(P37==0) _keyp37_();};
  48   1      }
  49          main()
  50          {TMOD=0x02;
  51   1      TH0=256-100;
  52   1      TL0=256-100;
  53   1      EA=1;
  54   1      ET0=1;
  55   1      TR0=1;
C51 COMPILER V7.06   脉宽_髦萍际_                                                          01/04/2008 20:52:49 PAGE 2   

  56   1      LOOP: _keyboard_();
  57   1      P0=leddisplaycode[pointer];
  58   1      P2=0X0F;
  59   1      goto LOOP;}
  60          void timer0_interrupt() interrupt 1 using 0
  61          {counter++;
  62   1      if(counter==width)
  63   1      {OUTPUT=P17;
  64   2      counter=0;}
  65   1      if(counter==pointer) OUTPUT=~OUTPUT;
  66   1      }
  67          
  68          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    199    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     23    ----
   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 + -