📄 93c46-0002.lst
字号:
A51 MACRO ASSEMBLER 93C46_0002 12/20/2006 21:52:42 PAGE 1
MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN 93c46-0002.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE 93c46-0002.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;*******************************************************************
2 ;* *
3 ;* ME500单片机开发系统演示程序 - 读写93C46 *
4 ;* *
5 ;* 8位数码管显示 (跳马灯方式) *
6 ;* *
7 ;* 将演示数据先写入93C46芯片内,再将其数据逐个读出数码管显示。 *
8 ;* *
9 ;* 版本: V1.0 (2006/11/20) *
10 ;* 作者: gguoqing (Email: gguoqing@willar.com) *
11 ;* 网站: www.willar.com(伟纳电子) www.mcusj.com(伟纳单片机世界) *
12 ;* 时间: 2006/11/20 *
13 ;* *
14 ;*【版权】Copyright(C)伟纳电子 www.willar.com All Rights Reserved *
15 ;*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! *
16 ;* *
17 ;*******************************************************************
18
19 ;------------------------------------------------
20 ; 93C46 接口定义
21 ; ORG=0 8位数据存储器结构
22 ;-----------------------------------------------
23
00B4 24 CS BIT P3.4
00B3 25 SK BIT P3.3
00B5 26 DI BIT P3.5
00B6 27 DO BIT P3.6
28 ;-----------------------------------------------
29 ; P0 ---数码管的段码
30 ; P2 ---数码管的位选
31 ;-----------------------------------------------
0020 32 ADDR EQU 20H
0021 33 INDATA EQU 21H
34 ;-----------------------------------------------
0000 35 ORG 0000H
0000 020030 36 LJMP MAIN
0030 37 ORG 0030H
38 ;-----------------------------------------------
0030 758130 39 MAIN: MOV SP,#30H
0033 C2B4 40 CLR P3.4
0035 C2B3 41 CLR P3.3
0037 D2B5 42 SETB P3.5
0039 D2B6 43 SETB P3.6
003B 1200AE 44 LCALL EWEN
003E 1200C1 45 LCALL ERASE
0041 E4 46 CLR A
0042 F520 47 MOV ADDR,A
0044 E520 48 WRITE_LP: MOV A,ADDR
0046 900156 49 MOV DPTR,#TABLE1
0049 93 50 MOVC A,@A+DPTR
004A FD 51 MOV R5,A
004B AF20 52 MOV R7,ADDR
004D 120088 53 LCALL WRITE
0050 0520 54 INC ADDR
0052 E520 55 MOV A,ADDR
0054 C3 56 CLR C
0055 9408 57 SUBB A,#08H
0057 40EB 58 JC WRITE_LP
A51 MACRO ASSEMBLER 93C46_0002 12/20/2006 21:52:42 PAGE 2
0059 1200B8 59 LCALL EWDS
005C 7840 60 MOV R0,#40H
005E E4 61 CLR A
005F F520 62 MOV ADDR,A
0061 AF20 63 MAIN_LP: MOV R7,ADDR
0063 12009F 64 LCALL READ
0066 EF 65 MOV A,R7
0067 F6 66 MOV @R0,A
0068 08 67 INC R0
0069 0520 68 INC ADDR
006B AC20 69 MOV R4,ADDR
006D 7FFA 70 MOV R7,#0FAH
006F 12012B 71 LCALL DELAYMS
0072 BC08EC 72 CJNE R4,#08H,MAIN_LP
73
0075 7840 74 LEDOUT1: MOV R0,#40H
0077 7C08 75 MOV R4,#08H
0079 747F 76 MOV A,#7FH
007B 8680 77 LEDOUT2: MOV P0,@R0
007D F5A0 78 MOV P2,A
007F 08 79 INC R0
0080 03 80 RR A
0081 120138 81 LCALL Delay4
0084 DCF5 82 DJNZ R4,LEDOUT2
0086 80ED 83 SJMP LEDOUT1
84 ;===========================================================
0088 8D21 85 WRITE: MOV indata,R5
008A 8FF0 86 MOV B,R7
008C ADF0 87 MOV R5,B
008E 7F40 88 MOV R7,#40H
0090 1200D0 89 LCALL INOP
0093 AF21 90 MOV R7,indata
0095 120106 91 LCALL SHIN
0098 C2B4 92 CLR P3.4
009A 7F0A 93 MOV R7,#0AH
009C 02012B 94 LJMP DELAYMS
95 ;==========================================================
009F 8FF0 96 READ : MOV B,r7
00A1 ADF0 97 MOV R5,B
00A3 7F80 98 MOV R7,#80H
00A5 1200D0 99 LCALL INOP
00A8 12011A 100 LCALL SHOUT
00AB C2B4 101 CLR P3.4
00AD 22 102 RET
103 ;==========================================================
00AE 7D60 104 EWEN: MOV R5,#60H
00B0 E4 105 CLR A
00B1 FF 106 MOV R7,A
00B2 1200D0 107 LCALL INOP
00B5 C2B4 108 CLR P3.4
00B7 22 109 RET
110 ;===========================================================
00B8 E4 111 EWDS: CLR A
00B9 FD 112 MOV R5,A
00BA FF 113 MOV R7,A
00BB 1200D0 114 LCALL INOP
00BE C2B4 115 CLR P3.4
00C0 22 116 RET
117 ;==========================================================
00C1 7D40 118 ERASE: MOV R5,#40H
00C3 E4 119 CLR A
00C4 FF 120 MOV R7,A
00C5 1200D0 121 LCALL INOP
00C8 7F1E 122 MOV R7,#1EH
00CA 12012B 123 LCALL DELAYMS
00CD C2B4 124 CLR P3.4
A51 MACRO ASSEMBLER 93C46_0002 12/20/2006 21:52:42 PAGE 3
00CF 22 125 RET
126 ;===========================================================
00D0 C2B3 127 INOP: CLR P3.3
00D2 D2B5 128 SETB P3.5
00D4 D2B4 129 SETB P3.4
00D6 00 130 NOP
00D7 00 131 NOP
00D8 D2B3 132 SETB P3.3
00DA 00 133 NOP
00DB 00 134 NOP
00DC C2B3 135 CLR P3.3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -