按关键词阅读: 相关 图表 报告 实验 图表相关 程序设计 循环 分支 报告[图表相关]
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 0000HLJMP MAINORG 0100HMAIN: MOV DPTR,#1000H ;
X存于1000HMOV A,#-1 ;
给X赋值MOV B,#0MOVX DPTR,A;
正负判断JB ACC.7,L3 ;
X0CJNE A,#64,L2 ;
A!=64,L2SJMP L1L1: MOV B,A ;
X=64MUL ABSJMP STORE ;
低位存于1001H,高位存于1002HL2: JNC L1 ;
X64,L1CJNE A,#10,L4 ;
A!=10,L4 SJMP L3 ;
X=10,L3L4: JC L3 ;
X10SJMP STO 。
9、RE ;
商存于1001H,余数存于1002HL3: CPL A ;
X=10STORE: INC DPTR ;
结果存于1001HMOVX DPTR,AINC DPTRMOV A,BMOVX DPTR,A SJMP $END 2. 利用51系列单片机设计一个24小时制电子时钟 , 电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式) 。
P3.0为低电平时开始计时 , 为高电平时停止计时 。
设计1s延时子程序(延时误差小于10us , 晶振频率12MHz) 。
3.File name: task2.asmDescription: 24小时制电子时钟Date: 2016.10.13Design 。
10、ed by: DYHSource used: P0:输出小时数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,$ ;
p3.0=0,结束计数LCALL DELAY ;
。
11、延时1sADD A,#1DA AMOV P2,ADJNZ R2,LOOPMOV A,R3 ;
分钟开始计数 将分钟赋给AADD A,#1 ;
分钟+1DA AMOV R3,AMOV P1,A CLR A ;
秒清零MOV R2,#59 ;
重置内循环DJNZ R1,LOOP ;
R1!=0,中循环MOV R3,#0 ;
分钟清零 , 小时计数MOV A,R4 ADD A,#1DA AMOV R4,AMOV P0,AMOV R2,#59 ;
重置中循环MOV R1,#59 ;
重置外循环DJNZ R0,LOOPDONE: SJMP $DELAY: MOV R7,#11 ;
n=(201*5+5)*90+9)*11+2 。
12、=1000001DELAY3: MOV R6,#90 ;
t=1.000001s DELAY2: MOV R5,#201DELAY1: NOPNOPNOPDJNZ R5,DELAY1NOPNOPDJNZ R6,DELAY2NOPNOPNOPNOPNOPNOPDJNZ R7,DELAY3RETEND 提高部分(选做):1)实现4位十进制加、减1计数 , 千位、百位由P1口输出;十位、个位由P2口输出 。
利用P3.7状态选择加、减计数方式 。
2)利用P3口低四位状态控制开始和停止计数 , 控制方式自定 。
Description: 实现4位十进制加、减1计数Date: 2016.10.13Designed by:。
13、DYHSource used: P1输出千百位P2输出个十位P3.0 计数开始与停止控制P3.7 加1减1计数切换R1存千百位R2存个十位ORG 0000HMOV P1,#0 ;
输出千百位MOV P2,#0 ;
输出个十位MOV R1,#0 ;
存千百位MOV R2,#0 ;
存个十位LJMP MAINORG 0100HMAIN: JB P3.0,$ ;
计数开始与停止控制JNB P3.7,ADD1 ;
加1减1 , 模式选择SUB1: MOV P1,#99 MOV P2,#99MOV R1,#99 LOOP2: MOV R2,#99LOOP1: JB P3.0,$JNB P3.7,LOOP3MOV A,R 。
【图表相关|分支与循环程序设计实验 报告[图表相关]】14、2LCALL DELAYDEC AMOV R2,AMOV P2,R2CJNE R2,#0H,LOOP1MOV A,R1DEC AMOV R1,AMOV P1,R1CJNE R1,#0H,LOOP2SJMP $ADD1: MOV P1,#0MOV P2,#0MOV R1,#0 LOOP4: MOV R2,#0LOOP3: JB P3.0,$JB P3.7,LOOP1MOV A,R2LCALL DELAYINC AMOV R2,AMOV P2,R2CJNE R2,#99H,LOOP3MOV A,R1INC AMOV R1,AMOV P1,R1CJNE R1,#99H,LOOP4MOV R1,#0S 。
15、JMP $DELAY: MOV R7,#11 ;
n=(201*5+5)*90+9)*11+2=1000001DELAY3: MOV R6,#90 ;
t=1.000001s DELAY2: MOV R5,#201DELAY1: NOPNOPNOPDJNZ R5,DELAY1NOPNOPDJNZ R6,DELAY2NOPNOPNOPNOPNOPNOPDJNZ R7,DELAY3RETEND6、 程序测试方法与结果1. 设有8bits符号数X存于外部RAM单元 , 按以下方式计算后的结果Y也存于外部RAM单元 , 请按要求编写完整程序 。
(1) X=-30=E2H Y=1DH(2) .X=5=05H,Y=F 。
16、AH(3) .X=10=0AH,Y=F5H(4) X=25=19h Y=0CH(商) 01H(余数)(5) .X=64=40H Y=1000H2. 利用51系列单片机设计一个24小时制电子时钟 , 电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式) 。
P3.0为低电平时开始计时 , 为高电平时停止计时 。
设计1s延时子程序(延时误差小于10us , 晶振频率12MHz) 。
(1) P3.0=0 , 停止计数(2) 分钟进位前(3) 分钟进位后(4) 小时进位前(5) 小时进位后提高部分(选做):1)实现4位十进制加、减1计数 , 千位、百位由P1口输出;十位、个位由P2口输出 。
利用P3.7 。
17、状态选择加、减计数方式 。
来源:(未知)
【学习资料】网址:/a/2021/0417/0021955926.html
标题:图表相关|分支与循环程序设计实验 报告[图表相关]( 二 )