微机课设:用汇编语言编写一个信号发生器,要求产生正弦波、梯形波、阶梯波、方波

微机课设:用汇编语言编写一个信号发生器,要求产生正弦波、梯形波、阶梯波、方波,第1张

IOY0 EQU 0D400H ;片选IOY0端口始地址

IOY1 EQU 0D440H ;片选IOY1端口始地址

IOY2 EQU 0D480H ;片选IOY2端口始地址

IOY3 EQU 0D4C0H ;片选IOY3端口始地址

;

ADC0809 EQU IOY0+00H ;ADC0809端口地址

PA55 EQU IOY1+00H ;8255的A口地址

PB55 EQU IOY1+04H ;8255的B口地址

PC55 EQU IOY1+08H ;8255的C口地址

PCTL EQU IOY1+0CH ;8255的控制寄存器地址

DAC0832 EQU IOY2+00H ;DAC0832端口地址

TIMER0 EQU IOY3+00H ;8254计数器0端口地址

TIMER1 EQU IOY3+04H ;8254计数器1端口地址

TIMER2 EQU IOY3+08H ;8254计数器2端口地址

TCTL EQU IOY3+0CH ;8254控制寄存器端口地址

STACK1 SEGMENT STACK

DW 256 DUP()

STACK1 ENDS

DATA SEGMENT

STR1 DB 'Please input password:',0AH,0DH,'$'

STR2 DB 'The password is not right !!!Please try again!!!',0AH,0DH,'$'

STR3 DB 'Welcome to the signal creat machine',0AH,0DH,'Loading ADC0809',0AH,0DH,'$'

STR4 DB 'The passward is right',0AH,0DH,'$'

DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;7段数码管的段位值

STABLE DB 80H,8CH,98H,0A5H,0B0H,0BCH,0C7H,0D1H,0DAH,0E2H,0EAH,0F0H,0F6H,0FAH,0FDH,0FFH,0FFH,0FDH,0FAH,0F6H,0F0H,0EAH,0E2H,0DAH,0D1H,0C7H,0BCH,0B0H,0A5H,98H,8CH,80H,7FH,73H,67H,5AH,4FH,43H,38H,2EH,25H,1DH,15H,0FH,09H,05H,02H,00H,00H,02H,05H,09H,0FH,15H,1DH,25H,2EH,38H,43H,4FH,5AH,67H,73H,7FH

PASSWORD DB 41H,42H,43H,44H ;预设密码

GAO DB 1 DUP () ;预留显示十位

DIW DB 1 DUP () ;预留显示个位

PW DB 4 DUP () ;密码预留

YU DB 20 DUP () ;预留20个空间存放数据

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

CALL CLK ;ADC0809 CLK输入

MOV DX,PCTL ;初始化8255工作方式

MOV AL,88H ;1000 1000方式0,A口,B口输出,C口高四位输入

OUT DX,AL ;

L0: CALL DIS

MOV DX,OFFSET STR1 ;显示提示信息

MOV AH,9

INT 21H

CALL DIS

;识别密码

L1: MOV CX,4

MOV SI,OFFSET PW

L: MOV AH,01H ;输入密码

INT 21H

MOV [SI],AL

INC SI

CMP AL,45H ;检测有无E

JZ E

LOOP L

MOV CX,4

MOV SI,OFFSET PASSWORD;取PASSWORD的偏移地址

MOV DI,OFFSET PW

TE: MOV AL,[DI]

CMP AL,[SI]

JNE TE1

INC DI

INC SI

LOOP TE

JMP Q

TE1: MOV DX,OFFSET STR2 ;显示密码错误

MOV AH,9D

INT 21H

JMP L0

E: JMP QUIT

;启动ADC0809的INO

Q: MOV DX,OFFSET STR4

MOV AH,09H

INT 21H

MOV DX, OFFSET STR3 ;显示提示信息

MOV AH,09H

INT 21H

; MOV AH,00H ;将AH清零用于加法

; MOV CX,20D

L2: MOV DX,ADC0809 ;启动0809的IN0

OUT DX,AL

L3: CALL DALLY

;读取EOC的值

MOV DX,PC55

IN AL,DX ;读C口的值

TEST AL,80H ;检测出C7的值是否为1

JZ L3 ;C7不为1则跳到L3

;读取0809IN0的值

CALL SIN

JMP L0

MOV DX,ADC0809 ;读取0809IN0的值

IN AL,DX

; ADD AH,BL

; LOOP L2 ;求20次数据的和

;

; MOV AL,AH

; MOV BL,20D

; DIV BL ;求采集数据20次的平均值(修改)

; MOV BH,AL

MOV BL,AL

MOV CL,04H

SHR AL,CL ;取出十位

MOV GAO,AL ;存十位的值

MOV AL,BL

AND AL,0FH ;取出个位

MOV DIW,AL ;存个位的值

CALL DIS ;调用数码管显示函数

CALL DIS

MOV AL,BL

CMP AL,15H

JL L4

MOV AL,BL

CMP AL,80H

JL L5

MOV AL,BL

CMP AL,0A0H

JL L6

MOV AL,BL

CMP AL,0C0H

JL L7

CALL FANG1K

JMP L0

L4: CALL JIETI

JMP L0

L5: CALL SIN

JMP L0

L6: CALL TIXING

JMP L0

L7: CALL FANG500

JMP L0

QUIT: MOV AX,4C00H ;结束程序退出

INT 21H

DIS PROC NEAR ;显示子函数

PUSH AX

PUSH DX

PUSH BX

MOV AL,0EFH ;选通位LED 1110 1111

MOV DX,PA55

OUT DX,AL

