![單片機(jī)常用的宏及硬件端口命名_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/d7c0eade-2e54-4147-97cb-993935827966/d7c0eade-2e54-4147-97cb-9939358279661.gif)
![單片機(jī)常用的宏及硬件端口命名_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/d7c0eade-2e54-4147-97cb-993935827966/d7c0eade-2e54-4147-97cb-9939358279662.gif)
![單片機(jī)常用的宏及硬件端口命名_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/d7c0eade-2e54-4147-97cb-993935827966/d7c0eade-2e54-4147-97cb-9939358279663.gif)
![單片機(jī)常用的宏及硬件端口命名_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/d7c0eade-2e54-4147-97cb-993935827966/d7c0eade-2e54-4147-97cb-9939358279664.gif)
![單片機(jī)常用的宏及硬件端口命名_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/d7c0eade-2e54-4147-97cb-993935827966/d7c0eade-2e54-4147-97cb-9939358279665.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、/常用的宏及硬件端口命名config.c/*#ifndef_CONF_#define_CONF_/*MCU=1Keil C51 8051MCUMCU=2MPLAB IDEPICMCU* */#defineMCU1/*#ifMCU=1#include<reg51.h>#definePAP0#definePBP1#definePCP2#definePDP3#defineTABROMcode#endif/-#ifMCU=2#include<PIC.h>#defineTABROMconst/*簡化端口符號(hào)名*/#definePAPORTA#definePBPORTB#defin
2、ePCPORTC#definePDPORTD#definePEPORTE/*RA0=PA,0.RA7=PA,7RB0=PB,0.RB7=PB,0RC0=PC,0.RC7=PC,7RD0=PD,0.RD7=PD,0*/#define TATRISA#defineTBTRISB#define TCTRISC#defineTDTRISD#define TETRISE#endif/*bitsys;/系統(tǒng)標(biāo)志位/* typedef unsigned charuchar;typedefunsigned charUchar;typedefunsigned charUCHAR;typedefunsigned
3、charbyte;typedefunsigned charBYTE;typedefunsigned charbyt;typedefunsigned charBYT;typedefsigned charsbyte;typedefsigned charSBYTE;/-typedefunsigned intuint;typedefunsigned intUint;typedefunsigned intUINT;typedefunsigned intwbyte;typedefunsigned intWBYTE;typedefunsigned intWbyte;typedefunsigned intwb
4、yt;typedefunsigned intword;typedefunsigned intWORD;/-typedefunsigned longDword;typedefunsigned longDWORD;typedefunsigned longulong;typedefunsigned longUlong;/-typedefbitbool;typedefbitBOOL;/*#defineLOW(w)(BYTE)(w)#defineHIGH(w)(BYTE)(WORD)(w)>>8)&0XFF)/*某位置1 清0*/#defineBSET(BIT) BIT=1#defi
5、neBCLR(BIT) BIT=0#defineTESTB(b,offset)(1&(b)>>(offset)#defineSETB(b,offset)(b)|=(1<<(offset)#defineCLRB(b,offset)(b)&=(1<<(offset)#defineRIGHTB(b,n)(b)>>1)|n)#defineLEFTB(b,n)(b)<<1)|n)#defineMAX(a,b) (a)>(b)?(a):(b)#defineMIN(a,b)(a)<(b)?(a):(b)#defineTR
6、UE1#defineFLASE0#defineON1#defineOFF0/*unionundwstructstchucharchdl;ucharchdh;ch;uintdatw;dw;/*-union undwxy;dw.ch.chdl=0x65;dw.ch.chdh=0x85;dw.datw=0x8565;xy.ch.chdl=dw.ch.chdl;xy.ch.chdh=dw.ch.chdh;xy.datw=0x8565;*/#endif/*/ 8051外部中斷0 模塊/*INT0_HLOW=0外部中斷0低電平觸發(fā)INT0_HLOW=1外部中斷0負(fù)邊沿觸發(fā)* */#defineINT0_H
7、LOW1/*EXT0INT=1外部中斷0 中斷處理方式void ext0int(void)interrupt 0 /不用調(diào)用EXT1INT=2外部中斷0 查詢處理方式void ext0find(void)/須在其它程序中調(diào)用* */#defineEXT0INT2/* */TM0 初始化voidext0init(void)/* */voidext0init(void) TCON=INT0_HLOW; #if EXT0INT=1 BSET(EA); / EA=1; #endif/*#if EXT0INT=1void ext0int(void)interrupt 0/ fun();加入其它功能程序
8、#endif/-#if EXT0INT=2void ext0find(void)while(IE0=0);/ fun();加入其它功能程序#endif/*/ 8051外部中斷1 模塊/*INT1_HLOW=0x00外部中斷1低電平觸發(fā)INT1_HLOW=0x04外部中斷1負(fù)邊沿觸發(fā)* */#defineINT1_HLOW0X04/*EXT1INT=1外部中斷1 中斷處理方式void ext1int(void)interrupt 2 /不用調(diào)用EXT1INT=2外部中斷1 查詢處理方式void ext1find(void)/須在其它程序中調(diào)用* */#defineEXT1INT2/* */TM0
9、 初始化voidext1init(void)/* */voidext1init(void) TCON=INT1_HLOW; #if EXT1INT=1BSET(EA);/EA=1; #endif/*#if EXT1INT=1void ext1int(void)interrupt 2/ fun();加入其它功能程序 #endif/-#if EXT1INT=2void ext1find(void)while(IE1=0);/fun(); 加入其它功能程序#endif/*/TMR0 定時(shí)/時(shí)數(shù)器模塊/*TM0_CT=0X00TM0為定時(shí)方式TM0_CT=0X04TM0為計(jì)數(shù)方式* */#define
10、TM0_CT0/*TM0_MODE=0TM0工作于13位模式最大值8192TM0_MODE=1TM0工作于16位模式最大值65536TM0_MODE=2TM0工作于8位自動(dòng)加載模式最大值256TM0_MODE=3TM0工作于分立定時(shí)器模式最大值256* */#defineTM0_MODE0/*TM0INT=1TM1 中斷處理方式void intm0(void)interrupt 1 /不用調(diào)用TM0INT=2TMR1 查詢處理方式void tm0find(void)/須在其它程序中調(diào)用* */#defineTM0INT1/* */TM0 初始化voidtm0init(void)/* */#de
11、fine TM0MAX1000/-#if TM0_MODE=0#define TM0_VALH(65536-TM0MAX)/32#define TM0_VALL(65536-TM0MAX)%32#endif/-#if TM0_MODE=1#define TM0_VALHHIGH(65536-TM0MAX)#define TM0_VALLLOW(65536-TM0MAX)#endif/-#if TM0_MODE=2#define TM0_VALH(256-TM0MAX)#define TM0_VALL(256-TM0MAX)#endif/-#if TM0_MODE=3#define TM0_VA
12、LH(256-TM0MAX)#define TM0_VALL(256-TM0MAX)#endif/*voidtm0init(void)#ifTM0INT=1BSET(EA);BSET(ET0);#endifTMOD=(TM0_CT|TM0_MODE);TH0=TM0_VALH;TL0=TM0_VALL;BSET(TR0);/*#ifTM0INT=1void intm0(void)interrupt 1TH0=TM0_VALH;TL0=TM0_VALL;/ fun();加入其它功能程序BSET(sys); #endif /- #ifTM0INT=2void tm0find(void)while(
13、TF0=0);BCLR(TF0);TH0=TM0_VALH;TL0=TM0_VALL; / fun();加入其它功能程序BSET(sys); #endif /*/TMR1 定時(shí)/時(shí)數(shù)器模塊/*TM1_CT=0X00TM1為定時(shí)方式TM1_CT=0X40TM1為計(jì)數(shù)方式* */#defineTM1_CT0x00/*TM1_MODE=0X00TM1工作于13位模式最大值8192TM1_MODE=0X10TM1工作于16位模式最大值65536TM1_MODE=0X20TM1工作于8位自動(dòng)加載模式最大值256TM1_MODE=0X30TM1工作于分立定時(shí)器模式最大值256* */#defineTM1_
14、MODE0x10/*TM1INT=1TM1 中斷處理方式void intm1(void)interrupt 3 /不用調(diào)用TM1INT=2TMR1 查詢處理方式void tm1find(void)/須在其它程序中調(diào)用* */#defineTM1INT2/* */TM0 初始化voidtm1init(void)/* */#define TM1MAX200/-#if TM1_MODE=0#define TM1_VALH(65536-TM1MAX)/32#define TM1_VALL(65536-TM1MAX)%32#endif/-#if TM1_MODE=1#define TM1_VALHHIG
15、H(65536-TM1MAX)#define TM1_VALLLOW(65536-TM1MAX)#endif/-#if TM1_MODE=2#define TM1_VALH(256-TM1MAX)#define TM1_VALL(256-TM1MAX)#endif/-#if TM1_MODE=3#define TM1_VALH(256-TM1MAX)#define TM1_VALL(256-TM1MAX)#endif/*voidtm1init(void)#ifTM1INT=1BSET(EA);/EA=1BSET(ET1);/ET1=1#endifTMOD=(TM1_CT|TM1_MODE);T
16、H1=TM1_VALH;TL1=TM1_VALL;BSET(TR1);/TR1=1;/*#ifTM1INT=1void intm1(void)interrupt 3TH1=TM1_VALH;TL1=TM1_VALL;/fun(); 加入其它功能程序 #endif /- #ifTM1INT=2void tm1find(void)while(TF1=0);BCLR(TF1);/TF1=0;TH1=TM1_VALH;TL1=TM1_VALL;/fun(); 加入其它功能程序 #endif /*/ C51UART 串行通信 /*UART串行通信比特率設(shè)定UART_MODE=0X00模式0 固定比特率O
17、SC/12的移位式數(shù)據(jù)傳送UART_MODE=0X80模式1 可變比特率的串行數(shù)據(jù)傳送由TMR1或TMR2控制UART_MODE=0X40模式2 固定比特率OSC/32或OSC/64的移位式數(shù)據(jù)傳送UART)MODE=0XC0模式3 可變比特率的串行數(shù)據(jù)傳送由TMR1或TMR2控制* */#defineUART_MODE0X80/* TM1波特率產(chǎn)生方式 模式2 f=Fosc/12/32(MODE=0) f=Fosc/12/16(MODE=1) TH1十進(jìn)制十六進(jìn)制SMOD=0SMOD=1 -3FD960019200 -6FA48009600 -12F424004800 -24E8120024
18、00*/*多機(jī)通信啟用UART_TEL=0X00單機(jī)通信UART_TEL=0X20多機(jī)通信* */#defineUART_TEL0X00/*UART_REN=0X00單機(jī)發(fā)送UART_REN=0X10雙向通信* */#defineUART_REN0X10/*UARTINT=1UART 中斷處理方式void uartint(void)interrupt 4 /不用調(diào)用UARTINT=2外部中斷1 查詢處理方式void uartfind(void)/須在其它程序中調(diào)用* */#defineUARTINT2/* */TM0 初始化voiduartinit(void)/* */uchar dat;/接
19、收數(shù)據(jù)保存位置/*voiduartinit(void) SCON=(UART_MODE|UART_TEL|UART_REN); #if UARTINT=1BSET(EA);/EA=1;BSET(ES);/ES=1; #endif/* #if UARTINT=1void uartint(void)interrupt 4if(RI)BCLR(RI);/RI=0;dat=SBUF;elseBCLR(TI);/TI=0;/fun(); 加入其它功能程序 #endif/-#if UARTINT=2void uartfind(void)while(RI=0);dat=SBUF;BCLR(RI); /RI=
20、0;/return(dat);/fun(); 加入其它功能程序 #endif/*/ TMR0 定時(shí)/時(shí)數(shù)器模塊pictm0.c/*TM0_MODE=1RMR0為定時(shí)器工作方式TM0_MODE=2RMR0為計(jì)數(shù)器工作方式TM0_CHL=1計(jì)數(shù)上升沿觸發(fā)TM0_CHL=2計(jì)數(shù)下降沿觸發(fā)TM0_MODE=3RMR0為WDT看門狗工作方式* */#defineTM0_MODE1#defineTM0CHL0X00#ifTM0_MODE=1/定時(shí)器#defineTM0MD0X00#endif#ifTM0_MODE=2/計(jì)數(shù)器#defineTM0MD0X20/*#ifTM0_CHL=1#defineTM0C
21、HL0X00/計(jì)數(shù)上升沿觸發(fā)#endif#ifTM0_CHL=2#defineTM0CHL0X10/計(jì)數(shù)下降沿觸發(fā)#endif* */#endif#ifTM0_MODE=3/WDT看門狗#defineTM0MD0X08#endif/TM0初始化寄存器變量/void tm0init(void)/*TM0INT=1TM0 中斷處理方式void interrupt intm0(void)/不用調(diào)用TM0INT=2TMR0 查詢處理方式void tm0find(uchar tm0val)/須在其它程序中調(diào)用* */#define TM0INT1/*預(yù)分頻器分頻比率INTCON|=0XA0; /GIE=
22、1;T0IE=1;1.OPTION=0;/(1:2)*250=500us2.OPTION=1;/(1:4)*250=1000us3.OPTION=2; /(1:8)*125=1000us4.OPTION=3;/(1:16)*125=2000us5.OPTION=4;/(1:32)*156=4992us=5ms6.OPTION=6;/(1:128)*78=9984=10ms7.OPTION=N;/(1:N)*M* */#defineTM0_VAL2#ifTM0_VAL=1/0.5ms#defineTM0VAL(256-250)#defineTM0CON0#endif#ifTM0_VAL=2/1m
23、s#defineTM0VAL(256-250)#defineTM0CON1#endif#ifTM0_VAL=3/1ms#defineTM0VAL(256-125)#defineTM0CON2#endif#ifTM0_VAL=4/2ms#defineTM0VAL(256-125)#defineTM0CON3#endif#ifTM0_VAL=5/5ms#defineTM0VAL(256-156)#defineTM0CON4#endif#ifTM0_VAL=6/10ms#defineTM0VAL(256-78)#defineTM0CON6#endif#ifTM0_VAL=7/-#defineTM0V
24、AL(256-256)#defineTM0CON0#endif/*INTCON|=0XA0; /GIE=1;T0IE=1;1.OPTION|=0;/(1:2)*250=500us2.OPTION|=1;/(1:4)*250=1000us3.OPTION|=2; /(1:8)*125=1000us4.OPTION|=3;/(1:16)*125=2000us5.OPTION|=4;/(1:32)*156=4992us=5ms6.OPTION|=6;/(1:128)*78=9984=10ms* */TM0初始化寄存器變量void tm0init(void)BSET(T0IE);#ifTM0INT=1
25、BSET(GIE);#endif#ifTM0INT=2BCLR(GIE);BSET(T0IF);#endifOPTION=(TM0CON|TM0MD|TM0CHL);TMR0=TM0VAL;/*#ifTM0INT=1/TM0中斷處理程序void interrupt intm0(void)if(T0IF)BCLR(T0IF);TMR0=TM0VAL;sys=1;elsesys=0;#endif/-#ifTM0INT=2/TMR0 查詢處理方式void tm0find(uchartm0val)BCLR(T0IF);TMR0=tm0val;while(!T0IF);sys=1;#endif/*/TM
26、R1 定時(shí)/時(shí)數(shù)器模塊pictm1.c/*TM1_MODE=1TM1為定時(shí)方式TM1_MODE=2TM1為計(jì)數(shù)方式* */#defineTM1_MODE1/*TM1SYNC=0TM1同步工作方式TM1SYNC=4TM1異步工作方式* */#defineTM1SYNC0/*TM1INT=1TM1 中斷處理方式void interrupt intm1(void)/不用調(diào)用TM1INT=2TMR1 查詢處理方式void tm1find(uinttm1val)/須在其它程序中調(diào)用* */#defineTM1INT1/* */TMR1 初始化voidtm1init(void)/*TM1 預(yù)分頻器分頻比率
27、T1CKPS=0X001:1TM=(TMR1H:TMR1L)T1CKPS=0X101:2TM=(TMR1H:TMR1L)*2T1CKPS=0X201:4TM=(TMR1H:TMR1L)*4T1CKPS=0X301:8TM=(TMR1H:TMR1L)*8*/#defineT1CKPS0X10/TMR1 16位寄存器#defineTM1MAX500#defineTM1VALHHIGH(65536-TM1MAX)#defineTM1VALLLOW(65536-TM1MAX)/*/TMR1 初始化voidtm1init(void)BCLR(GIE);TMR1H=TM1VALH;TMR1L=TM1VAL
28、L;BSET(TMR1IE);T1CON=(T1CKPS|TM1SYNC);BSET(T1OSCEN);BSET(TMR1ON);BSET(GIE);#ifTM1INT=1BSET(PEIE);BCLR(TMR1IF);#endif#ifTM1INT=2BCLR(PEIE);BSET(TMR1IF);#endif/* */TM0中斷處理程序#ifTM1INT=1void interrupt intm1(void)if(TESTB(PIR1,0)BCLR(GIE);TMR1H=TM1VALH;TMR1L=TM1VALL;T1CON=(T1CKPS|TM1SYNC);BSET(T1OSCEN);B
29、SET(TMR1ON);BCLR(TMR1IF);BSET(GIE);/BSET(PEIE);sys=1;elsesys=0;#endif/- */TMR0 查詢處理方式#ifTM1INT=2void tm1find(uinttm1val)/if(TMR1IF)/BCLR(GIE);BCLR(TMR1IF);TMR1H=HIGH(tm1val);TMR1L=LOW(tm1val);T1CON=(T1CKPS|TM1SYNC);BSET(T1OSCEN);BSET(TMR1ON);while(!TMR1IF);BSET(GIE);sys=1;/#endif/*void tm1find(void)
30、uchartm1tmp;/有中斷溢出if(TESTB(PIR1,0)BCLR(GIE);TMR1H=TM1VALH;TMR1L=TM1VALL;T1CON=(T1CKPS|TM1SYNC);BSET(T1OSCEN);BSET(TMR1ON);BCLR(TMR1IF);BSET(GIE);sys=1;else/計(jì)數(shù)器工作方式/沒有中斷溢出,讀取計(jì)數(shù)值#ifTM1_MODE=2BCLR(GIE);dw.ch.chdh=TMR1H;dw.ch.chdl=TMR1L;tm1tmp=TMR1H;if(tm1tmp=dw.ch.chdh)/讀取2次相等,重新設(shè)置新值tm1tmp=TMR1L;if(tm1
31、tmp=dw.ch.chdl)TMR1H=TM1VALH;TMR1L=TM1VALL;T1CON=(T1CKPS|TM1SYNC);BSET(T1OSCEN);BSET(TMR1ON);BCLR(TMR1IF);BSET(GIE);sys=1;else/讀取2次不相等,重新再讀一次dw.ch.chdh=TMR1H;dw.ch.chdl=TMR1L;TMR1H=TM1VALH;TMR1L=TM1VALL;T1CON=(T1CKPS|TM1SYNC);BSET(T1OSCEN);BSET(TMR1ON);BCLR(TMR1IF);BSET(GIE);sys=1;#endif/-#ifTM1_MOD
32、E=1sys=0;#endif#endif/* */TMR2 定時(shí)/時(shí)數(shù)器模塊pictm2.c/*TM2INT=1TM2 中斷處理方式void interrupt intm2(void)/不用調(diào)用TM2INT=2TMR2 查詢處理方式void tm2find(void)/須在其它程序中調(diào)用* */#defineTM2INT1/* */TMR2 初始化voidtm2init(void)/*TM2 預(yù)分頻器分頻比率 N1T2CKPS=01:1TM=TMR2T2CKPS=11:4TM=TMR2*4T2CKPS=21:16TM=TMR2*16T2CKPS=31:16TM=TMR2*16*TM2 預(yù)分頻
33、器分頻比率 N2T2OUTPS=0X01:1TM=TMR2*N1*1T2OUTPS=0X101:2TM=TMR2*N1*2T2OUTPS=0X201:3TM=TMR2*N1*3T2OUTPS=0X301:4TM=TMR2*N1*4 .T2OUTPS=0XF01:16TM=TMR2*N1*16* */#defineT2CKPS2#defineT2OUTPS0X20/*#defineTMR2VAL200#defineTPR2VAL200/*voidtm2init(void)BCLR(GIE);TMR2=TMR2VAL;PR2=TPR2VAL;T2CON=(T2OUTPS|T2CKPS);BSET(
34、TMR2IE);BCLR(TMR2IF);BSET(TMR2ON);#ifTM2INT=1BSET(GIE);BSET(PEIE);#endif/*/TM2 中斷處理方式#ifTM2INT=1void interrupt intm2(void)if(TESTB(PIR1,1)BCLR(GIE);TMR2=TMR2VAL;BCLR(TMR2IF);BSET(GIE);if(RC7)RC7=0;elseRC7=1;sys=1;elsesys=0;#endif/*#ifTM2INT=2uchartm2_val;/TMR2 查詢處理方式void tm2find(uchartm2val)BCLR(TMR2IF);TMR0=tm2val;while(!TMR2IF);sys=1;#endif/*void tm2find(void)if(TESTB(PIR1,1)TMR2=TMR2VAL;BCLR(TMR2IF);s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 全新財(cái)產(chǎn)分割協(xié)議離婚下載
- 貨物安全運(yùn)輸協(xié)議書
- 排水溝勞務(wù)施工合同
- 不可撤銷居間合同范本
- 車輛抵債協(xié)議書范本
- 薦石料運(yùn)輸合同年
- 食品廠勞動(dòng)合同范文
- 增資后轉(zhuǎn)讓股份協(xié)議書年
- 起重設(shè)備買賣合同模板
- 上海裝修合同范本模板
- 《梅大高速茶陽路段“5·1”塌方災(zāi)害調(diào)查評(píng)估報(bào)告》專題警示學(xué)習(xí)
- 2024年09月北京中信銀行北京分行社會(huì)招考(917)筆試歷年參考題庫附帶答案詳解
- 《大健康解讀》課件
- 2025年度交通運(yùn)輸規(guī)劃外聘專家咨詢協(xié)議3篇
- 專項(xiàng)債券培訓(xùn)課件
- 2024年公司領(lǐng)導(dǎo)在新年動(dòng)員會(huì)上的講話樣本(3篇)
- 2025年中國濕度傳感器行業(yè)深度分析、投資前景、趨勢預(yù)測報(bào)告(智研咨詢)
- 污水處理中的應(yīng)急預(yù)案與處置措施考核試卷
- 人教版道德與法治二年級(jí)下冊(cè)《第一單元 讓我試試看》大單元整體教學(xué)設(shè)計(jì)2022課標(biāo)
- 甘肅省蘭州市蘭煉一中2025屆數(shù)學(xué)高一上期末統(tǒng)考試題含解析
- 聯(lián)合體三方協(xié)議合同模板
評(píng)論
0/150
提交評(píng)論