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

📄 hc595.lst

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


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

LOC  OBJ            LINE     SOURCE

                       1     ; hc595.SRC generated from: hc595.c
                       2     ; COMPILER INVOKED BY:
                       3     ;        C:\Keil\C51\BIN\C51.EXE hc595.c BROWSE DEBUG OBJECTEXTEND
                       4     
                       5     $nomod51 
                       6     
                       7     NAME    HC595
                       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  HC595                                                                09/16/2009 23:33:52 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?HC595                 SEGMENT CODE 
                      96             PUBLIC  _HC595SendData
                      97     ; 
                      98     ;  /*************************此部分为74HC595的驱动程序使用SPI总线连接**********************
                             ***************/
                      99     ; #pragma SRC
                     100     ; #include<reg52.h>
                     101     ; #include <intrins.h>
                     102     ; 
                     103     ; #define  NOP()   _nop_()   /* 定义空指令 */
                     104     ; #define  _Nop()  _nop_()   /*定义空指令*/
                     105     ; void HC595SendData(unsigned int SendVal);
                     106     ; 
                     107     ; //SPI IO
                     108     ; sbit    MOSIO =P1^5;
                     109     ; sbit    R_CLK =P1^6;
                     110     ; sbit    S_CLK =P1^7;
                     111     ; sbit    IN_PL =P3^4;    //74HC165  shift load   把数据加载到锁存器中
                     112     ; sbit    IN_Dat=P3^5;    //74HC165  output       数据移出
                     113     ; sbit    OE    =P3^6;
                     114     ; 
                     115     ; 
                     116     ; 
                     117     ; /****************************************************************************************
                             *****************
                     118     ; ** 函数名称: HC595SendData
                     119     ; ** 功能描述: 向SPI总线发送数据
                     120     ; *****************************************************************************************
                             ****************/
                     121     ; void HC595SendData(unsigned int SendVal)
A51 MACRO ASSEMBLER  HC595                                                                09/16/2009 23:33:52 PAGE     3

                     122     
----                 123             RSEG  ?PR?_HC595SendData?HC595
0000                 124     _HC595SendData:
                     125             USING   0
                     126                             ; SOURCE LINE # 25
                     127     ;---- Variable 'SendVal?040' assigned to Register 'R4/R5' ----
0000 AD07            128             MOV     R5,AR7
0002 AC06            129             MOV     R4,AR6
                     130     ; {  
                     131                             ; SOURCE LINE # 26
                     132     ;   unsigned char i;
                     133     ;               
                     134     ;   for(i=0;i<16;i++) 
                     135                             ; SOURCE LINE # 29
                     136     ;---- Variable 'i?041' assigned to Register 'R3' ----
0004 E4              137             CLR     A
0005 FB              138             MOV     R3,A
0006                 139     ?C0001:
                     140     ;    {
                     141                             ; SOURCE LINE # 30
                     142     ;       if((SendVal<<i)&0x8000) MOSIO=1; // set dataline high
                     143                             ; SOURCE LINE # 31
0006 ED              144             MOV     A,R5
0007 AE04            145             MOV     R6,AR4
0009 A803            146             MOV     R0,AR3
000B 08              147             INC     R0
000C 8005            148             SJMP    ?C0008
000E                 149     ?C0007:
000E C3              150             CLR     C
000F 33              151             RLC     A
0010 CE              152             XCH     A,R6
0011 33              153             RLC     A
0012 CE              154             XCH     A,R6
0013                 155     ?C0008:

⌨️ 快捷键说明

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