📄 adc0832-led.lst
字号:
A51 MACRO ASSEMBLER ADC0832_LED 03/29/2005 16:23:46 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN ADC0832-LED.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE ADC0832-LED.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;********************************************************************************
2 ;* 标题: 伟纳电子ME300B单片机开发系统演示程序 - ADC0832数字电压表LED显示 *
3 ;* 文件: ADC0832_LED.asm *
4 ;* 日期: 2005-3-20 *
5 ;* 版本: 1.0 *
6 ;* 作者: gguoqing *
7 ;* 邮箱: gguoqing@sxicc.ac.cn *
8 ;* 网站: http://www.willar.com *
9 ;********************************************************************************
10 ;* 描述: *
11 ;* ADC0832数字电压表LED显示 *
12 ;* *
13 ;* 调节ADC0832旁边的电位器,发光二极管显示 ADC0832 转换值 *
14 ;* *
15 ;* *
16 ;********************************************************************************
17 ;* 【版权】 Copyright(C)伟纳电子 www.willar.com All Rights Reserved *
18 ;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! *
19 ;********************************************************************************
20
21
22 ;------------ ADC0832 端口定义 -----------------
0090 23 CLK EQU P1.0
0091 24 DAT EQU P1.1
00B4 25 CS EQU P3.4
26 ;-----------------------------------------------
0000 27 ORG 0000H
0000 8000 28 JMP START
29 ;-----------------------------------------------
30
31 ;===============================================
32 ;
33 ;ADC0832 初始化、转换、显示子程序
34 ;
35 ;===============================================
0002 758160 36 START: MOV SP,#60H
0005 7400 37 MOV A,#00H
0007 7580FF 38 MOV P0,#0FFH
39
000A D2B4 40 SETB CS ;一个转换周期开始
000C C290 41 CLR CLK
000E C2B4 42 CLR CS ;CS置0,片选有效
0010 D291 43 SETB DAT ;DI置1,起始位
0012 00 44 NOP
0013 D290 45 SETB CLK ;第一个脉冲
0015 C291 46 CLR DAT ;在负跳变之前加一个DI反转操作
0017 C290 47 CLR CLK ;
0019 D291 48 SETB DAT ;DI置1,设为单通道
001B 00 49 NOP
001C D290 50 SETB CLK ;第二个脉冲
001E C291 51 CLR DAT
0020 C290 52 CLR CLK
0022 C291 53 CLR DAT ;DI置0,选择通道0
0024 00 54 NOP
0025 D290 55 SETB CLK ;第三个脉冲
0027 D291 56 SETB DAT
0029 C290 57 CLR CLK ;
002B 00 58 NOP
A51 MACRO ASSEMBLER ADC0832_LED 03/29/2005 16:23:46 PAGE 2
002C D290 59 SETB CLK ; 第四个脉冲
002E 7908 60 MOV R1,#08H ;计数器初值,读取8位数据,
0030 C290 61 READ: CLR CLK ;下降沿
0032 A291 62 MOV C,DAT ;读取DO端数据
0034 33 63 RLC A ;C移入A,高位在前
0035 D290 64 SETB CLK ;下一个脉冲
0037 D9F7 65 DJNZ R1,READ ;没读完继续
0039 D2B4 66 SETB CS
003B F4 67 CPL A
003C F580 68 MOV P0,A ;转换结果送 P0 口显示
003E 7D64 69 MOV R5,#100 ;延时500ms
0040 1146 70 DELAY1: CALL DELAY5MS
0042 DDFC 71 DJNZ R5,DELAY1
0044 0102 72 AJMP START ;下一个转换周期开始
73
74 ;===============================================
75 ;延时子程序
76 ;(R5)×5ms
77 ;===============================================
0046 78 DELAY5MS:
0046 7E19 79 MOV R6,#25
0048 7F64 80 DEL1: MOV R7,#100
004A DFFE 81 DJNZ R7,$
004C DEFA 82 DJNZ R6,DEL1
004E 22 83 RET
84 ;===============================================
85 END ;结束
A51 MACRO ASSEMBLER ADC0832_LED 03/29/2005 16:23:46 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
CLK. . . . . . . . B ADDR 0090H.0 A
CS . . . . . . . . B ADDR 00B0H.4 A
DAT. . . . . . . . B ADDR 0090H.1 A
DEL1 . . . . . . . C ADDR 0048H A
DELAY1 . . . . . . C ADDR 0040H A
DELAY5MS . . . . . C ADDR 0046H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
READ . . . . . . . C ADDR 0030H A
SP . . . . . . . . D ADDR 0081H A
START. . . . . . . C ADDR 0002H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -