- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.实现片外数据存储器数据传送(2000H)--(2100H)
MOV DPTR,#2000H
MOVX A,@DPTR
MOV DPTR,#2100H
MOVX @DPTR,A
2.查表法求Y=X2。设X(0≤X≤15)在片内RAM的20H
单元中,要求查表求Y,存入片内RAM 21H单元。
1) ORG 1000H
SQU: MOV DPTR,#3000H ;确定表首地址(基地址)
MOV A,20H ;取 X(变量:偏移量)
MOVC A,@A+DPTR ;查表求Y=X2
MOV 21H,A ;保存Y(结果)
RET ;子程序结束
… ;其它程序段
ORG 3000H ;常数表格首地址
TAB: DB 00,01,04,09,… ,225 ;平方表
END
2)ORG 1000H ;程序起始地址
SQU: MOV A,20H ;取X
ADD A,#3 ;修正偏移量
MOVC A,@A+PC ;查表求Y=X2 (PC=1005H)
MOV 21H,A ;存结果
RET ;子程序结束
TAB: DB 00,01,04 … ;平方表
DB 09,… ,225
3.分析下面程序
MOV R0, #0C8H;(R0)=200
CLR P1.7;P1.7为低电平
LOOP: CPL P1.7;P1.7变反(1 μs )
NOP;(1 μs )
NOP;(1 μs )
DJNZ R0,LOOP;(R0)≠0 则转 (2μs)
4.设计一个延时10ms的延时子程序,已知单片机使用的晶振为6MHZ。
机器周期数 ORG 0020H
1 MOV R0, #0AH ;外循环10次
1 DL2: MOV R1, #MT ;内循环MT次
1 DL1: NOP
1 NOP ;空操作指令
2 DJNZ R1, DL1
2 DJNZ R0, DL2
RET
内循环DL1到指令DJNZ R1,DL1 的计算:(1+1+2)ⅹ2μsⅹMT=1000μs
MT=125=7DH 总的延时时间: {1+[1+(1+1+2)ⅹ125+2]ⅹ10}ⅹ2μs=10.062ms
5.试计算延时程序的执行时间
DELAY: MOV R6,#64H (=100) 1
I1: MOV R7,#0FFH(=255) 1
I2: DJNZ R7,I2 2
DJNZ R6,I1 2
RET 2
延时时间计算:(设时钟fOSC=12MHz) T=1us
t=(1×1+1×100+2×100×255+2×100+2×1)×T= 51.303 ms
6. DELAY:MOV R6,#100 1
D1:MOV R7,#10 1
D2:NOP 1
DJNZ R7,D2 2 t=6.606 ms
DJNZ R6,D1 2
RET 2
计算延时程序的执行时间(设时钟fOSC=6MHz,T=2us) 。
7.十六进制数转换为ASCII码:
HASC:CJNE A,#0AH,N
N:JNC N1(C=0跳N1)
ADD A,#30H
SJMP SE
N1:ADD A,#37H
SE: RET
设从片内RAM30H单元和40H单元有两个16字节数,把它们相加,结果放于30H单元开始的位置处(设结果不溢出)。
ORG 1000H
MOV R0,#30H
MOV R1,#40H
MOV R2,#16
CLR C
LOOP:MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,LOOP
END
9.按下面公式编写程序,x为无符号
文档评论(0)