单片机实验报告—分支程序设计实验.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机实验报告—分支程序设计实验

《微机实验》报告 实验名称:分支程序设计实验 指导教师: 专业班级: 姓名: 学号: 联系方式: 任务要求 实验目的: 熟练掌握KeilC环境下汇编语言程序的调试方法,加深对汇编语言指令、机器码、寻址方式等基本内容的理解,掌握分支程序和简单程序的设计与调试方法,了解并行IO口的使用。 实验内容: 1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写程序。 2. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。 提高部分(选做): a. 实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。利用P3.7状态选择加、减计数方式。 b. 利用P3口低四位状态控制开始和停止计数,控制方式自定。 设计思路 1.分支计算 数据X存于片外0010H,首先用CJNE语句与7FH比较(会给C赋值,X7FH时,C=0;反之C=1),等于时取平方;若不等,用JNC语句,C=0(X7FH)时取反;否则与28H比较(同上),大于等于28H时取平方;小于28H时,再与14H比较,大于14H时除二,否则取反。地址存于片外0040H和0041H,低位存于0040H,高位存于0041H。 2. 电子时钟 电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。P3.0=0时开始计时。秒满60进位,为了60秒时直接显示1分钟0秒,需先将A赋给P2,再加一,再与60H比较,看是否进位。同理,分满60进位。时满24重新开始,由于P0端口的位置错误,A与P0相互赋值时,需加中间变量RO。 3.双向计数 P3的底四位全为1时开始计数;用P3.7状态控制加、减计数方式;千位、百位由P1口输出,十位、个位由P2口输出(以压缩BCD码的形式)。P3.7为1时加计数,需先将进位C清零,用ADD语句给P2加一,并用DA语句进行十进制修正;再用ADDC语句给P1加一再十进制修正。P3.7为0时减计数,需先判断P2是否为00H, 不是00H则P2减一,是00H则给P2赋99H;同理,再判断P1是否为00H,不是00H则P1减一,是00H则给P1赋99H。 延时可以用上面程序的延时1s子程序。 三、资源分配 1.分支计算 初始数据X存于片外0010H; 取反和除二操作,结果都存于片外0040H中; 平方操作低位存于0040H中,高位存于0041H中。 2. 电子时钟 P3.7为0时开始计数,为1时停止; P2显示秒,P1显示分,P0显示时; R3、R4、R5用于进行延时的装载循环次数。 3.双向计数 P3的底四位全为1时开始计数; 用P3.7状态控制加、减计数方式; P1口显示千位、百,P2口显示十位、个位。 四、流程图 图1为分支计算程序流程图 图2为电子时钟程序流程图 图3为双向计数程序流程图 五、源代码 (含文件头说明、资源使用说明、语句行注释) 1. 分支计算 /* File name: 分支计算 Description: 8bits符号数X存于片外0010H,当X=40时,取平方,高位存于0040H, 低位存于片外0041H中;当20X40时,除二,结果存于片外0040H中; 当X=20时,对X取反,结果存于片外0040H中。 Date: 2012.10.10 Designed by: gxy Source used: 0010H:片外RAM存储的数X 0040H:除二和取反结果、平方结果的平方的低八位 0041H:平方结果的高八位 */ ORG 0000H LJMP MAIN ORG 0010H MAIN: MOV DPTR,#0010H ;x存于片外0010H中 MOVX A,@DPTR CLR C CJNE A,#7FH,TO1 ;与7FH比较,判断正负 SJMP PLACE1 TO1: JNC PLACE3 CJNE A,#28H,TO2 ;与28H比较 SJMP PLACE

文档评论(0)

qee026 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档