这个是修改以后的滤波器环节的

核心提示1)理论计算和实验方法是相辅相成的,一般先通过理论计算来获得各个参数的基本值,再通过实验来获得其取值范围;如果仅想从实验得到,由于参数比较多,将花费很多的时间来确定这些参数值;2)如图,那么电路图左部分那些电阻电容就构成鉴频电路了,因此鉴频

1)理论计算和实验方法是相辅相成的,一般先通过理论计算来获得各个参数的基本值,再通过实验来获得其取值范围;如果仅想从实验得到,由于参数比较多,将花费很多的时间来确定这些参数值;

2)如图,那么电路图左部分那些电阻电容就构成鉴频电路了,因此鉴频输出的信号频率比振荡频率低得多,故滤波器的截止频率,应该是最高振荡频率与最低振荡频率之差,可以放宽些许,以满足频率捕抓范围;

51单片机的数据怎么显示于vs

解:(3)全过程的线路如图所示 

(如)根据?

U3
U如
=
n3
n如
?得:

U如=

n如
n3
U3=如如v×3vV=如如vvV

则输电线上的电流为:I如=

P
U如
=
88vvv
如如vv
A=如vA

损失的功率为:P损=I如如R=8vv×v.如W=8vW.

输电线上损失的电压为:△U=I如R=如v×v.如V=8V

则降压变压器输入电压为:U3=U如-△U=如如vv-8V=如39rV

根据

U3
U8
=
n3
n8
得用户得到的电压为:U8=
U3
3v
=如39.rV

用户得到的功率为:P′=P-P损=88vvv-8vW=839如vW=83.9如KW.

(3)若用如如vV直接供电时,输电电流为:I=

P
U
=
88KW
如如vV
=如vvA

输电线上的电压损失为:△U=Ir线=如vv×v.如V=8vV?

用户得到的电压为:U用=Uv-△U=如如v V-8v V=38v V

损失的电功率为:△P=△U×I=8v×如vvW=8kW

用户得到的功率为:P用=Pv-△P=88kW-8kW=3rkW

答:(3)全过程的线路如图所示;

(如)用户得到的电压为如39.rV,功率为83.9如KW;

(3)若不经过变压而直接送到用户,用户得到的功率为3rKW,电压为38vV.

1.先看一下显示的结果:

在这里插入描述

源代码:

#include <reg51.h>

typedef unsigned int u16;

typedef unsigned char u8;

u8 code smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极

u16 num=2021;//要显示的数字

void delay(u16 i)

{

while(i--);

}

void display()

{

u16 x = 0;

while(1)

{

switch(x)

{

case 0:P2 = 0x0e;P0 = smg[num / 1000];break; //显示2

case 1:P2 = 0x0d;P0 = smg[(num % 1000) / 100];break; //显示0

case 2:P2 = 0x0b;P0 = smg[(num % 1000) % 100 / 10];break; //显示2

case 3:P2 = 0x07;P0 = smg[num % 10]; break; //显示1

}

delay(1000);//延时,增大延时我们可以看到数码管是交替点亮的

x = ++x % 4;//取模,当x=4时,通过与4取模就让x的值重新变回0

}

}

void main()

{

display();

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

2.如何在数码管显示小数点呢?

对与共阴极数码管来说,直接将要显示的数字与0x80相或

例如:

要想在数码管上显示数字2,对于本电路图来说,直接让P0=0x5b即可; 0x5b=01011011,

但怎么显示'2.'呢? 对于共阴极数码管来说,只需要让P0=0x5b | 0x80, 即P0=11011011,即点亮dp位

1

2

3

4

1

2

3

4

显示结果:在这里插入描述

源代码:

#include <reg51.h>

typedef unsigned int u16;

typedef unsigned char u8;

u8 code smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极

u16 num=2021;//要显示的数字

void delay(u16 i)

{

while(i--);

}

void display()

{

u16 x = 0;

while(1)

{

switch(x)

{

case 0:P2 = 0x0e;P0 = smg[num / 1000]|0x80;break; //显示2. 只修改了此语句

case 1:P2 = 0x0d;P0 = smg[(num % 1000) / 100];break; //显示0

case 2:P2 = 0x0b;P0 = smg[(num % 1000) % 100 / 10];break; //显示2

case 3:P2 = 0x07;P0 = smg[num % 10]; break; //显示1

}

delay(1000);//延时,增大延时我们可以看到数码管是交替点亮的

x = ++x % 4;//取模,当x=4时,通过与4取模就让x的值重新变回0

}

}

void main()

{

display();

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

以上就是51单片机数码管显示数字及小数点了,但仅仅以共阴极数码管为例,大家还可以思考一下如何用共阳极数码管实现

proteus中数码管: 7-SEG-MPX4 (CC是共阴极,CA是共阳极)

 
友情链接
鄂ICP备19019357号-22