- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WORD格式整理
专业知识分享
附录1 实验报告格式要求
《微机实验》报告
实验名称 分支程序设计实验
专业班级
任务要求
1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写程序。
2. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。
设计思路
1. 可知此实验要求根据不同的值进行不同的运算,因此需要使用分支程序。X处于不同的范围,有不同的运算,可知应该先判断其与20的大小,再判断其与40的大小。于是需要用到CJNE指令以及JNC判断C指令 。并由此进行不同的运算,即可完成程序目的。
2.制作一个1s的延时,并将其循环60次,并将其存入P0,作为秒的计时。再来一个外层循环,将其循环60次,并存入P1,作为分计时,最后再加一个外循环,使其循环24次,并存入P2,作为时的计时。开始计时的控制可由JB语句来实现
资源分配
1.将30H作为外部RAM的地址,并将A的结果存入该RAM中。
2.将R3,R4,R5,R6,R7作为临时放置数据的中间量,将秒,分,时的结果存入P0,P1,P2.
流程图
五、源代码 (含文件头说明、资源使用说明、语句行注释)
1.File name: task2-1.asm
Description:
Date: 10/15/2011
Designed by: 刘珍
Source used: R0,30H
ORG 1000H
MOV R0,30H
MOVX A,@R0
CJNE A,#20,STEP1 ;X≠20,转STEP1
L1: CPL A ;X=20,计算/X
SJMP DONE
STEP1: JNC STEP2 ;C=0,X20,转STEP2
SJMP L1 ;C=1,X20,转L1
STEP2: CJNE A,#40,STEP3 ;X≠40,转STEP3
L2: CLR C ;X=40,计算X*X
ADDC A,@R0
SJMP DONE
STEP3: JNC L2 ;C=0,X40,转L2
CLR C ;C=1,20X40,计算X/2
MOV B,#2H
DIV AB
DONE: MOVX @R0,A
SJMP $
END
File name: task2-2.asm
Description: 计时器,通过P0/P1/P2输出,通过P3.0控制。
Date: 10/15/2011
Designed by: 刘珍
Source used: R3,R4,R5,R6,R7 临时放置数据的中间量
P0,P1,P2 存放秒,分,时
ORG 0000H
MOV P0,#0H
MOV P1,#0H
MOV P2,#0H
MOV R3,#60
MOV R4,#60
MOV R5,#24H
MOV R6,#0H
MOV R7,#0H
CLR C
MOV P3.0,C
JB P3.0,DONE
DELAY:
文档评论(0)