日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年08月12日(星期二)

2019年08月12日 | STM32-(18):SPI與數(shù)碼管(SPI)

發(fā)布者:advancement4 來源: eefocus關(guān)鍵字:STM32  SPI  數(shù)碼管 手機看文章 掃描二維碼
隨時隨地手機看文章

SPI串行接口

SPI是由Motorala公司提出的一種同步串行外圍接口。它在速度要求不高、低功耗、需保存少量參數(shù)的智能化傳感系統(tǒng)中得到了廣泛應(yīng)用。
SPI是一個全雙工的同步串行接口。在數(shù)據(jù)傳輸過程中,總線上只能是一個主機和一個從機進行通信。

1、MISO(Master In Slave Out)
主機輸入、從機輸出信號。
2、MOSI(Master Out Slave In)
主機輸出、從機輸入信號。
3、SCK(Serial Clock)
串行時鐘信號。(用來同步使用的)
4、SS(Slave Select)
從機選擇信號,低電平有效。

SPI系統(tǒng)連接

SPI總線可在軟件的控制下構(gòu)成各種簡單或復雜的系統(tǒng)。
在這里插入圖片描述

SPI通信工作原理

SPI的基本結(jié)構(gòu)相當于兩個8位移位寄存器的首位相接,構(gòu)成16位的環(huán)形移位寄存器。從而實現(xiàn)了主機與從機的數(shù)據(jù)交換。
在這里插入圖片描述

SPI框圖

在這里插入圖片描述
分析:
①首先看SCK 管腳,通過波特率發(fā)生器產(chǎn)生時鐘信號,這個信號可以出去給從機使用,也可以進來給自己驅(qū)動 COMMUNICATION CONTROL(通信控制),其中波特率發(fā)生器由BR0、BR1、BR2控制,由這三個值來決定波特率的速度,通信控制受MSTR、SSM、SSI控制
,如果通信控制出錯,比如控制的CRCERR(CRC校驗錯誤)、MODF(模式)、OVR(數(shù)據(jù)溢出),就會在SPI_SR的相應(yīng)位置1。通信控制出來的信號連接著 MASTER CONTROL LOGIC(主控邏輯電路),中控邏輯電路控制著MOSI、MISO這一塊。
②數(shù)據(jù)從MISO進來,進入SHIFT REGISTER(移位寄存器),移位寄存器數(shù)據(jù)一旦8位接收完整之后,會自動放到 RX BUFFER 中,我們可以通過 RX BUFFER可以讀取數(shù)據(jù)。 當我們要發(fā)送內(nèi)容,就是通過總線(地址總線,數(shù)據(jù)總線)將數(shù)據(jù)寫入 TX BUFFER 中去,然后送到移位寄存器 ,數(shù)據(jù)一旦8位接收完整之后,可以通過MOSI將數(shù)據(jù)發(fā)送出去。

SPI通信的幾個步驟

1.SPI主從模式

在這里插入圖片描述

設(shè)置MSTR(主設(shè)備選擇)和SPE位(使能位)來選擇是否工作在主模式還是從模式下。(這兩個位都在SPI_CR1寄存器中都可以設(shè)置),作為從機,片選要接地,可以硬件實現(xiàn)也可以軟件實現(xiàn),接電源是作主機

2.時鐘信號的相位和極性

SPI接口可由CPOL和CPHA設(shè)定4種不同傳輸格式的時序。(CPOL和CPHA在SPI_CR1寄存器中)
CPOL決定時鐘脈沖SCK的有效脈沖方式(正脈沖、負脈沖)。CPHA決定數(shù)據(jù)線MOSI什么時候輸出數(shù)據(jù)或采集數(shù)據(jù)。
根據(jù)CPOL和CPHA的組合數(shù)目,一共有4種設(shè)置情況。

在這里插入圖片描述
分析:
CPOL決定了脈沖的方式,第一行(CPOL=0),是正脈沖,第二行(CPOL=1),是負脈沖(空閑時高電平,來數(shù)據(jù)下降沿);當CPHA=0,數(shù)據(jù)是先出來的,即比上方的SCK的電平變化(時鐘輸出)要快,大概快半拍,我們稱之為數(shù)據(jù)傳輸相位超前;當CPHA=1,SCK的電平變化之后數(shù)據(jù)才會出來,相位是同步的,當在SCK的第二個上升沿或者下降沿的時候才開始數(shù)據(jù)采集

4種時序下的數(shù)據(jù)傳輸,其中“第一位數(shù)據(jù)的輸出”和“其他位數(shù)據(jù)的輸出”欄是表示數(shù)據(jù)在什么時候更新輸出。還需注意數(shù)據(jù)采樣是上升沿還是下降沿有效。

