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

📄 timer_fangbo_c.lst

📁 电子开发网培训用的51单片机内部培训代码
💻 LST
字号:
C51 COMPILER V7.06   TIMER_FANGBO_C                                                        05/14/2006 16:51:36 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE TIMER_FANGBO_C
OBJECT MODULE PLACED IN timer_fangbo_c.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE timer_fangbo_c.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //****************************************************
   2          //实现功能:单片机的晶振为12MHz,使用定时/计数器0编写
   3          //                      一个产生2KHz的方波程序,并在P1.0输出
   4          //目标板:
   5          //****************************************************
   6          #include <reg51.h>
   7          //*****************宏定义*****************************
   8          sbit p_out=P1^0;//宏定义P1.0为p_out,方波的输出脚
   9          //****************************************************
  10          //*****************定义全局变量***********************
  11          unsigned int td_num;
  12          //****************************************************
  13          //******************定义子函数************************
  14          void timer_init(unsigned char time_num,unsigned char time_GATE,unsigned char time_CT,unsigned char time_mo
             -de);
  15          //****************************************************
  16          //*********************主函数************************
  17          //描    述:使用使用定时/计数器0编写一个产生2KHz的
  18          //         方波程序,并在P1.0输出
  19          //入口参数:无
  20          //返回参数:无
  21          //设    计:ycj
  22          //最后修改:时间(2006.5.2)  修改人(ycj)
  23          //****************************************************
  24          int main(void)
  25          {
  26   1       timer_init(0,0,0,2);//定时器0,GATE=0仅由TR0控制定时器0的启动,设定为定时器功能,方式2(计数器长度为8位)
  27   1       TL0=0x6;//对定时器赋初值TC=6,也就是计数250次后溢出
  28   1       TH0=0x6;//自动重装值
  29   1       TR0=1;//启动定时器0
  30   1       ET0=1;//允许T0中断
  31   1       EA=1;//允许全局中断
  32   1       while(1);//死循环
  33   1      }
  34          //************************定时器初始化函数***************************
  35          //描    述:对定时/计数器初始化
  36          //入口参数:unsigned char time_num  定时/计数器的编号(0或者1)
  37          //         unsigned char time_GATE 定时/计数器的门控制位(0或者1)
  38          //                 unsigned char time_CT   定时/计数器的功能选择位(0或者1)
  39          //         unsigned char time_mode 定时/计数器的方式选择(0~3)
  40          //返回参数:无
  41          //设    计:ycj
  42          //最后修改:时间(2006.5.2)  修改人(ycj)
  43          //*******************************************************************
  44          void timer_init(unsigned char time_num,unsigned char time_GATE,unsigned char time_CT,unsigned char time_mo
             -de)
  45          {
  46   1       if (time_num==0)
  47   1              {
  48   2               TMOD&=0xf0;
  49   2               TMOD|=(time_GATE<<4)+(time_CT<<3)+(time_mode);
  50   2              }
  51   1       else if (time_num==1)
  52   1              {
  53   2               TMOD&=0x0f;
C51 COMPILER V7.06   TIMER_FANGBO_C                                                        05/14/2006 16:51:36 PAGE 2   

  54   2               TMOD|=(time_GATE<<8)+(time_CT<<7)+(time_mode<<4);
  55   2              }
  56   1      }
  57          //************************定时器0中断处理函数***********************
  58          //描    述:定时器0中断处理函数,实现P1.0脚输出2KHz的方波
  59          //入口参数:无
  60          //返回参数:无
  61          //设    计:ycj
  62          //最后修改:时间(2006.5.2)  修改人(ycj)
  63          //*******************************************************************
  64          void timer0(void) interrupt 1 using 1
  65          {
  66   1       if (td_num>=10)
  67   1         {
  68   2          p_out=!p_out;
  69   2              td_num=0;
  70   2         }
  71   1       else
  72   1          td_num++;
  73   1      
  74   1      }


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