版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验名称分支与循环程序设计实验 指导教师罗志祥专业班级光电1406 姓名 段映晖学号 U2014*联系电话13系*一、任务要求1 .设有8bits符号数X存于外部RAW元,按以下方式计算后的结果 Y也存于外部RAM11元, 请按要求编写完整程序。2 .利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0 P1、P2端口输出(以压缩BC加的形式)。为低电平时开始计时,为高电平时停止计时。设计 1s 延时子程序(延时误差小于 10us,晶振频率12MHz 。二、设计思路1 .设有8bits符号数X存于外部RAW元,按以下方式计算后的结果 Y也存于外部RAMtl元, 请
2、按要求编写完整程序。将外部单元1000H中的X,通过分支判断,分别执行不同的语句,三条语句分别为标记为 L1、 L2、L3,先比较X与64的大小关系,再判断X与10的大小关系,主要利用比较转移指令 CJNE以及 执行CJNE旨令后的进位位CY,进一步比较大小,分别跳转至对应语句。将结果存于外部单元的1001H 以及1002H2 .利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过PR P1、P2端口输出(以压缩BC加的形式)。为低电平时开始计时,为高电平时停止计时。设计 1s 延时子程序(延时误差小于 10us,晶振频率12MHz 。主程序设计三层循环,分别对应时、
3、分、秒,最内层安放一秒延时程序。利用RO R1、R2计数, R3保存分钟数、R4保存小时数,最内层循环60次,中循环循环1次,中循环60秒,外循环循环 1次,外循环循环24次,清零。其中对端口显示的秒数、分钟数、时间数,进行二进制修正。利用循环来设计延时程序,合理计算语句长度,以及循环次数。程序运行时修正的值,可以实现暂停计数和继续的功能。提高部分(选做):1)实现4位十进制加、减1计数,千位、百位由P1 口输出;十位、个位由P2 口输出。利用 状态选择加、减计数方式。2)利用P3口低四位状态控制开始和停止计数,控制方式自定。初始化P1、P2,计数循环中插入一秒延时程序。R1存千百位、R2存个
4、十位,=0时,进行加 1计数,取出R2中的数存于A,对A加1,同时进行十进制修正,存于 P2,达到99,则进位对千百 位进行加1。=1时,进行减一操作,取出R1中的数存于A,对A减1,同时进行十进制修正,存于 P1,达到0,则对P2,对R2进行减一。计数循环前判断的值,当=1 时,开始计数,=0时,原地循环,停止计数,直到=1,可以实现随时停止与开始。三、资源分配1 .设有8bits符号数X存于外部RAW元,按以下方式计算后的结果 Y也存于外部RAM11元,请按要求编写完整程序。X存于片外1000HY存于片外1001T 1002H其中,求平方时,低位存于1001H,高位存于1002H除二时,商
5、存于1001H,余数存于1002H2 . 利用 51 系列单片机设计一个24 小时制电子时钟,电子时钟的时、分、 秒数值分别通过P0、P1、P2端口输出(以压缩BC加的形式)。为低电平时开始计时,为高电平时停止计时。设计 1s 延时子程序(延时误差小于 10us,晶振频率12MHZ。P0输出小时数P1 输出分钟数P2输出秒数R0小时循环计数R1 分钟循环计数R2秒循环计数R3保存分钟数R4保存小时数提高部分(选做):1)实现4位十进制加、减1计数,千位、百位由P1 口输出;十位、个位由P2 口输出。利用状态选择加、减计数方式。2)利用P3口低四位状态控制开始和停止计数,控制方式自定。P1 输出
6、千百位P2输出个十位计数开始与停止控制加 1 减 1 计数切换R1 存千百位R2存个十位四、流程图1 .设有8bits符号数X存于外部RAW元,按以下方式计算后的结果 Y也存于外部RAMtl元,请按要求编写完整程序。2 . 利用 51 系列单片机设计一个24 小时制电子时钟,电子时钟的时、分、 秒数值分别通过P0、P1、P2端口输出(以压缩BC加的形式)。为低电平时开始计时,为高电平时停止计时。设计 1s 延时子程序(延时误差小于 10us,晶振频率12MHZ。提高部分(选做):1)实现4位十进制加、减1计数,千位、百位由P1 口输出;十位、个位由P2 口输出。利用状态选择加、减计数方式。3
7、)利用P3口低四位状态控制开始和停止计数,控制方式自定。五、源代码(含文件头说明、语句行注释)1.设有8bits符号数X存于外部RAW元,按以下方式计算后的结果 Y也存于外部RAMtl元,请按要求编写完整程序。File name:Description:对8bits符号数X,对于不同的X进行不同的运算操作Designed by:Source used: 1000H: 存 X 的值1001H、1002H:存 Y的值1001H:平方运算所得低位;除法运算所得商1002H:平方运算所得高位;除法运算所得余数ORG 0000HLJMP MAINORG 0100HMAIN: MOV DPTR,#1000
8、H ;X 存于 1000HMOV A,#-1;给 X赋值MOV B,#0MOVX DPTR,A; 正负判断JB ,L3;X<0,L3;X>0CJNE A,#64,L2;A!=64,L2SJMP L1L1: MOV B,AMUL ABSJMP STOREL2: JNC L1CJNE A,#10,L4;X>=64;低位存于1001H,高位存于1002H;X>64,L1;A!=10,L4SJMP L3L4: JC L3MOV B,#2DIV ABSJMP STOREL3: CPL ASTORE: INC DPTRMOVX DPTR,AINC DPTR;X=10,L3;X<
9、;10,L3;X>10商存于1001H,余数存于1002H;X<=10; 结果存于1001HMOV A,BMOVX DPTR,ASJMP $END2. 利用 51 系列单片机设计一个24 小时制电子时钟,电子时钟的时、分、 秒数值分别通过P0、P1、P2端口输出(以压缩BCDK的形式)。为低电平时开始计时,为高电平时停止计时。设计 1s 延时子程序(延时误差小于 10us,晶振频率12MHZ。 File name:Description: 24 小时制电子时钟Designed by: DYHSource used:P0:输出小时数P1:输出分钟数P2: RG R1: R2: R3:
10、R4:ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#40HMOV P0,#0MOV P1,#0MOV P2,#0MOV R3,#0MOV R4,#0; 设定循环MOV R0,#24MOV R1,#59 ;MOV R2,#59 ; CLR A输出秒数 小时循环计数 分钟循环计数 秒循环计数 保存分钟数 保存小时数; 保存小时 保存分钟;小时外循环 24分钟中循环 60秒内循环 60LOOP: JNB ,$LCALL DELAY;=0, 结束计数; 延时 1sADD A,#1DA AMOV P2,ADJNZ R2,LOOPMOV A,R3ADD A,#1DA A
11、MOV R3,AMOV P1,ACLR A; 分钟开始计数将分钟赋给A分钟 +1MOV R2,#59DJNZ R1,LOOPMOV R3,#0MOV A,R4ADD A,#1秒清零重置内循环R1!=0, 中循环分钟清零,小时计数DA A MOV MOV MOV MOVR4,AP0,AR2,#59R1,#59; 重置中循环; 重置外循环DJNZ R0,LOOP DONE: SJMP $DELAY:MOV R7,#11 ;n=(201*5+5)*90+9)*11+2=1000001DELAY3: MOV R6,#90 ;t=DELAY2: MOV R5,#201DELAY1: NOPNOPNOPD
12、JNZ R5,DELAY1NOPNOPDJNZ R6,DELAY2NOPNOPNOPNOPNOPNOPDJNZ R7,DELAY3RETEND提高部分(选做):1)实现4位十进制加、减1计数,千位、百位由P1 口输出;十位、个位由P2 口输出。利用 状态选择加、减计数方式。2)利用P3口低四位状态控制开始和停止计数,控制方式自定。Description: 实现4位十进制加、减1 计数Designed by: DYHSource used:P1 输出千百位P2输出个十位 计数开始与停止控制加 1 减 1 计数切换R1 存千百位R2存个十位ORG 0000H输出千百位 输出个十位 存千百位 存个十
13、位; 计数开始与停止控制; 加 1 减 1,模式选择MOV P1,#0MOV P2,#0MOV R1,#0MOV R2,#0 LJMP MAIN ORG 0100HMAIN: JB ,$JNB ,ADD1SUB1: MOV P1,#99MOV P2,#99MOV R1,#99LOOP2: MOV R2,#99LOOP1: JB ,$JNB ,LOOP3MOV A,R2 LCALL DELAYDEC AMOV R2,AMOV P2,R2CJNE R2,#0H,LOOP1MOV A,R1DEC AMOV R1,AMOV P1,R1CJNE R1,#0H,LOOP2SJMP $ADD1: MOV P
14、1,#0MOV P2,#0MOV R1,#0LOOP4: MOV R2,#0LOOP3: JB ,$JB ,LOOP1MOV A,R2LCALL DELAYINC AMOV R2,AMOV P2,R2CJNE R2,#99H,LOOP3MOV A,R1INC AMOV R1,AMOV P1,R1CJNE R1,#99H,LOOP4MOV R1,#0SJMP $DELAY:MOV R7,#11 ;n=(201*5+5)*90+9)*11+2=1000001DELAY3: MOV R6,#90 ;t=DELAY2: MOV R5,#201DELAY1: NOPNOPNOPDJNZ R5,DELAY
15、1NOPNOPDJNZ R6,DELAY2NOPNOPNOPNOPNOPNOPDJNZ R7,DELAY3RETEND六、程序测试方法与结果1 .设有8bits符号数X存于外部RAW元,按以下方式计算后的结果 Y也存于外部RAM11元, 请按要求编写完整程序。(1)X=-30=E2H Y=1DH (2).X=5=05H,Y=FAH (3).X=10=0AH,Y=F5H (4)X=25=19h Y=0CH (商)01H (余数) (5).X=64=40H Y=1000H2 .利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过PR P1、P2端口输出(以压缩BCDK的形式)。为低电平时开始计时,为高电平时停止计时。设计 1s 延时子程序(延时误差小于 10us,晶振频率12MHZ 。(1) =0,停止计数(2)分钟进位前(3)分钟进位后(4)小时进位前(5)小时进位后提高部分(选做):1)实现4位十进制加、减1计数,千位、百位由P1 口输出;十位、个位由P2 口输出。利用 状态选择加、减计数方式。2)利用P3口低四位状态控制开始和停止计数,控制方式自定。(1) =1,停止计数(2) =1,中途停止计数(3) =0,从暂停点继续计数(4) =0,加1计数前后(5) =1,减1计数前后思考题1 .实现多分支结构程序的主要方法有哪些举例说明。2 .在编程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中专护理考试试题套卷及答案
- 2025年全科医学科实习生出科考试试题与答案
- 难点解析人教版八年级物理上册第4章光现象专题测评试题(详解版)
- 柯莱特前端机试题(带答案)
- 药品零售企业企业负责人岗位人员测试试题(附答案)
- 护理(中医临床)试卷及答案
- 急救护理测试题与答案
- 红十字应急救护培训五班理论考试附答案
- 2025水利水电考试试题及答案
- 综合解析人教版八年级上册物理《长度和时间的测量》定向测试试卷(含答案详解)
- 物业管理标准化管理体系员工离职、内部调职管理标准作业规程
- 全液压转向器应用基础知识26新
- 大班数学《来自毕业餐会》活动反思
- 昆明城市空间形态
- GB/T 28553-2012汽轮机蒸汽纯度
- GB/T 16921-2005金属覆盖层覆盖层厚度测量X射线光谱方法
- 政治理论水平任职资格考试题库
- 新形势下群众工作的理论与实践课件
- 2023年交银国际信托有限公司招聘笔试题库及答案解析
- 高联难度几何题100道-打印整理版
- 公共管理英语 第一篇 教学内容 (15)课件
评论
0/150
提交评论