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

📄 产生200ms方波.lst

📁 51实例大全
💻 LST
字号:
C51 COMPILER V7.06   瞋蒧200MS_讲_                                                         05/15/2010 23:50:12 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 瞋蒧200MS_讲_
OBJECT MODULE PLACED IN .\obj\产生200mS方波.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 产生200mS方波.c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\产生200mS方波.lst) OB
                    -JECT(.\obj\产生200mS方波.obj)

stmt level    source

   1          /*-----------------------------------------------
   2            名称:定时器0 
   3            论坛:www.doflye.net
   4            编写:shifang
   5            日期:2009.5
   6            修改:无
   7            内容:通过定时产生200mS方波 
   8          ------------------------------------------------*/
   9          #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
  10          
  11          sbit OUT=P1^2;    //定义OUT输出端口
  12          
  13          /*------------------------------------------------
  14                              定时器初始化子程序
  15          ------------------------------------------------*/
  16          void Init_Timer0(void)
  17          {
  18   1       TMOD |= 0x01;    //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响                 
  19   1       //TH0=0x00;          //给定初值,这里使用定时器最大值从0开始计数一直到65535溢出
  20   1       //TL0=0x00;
  21   1       EA=1;            //总中断打开
  22   1       ET0=1;           //定时器中断打开
  23   1       TR0=1;           //定时器开关打开
  24   1      }
  25          /*------------------------------------------------
  26                              主程序
  27          ------------------------------------------------*/
  28          main()
  29          {
  30   1       Init_Timer0();
  31   1       while(1);
  32   1      }
  33          
  34          /*------------------------------------------------
  35                           定时器中断子程序
  36          ------------------------------------------------*/
  37          void Timer0_isr(void) interrupt 1 using 1
  38          {
  39   1       static unsigned char i;
  40   1       TH0=(65536-10000)/256;           //重新赋值 12M晶振计算,指令周期1uS,200mS方波半个周期100mS,由于定时器最大值65
             -536 即65.536ms 所以
  41   1       TL0=(65536-10000)*256;         //直接定时器不够用,需要用循环处理,定时10ms,然后循环10次后输出 10x10=100m
             -s
  42   1      
  43   1       i++;
  44   1       if(i==11)
  45   1       {
  46   2         i=0;
  47   2         OUT=~OUT;        //用示波器可看到方波输出 
  48   2        }
  49   1      
  50   1      }


C51 COMPILER V7.06   瞋蒧200MS_讲_                                                         05/15/2010 23:50:12 PAGE 2   

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