數(shù)據(jù)與時鐘的相位關(guān)系如下圖:
在這里插入圖片描述

3.數(shù)據(jù)幀的格式

根據(jù)SPI_CR1寄存器中的LSBFIRST位,輸出數(shù)據(jù)位時可以MSB在先也可以LSB在先。
根據(jù)SPI_CR1寄存器的DFF位,每個數(shù)據(jù)幀可以是8位或是16位。所選擇的數(shù)據(jù)幀格式對發(fā)送和/或接收都有效。

SPI主模式通信

在主模式時,串行時鐘在SCK腳產(chǎn)生。
配置步驟:

  1. 通過 SPI_CR1寄存器的 BR[2:0]位定義串行時鐘波特率

  2. 選擇 CPOL和CPHA 位,定義數(shù)據(jù)傳輸和串行時鐘間的相位關(guān)系

  3. 設(shè)置 DFF 位來定義8或16位數(shù)據(jù)幀格式

  4. 配置 SPI_CR1寄存器的 LSBFIRST 位定義幀格式

  5. 如果 NSS 引腳需要工作在輸入模式,硬件模式中在整個數(shù)據(jù)幀傳輸期間應(yīng)把 NSS 腳連接到髙電平:在軟件模式中,需設(shè)置 SPI_CR1寄存器的 SSM 和 SSI 位 。 如 果 NSS 引腳工作在輸出模式.則只需設(shè)置 SSOE 位

  6. 必須設(shè)置 MSTR 和 SPE 位(只當 NSS 腳被連到高電平.這些位才能保持置位)
    在這個配置中, MOSI 腳是數(shù)據(jù)輸出,而 MISO 腳是數(shù)據(jù)輸入。

數(shù)據(jù)發(fā)送過程

1、 當一字節(jié)寫進發(fā)送緩沖器時,發(fā)送過程開始。
2、 在發(fā)送第一個數(shù)據(jù)位時,數(shù)據(jù)字被并行地(通過內(nèi)部總線–TX BUFFER)傳入移位寄存器,而后串行地移出到 MOSI 腳上; MSB 在先還是 LSB 在先,取決于 SPI_CR1寄存器中的 LSBFIRST 位。數(shù)據(jù)從發(fā)送緩沖器傳輸?shù)揭莆患拇嫫?TXE 標志將被置位,如果設(shè)置 SPI_CR1寄存器中的 TXEIE 位,將產(chǎn)生中斷。
3、 在試圖寫發(fā)送緩沖器之前,需確認 TXE 標志應(yīng)該是1

數(shù)據(jù)接收過程

當數(shù)據(jù)傳輸完成時:
1、 移位寄存器里的數(shù)據(jù)傳送到接收緩沖器(8位–>RX BUFFER),并且 RXNE 標志被置位(硬件接受滿自動置位1)。如果 SPI_CR2寄存器中的 RXEIE 位被設(shè)置,則產(chǎn)生中斷。
2、 讀 SPI_ DR 寄存器時, SPI 設(shè)備返回接收到的數(shù)據(jù)字。讀 SPI_DR 寄存器將清除RXNE 位(也是硬件自動清零)。

數(shù)碼管顯示 123.4

main.c

/* Includes ------------------------------------------------------------------*/

#include "stm32f10x_lib.h"   //包含了所有的頭文件 它是唯一一個用戶需要包括在自己應(yīng)用中的文件,起到應(yīng)用和庫之間界面的作用。

#include "../Module_Function/Module.h"

#include


TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;

TIM_OCInitTypeDef  TIM_OCInitStructure;

ErrorStatus  HSEStartUpStatus;


void Delay_Ms(u16 time);

void RCC_Configuration(void);

void GPIO_Configuration(void);


/* Private functions ---------------------------------------------------------*/ 

/*******************************************************************************

* Function Name  : main

* Description    : Main program.

* Input          : None

* Output         : None

* Return         : None

*******************************************************************************/

int main(void)

{

// u16 i=0,j;

#ifdef DEBUG

  debug();

#endif


  RCC_Configuration();//使能外設(shè)時鐘

SEG_Init();


//========實現(xiàn)數(shù)碼管顯示==========

  while (1)

  {

/*for(i=0;i<9999;i++)

{

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

SEG_Display(i,0);

} */   

SEG_Display(1234,3);

  }

}


/*******************************************************************************

* Function Name  : Delay_Ms

* Description    : delay 1 ms.

* Input          : time (ms)

* Output         : None

* Return         : None

*******************************************************************************/

