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

📄 caiyang.lst

📁 VB+proteus+keil c 文件是电压检测系统
💻 LST
字号:
A51 MACRO ASSEMBLER  CAIYANG                                                              03/17/2007 14:02:45 PAGE     1


MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN caiyang.OBJ
ASSEMBLER INVOKED BY: d:\Keil\C51\BIN\A51.EXE caiyang.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     
                       2     ;ADCS BIT P3.5 ;使能接口
                       3     ;ADCLK BIT P3.6 ;时钟接口
                       4     ;ADDO BIT P3.7 ;数据输出接口(复用)
                       5     ;ADDI BIT P3.7 ;数据输入接口
0000                   6     ORG     0000H
0000 020030            7     LJMP INITOUT
0023                   8     ORG 0023H
0023 02004F            9     LJMP SERVE
0030                  10     ORG 30H
0030                  11     INITOUT:
0030 758160           12     MOV SP,#60H   ;栈顶地址
0033 758920           13     MOV TMOD,#20H  ;定时器1初始化
0036 758DF3           14     MOV TH1,#0F3H  ;设置波特率为1200MHz,6MHz的晶振
0039 758BF3           15     MOV TL1,#0F3H  ;
003C 759850           16     MOV SCON,#50H  ;串口初始化为可以接收
003F 758700           17     MOV PCON,#00H  ;波特率不倍增
0042 D28E             18     SETB TR1   ;启动定时器
0044 D2AF             19     SETB EA   ;开中断
0046 D2AC             20     SETB ES   ;允许串口中断
0048                  21     MainProgram:    
0048 00               22     NOP    ;主程序主要是等中断
0049 00               23     NOP
004A 12006D           24     LCALL CONV
004D 80F9             25     SJMP Mainprogram
                      26     ;=======================================================
004F                  27     SERVE:
004F C0D0             28     PUSH PSW        ;将程序状态字压入堆栈 
0051 C0E0             29     PUSH ACC        ;将累加器压入堆栈 
0053 C2AF             30     CLR EA        ;关闭系统中断          
0055 C298             31     CLR RI          ;清除中断标志位 
0057 E599             32     MOV A,SBUF
0059 B40110           33     CJNE A,#01,NEXTI;判断,01号单片机
                      34     
005C 853199           35     MOV SBUF,31H
                      36     
                      37     
005F 3099FD           38     wait:jnb ti,wait
0062 C299             39          clr ti
                      40     
0064 C298             41     CLR RI          ;清除中断标志位 
0066 D2AF             42     SETB EA         ;打开系统中断 
0068 D0E0             43     POP ACC         ;累加器出栈 
006A D0D0             44     POP PSW         ;程序状态字出栈 
006C 32               45     NEXTI:RETI            ;中断程序返回 
                      46     
                      47     
                      48     
                      49     ;==============================================
                      50          
006D 753002           51     CONV:MOV 30H,#02H;方式字选择
0070 7831             52          MOV R0,#31H;数据存储首地址
0072 120076           53          LCALL ADC0832;调用A/D转换子程序
                      54     
0075 22               55          RET
                      56     ;========================================
0076 D2B7             57     ADC0832:SETB P3.7 ;初始化通道选择
0078 00               58             NOP
A51 MACRO ASSEMBLER  CAIYANG                                                              03/17/2007 14:02:45 PAGE     2

