求此汇编程序的注释
来源:百度知道 编辑:UC知道 时间:2024/05/29 23:53:58
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;开中断