- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西南科技大学 单片机实验 程序代码
实验一 功能:使连接在MCS-51单片机P1.0引脚的LED闪烁。
设计思路:
① 点亮LED需要约10 mA电流,此时LED两端电压差约2 V。因此,将LED的阴极通过一个电阻连接到P1.0引脚(电阻阻值约为200 (),阳极连接到电源VCC(5 V)。
② 为便于观察,交替的时间间隔不应太小(建议选择在0.5 s左右),由于该时间不要求严格精确,所以,可采用软件延时的方法实现。
③ 程序可采用图2.1中的流程结构。
ORG 0000H
AJMP START
ORG 0030H
START: MOV P1,#0FFH
LOOP: CPL P1.0
ACALL DELAY
AJMP LOOP
DELAY: MOV R0,#99
DL2: MOV R1,#99
DL1: NOP
NOP
DJNZ R1,DL1
DJNZ R0,DL2
RET
END
实验二 设计并调试一个双字节无符号数乘法子程序。
功能:双字节无符号数乘法子程序。
入口参数: 被乘数放在R7(高)和R6(低);乘数放在R5(高)和R4(低);积(片内RAM中的连续4字节)的首地址放在R0中。
设计思路:
由于MCS-51指令集中只有单字节无符号数乘法指令,因此需要将双字节无符号数相乘变换成4次单字节无符号数相乘,才能利用乘法指令实现双字节无符号数乘法计算。变换方法如图2.1所示。
MCS-51指令集中乘法指令的结果是固定存放在A和B中的,因此每次乘法操作后都须将结果保存在积中。所以应首先将积的初值置0且在每次乘法指令结束后需要进行2次加操作,分别将A和B加到积的对应位置(注意:在两次加法之间要考虑进位)。
ORG 0000H
AJMP START
ADR EQU 20H
ORG 0030H
START:
MOV R0,#ADR
MOV R4,#14H
MOV R5,#05H
MOV R6,#35H
MOV R7,#21H
ACALL DW_MUL
AJMP $
DW_MUL:
MOV R1,#04H
CLE:
MOV @R0,#00H
INC R0
DJNZ R1,CLE
MOV R0,#ADR
MU:
MOV A,R4
MOV B,R6
MUL AB
MOV @R0,A
MOV A,B
INC R0
ADDC A,@R0
MOV @R0,A
MOV A,R4
MOV B,R7
MUL AB
ADDC A,@R0
MOV @R0,A
MOV A,B
INC R0
ADDC A,@R0
MOV @R0,A
MOV A,R5
MOV B,R6
MUL AB
DEC R0
ADDC A,@R0
MOV @R0,A
MOV A,B
INC R0
ADDC A,@R0
MOV @R0,A
MOV A,R5
MOV B,R7
MUL AB
ADDC A,@R0
MOV @R0,A
MOV A,B
INC R0
ADDC A,@R0
MOV @R0,A
RET
END
实验三:设计并调试一个将双字节无符号二进制数转换为压缩BCD数的子程序。
功能:双字节无符号二进制数转换为压缩BCD数子程序
入口参数: 双字节无符号二进制数的地址放在R0中;存放转换结果(BCD数)的地址放在R1中。
设计思路:
① 双字节无符号二进制数最大值为0FFFFH,对应的十进制数为65535,其压缩BCD编码表示为06H,55H,35H,所以转换结果应用3个字节存放。
② Y=(D15D14…D1D0) 2 = (((…(((0(2)+D15)(2+D14) (2+…) (2+D1) (2+D0) 2。Y0=(0(2)+D15,Y1= Y0+D14,Y2= Y1+D13,…,Y15= Y14+D0,Y= Y15。Y0|BCD =( (0(2)+D15)|BCD,Y1|BCD =( Y0+D14)|BCD,…, Y15 |BCD = ( Y14+D0)|BCDY |BCD =Y15|BCD 算法:1、Y=02、Y=Y(2+Di (i =15,14,…,2,1,0)3、对Y进行十进制调整4、重复2、3步16次
③ Y=Y(2+Di可用Y=Y+Y+C实现(Di首先放在C中),考虑到Y存放在3个字节,应分别加3次,且要考虑每次加法产生的C。
ORG 0000H
AJMP START
ORG 0030H
START:MOV SP,#60H
MOV R1,#25H
MOV R0,#20H
MOV @R0,#43H
INC R0
MOV @R0,#4AH
ACALL DW_BCD
AJMP $
DW_BCD:DEC R0
MOV A,R0
您可能关注的文档
- 日语专业四级语法精粹(01-37)汇总.doc
- 49504_砌筑工程ppt讲稿.ppt
- 第6讲:演化博弈论简介.ppt
- 我的理想((2015-6-5 0-14-35 9626))(2015-6-5 3-2-49).ppt
- 苏教版三年级上册被除数上有0的除法.ppt
- 第7章查找答案.doc
- 建筑结构设计试题及答案.doc
- 函数极值ppt.ppt
- 2012中考复习数学讲义 第10章 近年中考压轴题选练 第49课 方程 函数与几何 相结合型综合问题.ppt
- 高效复习 完胜高考(共49张PPT).ppt
- 职业技术学院2024级工业机器人技术(安装与维护)专业人才培养方案.docx
- 职业技术学院2024级应用化工技术专业人才培养方案.pdf
- 职业技术学院2024级软件技术(前端开发)专业人才培养方案.pdf
- 职业技术学院2024软件技术专业人才培养方案.docx
- 职业技术学院2024级信息安全技术应用(安全运维)专业人才培养方案.docx
- 职业技术学院2024级新能源汽车检测与维修技术(车辆鉴定与评估)专业人才培养方案.pdf
- 职业技术学院2024级石油炼制技术专业人才培养方案.pdf
- 职业技术学院2024级环境监测技术专业人才培养方案.docx
- 职业技术学院2024级汽车制造与试验技术专业人才培养方案.pdf
- 职业技术学院2024级信息安全技术应用专业人才培养方案.pdf
文档评论(0)