Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kyrs.doc
Скачиваний:
14
Добавлен:
25.11.2018
Размер:
878.08 Кб
Скачать
  1. Програма для роботи мікропроцесорного пристрою, побудованого на базі мікроконтролера 89с51

Нижче наведена програма, написана мовою асемблера 89С51, яка виконує обрахунки за заданим алгоритмом:

;

За допомогою програми М51-24.ехе переведемо значення вхідних величин у шістнадцяткову систему числення формату REAL і запишемо у таблицю 7.1.

Запишемо адреси комірок пам'яті під вхідні та вихідний параметри функції у вигляді таблиці 7.1

Таблиця 7.1. Позначення та адреси комірок пам'яті під вхідні та вихідний параметри функції.

Змінна

Ідентифікатор

Значення

Значення у системі

Адреса контрольних точок

M1

M2

M3

P

M1

M2

M3

P

Тy

Ty

-

-

-

-

-

30h

31h

32h

33h

pНП

Pnp

-

-

-

-

-

34h

35h

36h

37h

µНП

Finp

-

-

-

-

-

38h

39h

3Ah

3Bh

µВ

Fib

-

-

-

-

-

3Ch

3Dh

3Eh

3Fh

µВП

Fibp

-

-

-

-

-

40h

41h

42h

43h

-

D

-

-

-

-

-

44h

45h

46h

47h

T

T

-

-

-

-

-

48h

49h

4Ah

4Bh

Fi

0.25

00H

00H

00H

7FH

4Ch

4Dh

4Eh

4Fh

t

Tm

224

60H

00

00

88H

50h

51h

52h

53h

p

Pm

180000

2FH

C8H

00H

92H

54h

55h

56h

57h

-

-

273.15

08H

93H

33H

89H

-

-

-

-

-

-

0.001

03h

12h

6eh

77h

-

-

-

-

-

-

10E+6

74h

24h

00h

94h

-

-

-

-

-

-

82.865856

25h

bbh

51h

87h

-

-

-

-

-

-

-7.821541

fah

4ah

10h

83h

-

-

-

-

-

-

10.28003

24h

7bh

00h

84h

-

-

-

-

-

-

-11.48776

B7h

cdh

ddh

84h

-

-

-

-

-

-

241.4

71h

66h

66h

88h

-

-

-

-

-

-

10

8ch

00h

00h

88h

-

-

-

-

-

-

-6

C0h

00h

00h

83h

-

-

-

-

-

-

247.8

77h

Cch

Cch

88h

-

-

-

-

-

-

1

00h

00h

00h

81h

-

-

-

-

-

-

1.0467

05h

fah

43h

81h

-

-

-

-

-

-

10E-11

2fh

ebh

ffh

5ch

-

-

-

-

-

-

-305

98h

80h

00h

89h

-

-

-

-

-

-

10E-6

06h

37

bdh

6dh

-

-

-

-

-

-

0.0399

23h

6eh

2eh

7ch

-

-

-

-

-

-

-2.9675

Bdh

edh

85h

82

-

-

-

-

-

-

-498.15

F9h

13h

33h

89h

-

-

-

-

-

-

9.80665

1ch

ebh

09h

84h

-

-

-

-

-

-

2.227

0eh

87h

2bh

82h

-

-

-

-

-

-

-0.0028495

bah

beh

adh

78h

-

-

-

-

-

-

0.5

00h

00h

00h

80h

-

-

-

-

Програма розрахунку динамічної в’язкості вологої водяної пари

TTM1 EQU 30h

TyM1 EQU 30H

TyM2 EQU 31H

TyM3 EQU 32H

TyP EQU 33H

pnpM1 EQU 34H

pnpM2 EQU 35H

pnpM3 EQU 36H

pnpP EQU 37H

finpM1 EQU 38H

finpM2 EQU 39H

finpM3 EQU 3AH

finpP EQU 3BH

fibM1 EQU 3CH

fibM2 EQU 3DH

fibM3 EQU 3EH

fibP EQU 3FH

fibpM1 EQU 40H

fibpM2 EQU 41H

fibpM3 EQU 42H

