分支和循环程序设计试验报告

上传人:人*** 文档编号:562804832 上传时间:2022-10-14 格式:DOC 页数:37 大小:1.01MB
返回 下载 相关 举报
分支和循环程序设计试验报告_第1页
第1页 / 共37页
分支和循环程序设计试验报告_第2页
第2页 / 共37页
分支和循环程序设计试验报告_第3页
第3页 / 共37页
分支和循环程序设计试验报告_第4页
第4页 / 共37页
分支和循环程序设计试验报告_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《分支和循环程序设计试验报告》由会员分享,可在线阅读,更多相关《分支和循环程序设计试验报告(37页珍藏版)》请在金锄头文库上搜索。

1、WORD格式整理实验名称分支与循环程序设计实验指导教师罗志祥专业班级光电1406 姓名 段昳晖学号 U2014*联系电话 137*一、任务要求1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果 Y也存于外部RAM 单元,请按要求编写完整程序。*当 X K64Y =訣 /2当 10 : X : 64JX当 x 102. 利用51系列单片机设计一个 24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩 BCD码的形式)。P3.0为低电平时开始计时,为高电平 时停止计时。设计 1s延时子程序(延时误差小于10us,晶振频率12MHZ。二、设计思路1

2、. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果 Y也存于外部RAM 单元,请按要求编写完整程序。2当X兰64Y=X/2当 10CXC64X当X 10将外部单元1000H中的X,通过分支判断,分别执行不同的语句,三条语句分别为标记为L1、L2、L3,先比较X与64的大小关系,再判断X与10的大小关系,主要利用比较转移 指令CJNE,以及执行CJNE指令后的进位位CY,进一步比较大小,分别跳转至对应语句。将结 果存于外部单元的 1001H以及1002H=2. 利用51系列单片机设计一个 24小时制电子时钟,电子时钟的时、分、秒数值分别 通过PO、P1、P2端口输出(以压缩 B

3、CD码的形式)。P3.0为低电平时开始计时,为高电平 时停止计时。设计 1s延时子程序(延时误差小于10us,晶振频率12MHZ。主程序设计三层循环,分别对应时、分、秒,最内层安放一秒延时程序。利用RO R1、R2计数,R3保存分钟数、R4保存小时数,最内层循环 60次,中循环循环1次,中循环60 秒,外循环循环1次,外循环循环24次,清零。其中对端口显示的秒数、分钟数、时间数, 进行二进制修正。利用循环来设计延时程序,合理计算语句长度,以及循环次数。程序运行时修正 P3.0的值,可以实现暂停计数和继续的功能。提高部分(选做):1) 实现4位十进制加、减1计数,千位、百位由P1 口输出;十位、

4、个位由 P2 口输出。 利用P3.7状态选择加、减计数方式。2)利用P3 口低四位状态控制开始和停止计数,控制方式自定。初始化P1、P2,,计数循环中插入一秒延时程序。R1存千百位、R2存个十位,P3.7=0时,进行加1计数,取出R2中的数存于A,对A加1,同时进行十进制修正,存于 P2,达到 99,则进位对千百位进行加 1。P3.7=1时,进行减一操作,取出R1中的数存于A,对A减1, 同时进行十进制修正,存于 P1,达到0,则对P2,对R2进行减一。计数循环前判断 P3.0的值,当P3.0=1时,开始计数,P3.0=0时,原地循环,停止计 数,直到P3.0=1,可以实现随时停止与开始。三、

5、资源分配Y也存于外部RAM1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果 单元,请按要求编写完整程序。2当 X Z64Y =三X /2当 10 : X : 64X当X 10X存于片外1000HY存于片外1001H、1002H其中,求平方时,低位存于1001H,,高位存于1002H除二时,商存于1001H,,余数存于1002H2. 利用51系列单片机设计一个 24小时制电子时钟,电子时钟的时、分、秒数值分别 通过P0、P1、P2端口输出(以压缩 BCD码的形式)。P3.0为低电平时开始计时,为高电平 时停止计时。设计 1s延时子程序(延时误差小于10us,晶振频率12MH

6、Z。P0输出小时数P1输出分钟数P2输出秒数R0小时循环计数R1分钟循环计数R2秒循环计数R3保存分钟数R4保存小时数提高部分(选做):1) 实现4位十进制加、减1计数,千位、百位由P1 口输出;十位、个位由 P2 口输出。 利用P3.7状态选择加、减计数方式。2)利用P3 口低四位状态控制开始和停止计数,控制方式自定。P1输出千百位P2输出个十位P3.0计数开始与停止控制P3.7加1减1计数切换R1存千百位R2存个十位四、流程图Y也存于外部RAM1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果 单元,请按要求编写完整程序。广2.X2当X王64Y =三X /2当 10 :

