




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验名称分支与循环程序设计实验指导教师罗志祥专业班级光电1406姓名 段昳晖学号 U2014*联系电话137*、任务要求1.设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。X2当X64YX /2当10X 64X当X102.利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩 BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。设计 1s延时子程序(延时误差小于10us,晶振频率12MHz )。二、设计思路1. 设有8bits符号数X存于外部RAM单元,按以下方式
2、计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。X2当X64YX /2当10X 64X当X10将外部单元1000H中的X,通过分支判断,分别执行不同的语句,三条语句分别为标 记为L1、L2、L3,先比较X与64的大小关系,再判断X与10的大小关系,主要利用比较转移指令CJNE,以及执行CJNE指令后的进位位 CY,进一步比较大小,分别跳转至对应语句。 将结果存于外部单元的1001H以及1002H 。2. 利用51系列单片机设计一个 24小时制电子时钟,电子时钟的时、分、秒数值分别 通过P0、P1、P2端口输出(以压缩 BCD码的形式)。P3.0为低电平时开始计时,为高电 平时停止计时
3、。设计 1s延时子程序(延时误差小于10us,晶振频率12MHz )。主程序设计三层循环,分别对应时、分、秒,最内层安放一秒延时程序。利用R0、R1、R2计数,R3保存分钟数、R4保存小时数,最内层循环 60次,中循环循环1次,中循环 60秒,外循环循环1次,外循环循环 24次,清零。其中对端口显示的秒数、分钟数、时 间数,进行二进制修正。利用循环来设计延时程序,合理计算语句长度,以及循环次数。程序运行时修正 P3.0的值,可以实现暂停计数和继续的功能。提高部分(选做):1) 实现4位十进制加、减1计数,千位、百位由 P1 口输出;十位、个位由 P2 口输 出。利用P3.7状态选择加、减计数方
4、式。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,可以实现随时停止与开始。三、资源分配1.设有8bits符号数X存于外部RAM单
5、元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。X2当X64YX /2当10XX当X1064X存于片外1000HY存于片外1001H、1002H其中,求平方时,低位存于1001H,,高位存于 1002H除二时,商存于1001H,,余数存于1002H2.利用51系列单片机设计一个 24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩 BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。设计 1s延时子程序(延时误差小于10us,晶振频率12MHz )。P0输出小时数P1输出分钟数P2输出秒数RO小时循环计数R1分钟循环计数R2
6、秒循环计数R3保存分钟数R4保存小时数提高部分(选做):1) 实现4位十进制加、减1计数,千位、百位由 P1 口输出;十位、个位由 P2 口输 出。利用P3.7状态选择加、减计数方式。2)利用P3 口低四位状态控制开始和停止计数,控制方式自定。P1输出千百位P2输出个十位P3.0计数开始与停止控制P3.7加1减1计数切换R1存千百位R2存个十位四、流程图1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。x2当X64YX /2当10XX当X1064AXEND曲创信删时厮a WaD阳Off気鈿迥WBuy SrnartDraw!- p
7、urchaeed copies print thisdocument without a watermark.Visil www.smarldraw.cpm cr call 10OO7GB3729.2. 利用51系列单片机设计一个 24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩 BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。设计 1s延时子程序(延时误差小于10us,晶振频率12MHz )。网訓teSi Wall屈曲,加刨迥画Bui/ mutDrai4 (Hirdimd e:甲!. pnrtf Fbrt(Mwwrt wtthom a w
8、mer|i.is768-2729.提高部分(选做):1) 实现4位十进制加、减1计数,千位、百位由 P1 口输出;十位、个位由 P2 口输 出。利用P3.7状态选择加、减计数方式。2)利用P3 口低四位状态控制开始和停止计数,控制方式自定。血计數Ph )MTI剌计数rPl- 99 片一仙r99 LR2. 1 -TRl- R】i 1PhIURl I(KMD輙y喷细询硕Buy SmartCTsv/1- purch9$#duopiM print flhh;document Aittiout 日 wateirmarii: _Vfcrt wmw smaridraw com or call 1-80076
9、8-3729.五、源代码 (含文件头说明、语句行注释)1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。X2当X64YX /2当10XX当X1064File n ame:task1.asmDescripti on:对8bits符号数X,对于不冋的X进行不冋的运算操作Date: 2016.10.13Desig ned by:Source used:1000H: 存X的值1001H、1002H: 存 Y 的值1001H :平方运算所得低位;除法运算所得商1002H :平方运算所得高位;除法运算所得余数ORG 0000HLJMP MA
10、IN;X 存于 1000H;给X赋值ORG 0100HMAIN:MOV DPTR,#1000HMOV A,#-1MOV B,#0MOVX DPTR,A;正负判断CJNE 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;X64,L1;A!=10,L4;X=10,L3;X10;商存于1001H,余数存于1002HL3:CPL ASTORE: INC DPTRMOVX DP
11、TR,AINC DPTRMOV A,BMOVX DPTR,ASJMP $END2. 利用51系列单片机设计一个 24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩 BCD码的形式)。P3.0为低电平时开始计时,为高电 平时停止计时。设计1s延时子程序(延时误差小于10us,晶振频率12MHz )。3.File n ame:task2.asmDescription:24小时制电子时钟Date: 2016.10.13Desig ned by: DYHSource used:P0 :输出小时数P1:输出分钟数P2 :输出秒数R0:小时循环计数R1 :分钟循环计数R2
12、 :秒循环计数R3 :保存分钟数R4 :保存小时数ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP ,#40HMOV P0,#0MOV P1,#0MOV P2,#0MOV R3,#0MOV R4,#0;设定循环MOV R0,#24MOV R1,#59MOV R2,#59CLR ALOOP: JNB P3.0,$LCALL DELAYADD A,#1;保存小时;保存分钟;小时外循环-24;分钟中循环-60渺内循环-60;p3.0=0,结束计数涎时1sDA ADJNZ R2,LOOPMOV A,R3;分钟开始计数将分钟赋给AADD A,#1分钟 +1DA AMOV R
13、3,AMOV P1,ACLR A渺清零MOV R2,#59重置内循环DJNZ R1,LOOP;R1!=0,中循环MOVR3,#0;分钟清零,小时计数MOVA,R4ADDA,#1DAAMOVR4,AMOVP0,AMOVR2,#59;重置中循环MOVR1,#59;重置外循环DJNZ R0,LOOPDONE: SJMP $;t=1.000001sDELAY2: MOV R5,#201DELAY1: NOPNOPNOPDJNZ R5,DELAY1NOPNOPDJNZ R6,DELAY2NOPNOPNOPNOPNOPNOPDJNZ R7,DELAY3RETEND提高部分(选做):1) 实现4位十进制加、
14、减1计数,千位、百位由P1 口输出;十位、个位由 P2 口输 出。利用P3.7状态选择加、减计数方式。2)利用P3 口低四位状态控制开始和停止计数,控制方式自定。Description:实现4位十进制加、减 1计数Date: 2016.10.13Desig ned by: DYHSource used:P1输出千百位P2输出个十位P3.0计数开始与停止控制P3.7加1减1计数切换R1存千百位R2存个十位ORG 0000HMOV P1,#0;输出千百位MOV P2,#0;输出个十位;存千百位;存个十位MAIN:JB P3.0,$;计数开始与停止控制MOV R1,#0MOV R2,#0LJMP M
15、AINORG 0100HMOV P2,#99MOV R1,#99LOOP2: MOV R2,#99LOOP1: JB P3.0,$JNB P3.7, LOOP3MOV A,R2LCALL DELAYDEC AMOV R2,AMOV P2,R2CJNE R2,#0 H, LOOP1MOV A,R1DEC AMOV R1,AMOV P1,R1CJNE R1,#0 H,L OOP2SJMP $ADD1:MOV P1,#0MOV P2,#0LOOP4: MOV R2,#0LOOP3: JB P3.0,$JB P3.7 ,L OOP1MOV A,R2LCALL DELAYINC AMOV R2,AMOV
16、 P2,R2CJNE R2,#99 H,L OOP3MOV A,R1INC AMOV R1,AMOV P1,R1CJNE R1,#99 H,L OOP4MOV R1,#0SJMP $;n=(201*5+5)*90+9)*11+2=1000001;t=1.000001sDELAY:MOV R7,#11DELAY3: MOV R6,#90DELAY2: MOV R5,#201DELAY1: NOPNOPNOPDJNZ R5,DELAY1NOPNOPDJNZ R6,DELAY2NOPNOPNOPNOPNOPNOPDJNZ R7,DELAY3RETEND六、程序测试方法与结果1.设有8bits符号数X
17、存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。X2当X64YX /2当10X 64X当X10(1)X=-30=E2H Y=1DHegi&teisEc-Lct 4Fy HtE= rUr#:rl l=J Sy.54dftlrTC 1 starts3CC也 fSlesQiCLU.,:AirniflLk9* Xi rtwnOlOQONO秋iJSL2.dini4: 昭HI:XCV 2PTPL, f-L3C0H XTiCZiOriLhdUii IMOIMJ9 QmOD血苗 rhno WOmjUMJ0M3QMT IM3D0D c nanD. OOOIXOODLMJU
18、u_HOV A, * - 30 :希刘i 渲74F?WW3 tnwF?LJNF MAIN010:HMW DE:R# flOOOH.圧有于二CO弘HOFV 二”*-討畑VMOVX. SZiPTR.:.ZJMTE/L2;31=425JMD LIMOV m ;X-4MtltSJMP anx :低垃存了亠工出高ft存于H L- I AcgbtefiCCariinaind3 Memoiy 1T Ql刊圧昇二!nq MlXh. C 5 deSize LX3L3find如 |X;ILW-Irvn 斗 ILczi r,Z;- .-.-圧證 7T=. T -宜hXsOxCOlOOOs E2 IE DO DO 0
19、 DO 00 00 DO 00 00 03 OD 00 OQ OC OD K: 0x601011; DO C-Cl DO DO CO DO QO OO DO OO O0 00 OD OO Ofl CfD OD13 Mm 叫 1(2) .X=5=05H, Y=FAH(3).X=10=0AH,Y=F5H(4)X=25=19h Y=0CH (商)01H (余数).X=64=40HY=1000H2.利用51系列单片机设计一个 24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩 BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。设计 1s延时子程序(延时
20、误差小于10us,晶振频率12MHz )。(1)P3.0=0,停止计数(2)分钟进位前(3)分钟进位后Parallel Port 2Parallel Port 3丨-Fait gi j Bits D(4)小时进位前Parallel Port 0Port 0PO: I&01Fins:(M0-Paralle Port 1Parallel Port 2Btts 0 厂厂厂厂厂厂厂I? rTTTTTTTssPort 2P2: |&23Fins: |ftc23Bits 0ParaRel Port 3BitsFins: |OFF I7I7I7I7I7I7I7J7|Pori|匸_ 7 Bits 0PO |M
21、1厂厂厂厂厂厂厂疋Pins: |m6 厂厂厂I 丁 |Parallel Port 1Parallel Port 2Par-alkl Port 3PPcMt 工 7BU 0P3: |fttFF I7FI717I7PFI7Pins:陽FF ITpp诃诃7T7V提高部分(选做):1) 实现4位十进制加、减1计数,千位、百位由 P1 口输出;十位、个位由 P2 口输 出。利用P3.7状态选择加、减计数方式。2)利用P3 口低四位状态控制开始和停止计数,控制方式自定。(1)P3.0=1,停止计数(2 ) P3.0=1,中途停止计数Port 0,i_ _7 Qis 0P0- |血FF顾两两匝号属|7应Pi
22、ns; |fttFFParallel Port 3Pwt gI/ Bts 0F土 |Ost-FF1*1 I#Pins; |&lFF |7J7|7pJ7J7J7T7(3) P3.0=0,从暂停点继续计数Parallel Port 0Port Di7 Bls 0 PD: |(kFF p|7p|7|77|7pFins: |(kFF疔昭卩匝匝匝耳甲Parallel Port 1Para lll Port 2Port 2Brtsu1P2: |血B厂丘厂巫厂7Pins:门両厂阳盲一歹Parallel Port 3-Port 3PJ: l&FE7 Bits 07|7p|7|z|7prPins: StFE7T7I7J717J7PI(4) P3.7=0,力口 1计数前后PortCic/EflsK S.F-肩7|7|7 臣戶Pins. |fitFF两两函歹应匝耳QParallel Port 1Paw lei Port 2亡7 Bits 0pz (wa rprPFTFrParalld Port 3厂 Port 3I 7 Bits 0P3- |dt7E rPPPPPFrPin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 缝制设备远程诊断与维护服务考核试卷
- 旅行社团队建设与管理考核试卷
- 电气机械的设计参数与选型指南考核试卷
- 自动扶梯梯级防滑与防夹技术的智能化实现与案例分析考核试卷
- 疫苗接种在应对全球抗生素耐药性危机中的地位考核试卷
- 建筑物拆除工程监理考核试卷
- 轨道维护与修复设备考核试卷
- 股权代持与公司财务状况监管协议
- 药品安全消防管理
- 教育行业教学资源共享及培训合作框架协议
- 《常见疾病康复》第一章常见功能障碍康复-1~3节
- GB/T 26745-2021土木工程结构用玄武岩纤维复合材料
- GB/T 21206-2007线路柱式绝缘子特性
- 小学生“四大名著”知识竞赛课件
- 领料登记表(模板)
- 《基于SWOT分析的企业营销策略研究(论文)6800字》
- 公路路基施工规范
- 初中英语牛津译林版8B unit7 international charities Task Charity work部优课件
- 华北电力大学ppt模板
- 旅游资源分类调查评价表 2017版
- 《我的梦-中国梦》主题班会课件
评论
0/150
提交评论