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

📄 delay subroutine.lst

📁 本程序实现通过BDM方式访问MOTOROLA 9S12单片机EEPROM
💻 LST
字号:
C51 COMPILER V7.50   DELAY_SUBROUTINE                                                      07/16/2008 08:39:37 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DELAY_SUBROUTINE
OBJECT MODULE PLACED IN ..\..\..\c\05\05b16\delay subroutine.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\..\c\05\05b16\delay subroutine.c BROWSE DEBUG OBJECTEXTEND PRINT(.\de
                    -lay subroutine.lst) SRC(.\delay subroutine.SRC)

line level    source

   1          /****************************************Copyright (c)**************************************************
   2          **                                    大连双马电子有限公司
   3          **                                       研   发   部
   4          **                                         研发一部 
   5          **
   6          **                                 http://www.smelecom.com/
   7          **
   8          ** 文   件   名: Delay subroutine
   9          ** 编 写  日 期: 2006年3月24日
  10          ** 描        述: This programme is used for read and write the Motorola 32series MCU
  11          ** 版        本: the first one 
  12          ** 编        者: 宋晓伟
  13          **********************************************************************************************************
             -*/
  14          
  15          
  16          
  17          #include  <reg54.h>
  18          //#include  <absacc.h>
  19          //#include <intrins.h>
  20          
  21          #define uchar unsigned char
  22          #define uint unsigned int
  23          sbit  qTXD=P1^3;
  24          sbit  qRXD=P1^2;
  25          //sbit  qTXD=P1^6;
  26          //sbit flag=PSW^5;
  27          
  28          /*********************************************************
  29          * 函数原型: void delay1us(void);
  30          * 功    能: 1us的基本延迟。
  31          *********************************************************/
  32          void delay1us(void) {
  33   1        #pragma asm
  34   1          nop
  35   1          nop
  36   1        #pragma endasm
  37   1      }
  38           
  39          
  40          /*******************************************************
  41          *函数原型:void delay17us(void);
  42          *功    能:17us的延迟,给模拟串口提供。
  43          *******************************************************/
  44          void delay17us(void) {
  45   1        int  n;
  46   1       #pragma asm
  47   1         nop
  48   1         nop
  49   1         nop
  50   1         nop
  51   1         nop
  52   1         nop
  53   1         nop
C51 COMPILER V7.50   DELAY_SUBROUTINE                                                      07/16/2008 08:39:37 PAGE 2   

  54   1         nop
  55   1         nop
  56   1         nop
  57   1         nop
  58   1         nop
  59   1         nop
  60   1         nop
  61   1         nop
  62   1         nop
  63   1       #pragma endasm
  64   1        for(n=0;n<=5;n++) {
  65   2          delay1us();
  66   2          }
  67   1      }
  68          
  69          
  70          /*********************************************************
  71          *函数原型:void delay10us(void);
  72          *功    能:10us延迟。
  73          **********************************************************/ 
  74          void delay10us(void) {
  75   1        int  n;
  76   1        for (n=0;n<=3;n++) {
  77   2          delay1us();
  78   2           }
  79   1      }
  80          /*
  81          void delay133us(void) {
  82            int  n;
  83            for (n=0;n<=62;n++) {
  84              delay1us();
  85               }
  86          }
  87          
  88          
  89          
  90          /*********************************************************
  91          *函数原型:void delay104us(void);
  92          *功    能:10us延迟。
  93          **********************************************************/ 
  94          void delay52us(void) {
  95   1        int  n;
  96   1        for (n=0;n<=24;n++) {
  97   2          delay1us();
  98   2           }
  99   1      }
 100          
 101          void delay104us(void) {
 102   1        int  n;
 103   1        for (n=0;n<=49;n++) {
 104   2          delay1us();
 105   2           }
 106   1      }
 107          
 108          /*********************************************************
 109          *函数原型:void delay35us(void);
 110          *功    能:35us延迟。
 111          **********************************************************
 112           
 113          void delay80us(void) {
 114            int  n;
 115            for (n=0;n<=39;n++) {
C51 COMPILER V7.50   DELAY_SUBROUTINE                                                      07/16/2008 08:39:37 PAGE 3   

 116              delay1us();
 117               }
 118          }
 119           /*void delay7us(void) {
 120            int  n;
 121            for (n=0;n<=2;n++) {
 122              delay1us();
 123               }
 124          }
 125           
 126          
 127           void delay3us(void) {
 128            int  n;
 129            for (n=0;n<=0;n++) {
 130              delay1us();
 131               }
 132          }*/
 133          /*********************************************************
 134          *函数原型:void delay10ms(void);
 135          *功    能:10ms延迟。
 136          **********************************************************/ 
 137           
 138          void delay10ms(void) {
 139   1        int  v;
 140   1        for (v=0;v<700;v++)
 141   1           {
 142   2            delay17us();
 143   2            }
 144   1      }
 145           
 146          void delay4ms(void) {
 147   1        int  v;
 148   1        for (v=0;v<300;v++)
 149   1           {
 150   2            delay17us();
 151   2            }
 152   1      }  
 153          
 154          void delay1ms(void) {
 155   1        int  v;
 156   1        for (v=0;v<60;v++)
 157   1           {
 158   2            delay17us();
 159   2            }
 160   1      } 
 161           
 162          /*
 163           
 164          void delay6ms(void) {
 165            int  v;
 166            for (v=0;v<455;v++)
 167               {
 168                delay17us();
 169                }
 170          }
 171           
 172           
 173          /*********************************************************
 174          *函数原型:void delay40ms(void);
 175          *功    能:40ms延迟。
 176          **********************************************************/
 177           
