1. 首页 > 科技

有限状态机程序补充? 补充程序 求s 1 2

有限状态机程序补充?补充程序 求s 1 2

单片机实验数码转换实验代码如何补充,补充过程及注释解释

2.2.1 实验目的

1. 掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解;

2. 熟悉KeilC51 集成开发环境的操作及程序调试的方法。

2.2.2 实验设备

PC机一台,TD-NMC+教学实验系统、或“TD-PIT++教学实验系统+TD-51 系统平台”、或

“TD-PITE 教学实验系统+TD-51 系统平台”

2.2.3 实验内容

1. 将BCD 码整数0~255 存入片内RAM 的20H、21H、22H 中,然后转换为二进制整数

00H~FFH,保存到寄存器R4 中。

2. 将16 位二进制整数存入R3R4 寄存器中,转换为十进制整数,以组合BCD 形式存储在

RAM 的20H、21H、22H 单元中。

2.2.4 实验步骤

1. BCD 整数转换为二进制整数

实验参考例程:(Asm2-1.asm)

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV R0, #20H ;BCD 存放高位地址

MOV R7, #03H ;BCD 码0--255, 最多3 位

CLR A

MOV R4, A

LP1: MOV A, R4

MOV B, #0AH

MUL AB ;乘10

ADD A, @R0 ;加下一位的值

INC R0 ;指向下一单元

MOV R4, A ;结果存入R4

DJNZ R7, LP1 ;转换未结束则继续

SJMP MAIN ;设置断点, 观察实验结果R4 中的内容

END

实验步骤:

(1)输入程序,检查无误后,编译、链接程序,首先给系统复位,然后点击命令进入

调试状态;

(2)修改20H、21H、22H 单元的内容,如:00H,05H,08H;

(3)在SJMP MAIN 语句行设置断点,然后运行程序;

(4)程序遇到断点后停止程序运行,此时查看寄存器R4 的内容,应为3AH;

(5)重新修改20H、21H、22H 单元的内容,再次运行程序,验证程序的正确性;

(6)实验结束,按复位键将系统复位,点击退出调试状态。

2. 二进制整数转换为十进制整数

图2-2-1 程序流程图

实验参考例程:(Asm2-2.asm)

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV R0, #22H ;转换结果低位地址

MOV A, R0

PUSH ACC ;ACC 表示累加器A 的直接地址

MOV R7, #03H

CLR A

LP1: MOV @R0, A ;结果存储地址清零

DEC R0

DJNZ R7, LP1

POP ACC

MOV R0, A

MOV R7, #16

LP2: PUSH ACC

CLR C

MOV A, R4 ;R4中为二进制数的低位

RLC A

MOV R4, A

MOV A, R3 ;R3中为二进制数的高位

RLC A

MOV R3, A

MOV B, #03H

LP3: MOV A, @R0

ADDC A, @R0 ;执行乘2 操作

DA A ;十进制调整

MOV @R0, A ;结果保存

DEC R0

DJNZ B, LP3

POP ACC

MOV R0, A

DJNZ R7, LP2

LJMP MAIN ;设置断点观察结果, 可进行下一次转换

END

实验步骤:

(1)编写实验程序,程序流程图如图2-2-1 所示,编译、链接无误后,进入调试状态;

(2)修改R3R4 寄存器,例如A2H、FCH;

(3)在LJMP MAIN 语句行设置断点,然后运行程序;

(4)程序停止后,查看存储器20H 的内容,应为:04H、17H、24H;

(5)反复修改R3R4 寄存器的内容,运行实验程序,验证程序的正确性。

C语言补充程序

#include <stdio.h>

void main()

{ double pi=0;

long i, sign=1;

for(i=1;i<=10001;i+=2)

{

pi+=1.0*sign/i;

sign=-sign;

}

pi*=4;

printf("%f\n",pi);

}

将程序补充完整 ,求s=1-2+3-4+5-6+......+99-100的和

S=1平方-2平方+3平方-4平方+5平方-……+99平方-100平方+101平方

=1+(3平方-2平方)+(4平方-3平方)+...+(101平方-100平方)

=1+(3-2)(3+2)+(4-3)(4+3)+...+(101-100)(101+100)

=1+2+3+...+101

=(1+101)101/2

=5151

5151/103=50 余1

所以S被103除的余数是1

程序补充完整 public class public static void main(String args[]){ ; //打印 3*3 } } 求教 菜鸟 刚学

补充完整的Java程序如下

public class F {

 public static void main(String[] args) {

  //打印 3*3

  System.out.println("3*3");

 }

}运行结果

3*3