高分求:将这篇中文摘要翻译成英文,急。在线等。

高分求:将这篇中文摘要翻译成英文,急。在线等。,第1张

Are ----positivity-preserving, order high precision -----high

Gaseous detonation with strong discontinuity, in the study will encounter complex boundary and density, pressure and other physical quantities are problem, the promotion and the development of WENO format and RKDG format in the detonation of structural conservation, high precision is guaranteed calculation format, and its convergence, stability the related certificate, at the same time using InverseLax-Wendroff (ILW) method to process the complex boundary, the strong discontinuity and complex boundary is calculated to achieve higher precision, developed based on Message Passing Interface (MPI) high precision dynamic parallel calculation program, and use the program for several typical detonation numerical calculation is made.The numerical results show that, the algorithm proposed in this paper can well ensure the detonation wave propagation process of density, pressure non-negative, the boundary of the calculation precision and the calculation domain of internal consistency, and the detonation wave and complex boundary interactions with good stability.如果没有帮到你,你可以下载个翻译软件

High order accurate weighted essentially non-oscillatory ( WENO) schemes areinvestigated and their applications of scalar conservation laws are discussed.

研究高阶精度加权本质无振荡(WENO)格式及其在标量守恒律方程中的应用。

我这是用STC做的,应该很容易移植到MPS430上的给你参考一下。

#include<reg52.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

sbit scl=P1^3

sbit sda=P1^4

sbit key1=P1^6

sbit key2=P1^7

sbit key3=P2^0

sbit key4=P2^1

sbit lcrs=P3^7//数据/命令

sbit lcwr=P3^5//读/写

sbit lcden=P3^4//使能

sbit DS=P2^2

/*sbit lcrs=P3^4//数据/命令

sbit lcwr=P3^7//读/写

sbit lcden=P3^5//使能

*/

sbit jrk=P2^2

sbit cyk=P2^3

sbit xhk=P2^4

bit flag=0,rsg=0,not=0,he=0,in=0

int acon=0,bcon=0,dcon=0,econ=0,

temp=0,y=0,j=0,l=0,cfj=0,ec=0,dc=0,at

uchar code table[]={48,49,50,51,52,53,54,55,56,57}

uchar code ta1[]={"Temperature UP"}

uchar code ta2[]={"Temperature DN"}

uchar code ta3[]={"Inflator Cycle"}

uchar code ta4[]={"Inflator Time "}

uchar code ta5[]={" Heating UP "}

uchar code ta6[]={"Inflator"}

uchar code table7[]={"Temperature"}

uchar table1[]={0,0,0,'.',0}

uchar table3[]={"AptitudeAquarium"}

uchar table4[]={0,0,0,0,0}

uchar n,c=0

void delay(uchar)

void wen_kong()

void xh()

void rso()

void weno()

void Init_Com(void)

{

TMOD = 0x11

PCON = 0x00

TH1=0x61

TL1=0x99

EA=1

ET1=1

TR1=1

}

void delay(uchar count) //delay

{

uint i

while(count)

{

i=200

while(i>0)

i--

count--

}

}

////初始化18B20/////////

bit init18b20(void)

{

uint i

bit no

DS=0

i=103

while(i>0)i--

DS=1

i=4

while(i>0)i--

no=DS

if(no==0)

{

DS=1

i=100

while(i>0)i--

no=DS

if(no==1)

not=0

else

not=1

}

else

not=1

return (not)

}

bit tmpreadbit(void) //读一位

{

uint i

bit dat

DS=0

i++

DS=1

i++i++

dat=DS

i=8while(i>0)i--

return (dat)

}

uchar tmpread(void) //读一个字节

{

uchar i,j,dat

dat=0

for(i=1i<=8i++)

{

j=tmpreadbit()

dat=(j<<7)|(dat>>1)//读出的数据最低位在最前面,这样刚好一个字节在DAT里

}

return(dat)

}

void tmpwritebyte(uchar dat) //写一个字节到 ds18b20

{

uint i

uchar j

bit testb

for(j=1j<=8j++)

{

testb=dat&0x01

dat=dat>>1

if(testb) //write 1

{

DS=0

i++i++

DS=1

i=8while(i>0)i--

}

else

{

DS=0 //write 0

i=8

while(i>0)i--

DS=1

i++i++

}

}

}

int tmp() //DS18B20温度读取

{

float tt

int a,b

if(init18b20()==0)

{

WDT_CONTR=0x36 /////喂狗

EA=0

delay(1)

tmpwritebyte(0xcc) // 跳过读ROM *** 作

tmpwritebyte(0x44) // 启动温度转换

delay(10)

init18b20()

delay(1)

tmpwritebyte(0xcc)

tmpwritebyte(0xbe)

a=tmpread()

b=tmpread()

temp=b

temp<<=8 //将高字节温度数据与低字节温度数据整合

temp=temp|a

c=b>>4

tt=temp*0.0625

temp=tt*10+0.5//放大10倍输出并四舍五入

EA=1

return temp

}

else

not=1

}

