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

📄 p89c668.lst

📁 一个流量控制仪器的源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
  37   1              
  38   1              i = PCON & 0x10;
  39   1              PCON &= 0xEF;   //POF需要软件清除!!
  40   1       
  41   1              return(i>>4);
  42   1      }
  43          
  44          
  45          /*******************************************************************
  46                                  启动P89C668的PCA看门狗设置
  47          函数原型: void WatchDog0_Init();
  48          功能: 启动P89C668的PCA看门狗设置
  49          注意:使用了内嵌ASM,需要打开 Generate Assembler SRC file
  50                  Assemble SRC file.
  51          *******************************************************************/
  52          void WatchDog0_Init()
  53          {
  54   1      /*
  55   1      #pragma asm
  56   1      
  57   1              MOV CCAPM4 , #4CH        ;模块4 处于比较模式
  58   1              MOV CCAP4L , #0FFH       ;首先写入低字节
  59   1              MOV CCAP4H , #0FFH       ;在PCA 计数达到FFFFH之前,这些比较值必须被改变.
  60   1              ORL CMOD  , #40H         ;只对CMOD的WDTE进行置位,使看门狗定时器使能.
  61   1      
  62   1      #pragma endasm
  63   1      */
  64   1              CCAPM4 = 0x4C;
  65   1              CCAP4L = 0xFF;
  66   1              CCAP4H = 0xFF;
  67   1              CMOD |= 0x40;
  68   1              CR = 1;                 //开始PCA计数
  69   1      
  70   1      }
  71          
  72          
C51 COMPILER V7.07   P89C668                                                               07/08/2004 05:56:15 PAGE 5   

  73          
  74          /*******************************************************************
  75                                  喂P89C668的PCA看门狗
  76          函数原型: void WatchDog0();
  77          功能: 喂P89C668的PCA看门狗
  78          注意:使用了内嵌ASM,需要打开 Generate Assembler SRC file
  79                  Assemble SRC file.
  80          *******************************************************************/
  81          void WatchDog0()
  82          {
  83   1      
  84   1      /*
  85   1      #pragma asm
  86   1      
  87   1              CLR EA                  ;清除中断
  88   1              MOV CCAP4L , #00        ;下一个比较值是当前PCA定时器高8位(CH)值的255倍
  89   1              MOV CCAP4H , CH         ;来避免(CCAPH,CCAPL) = (CH,CL)
  90   1              SETB EA
  91   1      
  92   1      #pragma endasm
  93   1      */
  94   1      
  95   1              EA = 0;
  96   1              CCAP4L = 0x0;
  97   1              CCAP4H = CH;
  98   1              EA = 1;
  99   1      
 100   1      }
 101          
 102          
 103          
 104          /*******************************************************************
 105                                  启动P89C668的硬件看门狗设置
 106          函数原型: void WatchDog1_Init();
 107          功能: 启动P89C668的硬件看门狗设置
 108          *******************************************************************/
 109          void WatchDog1_Init()
 110          {
 111   1              WDTRST = 0x1E;
 112   1              WDTRST = 0xE1;
 113   1      }
 114          
 115          
 116          
 117          /*******************************************************************
 118                                  喂P89C668的硬件看门狗
 119          函数原型: void WatchDog1();
 120          功能: 喂P89C668的硬件看门狗
 121          *******************************************************************/
 122          void WatchDog1()
 123          {
 124   1              WDTRST = 0x1E;
 125   1              WDTRST = 0xE1;
 126   1      }
C51 COMPILER V7.07   P89C668                                                               07/08/2004 05:56:15 PAGE 6   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION PowerOff (BEGIN)
                                           ; SOURCE LINE # 34
                                           ; SOURCE LINE # 35
                                           ; SOURCE LINE # 38
0000 E587              MOV     A,PCON
0002 5410              ANL     A,#010H
;---- Variable 'i' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 39
0004 5387EF            ANL     PCON,#0EFH
                                           ; SOURCE LINE # 41
0007 C4                SWAP    A
0008 540F              ANL     A,#0FH
000A FF                MOV     R7,A
                                           ; SOURCE LINE # 42
000B         ?C0001:
000B 22                RET     
             ; FUNCTION PowerOff (END)

             ; FUNCTION WatchDog0_Init (BEGIN)
                                           ; SOURCE LINE # 52
                                           ; SOURCE LINE # 53
                                           ; SOURCE LINE # 64
0000 75C64C            MOV     CCAPM4,#04CH
                                           ; SOURCE LINE # 65
0003 75EEFF            MOV     CCAP4L,#0FFH
                                           ; SOURCE LINE # 66
0006 75FEFF            MOV     CCAP4H,#0FFH
                                           ; SOURCE LINE # 67
0009 43C140            ORL     CMOD,#040H
                                           ; SOURCE LINE # 68
000C D2C6              SETB    CR
                                           ; SOURCE LINE # 70
000E 22                RET     
             ; FUNCTION WatchDog0_Init (END)

             ; FUNCTION WatchDog0 (BEGIN)
                                           ; SOURCE LINE # 81
                                           ; SOURCE LINE # 82
                                           ; SOURCE LINE # 95
0000 C2AF              CLR     EA
                                           ; SOURCE LINE # 96
0002 E4                CLR     A
0003 F5EE              MOV     CCAP4L,A
                                           ; SOURCE LINE # 97
0005 85F9FE            MOV     CCAP4H,CH
                                           ; SOURCE LINE # 98
0008 D2AF              SETB    EA
                                           ; SOURCE LINE # 100
000A 22                RET     
             ; FUNCTION WatchDog0 (END)

             ; FUNCTION WatchDog1_Init (BEGIN)
                                           ; SOURCE LINE # 109
                                           ; SOURCE LINE # 110
                                           ; SOURCE LINE # 111
0000 75A61E            MOV     WDTRST,#01EH
                                           ; SOURCE LINE # 112
0003 75A6E1            MOV     WDTRST,#0E1H
                                           ; SOURCE LINE # 113
C51 COMPILER V7.07   P89C668                                                               07/08/2004 05:56:15 PAGE 7   

0006 22                RET     
             ; FUNCTION WatchDog1_Init (END)

             ; FUNCTION WatchDog1 (BEGIN)
                                           ; SOURCE LINE # 122
                                           ; SOURCE LINE # 123
                                           ; SOURCE LINE # 124
0000 75A61E            MOV     WDTRST,#01EH
                                           ; SOURCE LINE # 125
0003 75A6E1            MOV     WDTRST,#0E1H
                                           ; SOURCE LINE # 126
0006 22                RET     
             ; FUNCTION WatchDog1 (END)

C51 COMPILER V7.07   P89C668                                                               07/08/2004 05:56:15 PAGE 8   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
CH . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00F9H  1
IEN0 . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
IEN1 . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00E8H  1
CR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C6H  1
CCAP4H . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00FEH  1
CCAP4L . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00EEH  1
CCAPM4 . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C6H  1
CMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C1H  1
CCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C0H  1
PowerOff . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
PCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0087H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
WatchDog0_Init . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
WatchDog1_Init . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
WatchDog0. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
WatchDog1. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
S0CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
S1CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D8H  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
WDTRST . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A6H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     52    ----
   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 + -