C51 COMPILER V7.50   DELAY_SUBROUTINE                                                      07/16/2008 08:39:37 PAGE 4   

 178          void delay40ms(void) {
 179   1        int  v;
 180   1        for (v=0;v<1500;v++)
 181   1           {
 182   2            delay17us();
 183   2            }
 184   1      }
 185          
 186          /*********************************************************
 187          *函数原型:void delay40ms(void);
 188          *功    能:40ms延迟。
 189          **********************************************************/ 
 190           
 191          void delay200ms(void) {
 192   1        int  v;
 193   1        for (v=0;v<13000;v++)
 194   1           {
 195   2            delay17us();
 196   2            }
 197   1      }
 198            
 199          void delay100ms(void) {
 200   1        int  v;
 201   1        for (v=0;v<6400;v++)
 202   1           {
 203   2            delay17us();
 204   2            }
 205   1      }
 206          /*********************************************************
 207          *函数原型:void delay207ms(void);
 208          *功    能:207ms延迟。
 209          ********************************************************** 
 210          void delay207ms(void) {
 211            int  v;
 212            for (v=0;v<13550;v++)
 213               {
 214                delay17us();
 215                }
 216          }
 217          
 218          /*********************************************************
 219          *函数原型:void delay60ms(void);
 220          *功    能:60ms延迟。
 221          **********************************************************  
 222          void delay60ms(void) {
 223            int  v;
 224            for (v=0;v<3750;v++)
 225               {
 226                delay17us();
 227                }
 228          }
 229          
 230          /*********************************************************
 231          *函数原型:void delay107ms(void);
 232          *功    能:107ms延迟。
 233          ********************************************************** 
 234           
 235          void delay107ms(void) {
 236            int  v;
 237            for (v=0;v<7000;v++)
 238               {
 239                delay17us();
C51 COMPILER V7.50   DELAY_SUBROUTINE                                                      07/16/2008 08:39:37 PAGE 5   

 240                }
 241          }
 242          
 243          /*********************************************************
 244          *函数原型:uchar input(void);
 245          *功    能:模拟串口输入函数,输入一个字节。
 246          **********************************************************/
 247          uchar input(void) {
 248   1        int  m;
 249   1        uchar in_data;
 250   1        in_data=0x00;
 251   1        
 252   1        while(qRXD);
 253   1        delay10us();
 254   1        delay17us();
 255   1        for(m=0;m<7;m++)
 256   1              {
 257   2          //qrTXD=1;
 258   2              if(qRXD==1){
 259   3            in_data|=0x80;
 260   3            }
 261   2          else {
 262   3            in_data&=0x7f;
 263   3            }
 264   2          in_data>>=1;
 265   2          delay17us();
 266   2         }
 267   1              if(qRXD==1){
 268   2            in_data|=0x80;
 269   2            }
 270   1          else {
 271   2            in_data&=0x7f;
 272   2            }
 273   1              delay17us();
 274   1          delay1us();
 275   1          delay1us();
 276   1              delay1us();
 277   1              delay1us();
 278   1          return(in_data);
 279   1       }
 280          
 281          
 282          
 283          
 284          
 285          
 286          
 287          /*********************************************************
 288          *函数原型:void output(uchar sda);
 289          *功    能:模拟串口输出函数,输出一个字节。
 290          **********************************************************/
 291          void output(uchar sda) {
 292   1        int  m;
 293   1        m=0;
 294   1        qTXD=0;
 295   1        delay17us();
 296   1        while(m<8)
 297   1        {if (sda&1){
 298   3          qTXD=1;
 299   3           }
 300   2         else {
 301   3          qTXD=0;
C51 COMPILER V7.50   DELAY_SUBROUTINE                                                      07/16/2008 08:39:37 PAGE 6   

 302   3              }
 303   2          delay17us();
 304   2          m=m+1;
 305   2          sda>>=1;
 306   2         }
 307   1         qTXD=1;
 308   1         delay17us();
 309   1      } 
 310          /*
 311          void outputt(uchar sda) {
 312            int  m;
 313            m=0;
 314            qrTXD=0;
 315            delay17us();
 316            while(m<8)
 317            {if (sda&1){
 318              qrTXD=1;
 319               }
 320             else {
 321              qrTXD=0;
 322                  }
 323              delay17us();
 324              m=m+1;
 325              sda>>=1;
 326             }
 327             qrTXD=1;
 328             delay17us();
 329          
 330          }*/ 


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