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

📄 74hc595.lst

📁 用74hc595驱动的跑马灯(含原理图与程序)
💻 LST
字号:
C51 COMPILER V9.00   74HC595                                                               09/13/2012 17:12:02 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE 74HC595
OBJECT MODULE PLACED IN 74hc595.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE 74hc595.c BROWSE DEBUG OBJECTEXTEND CODE

line level    source

   1          #include<REGX52.H>
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          sbit din=P2^1;
   5          sbit sck=P2^0;
   6          sbit cs=P2^2;
   7          uchar  adata;
   8          void delay(uint x);
   9          void send(uchar ch);
  10          void out(adata);
  11          void _nop_();
  12          void delay(uint x)
  13           {
  14   1       uchar tw;
  15   1       while(x-->0)
  16   1       {
  17   2        for(tw=0;tw<125;tw++);
  18   2       }
  19   1       }
  20           void send(uchar ch)
  21           {
  22   1       uchar bitcounter=8;
  23   1       uchar tmp;
  24   1       bit c;
  25   1       do
  26   1       {
  27   2         tmp=ch;
  28   2         sck=0;
  29   2         if((tmp&0x80==0x80))
  30   2         c=1;
  31   2         else
  32   2         c=0;
  33   2         din=c;
  34   2         sck=1;
  35   2         tmp=ch<<1;
  36   2         ch=tmp;
  37   2         bitcounter--;
  38   2          delay(1);
  39   2         sck=0;
  40   2         }
  41   1         while(bitcounter);
  42   1      }
  43          void out(adata)
  44          {
  45   1       send(adata);
  46   1       cs=0;
  47   1               delay(1);
  48   1         cs=1;
  49   1                 delay(1);
  50   1                cs=0;
  51   1      }
  52          void main(void)
  53          {
  54   1        SP=0xcf;
  55   1        EA=0;
C51 COMPILER V9.00   74HC595                                                               09/13/2012 17:12:02 PAGE 2   

  56   1        delay(100);
  57   1        adata=0x01;
  58   1        out(adata);
  59   1        delay(10);                                                                                       
  60   1      }
C51 COMPILER V9.00   74HC595                                                               09/13/2012 17:12:02 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION L?0016 (BEGIN)
0000         L?0017:
0000 7F01              MOV     R7,#01H
0002 7E00              MOV     R6,#00H
             ; FUNCTION _delay (BEGIN)
                                           ; SOURCE LINE # 12
;---- Variable 'tw' assigned to Register 'R5' ----
;---- Variable 'x' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 13
0004         ?C0001:
                                           ; SOURCE LINE # 15
0004 EF                MOV     A,R7
0005 1F                DEC     R7
0006 AA06              MOV     R2,AR6
0008 7001              JNZ     ?C0015
000A 1E                DEC     R6
000B         ?C0015:
000B D3                SETB    C
000C 9400              SUBB    A,#00H
000E EA                MOV     A,R2
000F 9400              SUBB    A,#00H
0011 400B              JC      ?C0006
                                           ; SOURCE LINE # 16
                                           ; SOURCE LINE # 17
0013 E4                CLR     A
0014 FD                MOV     R5,A
0015         ?C0003:
0015 ED                MOV     A,R5
0016 C3                CLR     C
0017 947D              SUBB    A,#07DH
0019 50E9              JNC     ?C0001
001B 0D                INC     R5
001C 80F7              SJMP    ?C0003
                                           ; SOURCE LINE # 18
                                           ; SOURCE LINE # 19
001E         ?C0006:
001E 22                RET     
             ; FUNCTION _delay (END)

             ; FUNCTION _send (BEGIN)
                                           ; SOURCE LINE # 20
;---- Variable 'ch' assigned to Register 'R4' ----
0000 AC07              MOV     R4,AR7
                                           ; SOURCE LINE # 21
                                           ; SOURCE LINE # 22
;---- Variable 'bitcounter' assigned to Register 'R1' ----
0002 7908              MOV     R1,#08H
0004         ?C0009:
                                           ; SOURCE LINE # 26
                                           ; SOURCE LINE # 27
;---- Variable 'tmp' assigned to Register 'R3' ----
0004 AB04              MOV     R3,AR4
                                           ; SOURCE LINE # 28
0006 C2A0              CLR     sck
                                           ; SOURCE LINE # 29
0008 EB                MOV     A,R3
0009 30E004            JNB     ACC.0,?C0010
                                           ; SOURCE LINE # 30
000C D200        R     SETB    c
C51 COMPILER V9.00   74HC595                                                               09/13/2012 17:12:02 PAGE 4   

000E 8002              SJMP    ?C0011
0010         ?C0010:
                                           ; SOURCE LINE # 32
0010 C200        R     CLR     c
0012         ?C0011:
                                           ; SOURCE LINE # 33
0012 A200        R     MOV     C,c
0014 92A1              MOV     din,C
                                           ; SOURCE LINE # 34
0016 D2A0              SETB    sck
                                           ; SOURCE LINE # 35
0018 EC                MOV     A,R4
0019 25E0              ADD     A,ACC
001B FB                MOV     R3,A
                                           ; SOURCE LINE # 36
001C FC                MOV     R4,A
                                           ; SOURCE LINE # 37
001D 19                DEC     R1
                                           ; SOURCE LINE # 38
001E 120000      R     LCALL   L?0016
                                           ; SOURCE LINE # 39
0021 C2A0              CLR     sck
                                           ; SOURCE LINE # 40
                                           ; SOURCE LINE # 41
0023 E9                MOV     A,R1
0024 70DE              JNZ     ?C0009
                                           ; SOURCE LINE # 42
0026 22                RET     
             ; FUNCTION _send (END)

             ; FUNCTION _out (BEGIN)
                                           ; SOURCE LINE # 43
;---- Variable 'adata' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 44
                                           ; SOURCE LINE # 45
0000 120000      R     LCALL   _send
                                           ; SOURCE LINE # 46
0003 C2A2              CLR     cs
                                           ; SOURCE LINE # 47
0005 120000      R     LCALL   L?0016
                                           ; SOURCE LINE # 48
0008 D2A2              SETB    cs
                                           ; SOURCE LINE # 49
000A 120000      R     LCALL   L?0017
                                           ; SOURCE LINE # 50
000D C2A2              CLR     cs
                                           ; SOURCE LINE # 51
000F 22                RET     
             ; FUNCTION _out (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 52
                                           ; SOURCE LINE # 53
                                           ; SOURCE LINE # 54
0000 7581CF            MOV     SP,#0CFH
                                           ; SOURCE LINE # 55
0003 C2AF              CLR     EA
                                           ; SOURCE LINE # 56
0005 7F64              MOV     R7,#064H
0007 7E00              MOV     R6,#00H
0009 120000      R     LCALL   _delay
                                           ; SOURCE LINE # 57
C51 COMPILER V9.00   74HC595                                                               09/13/2012 17:12:02 PAGE 5   

000C 750001      R     MOV     adata,#01H
                                           ; SOURCE LINE # 58
000F AF00        R     MOV     R7,adata
0011 7E00              MOV     R6,#00H
0013 120000      R     LCALL   _out
                                           ; SOURCE LINE # 59
0016 7F0A              MOV     R7,#0AH
0018 7E00              MOV     R6,#00H
001A 020000      R     LJMP    _delay
             ; FUNCTION main (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    115    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -