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

📄 74hc595-165.lst

📁 51单片机实验例程
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  74HC595_165                                                          09/16/2009 23:41:27 PAGE     1


MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN 74hc595-165.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE 74hc595-165.SRC SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ; 74hc595-165.SRC generated from: 74hc595-165.c
                       2     ; COMPILER INVOKED BY:
                       3     ;        C:\Keil\C51\BIN\C51.EXE 74hc595-165.c BROWSE DEBUG OBJECTEXTEND
                       4     
                       5     $nomod51 
                       6     
                       7     NAME    _74HC595_165
                       8     
  0080                 9     P0      DATA    080H
  0090                10     P1      DATA    090H
  00A0                11     P2      DATA    0A0H
  00B0                12     P3      DATA    0B0H
  00B4                13     T0      BIT     0B0H.4
  00D6                14     AC      BIT     0D0H.6
  00B5                15     T1      BIT     0B0H.5
  0090                16     T2      BIT     090H.0
  00AF                17     EA      BIT     0A8H.7
  0095                18     MOSIO   BIT     090H.5
  0096                19     R_CLK   BIT     090H.6
  0097                20     S_CLK   BIT     090H.7
  00A8                21     IE      DATA    0A8H
  00B5                22     IN_Dat  BIT     0B0H.5
  00B6                23     OE      BIT     0B0H.6
  00B4                24     IN_PL   BIT     0B0H.4
  00CE                25     EXF2    BIT     0C8H.6
  00B7                26     RD      BIT     0B0H.7
  00AC                27     ES      BIT     0A8H.4
  00B8                28     IP      DATA    0B8H
  0098                29     RI      BIT     098H.0
  00B2                30     INT0    BIT     0B0H.2
  00D7                31     CY      BIT     0D0H.7
  0099                32     TI      BIT     098H.1
  00B3                33     INT1    BIT     0B0H.3
  00CB                34     RCAP2H  DATA    0CBH
  00BC                35     PS      BIT     0B8H.4
  0081                36     SP      DATA    081H
  0091                37     T2EX    BIT     090H.1
  00D2                38     OV      BIT     0D0H.2
  00CA                39     RCAP2L  DATA    0CAH
  00C9                40     C_T2    BIT     0C8H.1
  00B6                41     WR      BIT     0B0H.6
  00CD                42     RCLK    BIT     0C8H.5
  00CC                43     TCLK    BIT     0C8H.4
  0099                44     SBUF    DATA    099H
  0087                45     PCON    DATA    087H
  0098                46     SCON    DATA    098H
  0089                47     TMOD    DATA    089H
  0088                48     TCON    DATA    088H
  0089                49     IE0     BIT     088H.1
  008B                50     IE1     BIT     088H.3
  00F0                51     B       DATA    0F0H
  00C8                52     CP_RL2  BIT     0C8H.0
  00E0                53     ACC     DATA    0E0H
  00A9                54     ET0     BIT     0A8H.1
  00AB                55     ET1     BIT     0A8H.3
  008D                56     TF0     BIT     088H.5
  00AD                57     ET2     BIT     0A8H.5
  008F                58     TF1     BIT     088H.7
A51 MACRO ASSEMBLER  74HC595_165                                                          09/16/2009 23:41:27 PAGE     2

  00CF                59     TF2     BIT     0C8H.7
  009A                60     RB8     BIT     098H.2
  008C                61     TH0     DATA    08CH
  00A8                62     EX0     BIT     0A8H.0
  0088                63     IT0     BIT     088H.0
  008D                64     TH1     DATA    08DH
  009B                65     TB8     BIT     098H.3
  00AA                66     EX1     BIT     0A8H.2
  008A                67     IT1     BIT     088H.2
  00CD                68     TH2     DATA    0CDH
  00D0                69     P       BIT     0D0H.0
  009F                70     SM0     BIT     098H.7
  008A                71     TL0     DATA    08AH
  009E                72     SM1     BIT     098H.6
  008B                73     TL1     DATA    08BH
  009D                74     SM2     BIT     098H.5
  00CC                75     TL2     DATA    0CCH
  00B9                76     PT0     BIT     0B8H.1
  00BB                77     PT1     BIT     0B8H.3
  00D3                78     RS0     BIT     0D0H.3
  00BD                79     PT2     BIT     0B8H.5
  008C                80     TR0     BIT     088H.4
  00D4                81     RS1     BIT     0D0H.4
  008E                82     TR1     BIT     088H.6
  00CA                83     TR2     BIT     0C8H.2
  00B8                84     PX0     BIT     0B8H.0
  00BA                85     PX1     BIT     0B8H.2
  0083                86     DPH     DATA    083H
  0082                87     DPL     DATA    082H
  00CB                88     EXEN2   BIT     0C8H.3
  009C                89     REN     BIT     098H.4
  00C8                90     T2CON   DATA    0C8H
  00B0                91     RXD     BIT     0B0H.0
  00B1                92     TXD     BIT     0B0H.1
  00D5                93     F0      BIT     0D0H.5
  00D0                94     PSW     DATA    0D0H
                      95     ?PR?_HC595SendData?74HC595_165           SEGMENT CODE 
                      96     ?PR?ReHC74165?74HC595_165                SEGMENT CODE 
                      97             EXTRN   CODE (?C?LSHL)
                      98             EXTRN   CODE (?C?LNOT)
                      99             PUBLIC  ReHC74165
                     100             PUBLIC  _HC595SendData
                     101     ; 
                     102     ;  /*************************此部分为74HC595的驱动程序使用SPI总线连接**********************
                             ***************/
                     103     
                     104     ; #include<reg52.h>
                     105     ; #include <intrins.h>
                     106     ; #include <Function.h>
                     107     ; 
                     108     ; #define  NOP()   _nop_()   /* 定义空指令 */
                     109     ; #define  _Nop()  _nop_()   /*定义空指令*/
                     110     ; 
                     111     ; 
                     112     ; //SPI IO
                     113     ; sbit    MOSIO =P1^5;
                     114     ; sbit    R_CLK =P1^6;
                     115     ; sbit    S_CLK =P1^7;
                     116     ; sbit    IN_PL =P3^4;    //74HC165  shift load   把数据加载到锁存器中
                     117     ; sbit    IN_Dat=P3^5;    //74HC165  output       数据移出
                     118     ; sbit    OE    =P3^6;
                     119     ; 
                     120     ; 
                     121     ; 
                     122     ; /****************************************************************************************
                             *****************
A51 MACRO ASSEMBLER  74HC595_165                                                          09/16/2009 23:41:27 PAGE     3

                     123     ; ** 函数名称: HC595SendData
                     124     ; ** 功能描述: 向SPI总线发送数据
                     125     ; *****************************************************************************************
                             ****************/
                     126     ; void HC595SendData(unsigned int SendVal)
                     127     