void Delay_Ms(u16 time)  //延時函數(shù)

u16 i,j;

for(i=0;i  for(j=1000;j>0;j--);

}


/*******************************************************************************

* Function Name  : RCC_Configuration

* Description    : Configures the different system clocks.

* Input          : None

* Output         : None

* Return         : None

*******************************************************************************/

void RCC_Configuration(void) 

{

//==========================使用外部RC晶振========================================

  RCC_DeInit(); //初始化為缺省狀態(tài)

  RCC_HSEConfig(RCC_HSE_ON);  //高速時鐘使能

  while (RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET);  //等待高速時鐘使能就緒


    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //Enable Prefetch Buffer 

    FLASH_SetLatency(FLASH_Latency_2);   // Flash 2 wait state 

    RCC_HCLKConfig(RCC_SYSCLK_Div1); // HCLK = SYSCLK 

    RCC_PCLK2Config(RCC_HCLK_Div1); // PCLK2 = HCLK 

    RCC_PCLK1Config(RCC_HCLK_Div2);   // PCLK1 = HCLK/2 

    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); // PLLCLK = 8MHz * 9 = 72 MHz  

    RCC_PLLCmd(ENABLE);   // Enable PLL 

    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); // Wait till PLL is ready 


    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);   // Select PLL as system clock source 

    while(RCC_GetSYSCLKSource() != 0x08); // Wait till PLL is used as system clock source 

}



Seg_Module.c

/****************************************************************************

* 版權(quán): 源享教育(www.yxarm.net)

* 文件: Seg_Module.c

* 版本: 1.0

* 說明: MP3播放器當前播放歌曲序號,播放第1首時4位數(shù)碼管顯示0001,依次排列

* 作者: 劉斌

* 時間: 2011.6.21

* 說明: 數(shù)碼管段顯由HC595控制,位顯由IO口SEG_A1/SEG_A2/SEG_A3/SEG_A4控制。

* HC595使用SPI通信方式,Cortex M3的SPI使用步驟如下:

* 1、使能APB2外設(shè)SPI1時鐘:RCC_APB2PeriphClockCmd();

* 2、將外設(shè)SPI寄存器重設(shè)為缺省值:SPI_I2S_DeInit();

* 3、初始化外設(shè)SPI寄存器:SPI_Init();

* 4、使能APB2外設(shè)SPI:SPI_Cmd();

* 5、調(diào)用SPI數(shù)據(jù)發(fā)送函數(shù):SPI_I2S_SendData();

------------------------------修改記錄--------------------------------------

* 修改功能:

* 修改時間:

* 修改作者:

* 遺留問題:

****************************************************************************/

#include "stm32f10x_lib.h"   //包含了所有的頭文件 它是唯一一個用戶需要包括在自己應(yīng)用中的文件,起到應(yīng)用和庫之間界面的作用。


#define HC595_nCS GPIO_Pin_0 //HC595_nCS = PA0

#define HC595_RCK GPIO_Pin_1 //HC595_RCK = PA1


#define SEG_A1 GPIO_Pin_8 //SEG_A1 = PC8

#define SEG_A2 GPIO_Pin_15 //SEG_A2 = PB15

#define SEG_A3 GPIO_Pin_9 //SEG_A3 = PC9

#define SEG_A4 GPIO_Pin_8 //SEG_A4 = PE8