fibpP EQU 43H

DM1 EQU 44H

DM2 EQU 45H

DM3 EQU 46H

DP EQU 47H

TM1 EQU 48H

TM2 EQU 49H

TM3 EQU 4AH

TP EQU 4BH

fiM1 EQU 4CH

fiM2 EQU 4DH

fiM3 EQU 4EH

fiP EQU 4FH

tmM1 EQU 50H

tmM2 EQU 51H

tmM3 EQU 52H

tmP EQU 53H

pM1 EQU 54H

pM2 EQU 55H

pM3 EQU 56H

pP EQU 57H

STACK EQU 70H

DIVON0 EQU 62H

sqrneg EQU 63H

ORG 0h

JMP BEGIN

ORG 100h

BEGIN:

MOV SP,#STACK

MOV tmM1,#60H ;t=224

MOV tmM2,#00H

MOV tmM3,#00H

MOV tmP,#88H

MOV pM1,#2FH ;p=180000

MOV pM2,#0C8H

MOV pM3,#00H

MOV pP,#92H

MOV fiM1,#00H ;fi=0.25

MOV fiM2,#00H

MOV fiM3,#00H

MOV fiP,#7FH

MOV R0,tmM1 ;t

MOV R1,tmM2

MOV R2,tmM3

MOV R3,tmP

MOV R4,#08H ; 273.15

MOV R5,#93H

MOV R6,#33H

MOV R7,#89H

CALL SUM ;t+273.15

MOV TM1,R0 ;T

MOV TM2,R1

MOV TM3,R2

MOV TP,R3

MOV R4,#03H ;0.001

MOV R5,#12H

MOV R6,#6EH

MOV R7,#77H

CALL MUL ;T*0.001

MOV TyM1,R0 ; Ty

MOV TyM2,R1

MOV TyM3,R2

MOV TyP,R3

MOV R4,#24H ;10.28003

MOV R5,#7BH

MOV R6,#00H

MOV R7,#84H

CALL MUL ;TY*10.28003

MOV R4,#25H ;82.865856

MOV R5,#0BBH

MOV R6,#51H

MOV R7,#87H

CALL SUM

MOV DM1,R0 ; TY*10.28003+82.865856

MOV DM2,R1

MOV DM3,R2

MOV DP,R3

MOV R0,#0FAH ;-7.821541

MOV R1,#4AH

MOV R2,#10H

MOV R3,#83H

MOV R4,TyM1 ;Ty

MOV R5,TyM2

MOV R6,TyM3

MOV R7,TyP

CALL DIV ; -7.821541/Ty

MOV R4,DM1 ; TY*10.28003+82.865856

MOV R5,DM2

MOV R6,DM3

MOV R7,DP

CALL SUM ; TY*10.28003+82.865856-7.821541/Ty

MOV DM1,R0

MOV DM2,R1

MOV DM3,R2

MOV DP,R3

MOV R0,TM1 ;T

MOV R1,TM2

MOV R2,TM3

MOV R3,TP

CALL LN

MOV R4,#0B7H ;-11.48776

MOV R5,#0CDH

MOV R6,#0DDH

MOV R7,#84H

CALL MUL ;-11.48776*Ty

MOV R4,DM1 ; TY*10.28003+82.865856-7.821541/Ty

MOV R5,DM2

MOV R6,DM3

MOV R7,DP

CALL SUM ; TY*10.28003+82.865856-7.821541/Ty-11.48776*Ty

CALL EXP ;EXP(TY*10.28003+82.865856-7.821541/Ty-11.48776*Ty)

MOV R4,#74H ;10e6

MOV R5,#24H

MOV R6,#00H

MOV R7,#94H

CALL MUL ;EXP(TY*10.28003+82.865856-7.821541/Ty-11.48776*Ty)*10^-6

MOV pnpM1,R0 ;PNP

MOV pnpM2,R1

MOV pnpM3,R2

MOV pnpP,R3

;GOOD

MOV R0,TM1 ;T

MOV R1,TM2

MOV R2,TM3

MOV R3,TP

MOV R4,#98H ;-305