MOV SI,OFFSET GAO ;取个位地址

MOV AL,[SI] ;取个位数据

MOV BX,OFFSET DTABLE

AND AX,00FFH

ADD BX,AX

MOV AL,[BX]

MOV DX,PB55

OUT DX,AL

MOV AL,0DFH ;选通个位LED 1101 1111

MOV DX,PA55

OUT DX,AL

MOV SI,OFFSET DIW ;取个位地址

MOV AL,[SI] ;取个位数据

MOV BX,OFFSET DTABLE

AND AX,00FFH

ADD BX,AX

MOV AL,[BX]

MOV DX,PB55

OUT DX,AL

POP BX

POP DX

POP AX

RET

DIS ENDP

CLK PROC NEAR ;方波CLK时钟18432K子程序

;初始化8254计数器0工作在方式3,以十进制计数,初值为100

PUSH DX ;保护现场

PUSH AX ;保护现场

MOV DX,TCTL

MOV AL,17H ;0001 0111B

OUT DX,AL

MOV DX,TIMER0 ;装初值100

MOV AL,100D

OUT DX,AL

POP AX ;恢复现场

POP DX ;恢复现场

RET

CLK ENDP

FANG1K PROC NEAR ;方波1KHz子程序

;初始化8254计数器1工作在方式3,以十进制计数,初值为184

PUSH DX ;保护现场

PUSH AX ;保护现场

MOV DX,TCTL

MOV AL,57H ;0101 0111B

OUT DX,AL

MOV DX,TIMER1

MOV AL,0B8H;184

OUT DX,AL

F: CALL DIS

MOV DL,0FFH ;判断主键盘有无键按下

MOV AH,6

INT 21H

JZ F

POP AX ;恢复现场

POP DX ;恢复现场

RET

FANG1K ENDP

FANG500 PROC NEAR ;方波500Hz子程序

;初始化8254计数器1工作在方式3,以十进制计数,初值为368

PUSH DX ;保护现场

PUSH AX ;保护现场

MOV DX,TCTL

MOV AL,77H ;0111 0111B

OUT DX,AL

MOV DX,TIMER1

MOV AL,70H ;368D分高低位写入

OUT DX,AL

MOV AL,01H

OUT DX,AL

F1: CALL DIS

MOV DL,0FFH ;判断主键盘有无键按下

MOV AH,6

INT 21H

JZ F1

POP AX ;恢复现场

POP DX ;恢复现场

RET

FANG500 ENDP

JIETI PROC NEAR ;阶梯波子程序

PUSH DX

PUSH AX

J0: MOV AL,00H;AL=0

J1: MOV DX,DAC0832;AL OUT

OUT DX,AL

ADD AL,33H

CALL DALLY1

CMP AL,0FFH

JNE J1

CALL DIS

MOV DL,0FFH ;判断主键盘有无键按下

MOV AH,6

INT 21H

JZ J0

POP AX

POP DX

RET

JIETI ENDP

SIN PROC NEAR ;正弦波子程序

PUSH AX

PUSH BX

PUSH DX

S0: MOV BX,10H

S1: MOV SI,OFFSET STABLE

MOV CX,64D

S2: MOV AL,[SI]

MOV DX,DAC0832

OUT DX,AL

INC SI

LOOP S2

JMP S1

DEC BX

CMP BX,00H

JNE S1

CALL DIS

MOV DL,0FFH ;判断主键盘有无键按下

MOV AH,6

INT 21H

JZ S0

POP DX

POP BX

POP AX

RET

SIN ENDP

TIXING PROC NEAR ;梯形波子程序

PUSH AX

PUSH DX

PUSH BX

T: MOV BX,10H

MOV AL,00H

MOV DX,DAC0832

OUT DX,AL

T0: MOV AL,33H

T1: MOV DX,DAC0832

OUT DX,AL

INC AL

CMP AL,0FFH

JNE T1

CALL DALLY1

T2: OUT DX,AL

DEC AL

CMP AL,33H

JNE T2

DEC BX

CMP BX,00H

JNE T0

CALL DIS

MOV DL,0FFH ;判断主键盘有无键按下

MOV AH,6

INT 21H

JZ T

POP BX

POP DX

POP AX

RET

TIXING ENDP

;延时子程序

DALLY1 PROC NEAR

PUSH CX

PUSH AX

MOV CX,1000H

D1: MOV AX,0100H

D2: DEC AX

JNZ D2

LOOP D1

POP AX

POP CX

RET

DALLY1 ENDP

DALLY PROC NEAR

PUSH CX

PUSH AX

MOV CX,4000H

D3: MOV AX,0600H

D4: DEC AX

JNZ D4

LOOP D3

POP AX

POP CX

RET

DALLY ENDP

CODE ENDS

END START

李 娜 李振春 黄建平 田 坤 孔 雪 刘玉金

(中国石油大学(华东)地球科学与技术学院,青岛 266555)

基金项目:国家973课题(编号2011CB202402),石油大学创新基金(编号27R1001046A)及(Y090104)

作者简介:李娜,女,在读博士研究生,现从事地震波正演模拟研究。Email:lina19202@163com。

