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

📄 ts_led.lst

📁 单片机一个简单教程
💻 LST
字号:
C51 COMPILER V7.07   TS_LED                                                                12/25/2007 21:27:14 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE TS_LED
OBJECT MODULE PLACED IN ts_led.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ts_led.c BROWSE DEBUG OBJECTEXTEND TABS(8)

stmt level    source

   1          #include"reg51.h"
   2          #include"intrins.h"
   3          #define  uchar unsigned char    
   4          #define  uint  unsigned int
   5          #define  nop  _nop_()                                   /* 定义空操作指令 */
   6          sbit en =P1^7;                                          /*DTLED-6显示芯片使能端*/       
   7          sbit dout=P1^6;                                         /*DTLED-6显示芯片数据读入端*/
   8          sbit clk=P1^3;                                          /*DTLED-6显示芯片/时钟芯片DS1302时钟输入端*/
   9          uchar dispbuf[9];                                       /*显示值存放阵列*/
  10          void delay (uint value)                                 /*延时副程式*/
  11          {
  12   1            while (value!=0) value--;                         /*10US延时*/
  13   1      }
  14          
  15          /*********************************************************************/
  16          
  17          //串行发送DTLED-6显示
  18          //dispbuf0-dispbuf1-dispbuf2-dispbuf3-dispbuf4-dispbuf5-dispbuf6-dispbuf7-dispbuf8
  19          // 小数点 - 数码管1- 数码管2- 数码管3- 数码管4- 数码管5- 数码管6-ID识别码-BZ识别码
  20          //00000xxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx
  21          //小数点=1~6,其它为不显示                                                                                                       
  22          //数码管1-6=0~15,
  23          //ID识别码=0~15   
  24          //BZ识别码=BZ.3为蜂鸣输出控制位,0=关闭,1=打开
  25          //     BZ0~2为蜂鸣频率输出设定为,000=不分频,  最高频率输出=4800Hz;
  26          //                                                                001=一次分频,频率输出=4800/ 2 =2400Hz;
  27          //                                                                010=二次分频,频率输出=4800/ 4 =1200Hz;
  28          //                                                                011=三次分频,频率输出=4800/ 8 =600Hz;
  29          //                                                                100=四次分频,频率输出=4800/ 16=300Hz;
  30          //                                                                101=五次分频,频率输出=4800/ 32=150Hz;
  31          //                                                                110=六次分频,频率输出=4800/ 64=75Hz;                                
  32          //                                                                111=七次分频,频率输出=4800/128=38Hz;      
  33          //======================================================================
  34          void tsled(void)                                        /*串行发送DTLED-6显示副程式*/   
  35          {   
  36   1              char ts0,i,j;
  37   1              clk=0;
  38   1              en=0;
  39   1              delay(10);
  40   1              for(j=0;j<9;j++)
  41   1              {       ts0=dispbuf[j];
  42   2                      for(i=0;i<4;i++)                        /*发小数点码8,4,2,1*/
  43   2                      {
  44   3                      clk=1;
  45   3                      ts0=ts0<<1;     
  46   3                      if(AC==1) 
  47   3                      dout=1;
  48   3                      else      dout=0;
  49   3                      clk=0;
  50   3                      nop;
  51   3                      delay(3);
  52   3                      }
  53   2              }       
  54   1              en=1;
  55   1      }                                                       /*返回主程式*/
C51 COMPILER V7.07   TS_LED                                                                12/25/2007 21:27:14 PAGE 2   

  56          
  57          void main(void)
  58          {
  59   1              uchar i,j,dat=0;
  60   1              dispbuf[7]=0x01;                                /*ID号码*/
  61   1              dispbuf[8]=0x00;                                /*蜂鸣器关闭*/
  62   1              while(1)
  63   1              {
  64   2                      for(i=1;i<=6;i++)
  65   2                              {
  66   3                                      dispbuf[0]=i;           /*小数点位显示*/
  67   3                                      tsled();
  68   3                                      delay(50000);
  69   3                               }
  70   2                      dispbuf[0]=0x00;                        /*关闭小数点位显示*/
  71   2                      for(i=0;i<3;i++)                        /*数据显示*/
  72   2                              for(j=1;j<=6;j++)
  73   2                                      {
  74   3                                              dispbuf[j]=dat++;
  75   3                                              tsled();
  76   3                                              delay(50000);
  77   3                                      }
  78   2              }
  79   1       }


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