




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.实现片外数据存储器数据传送(2023H)—>(21OOH)
MOVDPTR,#2023H
»MOVXA,@DPTR。
MOVDPTR,#2100H
»MOVX@DPTR,A
2.查表法求Y=X2。设X(0<X<15)在片内RAM的20H
单元中,规定查表求Y,存入片内RAM21H单元。
1)ORG1000H。
SQU:MOVDPTR,#3000H;拟定表首地址(基地址)
oMOVA,20H•;取X(变量:偏移量)
MOVCA,@A+DPTR»;查表求Y=X2
。MOV21日人。。;保存丫(结果)
°RETe;子程序结束
。…°;其它程序段
。ORG3000H;常数表格首地址
TAB:DB00,01,04,09,-,225;平方表
END
2)ORG1000H;程序起始地址
SQU:。MOVA,20Ho;取*
ADDA,#3»;修正偏移量
»MOVCA,@A+PC;查表求Y=X2(PC=1005H)
。。MOV21H,A存结果
。RET。;子程序结束
oTAB:.DB00,01,04-;平方表
DB09,—,225
3.分析下面程序
MOVRO,#0C8H;(R0)=200
CLRP1.7;P1.7为低电平
LOOP:CPLP1.7;P1.7变反(1|js)
NOP;(1ps)
NOP;(1ps)
DJNZRO,LOOP;(RO)WO则转(2)JS)
USWH卒s1。。个脉冲
Pl.7―I..................................................
IlOfiS
4.设计一个延时10ms的延时子程序,已知单片机使用的晶振为6MHZ。
机器周期数ORG0020H
1MOVR0,#0AH;外循环10次
1DL2:MOVR1,#MT;内循环MT次
1DL1:NOP
1NOP;空操作指令
2DJNZRI,DLI
2DJNZRO,DL2
RET
内循环DL1至I」指令DJNZR1,DL1的计算:(1+1+2)x2口sxMT=1000Us
MT=125=7DH总的延时时间:{1+[l+(l+l+2)x125+2]x10}x2us=1
0.062ms
5.试计算延时程序的执行时间
DELAY:MOVR6,#64H(=100)1
II:MOVR7,#0FFH(=255)b
12:DJNZR7,122
DJNZR6,Ih2
RET2。。。
延时时间计算:(设时钟fOSC=12MHz)T=lus
t=(1X1+1X100+2X100X255+2X100+2X1)XT=51.303ms
6.DELAY:MOVR6,#1001
DI:MOVR7,#101
D2:NOP。1
DJNZR7,D2。2t=6.606ms
oDJNZR6,Dio2
RETo2
计算延时程序的执行时间(设时钟fOSC=6MHz,T=2us)。
7.十六进制数转换为ASCII码:
HASC:CJNEA,#0AH,N。
N:JNCN1(C=0跳Nl)
ADDA,#30H
6JMP6E
N1:ADDA,#37H
SE:RET。
8.设从片内RAM30H单元和40H单元有两个16字节数,把它们相加,结果放于30H单
元开始的位置处(设结果不溢出)。
ORG1000H
oMOVR0,#30H
3MOVRI,#40H
oMOVR2,#16
CLRC
LOOP:MOVA,@R0
oADDCA,@R1
xx>40
oMOV@R0,A
2x20<x<40
INCR0%x<20
oINCRI
DJNZR2,L00P
正ND
9.按下面公式编写程序,x为无符号数,存在20h单元y存放在21h单元
ORG0030H
oMOVA,20H
CJNEA,#21H,LOOP1
LOOP1:JCNEXT1
CJNEA,#40H,LOOP2
LOOP2:JNCNEXT2
MOVB,#2
MULAB
AJMPNEXT2
NEXTkCPLA
NEXT2:MOV21H,A
END
从内部RAM22h单元开始存有一个无符号数数据块,长度n存于21h中。求出数据块中
的最小数,存于20h中。
ORG0030H
MOVRO,#22H;数据块起始地址
MOVRI,21H;数据个数n
MOV20H,#0FFH;最大数
LOOP:MOVA,@R0;取新数
INCRO;为取下一个新数作准备
CJNEA,20H,LOOP1;与原最大数比较
LOOP1:JNCNEXT;大,原最小数保存
MOV2OH,A;小,改变最小数
NEXT:DJNZRI,LOOP;循环
END
10.ASCH码转换为十六进制数:
AHEX:CLRC
SUBBA,#30H
CJNEoA,#0AH,N
N:JCoNl
oSJMPAE
N1:SUBB
oCJNEoA,#06H,N2
N2:JNCERR
ADDA,#0AH
oSJMPAE
ERR:MOVA,#0FFH
AE:oRET
8位二进制转换成BCD码。(用十进制表达的二进制码)
BINBCD1:MOVB,#100
DIVAB
MOV@R0,A
INCRO
MOVA,#10
XCHA,B;仆)=原(8),(8)=10
DIVAB
MOV@R0,A
INCRO
XCHAB
MOV@R0,A
RET
+5V
11.规定每次按动按键,使外接发光二极管LED改变一次亮灭状态。
解输入按键信号,输出改变状态。
:INT0P1.0LED单片机
1、跳变触发:每次跳变引起一次中断请求。
ORGOOOOoH;复位入口AJMPMAIN
INTO
oORG0003H;中断入口AJMPoPINIEF4-
oORG01O0H;主程序
MAIN:MOVSP,#40H;设栈底
ooSETBEA。;开总允许开关
SETBEXO;开INTO中断
SETBdT0;负跳变触发中断
H:SJMPH;执行其它任务
oORG0200H;中断服务程序
PINTO:CPLP1.0;改变LED
RETI;返回主程序
2、电平触发:可避免一次按键引起多次中断响应。
1)软件等待按键释放(撤消低电平);(2)硬件清除中断信号(标志位)。
ORG。OOOOH;复位入口
AJMPMAIN
ORGO。003H;中断入口
AJMPPINTO
°ORGO0100H«;主程序
MAIN:MOVSP,#4OH;设栈底
SETB,EA,;开总允许开关
T湘押M0GATEC/TMlMO
SETBEX0;啾
、______/_______/
。CLR»ITO;低电平触发中新
H:»SJMP»H。;执行其它任务
o»ORG02OOH;中断服务程序
PINT0:CPLP1.0;改变LED
WAIT:JNB»P3.2,WAIT;等按键释放(P3.2即INTO)
oRETI.;返回主程序
假设系统时钟为6MHz,编写定期器T0产生1秒定期的程序。
(l)T0工作方式的拟定
定期时间较长,采用哪一种工作方式?
由各种工作方式的特性,可计算出:
方式0最长可定期16.384ms;
方式1最长可定期131.072ms;
方式2最长可定期512s。
选方式1,每隔100ms中断一次,中断10次为1s。
(2)计算计数初值
由于:(216-X)X2X10-6=10-1
所以:X=15536=3CB0H
因此:TH0=3CH,TL0=B0H
(3)10次计数的实现
采用循环程序法。
(4)程序设计
ORG0OOOH
RESET:LJMPMAIN;上电,转主程序入口MAIN
ORGOOOBH;TO的中断入口
LJMPIT0P;转丁0中断解决程序IT0P
ORG1000H
MAIN:MOVSP,#60H;设堆栈指针
MOVB,#0AH;设循环次数10次
。MOVTMOD,#01H;设TO工作在方式1
MOVTL0,#0B0H;给TO设初值
MOVTHO,#3CH
。SETBTRO。:启动TO
SETBETO;允许TO中断
SETBEA;CPU开放中断
HERE:SJMPHERE;等待中断
ITOP:MOVTLO,#0BOH;T0中断子程序,重装初值
MOVTHO,#3CH;
。DJNZB,LOOP
CLRTRO;1s定期时间到,停止TO工作
LOOP:RETI
12.由P1.0输出方波信号,周期为2ms,设fosc=12MHz。
每隔1ms改变一次Pl.0的输出状态。用TO非门控方式1定期。
计算时间常数:X=216-t/T=216-1000/1=FC18H
START:MOVTMOD,#01H
MOVTL0,#18H
。。MOV»TH0,#OFCH
000SETBTRO
LOOP:JBQTF0,PTF0
。。SJMPLOOP
。PTFO:CPLP1.0
ooMOV。TLO,#18H
。。MOVTHO,#0FCH
oSJMPLOOP
ORG-OOOOH
AJMPoMAIN
ORGOOOBH<TO定期器
gAJMPOPTOINT
。ORGO1OOH
MAIN:MOV6P,#6OH
。MOVTMOD,#01H
。MOVoTLO,#18H
gMOV^TH0,#0FCH
SETBEA
。SETBOETO
。SETBTRO
HERE:SJMPHERE
P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年薄型半固定电位器项目可行性研究报告
- 2025至2030年中国双目立体显微镜数据监测研究报告
- 2025至2030年中国精梳棉毛套装数据监测研究报告
- 2025年中国自动切台行业市场全景分析及投资策略研究报告
- 2025年产品样本项目可行性研究报告
- 2025年90度齿轮箱项目可行性研究报告
- 2025至2030年电动抽油机项目投资价值分析报告
- 2025至2030年暗室X线中速牙片项目投资价值分析报告
- 2025至2030年不锈钢N型拉手项目投资价值分析报告
- 2024-2025学年高中数学课时分层作业17概率的加法公式含解析新人教B版必修3
- 4.2依法履行义务 教案 -2024-2025学年统编版道德与法治八年级下册
- NB/T 11526-2024煤矿微震监测系统通用技术条件
- 2025年福建长汀金龙稀土有限公司招聘笔试参考题库含答案解析
- 文化差异下的教育国外的小学音乐教育方式探讨
- 贵州省贵阳市普通中学2024-2025学年高二上学期期末监测历史试题(含答案)
- 公司安全事故隐患内部举报、报告奖励制度
- 云停车平台商户使用说明
- 医院医保月结算报表
- 中国农业银行资金证明模板
- 教师如何做小课题研究(李海波)
- 确认民族成分申请书
评论
0/150
提交评论