哪位大神能帮我修改一下下面的汇编程序,急用,万分感谢。编译是的问题如图所示!!!!!文件在此链接中

LED_0 EQU 30H
LED_1 EQU 31H
LED_2 EQU 32H
ADC EQU 35H
TCNTA EQU 36H
TCNTB EQU 37H

H_TEMP EQU 46H ; //温度上限
L_TEMP EQU -14H ; //温度下限

FLAG BIT 00H
H_ALM BIT P3.0
L_ALM BIT P3.1

SOUND BIT P3.7

CLOCK BIT P2.4
ST BIT P2.5
EOC BIT P2.6
OE BIT P2.7

ORG 00H
SJMP START
ORG 0BH
LJMP INT_T0
ORG 1BH
LJMP INT_T1
START:
MOV LED_0, #00H
MOV LED_1, #00H
MOV LED_2, #00H
MOV DPTR, #TABLE
MOV H_TEMP, #60
MOV L_TEMP, #30
MOV TMOD, #12H
MOV TH0, #245
MOV TL0, #0
MOV TH1, #(65536-1000)/256
MOV TL1, #(65536-1000) MOD 256
MOV IE, #8aH
CLR C
SETB TR0 ;为ADC0808提供时钟

WAIT:
SETB H_ALM
SETB L_ALM
CLR ST
SETB ST
CLR ST ;启动转换
JNB EOC, $
SETB OE
MOV ADC, P1 ;读取AD转换结果
CLR OE
MOV A, ADC
SUBB A, #30 ;判断是否低于下限
JC LALM
MOV A, H_TEMP
MOV R0, ADC
SUBB A, R0 ;判断是否高于上限
JC HALM
CLR TR1
LJMP PTOC

LALM: ;低温报警
CLR L_ALM
SETB TR1
CLR FLAG
LJMP PTOC

HALM: ;高温报警
CLR H_ALM
SETB TR1
SETB FLAG
LJMP PtOC

PTOC:
MOV A, ADC ;数值转换
MOV B, #100
DIV AB
MOV LED_2, A
MOV A, B
MOV B, #10
DIV AB
MOV LED_1, A
MOV LED_0, B
CALL DISP
SJMP WAIT

INT_T0:
CPL CLOCK ;提供89C51时钟
RETI

INT_T1:
MOV TH1, #(65536-1000)/256
MOV TL1, #(65536-1000) MOD 256
CPL SOUND
INC TCNTA
MOV A, TCNTA
JB FLAG, I1 ;判断是高温警报还是低温警报
CJNE A, #30, RETUNE ;低温警报声
SJMP I2
I1: CJNE A, #20, RETUNE ;高温警报声
I2: MOV TCNTA, #0
INC TCNTB
MOV A, TCNTB
CJNE A, #25, RETUNE
MOV TCNTA, #0
MOV TCNTB, #0
CALL DELAY2
RETUNE:
RETI

DISP:
MOV A, LED_0 ;数码显示子程序
MOVC A, @A+DPTR
CLR P2.3
MOV P0, A
CALL DELAY
SETB P2.3

MOV A, LED_1
MOVC A, @A+DPTR
CLR P2.2
MOV P0, A
CALL DELAY
SETB P2.2

MOV A, LED_2
MOVC A, @A+DPTR
CLR P2.1
MOV P0, A
CALL DELAY
SETB P2.1
RET

DELAY:
MOV R6, #10
D1: MOV R7, #250
DJNZ R7, $
DJNZ R6, D1
RET
DELAY2:
MOV R5, #20
D2: MOV R6, #20
D3: MOV R7, #250
DJNZ R7, $
DJNZ R6, D3
DJNZ R5, D2
RET

TABLE:
DB 3FH, 06H, 5BH, 4FH, 66H
DB 6DH, 7DH, 07H, 7FH, 0FH
END
温馨提示:内容为网友见解,仅供参考
无其他回答

汇编语言大神帮我做一份题目,补码01010101的真实值是?万分感谢
我也在学汇编,题主有答案了拜托告诉我有什么错误

帮忙做一些汇编语言的判断题吧,万分感谢!!!
1.MOV [BX], [SI]错,双操作数指令两个操作数不能同时为存储器操作数 2.MOV CS, BX错,不能使用mov指令对cs送值 3.MOV ES, SS错,段寄存器之间不能直接传送数据 4.MOV [BX], 17 错,两个操作数类型都不确定 5.MOV WORD PTR[BX], 90H 对 6.MOV SS, 13H 错,立即数不能直接送...

下面的汇编程序总是出现OPERAND EXPECTED这个错误,求大神帮忙啊 ,在线...
DATA SEGMENT BUFFER DW 01H,10H SUM DW ? ;在这里直接给个值就行了,因为编译器要给SUM这个地址的字单元存储一个字型数据,比如这里我就存储了一个'?'的字型数据了.;如果像楼主你那么写"SUM DW" 那么编译器怎么知道要在这个字单元存储一个什么的值呢,怎么不能随便给个值,或者不写 DA...

...帮忙把下面的3字节*2字节改成5字节*5字节程序,小弟万分感谢...
分位存储~或者移位

关于c语言程序设计的问题求大神帮忙!万分感谢!
(2)编译(成目标程序文件.obj)编译是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析、语法分析、语义检查和中间代码生成、代码优化、目标代码生成。主要是进行词法分析和语法分析,...

...语言的错误原因??一堆的错误,头都麻了,万分感谢
LJMP MAIN;ORG 0030H;MOV P1, #0FFH;P1端口初始化 MOV P3, #02H;MAIN:JNB P1.0 ,L0;查找哪一位按了抢答器 JNB P1.1 ,L1;JNB P1.2 ,L2;JNB P1.3 ,L3;JNB P1.4 ,L4;JNB P1.5 ,L5;JNB P1.6 ,L6;JNB P1.7 ,L7;CLR A;A清零 MOV DPTR, #00H;DPTR清零 L0:MOV ...

你好,今天你回答了我的疑问,万分感谢。我没有汇编语言的基础,可是还 ...
BUF存储结构如下图所示:指令功能解释如下:MOV BX,OFFSET BUF; \/\/取BUF单元的地址偏移量,做好查表准备 MOV AL,3; \/\/AL为距离BUF首单元的字节距离,此处为3 XLAT \/\/执行查表指令,将BUF+3单元的数据找到,送至AL寄存器 所以,指令执行完毕后,AL=34H ...

下面的程序各有什么优点和缺点? 程序一是for循环中嵌套if,else语句...
程序1:if(k>8) 执行 100次. else 拆行 100次. 也就是最多k<8是 100+1 次 程序2 for(100次...){if(..)else(..)} 也就是最多k<8是 100*2 次 显然,程序2 用的时间比 程序1 多.当然,具体按汇编是不可以这样算步数的,不过大致是这样。请自己也可以上机试下.希望采纳...

我想学好VC,希望高手给予指点和帮助!~~万分感谢!~~~
DOS编程要想成为高手,也需要学习几百个函数(无论是TC、BC、MicrosoftC),并要深入了解汇编语言级的DOS功能调用。而现在在Windows下,付出相同的工作量,你却可以获得几倍的收益。如果你以前熟悉DOS编程,现在再搞Windows编程,只要两个星期肯定会感到巨大的优越性:在DOS下,每一件事都要自己干,而且还有64K内存、显示...

求教单片机一键多功能的问题,简单来说是:在已经进入子程序中,当按键按...
1,“CHULI”这段指令只能执行一次 原因:也就是说,程序上电复位后,执行到ZERO循环,之后一直在这里循环,无法执行CHULI;解决:将所有跳转到数字(如:ZERO、ONE、...、NINE)的跳转指令改为跳转到CHULI;保证中断之后CHULI能被执行到;2,中断中散转表指针R1递增方式错误 虽然你的程序中还感觉不到...

相似回答