----                 128             RSEG  ?PR?_HC595SendData?74HC595_165
0000                 129     _HC595SendData:
                     130             USING   0
                     131                             ; SOURCE LINE # 26
                     132     ;---- Variable 'SendVal?040' assigned to Register 'R4/R5' ----
0000 AD07            133             MOV     R5,AR7
0002 AC06            134             MOV     R4,AR6
                     135     ; {  
                     136                             ; SOURCE LINE # 27
                     137     ;   unsigned char i;
                     138     ;               
                     139     ;   for(i=0;i<16;i++) 
                     140                             ; SOURCE LINE # 30
                     141     ;---- Variable 'i?041' assigned to Register 'R3' ----
0004 E4              142             CLR     A
0005 FB              143             MOV     R3,A
0006                 144     ?C0001:
                     145     ;    {
                     146                             ; SOURCE LINE # 31
                     147     ;       if((SendVal<<i)&0x8000) MOSIO=1; // set dataline high
                     148                             ; SOURCE LINE # 32
0006 ED              149             MOV     A,R5
0007 AE04            150             MOV     R6,AR4
0009 A803            151             MOV     R0,AR3
000B 08              152             INC     R0
000C 8005            153             SJMP    ?C0013
000E                 154     ?C0012:
000E C3              155             CLR     C
000F 33              156             RLC     A
0010 CE              157             XCH     A,R6
0011 33              158             RLC     A
0012 CE              159             XCH     A,R6
0013                 160     ?C0013:
0013 D8F9            161             DJNZ    R0,?C0012
0015 EE              162             MOV     A,R6
0016 30E704          163             JNB     ACC.7,?C0004
0019 D295            164             SETB    MOSIO
001B 8002            165             SJMP    ?C0005
001D                 166     ?C0004:
                     167     ;       else MOSIO=0;
                     168                             ; SOURCE LINE # 33
001D C295            169             CLR     MOSIO
001F                 170     ?C0005:
                     171     ;  
                     172     ;       S_CLK=0;
                     173                             ; SOURCE LINE # 35
001F C297            174             CLR     S_CLK
                     175     ;       NOP();
                     176                             ; SOURCE LINE # 36
0021 00              177             NOP     
                     178     ;       NOP();
                     179                             ; SOURCE LINE # 37
0022 00              180             NOP     
                     181     ;       S_CLK=1;        
                     182                             ; SOURCE LINE # 38
0023 D297            183             SETB    S_CLK
                     184     ;    }
                     185                             ; SOURCE LINE # 39
0025 0B              186             INC     R3
0026 BB10DD          187             CJNE    R3,#010H,?C0001
A51 MACRO ASSEMBLER  74HC595_165                                                          09/16/2009 23:41:27 PAGE     4

0029                 188     ?C0002:
                     189     ;    
                     190     ;       
                     191     ;   R_CLK=0; //set dataline low
                     192                             ; SOURCE LINE # 42
0029 C296            193             CLR     R_CLK
                     194     ;   NOP();
                     195                             ; SOURCE LINE # 43
002B 00              196             NOP     
                     197     ;   NOP();
                     198                             ; SOURCE LINE # 44
002C 00              199             NOP     
                     200     ;   R_CLK=1; //片选
                     201                             ; SOURCE LINE # 45
002D D296            202             SETB    R_CLK
                     203     ;   OE=0;
                     204                             ; SOURCE LINE # 46
002F C2B6            205             CLR     OE
                     206     ; 

⌨️ 快捷键说明

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