分支与循环程序的设计实验报告

上传人:l**** 文档编号:141812780 上传时间:2020-08-12 格式:DOC 页数:29 大小:2.21MB
返回 下载 相关 举报
分支与循环程序的设计实验报告_第1页
第1页 / 共29页
分支与循环程序的设计实验报告_第2页
第2页 / 共29页
分支与循环程序的设计实验报告_第3页
第3页 / 共29页
分支与循环程序的设计实验报告_第4页
第4页 / 共29页
分支与循环程序的设计实验报告_第5页
第5页 / 共29页
点击查看更多>>
资源描述

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

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

2、于外部RAM单元,请按要求编写完整程序。 将外部单元1000H中的X,通过分支判断,分别执行不同的语句,三条语句分别为标记为L1、L2、L3,先比较X与64的大小关系,再判断X与10的大小关系,主要利用比较转移指令CJNE,以及执行CJNE指令后的进位位CY,进一步比较大小,分别跳转至对应语句。将结果存于外部单元的1001H以及1002H。2. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。设计1s延时子程序(延时误差小于10us,晶振频率12MHz)。 主程序设计

3、三层循环,分别对应时、分、秒,最层安放一秒延时程序。利用R0、R1、R2计数,R3保存分钟数、R4保存小时数,最层循环60次,中循环循环1次,中循环60秒,外循环循环1次,外循环循环24次,清零。其中对端口显示的秒数、分钟数、时间数,进行二进制修正。利用循环来设计延时程序,合理计算语句长度,以及循环次数。程序运行时修正P3.0的值,可以实现暂停计数和继续的功能。提高部分(选做):1) 实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。利用P3.7状态选择加、减计数方式。2) 利用P3口低四位状态控制开始和停止计数,控制方式自定。 初始化P1、P2,计数循环中插入一秒延

4、时程序。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,可以实现随时停止与开始。3、 资源分配1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。 X存于片外1000HY存于片外1001H、1

5、002H其中,求平方时,低位存于1001H,,高位存于1002H除二时,商存于1001H,,余数存于1002H2. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。设计1s延时子程序(延时误差小于10us,晶振频率12MHz)。P0输出小时数P1输出分钟数P2输出秒数R0小时循环计数R1分钟循环计数R2秒循环计数R3保存分钟数R4保存小时数提高部分(选做):1)实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。利用P3.7状态选择加、减计数方

6、式。2)利用P3口低四位状态控制开始和停止计数,控制方式自定。 P1输出千百位P2输出个十位P3.0 计数开始与停止控制P3.7 加1减1计数切换R1存千百位R2存个十位4、 流程图1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。 2. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。设计1s延时子程序(延时误差小于10us,晶振频率12MHz)。提高部分(选做):1)实现4位十进制加、减1计数,千位

7、、百位由P1口输出;十位、个位由P2口输出。利用P3.7状态选择加、减计数方式。2)利用P3口低四位状态控制开始和停止计数,控制方式自定。 5、 源代码 (含文件头说明、语句行注释)1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。 File name: task1.asmDescription: 对8bits符号数X,对于不同的X进行不同的运算操作Date: 2016.10.13Designed by: Source used: 1000H: 存X的值 1001H、1002H: 存Y的值 1001H:平方运算所得低位;除法运算

8、所得商 1002H:平方运算所得高位;除法运算所得余数ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV DPTR,#1000H ;X存于1000H MOV A,#-1 ;给X赋值 MOV B,#0 MOVX DPTR,A ;正负判断 ACC.7,L3 ;X0 CJNE A,#64,L2 ;A!=64,L2 SJMP L1L1: MOV B,A ;X=64 MUL AB SJMP STORE ;低位存于1001H,高位存于1002H L2: JNC L1 ;X64,L1 CJNE A,#10,L4 ;A!=10,L4 SJMP L3 ;X=10,L3 L4: JC L

9、3 ;X10 SJMP STORE ;商存于1001H,余数存于1002H L3: CPL A ;X=10STORE: INC DPTR ;结果存于1001H MOVX DPTR,A INC DPTR MOV A,B MOVX DPTR,A SJMP $END 2. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。设计1s延时子程序(延时误差小于10us,晶振频率12MHz)。3.File name: task2.asmDescription: 24小时制电子时钟Da

10、te: 2016.10.13Designed by: DYHSource used: P0:输出小时数P1:输出分钟数P2:输出秒数R0:小时循环计数R1:分钟循环计数R2:秒循环计数R3:保存分钟数R4:保存小时数 ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV SP,#40H MOV P0,#0 MOV P1,#0 MOV P2,#0 MOV R3,#0 ;保存小时 MOV R4,#0 ;保存分钟 ;设定循环 MOV R0,#24 ;小时 外循环24 MOV R1,#59 ;分钟 中循环60 MOV R2,#59 ;秒 循环60 CLR A LOOP: JNB

11、 P3.0,$ ;p3.0=0,结束计数 LCALL DELAY ;延时1s ADD A,#1 DA A MOV P2,A DJNZ R2,LOOP MOV A,R3 ;分钟开始计数 将分钟赋给A ADD A,#1 ;分钟+1 DA A MOV R3,A MOV P1,A CLR A ;秒清零 MOV R2,#59 ;重置循环 DJNZ R1,LOOP ;R1!=0,中循环 MOV R3,#0 ;分钟清零,小时计数 MOV A,R4 ADD A,#1 DA A MOV R4,A MOV P0,A MOV R2,#59 ;重置中循环 MOV R1,#59 ;重置外循环 DJNZ R0,LOOPD

12、ONE: SJMP $ DELAY: MOV R7,#11 ;n=(201*5+5)*90+9)*11+2=1000001 DELAY3: MOV R6,#90 ;t=1.000001s DELAY2: MOV R5,#201 DELAY1: NOP NOP NOP DJNZ R5,DELAY1 NOP NOP DJNZ R6,DELAY2 NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY3 RET END 提高部分(选做):1)实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。利用P3.7状态选择加、减计数方式。2)利用P3口低四位状态控制开始和停止计数,控制方式自定。Description: 实现4位十进制加、减1计数Date: 2016.10.13Designed by: DYHSource used: P1输出千百位P2输出个十位P3.0 计数开始与停止控制P3.7 加1减1计数切换R1存千百位R2存个十位 ORG 0000H MOV P

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 总结/报告

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