0079 00               59             NOP
007A C2B5             60             CLR P3.5 ;拉低/CS端
007C 00               61             NOP
007D 00               62             NOP
007E D2B6             63             SETB P3.6 ;拉高CLK端
0080 00               64             NOP
0081 00               65             NOP
0082 C2B6             66             CLR P3.6 ;拉低CLK端,形成下降沿
0084 E530             67             MOV A,30H
0086 A2E1             68             MOV C,ACC.1 ;确定取值通道选择
0088 92B7             69             MOV P3.7,C
008A 00               70             NOP
008B 00               71             NOP
008C D2B6             72             SETB P3.6 ;拉高CLK端
008E 00               73             NOP
008F 00               74             NOP
0090 C2B6             75             CLR P3.6 ;拉低CLK端,形成下降沿2
0092 E530             76             MOV A,30H
0094 A2E0             77             MOV C,ACC.0 ;确定取值通道选择
0096 92B7             78             MOV P3.7,C
0098 00               79             NOP
0099 00               80             NOP
009A D2B6             81             SETB P3.6 ;拉高CLK端
009C 00               82             NOP
009D 00               83             NOP
009E C2B6             84             CLR P3.6 ;拉低CLK端,形成下降沿3
00A0 D2B7             85             SETB P3.7
00A2 00               86             NOP
00A3 00               87             NOP
00A4 7F08             88         MOV R7,#8 ;准备送下后8个时钟脉冲
00A6 A2B7             89     ADH:MOV C,P3.7 ;接收数据
00A8 92E0             90         MOV ACC.0,C
00AA 23               91         RL A ;左移一次
00AB D2B6             92         SETB P3.6
00AD 00               93         NOP
00AE 00               94         NOP
00AF C2B6             95         CLR P3.6 ;形成一次时钟脉冲
00B1 00               96         NOP
00B2 00               97         NOP
00B3 DFF1             98         DJNZ R7,ADH ;循环8次
00B5 A2B7             99         MOV C,P3.7 ;接收数据
00B7 92E0            100         MOV ACC.0,C
00B9 F6              101         MOV @R0,A
00BA 7F08            102         MOV R7,#8
00BC A2B7            103     ADL:MOV C,P3.7 ;接收数据
00BE 92E0            104         MOV ACC.0,C
00C0 03              105         RR A ;左移一次
00C1 D2B6            106         SETB P3.6
00C3 00              107         NOP
00C4 00              108         NOP
00C5 C2B6            109         CLR P3.6 ;形成一次时钟脉冲
00C7 00              110         NOP
00C8 00              111         NOP
00C9 DFF1            112         DJNZ R7,ADL ;循环8次
00CB 86F0            113         MOV B,@R0
00CD B5F0A6          114         CJNE A,B,ADC0832 ;数据校验
00D0 D2B5            115         SETB P3.5 ;拉高/CS端
00D2 C2B6            116         CLR P3.6 ;拉低CLK端
00D4 D2B7            117         SETB P3.7 ;拉高数据端,回到初始状态
00D6 22              118         RET
                     119     ;=======================================
                     120     
*** WARNING #A41 IN 120 (caiyang.asm, LINE 120): MISSING 'END' STATEMENT
A51 MACRO ASSEMBLER  CAIYANG                                                              03/17/2007 14:02:45 PAGE     3

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

ACC. . . . . . . .  D ADDR   00E0H   A   
ADC0832. . . . . .  C ADDR   0076H   A   
ADH. . . . . . . .  C ADDR   00A6H   A   
ADL. . . . . . . .  C ADDR   00BCH   A   
B. . . . . . . . .  D ADDR   00F0H   A   
CONV . . . . . . .  C ADDR   006DH   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ES . . . . . . . .  B ADDR   00A8H.4 A   
INITOUT. . . . . .  C ADDR   0030H   A   
MAINPROGRAM. . . .  C ADDR   0048H   A   
NEXTI. . . . . . .  C ADDR   006CH   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
PCON . . . . . . .  D ADDR   0087H   A   
PSW. . . . . . . .  D ADDR   00D0H   A   
RI . . . . . . . .  B ADDR   0098H.0 A   
SBUF . . . . . . .  D ADDR   0099H   A   
SCON . . . . . . .  D ADDR   0098H   A   
SERVE. . . . . . .  C ADDR   004FH   A   
SP . . . . . . . .  D ADDR   0081H   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR1. . . . . . . .  B ADDR   0088H.6 A   
WAIT . . . . . . .  C ADDR   005FH   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  1 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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