MOV R5,#80H

MOV R6,#00H

MOV R7,#89H

CALL SUM ;T-305

MOV R4,#2FH ;10^-11

MOV R5,#0EBH

MOV R6,#0FFH

MOV R7,#5CH

CALL MUL ;(T-305)*10^-11

MOV R4,#05H ;1.0467

MOV R5,#0FAH

MOV R6,#43H

MOV R7,#81H

CALL MUL ;(T-305)*10^(-11)*1.0467

MOV DM1,R0

MOV DM2,R1

MOV DM3,R2

MOV DP,R3

MOV R0,pnpM1 ;Pnp

MOV R1,pnpM2

MOV R2,pnpM3

MOV R3,pnpP

MOV A,R0

SETB ACC.7

MOV R0,A ;-PNP

MOV R4,pM1 ;p

MOV R5,pM2

MOV R6,pM3

MOV R7,pP

CALL SUM ;P-PNP

MOV R4,DM1 ; ;(T-305)*10^(-11)*1.0467

MOV R5,DM2

MOV R6,DM3

MOV R7,DP

CALL MUL ;(T-305)*10^(-11)*1.0467*(P-PNP)

MOV R4,#00H ;1

MOV R5,#00H

MOV R6,#00H

MOV R7,#81H

CALL SUM ;(T-305)*10^(-11)*1.0467*(P-PNP)+1

MOV R4,#71H ;241.4

MOV R5,#66H

MOV R6,#66H

MOV R7,#88H

CALL MUL ;[(T-305)*10^(-11)*1.0467*(P-PNP)+1]*241.4

MOV DM1,R0

MOV DM2,R1

MOV DM3,R2

MOV DP,R3

MOV R0,#20H ;10

MOV R1,#00H

MOV R2,#00H

MOV R3,#84H

CALL LN ;LN(10)

MOV finpM1,R0

MOV finpM2,R1

MOV finpM3,R2

MOV finpP,R3

MOV R0,#8CH ;-140

MOV R1,#00H

MOV R2,#00H

MOV R3,#88H

MOV R4,TM1 ; T

MOV R5,TM2

MOV R6,TM3

MOV R7,TP

CALL SUM ;T-140

MOV fibM1,R0

MOV fibM2,R1

MOV fibM3,R2

MOV fibP,R3

MOV R4,fibM1 ; T-140

MOV R5,fibM2

MOV R6,fibM3

MOV R7,fibP

MOV R0,#77H ;247.8

MOV R1,#0CCH

MOV R2,#0CCH

MOV R3,#88H

CALL DIV ;247.8/(T-140)

MOV R4,#0C0H ;-6

MOV R5,#00H

MOV R6,#00H

MOV R7,#83H

CALL SUM ;247.8/(T-140)-6

MOV R4,finpM1 ;LN(10)

MOV R5,finpM2

MOV R6,finpM3

MOV R7,finpP

CALL MUL ;LN(10)*(247.8/(T-140)-6)

CALL EXP ;EXP[LN(10)*(247.8/(T-140)-6)]

MOV R4,DM1 ;[(T-305)*10^(-11)*1.0467*(P-PNP)+1]*241.4

MOV R5,DM2

MOV R6,DM3

MOV R7,DP

CALL MUL ;[(T-305)*10^(-11)*1.0467*(P-PNP)+1]*241.4*EXP[LN(10)*(247.8/(T-140)-6)]

MOV fibM1,R0

MOV fibM2,R1

MOV fibM3,R2

MOV fibP,R3

;good

MOV R0,TM1 ; T

MOV R1,TM2

MOV R2,TM3

MOV R3,TP

MOV R4,#0F9H ;-498.15

MOV R5,#13H

MOV R6,#33H

MOV R7,#89H

CALL SUM

MOV A,R0

JB ACC.7,MENSHERIVNE

MOV A,R3

JZ MENSHERIVNE

;MOV A,TM1

;XLR A,#10000000B

;MOV R0,A

;MOV R3,TP

MOV R0,TM1 ; T

MOV R1,TM2

MOV R2,TM3

MOV R3,TP

