📄 hc595.lst
字号:
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 + -