摘 要:横波分裂是识别波传播介质的各向异性的中重要标志,快慢横波的分裂时差和快横波的偏振方 向是评价横波分裂的两个主要参数。在含定向平行排列的各向异性介质中,横波分裂时差及快横波的偏振方 向能反映裂隙的密度、宽度、体积、走向及介质的性质等裂缝信息。为检测定向裂隙介质中横波分裂的方位 属性特征,分析分裂时差随极化角及Thomsen弱各向异性参数的变化规律,本文采用交错网格高阶有限差分法,PML吸收边界法,得到VTI介质绕x轴逆时针旋转不同角度时的三分量记录,研究得到如下主要结论:(1)从能量角 度,极化角为45°时,分裂的快慢横波能量对比最强,是观测横波分裂的最佳角度;(2)同时对单道波形进行对比,定量分析,得到分裂时差随qP波各向异性强度参数ε的增大而减小,随qS波各向异性强度参数γ的增大而增大,随连接纵横波速度的过渡性参数δ的增大而增大;(3)同等强度下,qS波各向异性强度参数γ对横波分裂时差的影 响最大,δ的影响最小。快横波速度只由γ决定,由此可通过快横波速度判断γ的取值范围,而qP波速度由ε决 定,故可通过qP波速度判断ε的取值范围。并且,当ε与δ数值相近时,横波分裂时差随角度没有明显变化趋势,反之,横波分裂时差随极化角度变化呈递增或递减趋势,进而,对表征横波分裂的分裂时差有了深入认识。

关键词:横波分裂;各向异性;VTI介质;分裂时差

The Quantity Study of The Shear-wave Splitting for The Carbonate Karst Reservoir

Li Na,Li Zhenchun,Huang Jianping,Tian Kun,Kong Xue,Liu Yujin

(School of Geoscience of China University of Petroleum(East China),Qingdao 266555,China)

Abstract:The most diagnostic effect of anisotropy is shear-wave splitting,routine measurements of shear-wave splitting are the delay time between fast and slow wave and the polarization of the fast shear waveThe two measurements of shear-wave splitting in stress-aligned seismic anisotropy reflect the density,width,size,strike of the cracks and the property of the anisotropy systemTo detect the azimuthal attributes in stress-aligned cracks and analyze the rules of the time delay changes with polarization angle and the anisotropic parameters,this paper gets three-component records when VTI media is rotated to different angles in anti clockwise direction,using staggered-grid high-order finite difference with PML absorbing layer methodThe research results shows the following conclusions:(1)From the point view of energy,the fast and slow shear wave are both have strong energy when polarization angle goes to 45°,so we can make it the best angle to observe shear-splitting;(2)At the same time,through comparative analysis between single-waveform and qualitative research,we get that the delay time decreases with increasing εthat characterizing the qP anisotropy intensity,increases with increasing γ that characterizing the qS wave anisotropy intensity and increases with increasing δ that related the velocity of qP wave and qS wave;(3)At the same intensity,γ has the biggest influence on the delay time and δ has the lowestThe velocity of the fast shear wave is controlled by γ only,so we can measure γ through the velocity of the fast shear wave,The velocity of the qP wave is controlled by ε only,so we can measure ε throughthe velocity of the qP waveWhat's more,the delay time has no noticeable shift when εsand δ have low difference in value,otherwise,the delay time shows increase or decrease trendAll of these help us have deep insight into the time delay of shear-wave splitting

Key words:shear-wave splitting;anisotropy;VTI media;time delay

1 引言

地球介质的各向异性是普遍存在的。研究地震波在各向异性介质中的传播规律与成像方法是地震学 和勘探地震学研究领域的前沿课题。实际地球介质引起地震各向异性的因素很多、成因很复杂。许多地 球物理学家和地震学家通过对地震波在地球介质中的传播现象进行观测,对地震波在各向异性介质中的 传播规律和形成机理方面做了大量的研究工作[1~10],认识到地球介质存在各向异性;而横波分裂是诊 断各向异性最有效的方法[4]。综合起来,地下岩石的地震各向异性成因主要来源于三个方面:固有各 向异性、裂隙诱导各向异性和长波长各向异性。

裂缝诱导各向异性的机制十分复杂,由于受到应力场的作用,岩石中形成择优取向排列的裂缝、裂 隙和孔隙,这些裂缝、裂隙或孔隙可能充满气体或流体等充填物,地震波在裂隙岩石中的传播相当于在 均匀d性各向异性固体中的传播。通过理论与实验室研究证实,地壳中大多数岩石中存在定向排列的流 体充填的裂隙,可广泛引起横波分裂。

