收藏 分销(赏)

分支与循环程序设计.doc

上传人:精**** 文档编号:1913634 上传时间:2024-05-11 格式:DOC 页数:17 大小:719.50KB 下载积分:8 金币
下载 相关 举报
分支与循环程序设计.doc_第1页
第1页 / 共17页
分支与循环程序设计.doc_第2页
第2页 / 共17页


点击查看更多>>
资源描述
《微机实验》报告 实验名称 分支与循环程序设计 成 绩 指导教师 ****** 专业班级 ****** 姓 名 白*** 学 号 ******* 联系电话 ******** 一、任务要求 1. 熟练掌握Keil环境下汇编语言程序的调试方法,加深对汇编语言指令、机器码、寻址方式等基本内容的理解,掌握分支程序和简单程序的设计与调试方法,了解并行IO口的使用。 2. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。 3. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。设计1s延时子程序(延时误差小于10us,晶振频率12MHz)。 4. 1)实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。利用P3.7状态选择加、减计数方式。 2)利用P3口低四位状态控制开始和停止计数,控制方式自定。 二、设计思路 1. 先在外部RAM取数,然后判断该符号数是否为负数,若为负数,则取相反数并存数;若为正数,则接着判断该数是否大于等于64,若满足,则求平方并存数,先存低位,后存高位;若小于64,则接着判断该数是否大于10,若满足,则求该数的一半并存数;若小于等于10,则取相反数并存数。 2. 第一步先编可以延时1S的子程序DELAY;接着判断P3.O是否满足开始计数条件,若不满足,则重复判断;若满足,则对时分秒分别赋值,调用延时子程序,判断是否满足计时条件,若不满足,则重复判断直至满足;若满足,则秒钟自加一,循环,判断秒钟循环满60次后出循环,对分钟自加一,然后继续循环,最后判断分钟循环满60次后出循环,对时钟自加一,然后判断时钟循环满24则回到初值,时分秒重新赋值并重新开始循环。 3. 判断P3.7,若为1,则进行加一计数,若为0,则跳转至另一程序进行减一计数;加一计数中,先取低位P1送A,自加一,送P1,判断是否有溢出,若有,则取高位P2送A,自加一,送P2,然后回判断循环;减一计数同理,即先取低位P1送A,自减一,送P1,判断是否有进位,若有,则取高位P2送A,自减一,送P2,然后回判断继续循环。 三、资源分配 1.2000H 片外RAM存数 2001H 存结果低八位 2002H 存结果高八位 B寄存器 暂存结果高八位 2.P3.0 存计时判断位 R0、R1、R2 存延时子程序中各重循环的循环次数 R3、R4、R5 存时分秒的循环次数 P0、P1、P2 存时分秒的输出值 3.P1、P2 分别存十进制计数的低两位、高两位 P3.7 存计数方式的控制位 四、流程图 1、8 bit符号数的判断与计算 2、时钟设计 3.十进制加减一计数器 五、源代码 (含文件头说明、语句行注释) 1.8 bit符号数的判断与计算 ORG 0000H LJMP START ORG 1000H START: MOV DPTR,#2000H;地址指针赋初值 MOV A,#22 MOVX @DPTR,A MOVX A,@DPTR;取数 JB ACC.7,DD CJNE A,#64,AA;若A≠64,则转AA AA: JC BB;若A<64,则转BB MOV B,A MUL AB;求A的平方 INC DPTR MOVX @DPTR,A;存结果低八位 INC DPTR MOV A,B MOVX @DPTR,A;存结果高八位 SJMP $ BB: CJNE A,#10,CC;若A≠10,则转CC CPL A EE: INC DPTR MOVX @DPTR,A SJMP $ CC: JC DD;若A<10,则转DD RR A;若A>10,则右移一位 SJMP EE DD: CPL A INC A SJMP EE END 2.时钟设计 ORG 0000H LJMP START ORG 1000H START: JB P3.0,START;若为0,则开始计时 RESTA: MOV R3,#24 MOV P0,#00H ;时钟赋初值 LOOP3: MOV R4,#60 MOV P1,#00H ;分钟赋初值 LOOP2: MOV R5,#60 MOV P2,#00H ;秒钟赋初值 LOOP1: ACALL DELAY;调用延时1S子程序 LOOP: JB P3.0,LOOP;若为1,则停止计时 MOV A,P2 ADD A,#01H DA A MOV P2,A DJNZ R5,LOOP1;判断秒钟是否结束循环 MOV A,P1 ADD A,#01H DA A MOV P1,A DJNZ R4,LOOP2;判断分钟是否结束循环 MOV A,P0 ADD A,#01H DA A MOV P0,A DJNZ R3,LOOP3;判断时钟是否结束循环 LJMP RESTA DELAY: MOV R0,#12 NOP DELAY3:MOV R1,#130 DELAY2:MOV R2,#212 NOP NOP DELAY1:NOP DJNZ R2,DELAY1 DJNZ R1,DELAY2 DJNZ R0,DELAY3 RET END 3.十进制加减计数器 ORG 0000H LJMP START ORG 1000H START:MOV P1,#12H MOV P2,#92H LOOP: ACALL DELAY MOV A,P2 JB P3.7,AA;若为1,则转AA实现记数加1 ADD A,#99H DA A;实现十进制减1 MOV P2,A JC BB;判断是否产生借位,若产生,则对高位减1 MOV A,P1 ADD A,#99H DA A MOV P1,A AJMP LOOP AA: ADD A,#01H DA A;实现十进制加1 MOV P2,A JNC BB;判断是否产生进位,若产生,则对高位加1 MOV A,P1 ADD A,#01H DA A MOV P1,A BB: AJMP LOOP DELAY: MOV R0,#12 NOP DELAY3:MOV R1,#130 DELAY2:MOV R2,#212 NOP NOP DELAY1:NOP DJNZ R2,DELAY1 DJNZ R1,DELAY2 DJNZ R0,DELAY3 RET END 六、程序测试方法与结果 1.8 bit符号数的判断与计算 1)令片外RAM中数据为64 2)令片外RAM中数据为22 3)令片外RAM数据为1 4)令片外RAM数据为-2 2.时钟设计 1)令P3.0=0,程序按十进制正常运行 2)令P3.0=0,暂停计数 3)设置断点观察延时子程序的延时时间,刚好为1s 3.十进制加减1计数器 1)将P3.7置1,计数器实现加一计数 2)将P3.7置0,计数器实现减一计数 七、思考题 1. 实现多分支结构程序的主要方法有哪些?举例说明。 a) 分支地址表法 b) 转移指令表法 c) 地址偏移量表法 2. 在编程上,十进制加1计数器与十六进制加1计数器的区别是什么?怎样用十进制加法指令实现减1计数? a) 十进制加1计数器满十进1,十六进制加1计数器满16进1,十进制加法需用DA A指令进行调整 b) 用ADD A,#99H DA A 指令,即可实现减1计数 本人承诺: 本报告内容真实,无伪造数据,无抄袭他人成果。本人完全了解学校相关规定,如若违反,愿意承担其后果。 签字: 白如海 2017 年 10 月 20 日 其它说明: 1.标题:黑体,小四号 2. 正文:宋体,五号,1.5倍行距 3.流程图使用 SmartDraw7 或Visio软件绘制 4.不要加封面 其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。 二.培训的及要求培训目的 安全生产目标责任书 为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标: 一、目标值: 1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。 2、现金安全保管,不发生盗窃事故。 3、每月足额提取安全生产费用,保障安全生产投入资金的到位。 4、安全培训合格率为100%。 二、本单位安全工作上必须做到以下内容: 1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。 2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。 3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。 4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。 5、在公司及政府的安全检查中杜绝各类违章现象。 6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。 7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。 8、虚心接受员工提出的问题,杜绝不接受或盲目指挥; 9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。 10、必须按规定对单位员工进行培训和新员工上岗教育; 11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。 三、 安全奖惩: 1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。 2、每月接受主管领导指派人员对安全生产责任状的落 17
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服