7、 X : 64X当X10专业知识分享2. 利用51系列单片机设计一个 24小时制电子时钟,电子时钟的时、分、秒数值分别 通过PO、P1、P2端口输出(以压缩 BCD码的形式)。P3.0为低电平时开始计时,为高电平 时停止计时。设计 1s延时子程序(延时误差小于10us,晶振频率12MHZ。WORD格式整理R2内術环狈次 RI中循环同次 外緒环櫛次ATB3TR4+ 0延时子程序P7 AR2 R? II MilP2R4Riim】丫网越色晉帧血a WaO帖零険刚sfl肪遍d顾Buy SimarlDrawl- purcha sd copies prirK ibisdMumentwithout a wa

8、termark.Vtfiit www.smart dr .com or call 1-900-763-3729.WORD格式整理提高部分(选做):P2 口输出。1)实现4位十进制加、减1计数,千位、百位由P1 口输出;十位、个位由 利用P3.7状态选择加、减计数方式。2)利用P3 口低四位状态控制开始和停止计数,控制方式自定。专业知识分享Biy SmartDrail- piirchadcopies print ltil$ document without a watrmaik .Visit wwj .smarrdtaw com or call 1-900-768-3729.五、源代码(含文件头

9、说明、语句行注释)1.设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。X2当 X K64Y =三X /2当 10 : X ::: 64X当X 10File n ame: taskl.asmDescription:对8bits符号数X,对于不同的 X进行不同的运算操作Date: 2016.10.13Desig ned by:Source used: 1000H:存 X 的值1001H、1002H:存 Y 的值1001H:平方运算所得低位;除法运算所得商1002H:平方运算所得高位;除法运算所得余数ORG 0000HLJMP MAINO

10、RG 0100HMAIN: MOV DPTR,#1000H ;X 存于 1000HMOV A,#-1; 给 X 赋值MOV B,#0MOVX DPTR,A;正负判断JB ACC.7 ,L3;X0CJNE A,#64,L2SJMP L1L1: MOV B,AMUL ABSJMP STORE;A!=64 ,L2;X=64;低位存于1001H, ?高位存于1002HL2: JNC L1CJNE A,#10 ,L4SJMP L3L4: JC L3MOV B,#2DIV ABSJMP STORE;X6 4,L1;A!=10,L4;X=10,L3;X10商存于1001H,余数存于1002HL3: CPL

11、A;X=10STORE: INC DPTR;结果存于 100伯MOVX DPTR,AINC DPTRMOV A,BMOVX DPTR,ASJMP $END2. 利用51系列单片机设计一个 24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩 BCD码的形式)。P3.0为低电平时开始计时,为高电平 时停止计时。设计 1s延时子程序(延时误差小于10us,晶振频率12MHZ。3.File n ame: task2.asmDescripti on: 24小时制电子时钟Date: 2016.10.13Desig ned by: DYHSource used:P0:输出小

12、时数P1:P2:输出分钟数 输出秒数R0:R1:小时循环计数分钟循环计数R2:秒循环计数R3:保存分钟数R4:保存小时数ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#40HMOV P0,#0MOV P1,#0MOV P2,#0MOV R3,#0;保存小时MOV R4,#0; 保存分钟;设定循环MOV R0,#24;小时外循环 24MOV R1,#59; 分钟中循环 60MOV R2,#59; 秒内循环 60CLR ALOOP: JNB P3.0,$LCALL DELAYADD A,#1DA AMOV P2,ADJNZ R2,LOOPMOV A,R3ADD A

13、,#1;DA AMOV R3,AMOV P1,ACLR AMOV R2,#59DJNZ R1,LOOPMOV R3,#0;MOV A,R4ADD A,#1DA AMOV R4,AMOV P0,AMOV R2,#59MOV R1,#59DJNZ R0,LOOPDONE: SJMP $;p3.0=0,结束计数;延时1s;分钟开始计数将分钟赋给A分钟+1;秒清零;重置内循环;R1!=0,中循环分钟清零,小时计数重置中循环重置外循环DELAY:MOV R7,#11 ;n=(201*5+5)*90+9)*11+2=1000001DELAY3: MOV R6,#90;t=1.000001sDELAY2: MOV R5,#201DELAY1: NOPNOPNOPDJNZ R5,DELAY1NOPNOPDJNZ R6,DELAY2NOPNOPNOPNOPNOPNOPDJNZ R7,DELAY3RETEND提高部分(选做):P2 口输出。1)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号