MOV R4,#0BAH ;-0.0028495

MOV R5,#0BEH

MOV R6,#0ADH

MOV R7,#78H

CALL MUL ;-0 .0028495*T

MOV R4,#0EH ;2.227

MOV R5,#87H

MOV R6,#2BH

MOV R7,#82H

CALL SUM ;2.227-0 .0028495*T

MOV DM1,R0

MOV DM2,R1

MOV DM3,R2

MOV DP,R3

MOV R0,#00H ;1

MOV R1,#00H

MOV R2,#00H

MOV R3,#81H

MOV R4,DM1

MOV R5,DM2

MOV R6,DM3

MOV R7,DP

CALL DIV ;1/(2.227-0 .0028495*T)

MOV R4,#00H ;0.5

MOV R5,#00H

MOV R6,#00H

MOV R7,#80H

CALL SUM

MOV R4,#06H ;10^-6

MOV R5,#37H

MOV R6,#0BDH

MOV R7,#6DH

CALL MUL

MOV R4,#1CH ;9.80665

MOV R5,#0EBH

MOV R6,#09H

MOV R7,#84H

CALL MUL

MOV finpM1,R0

MOV finpM2,R1

MOV finpM3,R2

MOV finpP,R3

MENSHERIVNE:

MOV R0,TM1 ; T

MOV R1,TM2

MOV R2,TM3

MOV R3,TP

MOV R4,#23H ;0.0399

MOV R5,#6EH

MOV R6,#2EH

MOV R7,#7CH

CALL MUL

MOV R4,#0BDH ;-2.9675

MOV R5,#0EDH

MOV R6,#85H

MOV R7,#82H

CALL SUM

MOV R4,#06H ;10^-6

MOV R5,#37H

MOV R6,#0BDH

MOV R7,#6DH

CALL MUL

MOV finpM1,R0

MOV finpM2,R1

MOV finpM3,R2

MOV finpP,R3

MOV R0,#00H ;1

MOV R1,#00H

MOV R2,#00H

MOV R3,#81H

MOV R4,fiM1 ;fi

MOV R5,fiM2

MOV R6,fiM3

MOV R7,fiP

MOV A,R4

SETB ACC.7

MOV R4,A ;-fi

CALL SUM ;(1-fi)

MOV R4,finpM1 ;fiNP

MOV R5,finpM2

MOV R6,finpM3

MOV R7,finpP

call MUL ;(1-fi)*finp

MOV DM1,R0

MOV DM2,R1

MOV DM3,R2

MOV DP,R3

MOV R0,fiM1 ;fi

MOV R1,fiM2

MOV R2,fiM3

MOV R3,fiP

MOV R4,fibM1 ;fib

MOV R5,fibM2

MOV R6,fibM3

MOV R7,fibP

CALL MUL

MOV R4,DM1

MOV R5,DM2

MOV R6,DM3

MOV R7,DP

CALL SUM

MOV fiBpM1,R0

MOV fiBpM2,R1

MOV fiBpM3,R2

MOV fiBpP,R3

;==========;

;matematuka;

;==========;

В результаті виконання програми отримаємо значення функції: =223E9675 , за допомогою прогами М51-24 переведемо це число у десяткову систему числення: =3.094567800872028*

Для перевірки правильності роботи програми, складено програму в Matlab:

clear,clc

t=224; p=180000;fi=0.25;

T=t+273.15

Ty=0.001*T

pnp=10^6*exp(82.865856-7.821541/Ty+10.28003*Ty-11.48776*log(T))

fib=241.4*10^(247.8/(T-140)-6)*(1+1.0467*10^(-11)*(p-pnp)*(T-305))

if T<=498.15,

finp=1e-6*(0.0399*T-2.9675),

else if T<=498.15

finp=9.80665*10^(-6)*(1/(2.227-0.0028495*T)+.5)

end

end

MU_BP=fi*fib+(1-fi)*finp

del=abs(MU_BP-3.094567800872028e-4)/MU_BP*100

Результати виконання програми:

=3.094553727953089*

del = 4.547640847679237e-004= 4.54*

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]