//////1062/////////

void ydelay(uint x)

{

uint a,b

for(a=xa>0a--)

for(b=10b>0b--)

}

void write_com(uchar com)

{

P0=com

lcwr=0

lcrs=0

lcden=0

ydelay(10)

lcden=1

ydelay(10)

lcden=0

lcwr=1

}

void write_date(uchar date)//写数据

{

P0=date

lcwr=0

lcrs=1

lcden=0

ydelay(10)

lcden=1

ydelay(10)

lcden=0

lcwr=1

}

void init1602()//初始化

{

write_com(0x38)//设置显示模式

ydelay(20)

write_com(0x0c)//开显示

ydelay(20)

write_com(0x06)//指针和光标自动加一

ydelay(20)

write_com(0x01)//清屏指令

ydelay(20)

}

///////显示程序//////

void display(int num)

{

uint i,A1,A2

WDT_CONTR=0x35 /////喂狗

if(c!=0)

num=~num+1

A1=num/1000

A2=num%1000/100

if(not==0)

{

if(c!=0)

{

c=0

table1[0]='-'

}

else if(A1==0)

table1[0]=' '

else

table1[0]=table[A1]

if(A1==0)

if(A2==0)

table1[1]=' '

else

table1[1]=table[A2]

table1[2]=table[num%1000%100/10]

table1[4]=table[num%1000%100%10]

}

else

{

table1[0]='?'

table1[1]='?'

table1[2]='?'

table1[4]='?'

}

write_com(0x80)

for(i=0i<11i++)

{write_date(table7[i])

delay(2)}

write_com(0x8b)

for(i=0i<5i++)

{write_date(table1[i])

delay(2)}

write_com(0xc0)

for(i=0i<16i++)

{

if(he==1)

write_date(ta5[i])

else if(in==1)

write_date(ta6[i])

else

write_date(table3[i])

}

c=0

WDT_CONTR=0x35 /////喂狗

}

////显示2////////////////////

display2(uchar bh,int dat)

{

uchar a,A,B

WDT_CONTR=0x35 /////喂狗

//write_com(0x01)//清屏指令

y=dat

y=y&0x8000

if(y!=0)

dat=~dat+1

A=dat/1000

B=dat%1000/100

if((bh!=4)&&(bh!=5))

{

if(A!=0)

table4[0]=table[dat/1000]

else if((c!=0)||(y!=0))

{

c=0y=0

table4[0]='-'

}

else

table4[0]=' '

if(B!=0)

table4[1]=table[B]

else

table4[1]=' '

table4[2]=table[dat%1000%100/10]

table4[3]='.'

table4[4]=table[dat%1000%100%10]

}

else

{

table4[0]=' '

if((c!=0)||(y!=0))

{

c=0y=0

table4[1]='-'

}

else

table4[1]=' '

table4[2]=' '

table4[3]=table[dat%1000%100/10]

table4[4]=table[dat%1000%100%10]

}

write_com(0xc4)

delay(2)

for(a=0a<5a++)

write_date(table4[a])

delay(2)

write_com(0x80)

switch(bh)

{

case 1:for(a=0a<14a++)write_date(ta1[a])break

case 2:for(a=0a<14a++)write_date(ta2[a])break

case 3:for(a=0a<14a++)write_date(ta3[a])break

case 4:for(a=0a<14a++)write_date(ta4[a])break

default:break

}

}

///////////x24c02//////////////////

void delay24()

{ }

void init24c02() //初始化

{

sda=1

delay24()

scl=1

delay24()

}

void start() //开始信号

{

sda=1

delay24()

scl=1

delay24()

sda=0

delay24()

}

void stop() //停止

{

sda=0

delay24()

scl=1

delay24()

sda=1

delay24()

}

void respons() //应答

{

uchar i

scl=1

delay24()

while((sda==1)&&(i<250))i++

scl=0

delay24()

}

void write_byte(uchar date) // 写数据子函数

{

uchar i,temp

temp=date

for(i=0i<8i++)

{

temp=temp<<1

scl=0

delay24()

sda=CY

delay24()

scl=1

delay24()

}

scl=0

delay24()

sda=1

delay24()

}

uchar read_byte() // 读数据子函数

{

uchar i,k

scl=0

delay24()

sda=1

delay24()

for(i=0i<8i++)

{

scl=1

delay24()

k=(k<<1)|sda

scl=0

delay24()

}

return k

}

///////写数据函数///////////////////

void write_add(uchar address,uint date)

{

start()

write_byte(0xa0)

respons()

write_byte(address)

respons()

write_byte(date/256)

respons()

write_byte(date%256)

respons()

stop()

}