随着西部裂缝性碳酸盐岩储层逐步成为石油勘探的重点,基于各向异性的正演模拟方法最近也得到 了长足的发展。Byun(1984)、Tanimoto(1987)、Chapman(1989)等研究了基于Cerveny(1972)的 射线理论,以波动方程的高频近似为前提的射线追踪技术;Mora(1989)、Tsingas等(1990)、Igel等(1995)研究了利用有限差分方法进行各向异性介质地震波正演模拟问题;Kosloff(1989)、Carcione等(1992)研究了伪谱法地震波场正演。在国内,何樵登教授等人采用有限差分法、有限元法、傅里叶变 换法等对各向异性的正演问题进行了的研究[1;牛滨华(1994、1995、1998)利用有限元方法研究了 EDA介质中的地震波场、横波分裂现象和P波各向异性;阴可(1998)、董良国(1999)等在各向异性 d性波的物理模拟方面做了深入的研究。

图1 波在各向同性与各向异性中传播时的三维图解比较[1]

对横波分裂的研究,裴正林[16]利用交错网格高阶有限差分 法研究了层状各向异性介质的横波分裂现象;吴松翰等[20]设计 了含垂直定向裂隙的各向异性介质物流模型,研究了分裂横波的 传播速度和传播时间与裂隙方位的关系。郭桂红等[9]利用伪谱法 分析研究了横波分裂时差、偏振方向与裂隙密度及方位的关系。

所谓横波分裂,是指横波在各向异性介质中,沿不同方向 的射线路径会分裂成两个偏振方向垂直,速度不同的波,快横 波的偏振与裂隙走向一致,慢横波的偏振方向平行于裂隙的排 列方向。快慢横波的分裂时差是表征横波分裂的主要参数之一。

本文从能量角度研究了分裂时差随极化角度的变化规律,同时,通过改变Thomsen弱各向异性参数建立不同的模型,得 到单道波形并从中拾取快、慢横波的峰值时刻进行对比,得到 横波分裂时差与Thomsen参数的关系。

2 TTI介质二维三分量d性波动方程

x,y为水平方向(平行于地表),z方向为垂直方向,沿深度走向。具有垂直方向对称轴的VTI(横向各向异性)介质绕x轴旋转得到TTI介质(称为极化各向异性),TTI介质的对称轴与坐标轴z轴 的夹角称为极化角。

观测横波分裂现象随极化角的变化需要旋转观测坐标系,但是利用常规二维d性波数值模拟方法旋 转后仍然无法观测到,这是因为VTI介质模拟的裂隙走向是平行于y方向的,快横波的偏振方向与裂隙 走向一致;因此,本文采用二维三分量的方法,增加了y方向对x,z的偏导,更真实的模拟空间波场。二维三分量用到三维各向异性d性常数张量矩阵中除了第二行与第二列以外的全部d性参数,考虑了影 响横波各向异性强度的d性常数c66,更精确的反映横波分裂现象。

设速度向量为v=(vx,vy,vz)′,体力向量为f=(fx,fy,fz)′,应力向量为(σxx,σzz,σyz,σxz,σxy)′,ρ 为介质密度, ,于是,TTI介质二维三分量应力-速度d性波方程可以表示为

国际非常规油气勘探开发(青岛)大会论文集

国际非常规油气勘探开发(青岛)大会论文集

式中,cij表示空间微分算子和d性常数矩阵Cx中的元素,求取方法如下。三维VTI介质d性常数矩 阵为

国际非常规油气勘探开发(青岛)大会论文集

绕x轴逆时针旋转θ°坐标变换矩阵为

国际非常规油气勘探开发(青岛)大会论文集

则旋转后的d性常数张量矩阵表达式为

国际非常规油气勘探开发(青岛)大会论文集

3 模型试算

定量观测极化角0°~90°变化对横波分裂时差及能量的影响。均匀横向各向异性模型参数(方位角 90°):ρ=1000kg/m3。

网格点数300×300,网格大小dx=dz=10m,震源主频20Hz,x方向横波震源,震源位置(150,150),接收线:z=110水平网格线。

31 不同模型下横波分裂时差随极化角度变化研究

(1)Thomsen参数:vp=244949m/s,vs=1414214m/s,ε=1/3,δ=0166875,γ=025

图2~图4为VTI介质绕x轴逆时旋转20°,45°,70°时,在x,y,z分量的炮记录和500ms波场快照。

图2 炮记录(旋转20°);上:x分量;下左:y分量;下右:z分量

图3 炮记录(旋转70°);左:x分量;中:y分量;右:z分量

从图2~图4可以看出;(1)当震源偏振方向与介质的对称轴存在一定夹角时,就会产生横波分裂现 象,从波场快照中沿裂隙方向可以明显看到快横波(qS1波);(2)从炮记录可以看出能量的强弱变化: x,z分量随着极化角从0°到90°变化,快横波逐渐增强,慢横波(qS2波)逐渐减弱,所以45°左右是 观测横波分裂的最佳角度,快慢横波能量相当;(3)另外,从炮记录中还可以看到,每个角度的横波分 裂时差相差不大,没有明显增大或减小的现象。

图5为抽取x =250网格线的单道波形,得出快慢横波峰值时刻,定量观测横波分裂时差。

可以看出除了0°及90°,随着极化角的增大,快横波初至减小,而慢横波初至增大,使得横波分裂 时差增大,时差变化了39ms,呈递增趋势;由单道记录可以看出,qP波初至随极化角增大而减小。

图4 旋转45°时炮记录(上)和波场快照(下,t=500ms);左:x分量;中:y分量;右:z分量

图5

(2)Thomsen参数:vp=244949m/s,vs=1414214m/s,ε=01,δ=02,γ=025

从炮记录和500ms炮记录可以看出,依然在极化45°左右时快慢横波的能量对比最强。

由图6可见,快慢横波初至均减小,分裂时差总体呈减小趋势,变化最大为6ms,相对上个模型小 了很多,这是因为,虽然横波各向异性强度参数未变,但是联系纵、横波的参数变了,由此影响到横波 的分裂时差;从单道波形上可以明显观测到,由于qP波各向异性强度参数变小,其初至随角度的变化 幅度减小。

(3)Thomsen参数:vp=244949m/s,vs=1414214m/s,ε=005,δ=02,γ=025

由图7可见,随着角度增大,分裂时差逐渐减小;由于γ未变,所以快横波的变化趋势同图5(a),6(a)一样;而慢横波峰值时刻随极化角改变减少的多;另外由单道记录可知,qP波初至随角 度增大而减小。

图6

图7

对比图5(b),6(b)及7(b)可知,快横波初至由γ决定,γ不变时,快横波峰值时刻的变化 基本不变;qP波初至由ε决定,慢横波初至由ε,δ共同决定,其初至随极化角度的变化取决于ε,δ 的大小;当两参数数值接近时,慢横波初至变化缓慢;而两参数相差大时,慢横波初至变化明显,随角 度递增或递减,进而影响分裂时差的变化趋势;因此,分裂时差随极化角度的变化趋势可以测定ε,δ 的大小关系,同时,由快横波的初至或峰值时刻可以判断γ的范围。

32 极化角为45°时观测ε,γ,δ三个参数变化对横波分裂时差的影响。

Thomsen参数:ρ=1000kg/m3,vp=2450m/s,vs=1414m/s,ε= 1/3,δ= 1/6,γ=025。

ε,γ分别单独由0变化到03,δ在-03~03内变化,观察横波分裂时差随各参数的变化趋势。

由图8可见,ε增大,横波分裂时差减小,总幅度为38ms;ε的变化基本未影响快横波的初至,但 是慢横波的初至逐渐减小。另外,由单道波形图可以看出,qP波的初至也逐渐减小,变化较慢横波大,这验证了ε为表征qP波各向异性强度参数。

由图9可见,随着δ的增大,分裂时差增大,03ms内增大的幅度为13ms,相对于ε对分裂时差的 影响,δ对分裂时差的影响小了很多;另外,从单道波形可以看到,δ主要影响慢横波,快慢横波初至 均增大而qP波初至减小,但是qP波与快横波的初至变化都很小,在3ms内。

图8

图9

由图10看出,随着γ增大,分裂时差增大,03ms内分裂时差的变化达到138ms;另外,从单道上 可以看出,γ的变化对快横波影响较大,慢横波初至变化很小;其对qP波没有影响,没有引起qP波初 至的变化。

图10

图11为ε,δ,γ在同等强度(都为01)下,分别与横波分裂时差的关系曲线。

图11 同等强度下ε,δ,γ与横波分裂时差的关系

由上图可以发现,在同等强度下,γ对分裂时差的影响最大,这是因为γ代表横波各向异性强度,而分裂时差随ε,δ的变化比较平缓。

4 结论

本文通过二维三分量交错网格高阶有限差分法,对横向各向异性介质不同极化角度下横波分裂时差 的研究,得到如下几点主要认识:(1)ε增大,横波分裂时差减小;qP波与横波的初至均减小,并且ε 只影响qP波与慢横波的初至,对快横波的影响很小,其峰值时刻的变动范围在2ms以内;(2)δ增大,横波分裂时差增大;慢横波初至增大,δ只影响慢横波初至,对qP波和快横波的影响很小,其峰值时 刻的变动范围在3ms以内;(3)γ增大,横波分裂时差增大;快横波初至均增大,且γ只影响快横波初 至,qP波不受影响;同时结合(1)、(2)可知,快横波也只受γ的影响,由此,可以通过快横波的速度来 判断γ,同时,qP波只由ε控制,故可通过qP波的速度判断ε的取值范围,最后由qP波与慢横波速 度确定δ的取值范围;(4)由图11可知,同等强度下,γ对横波分裂时差的影响最大,而ε,δ对其影响 较平缓,当两者数值接近时,分裂时差随极化角变化较小,可能没有递增或递减的现象;当两者数值差 别较大时,随极化角改变剧烈的对分裂时差起主导作用,影响分裂时差的变化趋势,ε使得分裂时差随 角度减小,而δ使其增大;(5)从能量角度,45°左右时观测到的快慢横波的能量对比最强,是研究横波 分裂的最佳角度;x,z分量快慢横波的能量随角度变化呈现一定的规律变化,0°时只观测到相当于慢横 波的波,90°时只观测到相当于快横波的波,因在0°与90°时横波不分裂,两个波的速度相同,称为SV 波,SH波。

Crampin[3~5]经过多年理论研究与实践证明,方位各向异性是广泛存在的,常与裂缝有关且伴有横 波分裂现象。对于碳酸盐岩地区,裂缝与渗透率以及油气的聚集和运移密切相关,因此,利用横波分裂 研究碳酸盐岩裂缝具有重要意义。但由于地下裂隙发育层位的厚度通常较小,快慢横波往往混叠在一 起,由此,提取分裂时差与裂隙方位成为难点。本文仅讨论了均匀各向异性介质下分裂时差与裂隙方位 的关系,对于更为复杂的裂隙介质还需要结合能量比法、波形特征最相似法、最小熵旋转法[11]等多种 方法来确定分裂时差,以取得更好的研究效果。

参考文献

[1]Savage,MKSeismic anisotropy and mantle deformation:what have we learned from shear wave splitting? Geophysics,1999,37(1),65-106

[2]Thomsen,LWeak elastic anisotropyGeophysics,1986,51(10),1954-1966

[3]Crampin,SThe New Geophysics:shear-wave splitting provides a window into the crack-critical rock massLeading Edge,2003,22,536-549

[4]Crampin,SA review of wave motion in anisotropic and cracked elastic-mediaWave Motion,1981,3,343~391

[5]Crampin,S,Peacock,SA review of the current understanding of seismic shear-wave splitting in the Earth's crust and common fallacies in interpretationWave Motion,2008,45,675-722

[6]高乐,刘媛,马劲风对各向异性介质中横波分裂现象的认识西北大学学报(自然科学网络版),2006,4(2)

[7]甘文权,董良国,马在田含裂隙介质中横波分裂现象的数值模拟同济大学学报,2000,28(5),547~551

[8]甘其刚,杨振武,彭大钧振幅随方位角变化裂缝检测技术及其应用石油物探,2004,43(4),373~376

[9]郭桂红,石双虎,等基于二维三分量伪谱法模拟数据的EDA介质中横波分裂研究地球物理学报,2008,51(2),469~478

[10]何樵登,张中杰对各向异性介质中横波分裂现象的研究世界地质,1990,2,11~18

[11]李忠三分量地震勘探方法研究成都:成都理工大学,2007,1~107

[12]黎书琴,李忠,张白林利用横波分裂预测裂缝石油地球物理勘探,2009,44(增刊1),130~134

[13]刘爱红,马昭军基于横波分裂的转换波各向异性分析技术及应用物探化探计算技术,2010,32(5),464~469

[14]罗省贤,李录明基于横波分裂的地层裂缝预测方法与应用成都理工大学学报(自然科学版),2003,30(1),52~59

[15]牟永光,裴正林三维复杂介质地震数值模拟石油工业出版社,2005,72~103

[16]裴正林层状各向异性介质中横波分裂和再分裂数值模拟石油地球物理勘探,2006,41(1),17~25

[17]阮爱国,李清河地壳介质各向异性研究状况,存在问题及进一步研究思路地震地磁观测与研究,1999,20(3),1~12

[18]孙武亮EDA介质的参数反演研究成都:成都理工大学,2006,15~20

[19]滕吉文,张中杰等地球内部各圈层介质的地震各向异性与地球动力学地球物理学进展,2000,15(1),1~35

[20]吴松翰,贺振华,曹均EDA介质快慢横波时差和振幅-方位曲线的实验分析石油物探,2006,45(2),146~150

[21]吴国忱各向异性介质地震波传播与成像北京:中国石油大学出版社,2006

[22]曾新吾,向云阳,宋江杰从单源VSP数据中提取横波分裂参数的算法石油物探,2000,39(3),8~15

[23]张中杰,滕吉文,何樵登,等三分量地震资料中各向异性检测长春地质学院学报,1994,24(1),77~83

[24]张美根各向异性d性波正反演问题研究北京:中国科学院地质与地球物理研究所,2000,1~40

[25]张学映,马昭军,徐美多层裂缝介质转换横波分裂分析技术及应用新疆石油地质,2009,30(3),337~339

[26]朱培民,王家映,等用纵波AVO数据反演储层裂隙密度参数石油物探,2001,40(2),1~12

波束程序P1/P2/P3被定义为选择/更改TRP Tx波束/UE Rx波束,具体是:

P-1:用于启用不同TRP Tx波束上的UE测量,以支持选择TRP Tx波束/UE Rx波束

P-2:用于启用不同TRP Tx波束上的UE测量,以可能改变TRP间/TRP内 Tx波束

P-3:用于在UE使用波束赋形的情况下,启用同一TRP Tx波束上的UE测量,以改变UE Rx波束

在TRP或UE上,通过TX和RX信道互易(全部或部分),可以从RX波束(或TX波束)获得TX波束(或RX波束),以减少开销和时延,如果没有TX和RX信道互易性,波束管理流程可能需要在上下行链路中进行TX和RX波束扫描。

波束流程

由于UE移动/旋转或阻塞可使当前选择的TRP Tx波束或UE Rx波束不可用,因此由于无线信道的难以预测的性质,提供或多或少周期性跟踪波束的方法将是更安全的方法。在这方面,似乎需要周期性波束流程来解决这个问题。同时,对于业务卸载,接收UE改变其服务TRP波束的指令,如图1所示。为了支持这一点,UE需要扫描相邻TRP的波束,这可以不定期地执行。

此外,TRP之间的波束协调可能需要非周期波束流程。图2说明了由来自TRP A的第二个波束服务的UE收到来自TRP B的第一个波束的干扰的场景。在这种情况下,UE可能需要将其波束从第二个Rx波束更改为第一个Rx波束,以最小化来自相邻TRP波束的干扰。最后,TRP可以指示UE使用可能的UE Rx波束测量相邻TRP的Tx波束,并报告测量的波束信息。

所以,周期性和非周期性的波束流程似乎都是必要的。这并不意味着同时需要周期和非周期RS。这是因为可以通过每个TRP中定义的定期RS来支持流量卸载和TRP间干扰管理。

对于非周期波束过程,可以考虑基于UE触发和基于网络触发的机制。如果存在UE旋转/移动或阻塞,则可快速降低接收到的信号功率。在这种情况下,UE可以通过在TRP之前的周期性波束测量来识别接收到的功率降低。在这种情况下,应允许UE触发波束相关报告,以在周期内改变首选TRP波束。另一方面,对于业务卸载或TRP间干扰管理,TRP还可以如上所述触发到UE的非周期波束管理过程。

波束管理参考信号

NR中需要支持用于波束测量的下行RS。可以为此目的设计新的RS,或者CSI-RS也可以是另一个备选方案。分开设计CSI-RS和波束测量RS(BMRS:beam measurement RS)是有益的,因为两者的设计目标完全不同。基于接收功率比较的端口选择足以用于波束选择,而CSI计算需要基于MIMO信道估计的CQI计算,其中至少需要一个MIMO预编码假设。此外,所需的CSI-RS密度可能依赖于MCS粒度和码本大小,这对BMRS密度没有影响。此外,需要重复BMRS以支持UE使用不同的UE Rx波束测量相同的TRP Tx波束。在这方面,符号内的重复可有助于支持有效的UE波束选择/改变。然而,CSI-RS被设计为支持数字MIMO,因此,它不支持符号内的重复。

在6GHz以上的NR中,可以考虑波束赋形的下行同步信号,其中该信号将通过扫描波束周期性地发送。在这种情况下,用于周期性波束测量的BMRS可以与下行同步信号复用,然后,UE可以使用BMRS周期性地测量TRP Tx波束。这样,可以在不进行单独OFDM符号分配的情况下执行周期性波束测量。

如上所述,可以基于周期BMRS执行周期性和非周期性波束过程。同时,也可以考虑非周期波束程序的非周期BMRS。仅当TRP应在该周期内向UE提供波束测量RS时,才需要这样做。因此,是否需要,取决于周期性BMRS的设计。

上行波束管理

信道互易假设对上行波束管理非常重要。如果全信道互易性保持不变,则可能不需要上行波束管理,因为下行波束,即TRP Tx波束和UE Rx波束,可以设置为上行波束,即TRP Rx波束和UE Tx波束,而不会发生变化。然而,由于天线配置不匹配、无线信道变化和UE旋转,信道互易性并不总是得到保证。因此,对于非/部分信道互易,NR需要上行波束管理程序。

也可以考虑周期性和非周期性上行波束程序。首先,周期性上行波束过程将要求周期性地传输UE特定上行RS,这在同时服务多个用户时会产生太多负担。因此,周期性上行波束程序不是优选的。非周期上行波束过程似乎是足够的,特别是当考虑部分互惠假设。可以利用非周期上行波束程序从一组候选波束中细化上行波束,其中该组由优选下行波束确定。上行也可以考虑UE触发机制和网络触发机制。

多波束管理

图3显示了UE D可以由第二个TRP波束服务,而UE C可以由第一个或第二个TRP波束服务。在这种情况下,如果UE C报告第一和第二个波束为优选波束,则TRP可以使用单个模拟波束(即第一波束)同时支持C和D UE。此外,在图4中,如果UE报告TRP A的第一和第二个波束以及TRP B的第一波束为优选波束,则可以进行以下TRP内/间波束协调:

①TRP A和B同时使用TRP A的第二个波束和TRP B的第一个波束支持UE。

②TRP A支持具有第一个波束的UE,以避免来自TRP B的第一个波束的干扰。

③TRP A支持UE使用第2个波束,但TRP B不同时使用第1个波束。

④TRP B支持具有第一波束的UE,但TRP A不同时使用第二波束。

所以,如果UE报告多个优选波束,则可以更灵活地管理波束。

#include<reg51h>

#include<absacch>

#include<MAX72191h>

#defineDAC XBYTE[0x7fff] //P27接CS

sbitkey0 = P3^2;// 增减切换键

sbitkey1 = P3^3;//个位,十位,百位,千位的控制切换

sbitkey2 = P3^4;// 调整位

sbitkey3 = P3^5;// 波形选择正弦、三角、矩形波,锯齿波

unsignedchar i,j;

unsignedint counter,step,flag;

typedefunsigned int uint;

//定时器0初始化

voidInit_Timer0(void)

{

TMOD = (TMOD & 0XF0) | 0X01;//设置工作方式和定时初始值

TH0 = 0xff;

TL0 = 0x00;

TR0 =1; //启动定时器

ET0 =1;

}

//定义输出波形的代码

unsignedchar code type[4][256]={

{ //正弦波代码

0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x1, 0x1, 0x2, 0x3, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8,

0x9, 0xb,0xc, 0xd, 0xf, 0x10,0x12,0x13,0x15,0x17,0x19,0x1b,0x1d,0x1f,0x21,0x23,

0x25,0x27,0x2a,0x2c,0x2e,0x31,0x33,0x36,0x39,0x3b,0x3e,0x41,0x43,0x46,0x49,0x4c,

0x4f,0x52,0x55,0x58,0x5b,0x5e,0x61,0x64,0x67,0x6a,0x6d,0x70,0x73,0x76,0x7a,0x7d,

0x80,0x83,0x86,0x89,0x8c,0x8f,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,

0xb1,0xb4,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,0xd8,

0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xeb,0xed,0xef,0xf0,0xf1,0xf3,0xf4,

0xf5,0xf6,0xf8,0xf9,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfd,0xfe,0xfe,0xfe,0xfe,0xfe,

0xfe,0xfe,0xfe,0xfe,0xfe,0xfd,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf9,0xf8,0xf6,0xf5,

0xf4,0xf3,0xf1,0xf0,0xef,0xed,0xeb,0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0xde,0xdc,0xda,

0xd8,0xd5,0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,

0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x8f,0x8c,0x89,0x86,0x83,0x80,

0x7d,0x7a,0x76,0x73,0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,0x5b,0x58,0x55,0x52,0x4f,

0x4c,0x49,0x46,0x43,0x41,0x3e,0x3b,0x39,0x36,0x33,0x31,0x2e,0x2c,0x2a,0x27,0x25,

0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15,0x13,0x12,0x10,0xf,0xd, 0xc, 0xb, 0x9,

0x8,0x7, 0x6, 0x5, 0x4, 0x3, 0x3, 0x2, 0x1, 0x1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

},

{ //三角波代码

0x2,0x4, 0x6, 0x8, 0xa, 0xc, 0xe,  0x10,0x12,0x14, 0x16, 0x18, 0x1a,0x1c, 0x1e, 0x20,

0x22,0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30,0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, 0x40,

0x42,0x44, 0x46, 0x48, 0x4a, 0x4c, 0x4e, 0x50,0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, 0x60,

0x62,0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70,0x72, 0x74, 0x76, 0x78, 0x7a, 0x7c, 0x7e, 0x80,

0x82,0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, 0x90,0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e, 0xa0,

0xa2,0xa4, 0xa6, 0xa8, 0xaa, 0xac, 0xae, 0xb0,0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc,0xbe, 0xc0,

0xc2,0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0,0xd2, 0xd4, 0xd6, 0xd8, 0xda, 0xdc,0xde, 0xe0,

0xe2,0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0,0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc,0xfe, 0xff,

0xfe,0xfc, 0xfa, 0xf8, 0xf6, 0xf4, 0xf2, 0xf0,0xee, 0xec, 0xea, 0xe8, 0xe6, 0xe4,0xe2, 0xe0,

0xde,0xdc, 0xda, 0xd8, 0xd6, 0xd4, 0xd2, 0xd0,0xce, 0xcc, 0xca, 0xc8, 0xc6, 0xc4,0xc2, 0xc0,

0xbe,0xbc, 0xba, 0xb8, 0xb6, 0xb4, 0xb2, 0xb0,0xae, 0xac, 0xaa, 0xa8, 0xa6, 0xa4,0xa2, 0xa0,

0x9e, 0x9c, 0x9a, 0x98, 0x96, 0x94, 0x92, 0x90,0x8e, 0x8c, 0x8a, 0x88, 0x86, 0x84, 0x82, 0x80,

0x7e, 0x7c, 0x7a, 0x78, 0x76, 0x74, 0x72, 0x70,0x6e, 0x6c, 0x6a, 0x68, 0x66, 0x64, 0x62, 0x60,

0x5e, 0x5c, 0x5a, 0x58, 0x56, 0x54, 0x52, 0x50,0x4e, 0x4c, 0x4a, 0x48, 0x46, 0x44, 0x42, 0x40,

0x3e, 0x3c, 0x3a, 0x38, 0x36, 0x34, 0x32, 0x30,0x2e, 0x2c, 0x2a, 0x28, 0x26, 0x24, 0x22, 0x20,

0x1e, 0x1c, 0x1a, 0x18, 0x16, 0x14, 0x12, 0x10,0xe,  0xc, 0xa,  0x8,  0x6, 0x4,  0x2,  0x00

},

{//   矩形脉冲波代码

0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff,

0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff,

0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff,

0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff,

0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff,

0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff,

0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff,

0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff,

0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00,

0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00,

0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00,

0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00,

0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00,

0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00,

0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00,

0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00,

},

{//锯齿波代码

0x00,0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,0x08,0x09, 0, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,

0x10,0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,0x18,0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,

0x20,0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,0x28,0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,

0x30,0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,0x38,0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,

0x40,0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,0x48,0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,

0x50,0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,0x58,0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,

0x60,0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,0x68,0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,

0x70,0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,0x78,0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,

0x80,0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,0x88,0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,

0x90,0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,0x98,0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,

0xa0,0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,0xa8,0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,

0xb0,0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,0xb8,0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,

0xc0,0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,0xc8,0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,

0xd0,0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,0xd8,0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,

0xe0,0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,0xe8,0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,

0xf0,0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,0xf8,0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff}

};

//显示子函数

Disp7219(unsignedlong dat)

{

unsigned char i;

unsigned char led[8];

led[7]=dat%10;

led[6]=dat/10%10;

led[5]=dat/100%10;

led[4]=dat/1000%10;

led[3]=dat/10000%10;

led[2]=dat/100000%10;

led[1]=dat/1000000%10;

led[0]=dat/10000000%10;

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

{

max_7219(i+1, led[i]);

}

}

//延时约1m秒

voiddelay_ms(uint n)

{

uchar j;

while(n--)

for(j=0;j<120;j++);

}

//主函数

main()

{

unsigned int f,n,j;

delay_ms(500);

Init_Max7219();//初始化7219

Disp7219(000);

Init_Timer0();

step=18;

EA = 1;

while(1)

{

if(key0 == 0)   n=n+1;

if(n==2)n=0;

if(key1==0)    j=j+1;

if(j==4)   j=0;

if(n==0 && j == 0 &&key2 == 0) if(step<180) step+=18; //个位增

if(n==1 && j == 0 &&key2 == 0) if(step>18) step-=18; //个位减

if(n==0 && j == 1 &&key2 == 0) if(step<1800) step+=180;//十位增

if(n==1 && j == 1 &&key2 == 0) if(step>180) step-=180; //十位减

if(n==0 && j == 2 &&key2 == 0) if(step<18000) step+=1800;//百位增

if(n==1 && j == 2 &&key2 == 0) if(step>1800) step-=1800;//百位减

if(n==0 && j == 3 &&key2 == 0) if(step<54000) step+=18000;//千位增

if(n==1 && j == 3 &&key2 == 0) if(step>18000) step-=18000;//千位减

if(key3==0)flag=flag+1;if(flag==4)flag=0;

while((!key0)||(!key1)||(!key2)||(!key3));

f=step/18;

Disp7219(f);}//显示频率

}

// 定时中断服务

voidTimer0(void) interrupt 1 using 2

{

TH0 = 0xff;

TL0 = 0x00;

counter = counter + step;

DAC=type[flag][(unsignedint)counter>>8];

}

给你看下程序吧,C语音: if(state==1)//正弦波

{for(k=0;k<100;)

{

if(P1!=0xf0)

{ sweep();}

if(FLAG==1)

{out=sin[k];

FLAG=0;

//P2_4=0;

//delay(255);

P0=out;

k++; }

} }

else if(state==2) //三角波

{for(k=0;k<100;)

{

if(P1!=0xf0)

{ sweep();}

if(FLAG==1)

{out=shn[k];

FLAG=0;

//P2_4=0;

//delay(255);

P0=out;

k++; }

} }

else if(state==3) //方波

{for(k=0;k<100;)

{

if(P1!=0xf0)

{ sweep();}

if(FLAG==1)

{out=fan[k];

FLAG=0;

//P2_4=0;

//delay(255);

P0=out;

k++; }

} }

以上就是关于微机课设:用汇编语言编写一个信号发生器,要求产生正弦波、梯形波、阶梯波、方波全部的内容,包括:微机课设:用汇编语言编写一个信号发生器,要求产生正弦波、梯形波、阶梯波、方波、基于碳酸盐岩储层横波分裂的定量研究、5G教程:5G波束管理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9806218.html

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

发表评论

登录后才能评论

评论列表(0条)

保存