u8 const NumberTube_TAB[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//數(shù)碼管0~9

/*******************************************************************************

* Function Name  : SEG_Init

* Description    : SEG數(shù)碼管引腳,SPI1引腳初始化

* Input          : None

* Return         : None

*******************************************************************************/

void SEG_Init(void)

{

GPIO_InitTypeDef GPIO_InitStructure; // 聲明一個IO口結(jié)構(gòu)體變量

SPI_InitTypeDef SPI1_InitStructure; //聲明一個SPI結(jié)構(gòu)體變量


RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE); // 使能APB2外設(shè)GPIOA時鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE); // 使能APB2外設(shè)GPIOB時鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC , ENABLE); // 使能APB2外設(shè)GPIOC時鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE , ENABLE); // 使能APB2外設(shè)GPIOE時鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1 , ENABLE); // 使能APB2外設(shè)SPI1時鐘

    //==========PA口IO結(jié)構(gòu)體初始化============

  GPIO_InitStructure.GPIO_Pin = HC595_nCS|HC595_RCK; //選擇PA.0,PA.1

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管腳頻率為50MHZ

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //模式為推挽輸出

  GPIO_Init(GPIOA, &GPIO_InitStructure);    //初始化GPIOA寄存器

//==========PB口IO結(jié)構(gòu)體初始化============

  GPIO_InitStructure.GPIO_Pin = SEG_A2; //選擇PB.15

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管腳頻率為50MHZ

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //模式為推挽輸出

  GPIO_Init(GPIOB, &GPIO_InitStructure);    //初始化GPIOB寄存器

//==========PC口IO結(jié)構(gòu)體初始化============

  GPIO_InitStructure.GPIO_Pin = SEG_A1|SEG_A3; //選擇PC.8,PC.9

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管腳頻率為50MHZ

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //模式為推挽輸出

  GPIO_Init(GPIOC, &GPIO_InitStructure);    //初始化GPIOC寄存器

//==========PE口IO結(jié)構(gòu)體初始化============

  GPIO_InitStructure.GPIO_Pin = SEG_A4; //選擇PE.8

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管腳頻率為50MHZ

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //模式為推挽輸出

  GPIO_Init(GPIOE, &GPIO_InitStructure);    //初始化GPIOE寄存器


//==========SPI1復用功能初始化============

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7; //選擇PA.4,PA.5, PA.6,PA.7

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管腳頻率為50MHZ

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //模式為復用推挽輸出 (SPI1)

  GPIO_Init(GPIOA, &GPIO_InitStructure);    //初始化GPIOA寄存器


//==========設(shè)置SPI1工作模式==============

SPI1_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //SPI設(shè)置為雙線雙向全雙工

SPI1_InitStructure.SPI_Mode = SPI_Mode_Master; //設(shè)置為主SPI

SPI1_InitStructure.SPI_DataSize = SPI_DataSize_8b; //SPI發(fā)送接收8位幀結(jié)構(gòu)

SPI1_InitStructure.SPI_CPOL = SPI_CPOL_High; //CPOL = 1

SPI1_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; //CPHA = 0

SPI1_InitStructure.SPI_NSS = SPI_NSS_Hard; //NSS由外部管腳管理

SPI1_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64;//分頻值為64

SPI1_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; //數(shù)據(jù)傳輸LSB(低位)開始

SPI1_InitStructure.SPI_CRCPolynomial = 7;

SPI_I2S_DeInit(SPI1); //將外設(shè)SPI1寄存器重設(shè)為缺省值 ;

SPI_Init(SPI1, &SPI1_InitStructure);//初始化外設(shè)SPI1寄存器

//==========使能SPI1========================

SPI_Cmd(SPI1, ENABLE);//使能SPI1外設(shè)

GPIO_ResetBits(GPIOA, HC595_nCS);

}

