求此汇编程序的注释

来源:百度知道 编辑:UC知道 时间:2024/05/29 23:53:58
CH EQU 30H
DPCNT EQU 31H
DPBUF EQU 33H
GDATA EQU 32H
ST BIT P3.0
OE BIT P3.1
EOC BIT P3.2
ORG 00H
LJMP START
ORG 0BH
LJMP T0X
ORG 30H
START: MOV CH,#0BCH
MOV DPCNT,#00H
MOV R1,#DPCNT
MOV R7,#5
MOV A,#10
MOV R0,#DPBUF
LOP: MOV @R0,A
INC R0
DJNZ R7,LOP
MOV @R0,#00H
INC R0
MOV @R0,#00H
INC R0
MOV @R0,#00H
MOV TMOD,#01H
MOV TH0,#(65536-4000)/256
MOV TL0,#(65536-4000) MOD 256
SETB TR0
SETB ET0
SETB EA
WT: CLR ST
SETB ST
CLR ST
WAIT: JNB EOC,WAIT
SETB OE
MOV GDATA,P0
CLR OE
MOV A,GDATA
MOV B,#100
DIV AB
MOV 33H,A
MOV A,B
MOV B,#10
DIV AB
MOV 34H,A
MOV 35H,B
SJMP WT
T0X: NOP
MOV TH0,#(65536-4000)/256
MOV TL0,#(65536-4000) MOD 256
MOV DPTR,#DPCD<

CH EQU 30H;定义CH为30H
DPCNT EQU 31H;定义DPCNT为31H(31H单元用于存放数在数据表DPCD中的偏移地址的基础量)
DPBUF EQU 33H;定义DPBUF为33H
GDATA EQU 32H;定义GDATA为32H(32H单元用于存放读入转换的数据量)
ST BIT P3.0;定义ST为P3.0位
OE BIT P3.1;定义OE为P3.1位
EOC BIT P3.2;定义EOC为P3.2位
ORG 00H;将后面的程序汇编后存入ROA的0000H以后单元
LJMP START;程序入口,转开始START
ORG 0BH;将后面的程序汇编后存入ROA的000BH以后单元
LJMP T0X;中断入口,转中断T0X
ORG 30H;将后面的程序汇编后存入ROA的0030H以后单元
START: MOV CH,#0BCH;将数据0BCH送入30H单元
MOV DPCNT,#00H;清零31H单元
MOV R1,#DPCNT;将数据31H送入R1(作为工作单元计数初值)
MOV R7,#5;将数据5送入R7(作为循环计数初值)
MOV A,#10;将数据10送入A
MOV R0,#DPBUF;将数据33H送入R0
LOP: MOV @R0,A;
INC R0
DJNZ R7,LOP;将33H--37H单元置初值10
MOV @R0,#00H
INC R0
MOV @R0,#00H
INC R0
MOV @R0,#00H;将38H--3AH单元置初值0
MOV TMOD,#01H;设置T0方式1工作
MOV TH0,#(65536-4000)/256
MOV TL0,#(65536-4000) MOD 256;设置T0的计数初值
SETB TR0;启动T0计数
SETB ET0;允许T0溢出中断
SETB EA;开中断