uchar read_add(uchar address) //读数据函数

{

uchar date

start()

write_byte(0xa0)

respons()

write_byte(address)

respons()

start()

write_byte(0xa1)

respons()

date=read_byte()

stop()

return date

}

void delay1ms(uchar ms)

{

uchar i

while(ms--)

{

for(i = 0i<250i++)

{

_nop_()

_nop_()

_nop_()

_nop_()

}

}

}

int keyf(int *num,int up,int dn)

{

uint i

uchar z

for(i=0i<600i++)

{

display2(n,*num)

if(key1==0)

{

delay1ms(30)

if(key1==0)

{

i=0

n++

if(n>=9)

n=0

while(!key1)

display2(n,*num)

break

}

}

if(key2==0)

{

delay1ms(10)

if(key2==0)

{

i=0

if(*num>=up)

*num=up

else if(n!=4)

*num=*num+1

else if(*num<100)

*num=*num+5

else

*num=*num+10

for(z=0z<65z++)

{

display2(n,*num)

if(key2!=0)

break

}

while(!key2)

{

for(z=0z<2z++)

display2(n,*num)

if(*num>=up)

*num=up

else if(n!=4)

*num=*num+1

else if(*num<100)

*num=*num+5

else

*num=*num+10

}

}

}

if(key3==0)

{

delay1ms(10)

if(key3==0)

{

i=0

if(*num<=dn)

*num=dn

else if(n!=4)

*num=*num-1

else if(*num<100)

*num=*num-5

else

*num=*num-10

for(z=0z<65z++)

{

display2(n,*num)

if(key3!=0)

break

}

while(!key3)

{

for(z=0z<2z++)

display2(n,*num)

if(*num<=dn)

*num=dn

else if(n!=4)

*num=*num-1

else if(*num<100)

*num=*num-5

else

*num=*num-10

}

}

}

}

return(*num)

}

void keyjc()

{

uchar i=0

if(key1==0)

{

delay1ms(10)

if(key1==0)

{

EA=0

for(i=0i<20i++)

{

display(tmp())

}

if(key1==0)

{

write_com(0x01)//清屏指令

n++

if(n>=5)

n=0

while(!key1)

{

switch(n)

{

case 1:display2(n,acon)break

case 0:break

}

}

if(n==1)

{

keyf(&acon,1250,-530)

if((acon-bcon)<3)

bcon=acon-3

}

if(n==2)

{

keyf(&bcon,1240,-550)

if((acon-bcon)<3)

acon=bcon+3

}

write_add(1,acon)//A

delay1ms(15)

write_add(3,bcon)//B

n=0

write_com(0x01)//清屏指令

}

EA=1

}

}

}

key()

{

uint i

if(key4==0)

delay1ms(50)

if(key4==0)

{

write_com(0x01)//清屏指令

for(i=0i<500i++)

{

if(key4==0)

{

delay1ms(15)

if(key4==0)

{

i=0

n++

if(n>=5)

n=0

while(!key4)

{

switch(n)

{

case 1: display2(1,acon)break

case 2: display2(2,bcon)break

default: break

}

}

}

}

switch(n)

{

case 1: display2(1,acon)break

case 2: display2(2,bcon)break

default: break

}

}

n=0

}

}

///////滤波////////

int filter()

{

int tm,buf[6]

uchar i,j

EA=0

for(i=0i<6i++)

{

buf[i]=tmp()

delay1ms(20)

WDT_CONTR=0x35 /////喂狗

}

for(j=0j<5j++)

for(i=0i<5-ji++)

if(buf[i]>buf[i+1])

{

tm=buf[i]

buf[i]=buf[i+1]

buf[i+1]=tm

}

tm=((buf[2]+buf[3])/2)

EA=1

return (tm)

}

void main()

{

uchar b,c

Init_Com()

init1602()

init24c02()

b=read_add(1)

delay1ms(15)

c=read_add(2)

delay1ms(15)

acon=b*256+c

b=read_add(3)

delay1ms(15)

c=read_add(4)

delay1ms(15)

bcon=b*256+c

AUXR=0x01// 禁止ALE输出

WDT_CONTR=0x35//启动看门狗

write_com(0x01)//清屏指令

while(1)

{

at=filter()

display(at)

keyjc()

key()

wen_kong()

weno()

}

}

//////温度控制//////////////

void wen_kong()

{

if((flag==0)&&(not==0))

{

at=filter()

if(at<=bcon)

{

flag=1

jrk=0

xhk=0

he=1

}

}

}

void weno()

{

if(flag)

{

at=filter()

if(at>=acon)

{

flag=0

jrk=1

if(rsg)

xhk=0

else

xhk=1

he=0

}

}

if(not==1)

{

flag=0

jrk=1

if(rsg)

xhk=0

else

xhk=1

he=0

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11263461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存