/*******************************************************************************

[1] [2]
關(guān)鍵字:STM32  SPI  數(shù)碼管 引用地址:STM32-(18):SPI與數(shù)碼管(SPI)

上一篇:STM32-(17):SPI與數(shù)碼管,
下一篇:STM32-(19):I2C通信(理論基礎(chǔ))

推薦閱讀

? ??據(jù)悉從美國專利商標局給出的最新專利看,蘋果有打算重新設(shè)計Lightning接口,最為明顯的改進就是加入磁性充電設(shè)計?! ∵@個磁性充電設(shè)計曾經(jīng)在蘋果的Mac筆記本上出現(xiàn)過,用戶反響非常好,如果能把其帶入iPhone、iPad上,相信會帶來非常好的用戶體驗。磁性充電設(shè)計  這項設(shè)計不僅更加方便,蘋果還在申請的專利中強調(diào),磁性Lightning接口更強大的...
毫米波(Millimeter Wave)指的是工作頻率在30~100GHz,波長在1~10mm之間的電磁波。因為毫米波的波長介于微波和厘米波之間,所以毫米波雷達兼具微波雷達和光電雷達的部分優(yōu)點。當前,在車載ADAS系統(tǒng)中的毫米波雷達主要為24GHz和77GHz兩類。近期,國際電子商情針對24GHz和77GHz的性能,并梳理了國產(chǎn)毫米波雷達的產(chǎn)業(yè)鏈。 24GHz和77GHz毫米波雷達性能對比 ...
作業(yè)優(yōu)勢明顯 應(yīng)用領(lǐng)域廣泛工業(yè)無人機作為一種高效便捷的輔助手段替代了原有工具服務(wù)于各行各業(yè)的日常工作中,其具有成本低,效費比好、機動性能好、使用方便等優(yōu)勢,并且可降低人工操作的風險,提高任務(wù)執(zhí)行的安全性和可操控性。目前,工業(yè)無人機的主要應(yīng)用領(lǐng)域包括:電力巡檢、應(yīng)急救援、航空攝影、水利應(yīng)用、農(nóng)藥噴灑、航空測繪、國土資源、旅游業(yè)、管...
  物位測量儀表,對于儀表用戶可以說司空見慣,并不陌生。但對于物位測量的概念和主要類型卻語焉不詳,甚至聞所未聞。對此,本文就物位測量的基本概念和主要類型介紹如下:計為物位儀表一、物位測量的基本概念  物位——指容器中的液體介質(zhì)的液位、固體的料位或顆粒物的料位和兩種不同液體介質(zhì)分界面的總稱?! ∫何?mdash;—容器中的液體介質(zhì)的高低?! ?..

史海拾趣

問答坊 | AI 解惑

CADENCE硬件仿真器在Ethernet交換芯片驗證中的應(yīng)用

 1 概述     隨著網(wǎng)絡(luò)通信的高速發(fā)展,集成多種內(nèi)容的以太網(wǎng)交換芯片在網(wǎng)絡(luò)通信中起著越來越重要的作用,如何加快以太網(wǎng)交換芯片的開發(fā)速度,縮短驗證的周期,是我們面臨的重要課題,為此,我們選用了Cadence硬件仿真器Pallad ...…

查看全部問答∨

電設(shè)用TI的msp430單片機的請進

本帖最后由 paulhyde 于 2014-9-15 09:20 編輯 為了電設(shè) 大家相互學習 相互交流 對于TI的msp43 大家有什么使用心得可以交流 我為人人 人人為我  …

查看全部問答∨

我的TI樣片申請歷程~~

將自己的TI 樣片申請歷程記錄下來,對沒有申請過的朋友有所幫助 打開網(wǎng)址 http://focus.ti.com.cn/cn/tihome/docs/homepage.tsp 進入如下界面: 點擊右邊”樣片/購買”,打開網(wǎng)址 http://focus.ti.com.cn/cn/general/docs/buy.tsp?DCMP=TI- ...…

查看全部問答∨

freescale LIN總線通信的參考代碼

同樣是從網(wǎng)上轉(zhuǎn)來的,貼在這里…

查看全部問答∨

一線器件能否勝任

以前用霍尼威爾結(jié)合一線器件做的傳感頭,SHT21的可能尺寸更小,I2C接口直接線纜傳輸要做信號預處理,一線器件能否勝任,…

查看全部問答∨

關(guān)于Wince中OnPaint函數(shù)的問題

本人在做wince時鐘顯示界面時遇到了點問題,希望能夠在這里得到解答 這是OnPaint函數(shù),設(shè)置了定時器每55ms刷新調(diào)用Invalidate(),強制發(fā)送消息WM_PAINT DrawNeedle()函數(shù)是用來繪制指針的,因為每55ms要繪制一直CPen,必須在OnPaint里做重繪的處 ...…

查看全部問答∨

想學ARM,但是不了解,不知道買什么板子比較好,有經(jīng)驗的指教一下,謝謝!

首先,ARM 11太貴了,1000多算是便宜的 退而求其次,ARM 9吧,看中2440,貌似還不錯,500元左右,可以承受 后來又聽說了個cortex,貌似比ARM 11還高級?但是又有cortex-A/R/M,搞不懂,有點暈 網(wǎng)上賣得比較多的是cortex-M3,比2440好像稍微便宜 ...…

查看全部問答∨

尋找各種樂器的頻率分析的資料。

我想做一個能模擬樂器聲音播放音樂的電子設(shè)計,但不知道各樂器的聲譜組成,即其基音和泛音的大小。哪位知道哪里有相關(guān)數(shù)據(jù)下載????…

查看全部問答∨

初學者-WinCE嵌入式系統(tǒng)板的選擇

請各位老大推薦開發(fā)所用的硬件環(huán)境,什么公司的什么板子比較好?(目標是工業(yè)用) 最好是基于WinCE6.0的,可以自己定制CE的,可擴充攝像頭的 本人初學,謝謝!…

查看全部問答∨

來者有分,問了半年了。uclinux里面怎么配置,讓arm上電后自動獲得ip?

uclinux里面怎么配置,讓arm上電后自動獲得ip? 我的開發(fā)板是S3C44B0,我聽說uclinux里面支持dhcp,請問 1,編譯uclinux 2.4內(nèi)核時候要選上什么才支持dhcp? 2,是否要寫配置文件? 3,哪位能說得詳細點?謝謝了。 …

查看全部問答∨
小廣播
設(shè)計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved