单片机一道编程题

1.用汇编语言编写一个查表程序求0到9之间某一整数n的立方值,设该整数n存放在片内RAM的30H单元中,程序首地址1000H,要求将求得的结果放在片外RAM的30H个31H单元中。并回答,如果选PC作为基址寄存器,则查询表存放位置有何限制?

ORG 0000H
AJMP START
START: MOV P1, #0EFH ;EFH=11101111B,相当于将P1.4的灯点亮
ACALL DELAY ;调用延时程序
MOV P1, #0DFH ;DFH=11011111B,相当于将P1.5的灯点亮
ACALL DELAY
MOV P1, #0BFH ;BFH=10111111B,相当于将P1.6的灯点亮
ACALL DELAY
MOV P1, #7FH ;7FH=01111111B,相当于将P1.7的灯点亮
ACALL DELAY
AJMP START ;返回到START处,构成循环
DELAY: MOV R3, #09H ;1s 延迟
DL3: ACALL DELAY1
DJNZ R3, DL3
RET
DELAY1: MOV R1, #0FFH ;130ms延迟 属于DELAY的子程序
MOV R2, #0FFH
DL2: DJNZ R2, DL1
DL1: DJNZ R2, DL1
DJNZ R1, DL2
RET
END

这种循环不提倡,不过在这里就简单了。
特别说明,电路图画的时候,是二极管正极接电源,负极接P1.4-P1.7,中间串上220欧姆的电阻。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-10
哇好高深,宏编程。。

1.单片机实验:若将40H的内容改为OFH,程序应将如何修改?(写出原始程序...
根据题目描述,我们可以推断出这是一道关于单片机编程的实验题。在此,我将简要介绍一下修改40H的内容为OFH后程序应该如何修改的方法。首先,需要明确的是40H和OFH都是16进制数。40H对应10进制数为64,而OFH对应10进制数为15。因此,如果将40H的内容改为OFH,相当于将内存地址为40H的单元中存储的数值...

求解单片机编程题目
一、将(0~99)的100个连续十进制数,依次存入首地址为2000H的RAM区的存储单元中去。MOV DPTR, #2000H MOV A, #0 MOV R1, #100 LOOP:MOVX @DPTR, A INC A INC DPTR DJNZ R1, LOOP SJMP 二、定时\/计数器进行初始化编程。MOV TMOD, #01010001B MOV TH1, #(65...

单片机的一道题 我和答案对不上 不知道是不是我错了 求大神求一下答案...
A 50H SP 50H PC 5030H 51H FFH 52H FFH 测试程序 ORG 0000H LJMP 0030H ORG 0030H main:MOV A,#02H MOV SP,#52H MOV 51H,#0FFH MOV 52H,#0FFH POP DPH POP DPL MOV DPTR,#4000H RL A \/\/A = 04H MOV B,A \/\/B = 04H MOVC A,@A...

单片机应用题,用c或汇编编程都可以。请把程序编写出来!谢谢!_百度知...
INT0(P3.2)、INT1(P3.3)接开关S1与S2,当开关合上时INT0与INT1即接地。当两个开关都断开时单片机控制P1口所接的八个LED灯一秒钟亮一秒暗地闪烁,当开关S1合上D1~D4LED灯亮另四个暗,当S2合上D5~D8LED灯亮另四个暗(如果S1、S2同时合上S1有优先控制权),focs=6MHZ,要求定时器完成1...

一道单片机汇编题目在线等求解答,答案怎么计算出来的,
1)就是把立即数 200,传送到 BP 指定的地址单元里,即 200-->[6200H];2)就是把立即数 2000,传送到 BX 指定的地址单元里,即 2000-->[1400H];要记住,实际地址是 段地址x10H+偏移地址;如 SS=5200H,BP=6200H,那么 实际地址=5200x10 +6200=58200H 如 DS=2100H,BX=1400H,那么...

单片机问题
B、使累加器的高四位清“0”。 答: ANL A, #00001111B C、使A.2和A.3置“1”。 答: ORL A, #00001100B D、清除A.3、A.4、A.5、A.6。 答: ANL A, #10000111B E、使累加器的高四位取反。 答: XRL A, #11110000B 2.写出下列数补码...

关于单片机的一道程序题目
MOV B,A ;A的数据送到B暂存 MOVC A,@A+DPTR ;将4+4000H(也就是4004)的数据送到A 最后两行表示DB后面的数据依此在4000H开始的单元中,30H在4004H单元。所以A=30H PUSH A ;将A的数据压入51H,(51H)=30H MOV A,B ;B的数据送回A,A=04H INC A ;A=A+1,...

单片机编程题目,望达人奉上答案~
100HZ方波,定时5ms include <reg51.h> sbit SqW=P1^0;void main(void){ TMOD = 0x01;TH0 = 0x0EC;TL0 = 0x78;EA = 1;ET0 = 1;TR0 = 1;while(1);} void Timer0Interrupt(void) interrupt 1 { TH0 = 0x0EC;TL0 = 0x78;SqW=~SqW;} ...

单片机小的编程,编了下不知道对不对!望大家指正谢谢!
ORG 0050H MAIN:;01H 23H 45H 67H 89H 0ABH 0CDH 0EFH MOV 30H, #01H MOV 31H, #23H MOV 32H, #45H MOV 33H, #67H MOV 34H, #89H MOV 35H, #0ABH MOV 36H, #0CDH MOV 37H, #0EFH MOV R2, #8 MOV R0, #30H ;是30,不是20 MOV R1...

求!一道关于单片机10位十进制加法子程序的编程题,帮帮忙啊
MOV 24H, #12H MOV 23H, #23H MOV 22H, #34H MOV 21H, #45H MOV 20H, #56H ;10位十进制加数:1223344556。MOV 29H, #33H MOV 28H, #44H MOV 27H, #55H MOV 26H, #66H MOV 25H, #77H ;10位十进制被加数:3344556677。MOV R0, #20H ...

相似回答