導航:首頁 > 創造發明 > 單片機有關的小發明

單片機有關的小發明

發布時間:2021-06-11 04:55:07

① 51單片機能做的創新玩意有哪些

旋轉led燈
循跡小車
遙控車,當然要配神手機或者電腦的程序

② 用單片機可以做出那些有趣或者實用的功能

單片機還是以控制類的為主的,例如跑馬燈、紅外接收、數碼管顯示電子鍾、液晶顯示數字萬年歷、密碼鎖、交通燈、溫度測量、電腦鍵盤等都可以的,只要感興趣,可以設計出自己想要的東西,做項目也是可以的,呵呵……

③ 希望提供有關單片機的小製作,

日誌檔案
發表於 2010/8/23 23:00:01
標簽: STC 單片機 串口
STC單片機之串口
STC12C5A60S2單片機的串口從傳統的一個擴展到了兩個,
而且還增加了一個獨立波特率發生器,把定時器1解放了出來,真的不是一般的方便,
還而且能用1T模式,速度大大滴提高了。。。
於是,就寫了串口模塊,方便以後用
有關STC12C5A60S2串口的寄存器

UART.C
/*
* 文 件 名:UART.C
* 芯 片:STC12C5A60S2
* 晶 振:12MHz
* 創 建 者:冷月
* 創建日期:2010.8.16
* 修 改 者:
* 修改日期:
* 功能描述:STC12C5A系列單片機串口模塊,包括串口1和串口2,方式1,使用獨立波特率發生器
* 功能:1.發送一個字元;2.發送一個字元串;3.接收一個字元。
*/

#include <STC12C5A.H> //STC12C5A系列單片機
#include <intrins.h>
#include "UART.H"

#define uchar unsigned char
#define uint unsigned int

//緩存串口1和串口2接收到的字元
uchar UART1_Recv_Val = 0;
uchar UART2_Recv_Val = 0;

/*
* 函 數 名:UART1_Init
* 功能描述:串口1初始化
* 輸入參數:RELOAD:BRT初值;
* doubleBaud:0波特率不加倍,1波特率加倍
* timeMod:0獨立波特率發生器12T模式,1為1T模式
* 返 回 值:無
*/
void UART1_Init(uchar RELOAD, bit doubleBaud, bit timeMod)
{
SCON |= 0x50; //串口1方式1,接收充許

BRT = RELOAD; //波特率2400

if (timeMod == 1) //1T
{
//T0x12 T1x12 UM0x6 BRTR S2SMOD BRTx12 EXTRAM S1BRS
AUXR |= 0x15; //串口1使用獨立波特率發生器,獨立波特率發生器1T
}
else //12T
{
AUXR |= 0x11;
}

if (doubleBaud == 1)
{
PCON |= 0x80; //波特率加倍
}
else
{
PCON &= 0x7F; //波特率不加倍
}

EA = 1;
ES = 1; //充許串口1中斷
}

/*
* 函 數 名:UART2_Init
* 功能描述:串口2初始化
* 輸入參數:RELOAD:BRT初值;
* doubleBaud:0波特率不加倍,1波特率加倍
* timeMod:0獨立波特率發生器12T模式,1為1T模式
* 返 回 值:無
*/
void UART2_Init(uchar RELOAD, bit doubleBaud, bit timeMod)
{
//S2SM0 S2SM1 S2SM2 S2REN S2TB8 S2RB8 S2TI S2RI
S2CON |= 0x50; //串口2,方式1,接收充許

BRT = RELOAD;

if (timeMod == 1) //1T
{
//T0x12 T1x12 UM0x6 BRTR S2SMOD BRTx12 EXTRAM S1BRS
AUXR |= 0x14; //串口1使用獨立波特率發生器,獨立波特率發生器1T
}
else //12T
{
AUXR = (AUXR | 0x10) & 0xFB;
}

if (doubleBaud == 1)
{
AUXR |= 0x08; //波特率加倍
}
else
{
AUXR &= 0xF7; //波特率不加倍
}

EA = 1;
//- - - - - - ESPI ES2
IE2 |= 0x01; //充許串口2中斷
}

/*
* 函 數 名:UART1_SendOneChar
* 功能描述:串口1發送一個字元
* 輸入參數:val:要發送的字元
* 返 回 值:無
*/
void UART1_SendOneChar(uchar val)
{
//ES = 0; //關閉串口1中斷

SBUF = val;
while(TI == 0);
TI = 0;

//ES = 1; //恢復串口1中斷
}

/*
* 函 數 名:UART2_SendOneChar
* 功能描述:串口2發送一個字元
* 輸入參數:val:要發送的字元
* 返 回 值:無
*/
void UART2_SendOneChar(uchar val)
{
//IE2 = 0x00; //關閉串口2中斷

S2BUF = val;
while ((S2CON & 0x02) == 0);
S2CON &= 0xFD;

//IE2 = 0x01; //恢復串口2中斷
}

/*
* 函 數 名:UART1_SendStr
* 功能描述:串口1發送字元串
* 輸入參數:str:指向要發送的字元串的指針
* 返 回 值:無
*/
void UART1_SendStr(uchar *str)
{
while( (*str)!='\0' )
{
UART1_SendOneChar(*str);
str++;
}
}

/*
* 函 數 名:UART2_SendStr
* 功能描述:串口2發送字元串
* 輸入參數:str:指向要發送的字元串的指針
* 返 回 值:無
*/
void UART2_SendStr(uchar *str)
{
while( (*str)!='\0' )
{
UART2_SendOneChar(*str);
str++;
}
}

/*
* 函 數 名:UART1_Int
* 功能描述:串口1中斷服務程序,接收串口1字元
* 輸入參數:無
* 返 回 值:無
*/
void UART1_Int(void) interrupt 4
{
if (RI == 1)
{
RI = 0;
UART1_Recv_Val = SBUF;
}
}

/*
* 函 數 名:UART2_Int
* 功能描述:串口2中斷服務程序,接收串口2字元
* 輸入參數:無
* 返 回 值:無
*/
void UART2_Int(void) interrupt 8
{
if ((S2CON & 0x01) == 1)
{
S2CON &= 0xFE;
UART2_Recv_Val = S2BUF;
}
}
/*
* 文 件 名:UART.C
* 芯 片:STC12C5A60S2
* 晶 振:12MHz
* 創 建 者:冷月
* 創建日期:2010.8.16
* 修 改 者:
* 修改日期:
* 功能描述:STC12C5A系列單片機串口模塊,包括串口1和串口2,方式1,使用獨立波特率發生器
* 功能:1.發送一個字元;2.發送一個字元串;3.接收一個字元。
*/
#include <STC12C5A.H> //STC12C5A系列單片機
#include <intrins.h>
#include "UART.H"
#define uchar unsigned char
#define uint unsigned int
//緩存串口1和串口2接收到的字元
uchar UART1_Recv_Val = 0;
uchar UART2_Recv_Val = 0;

/*
* 函 數 名:UART1_Init
* 功能描述:串口1初始化
* 輸入參數:RELOAD:BRT初值;
* doubleBaud:0波特率不加倍,1波特率加倍
* timeMod:0獨立波特率發生器12T模式,1為1T模式
* 返 回 值:無
*/
void UART1_Init(uchar RELOAD, bit doubleBaud, bit timeMod)
{
SCON |= 0x50; //串口1方式1,接收充許
BRT = RELOAD; //波特率2400
if (timeMod == 1) //1T
{
//T0x12 T1x12 UM0x6 BRTR S2SMOD BRTx12 EXTRAM S1BRS
AUXR |= 0x15; //串口1使用獨立波特率發生器,獨立波特率發生器1T
}
else //12T
{
AUXR |= 0x11;
}
if (doubleBaud == 1)
{
PCON |= 0x80; //波特率加倍
}
else
{
PCON &= 0x7F; //波特率不加倍
}
EA = 1;
ES = 1; //充許串口1中斷
}

/*
* 函 數 名:UART2_Init
* 功能描述:串口2初始化
* 輸入參數:RELOAD:BRT初值;
* doubleBaud:0波特率不加倍,1波特率加倍
* timeMod:0獨立波特率發生器12T模式,1為1T模式
* 返 回 值:無
*/
void UART2_Init(uchar RELOAD, bit doubleBaud, bit timeMod)
{
//S2SM0 S2SM1 S2SM2 S2REN S2TB8 S2RB8 S2TI S2RI
S2CON |= 0x50; //串口2,方式1,接收充許
BRT = RELOAD;
if (timeMod == 1) //1T
{
//T0x12 T1x12 UM0x6 BRTR S2SMOD BRTx12 EXTRAM S1BRS
AUXR |= 0x14; //串口1使用獨立波特率發生器,獨立波特率發生器1T
}
else //12T
{
AUXR = (AUXR | 0x10) & 0xFB;
}
if (doubleBaud == 1)
{
AUXR |= 0x08; //波特率加倍
}
else
{
AUXR &= 0xF7; //波特率不加倍
}
EA = 1;
//- - - - - - ESPI ES2
IE2 |= 0x01; //充許串口2中斷
}

/*
* 函 數 名:UART1_SendOneChar
* 功能描述:串口1發送一個字元
* 輸入參數:val:要發送的字元
* 返 回 值:無
*/
void UART1_SendOneChar(uchar val)
{
//ES = 0; //關閉串口1中斷
SBUF = val;
while(TI == 0);
TI = 0;
//ES = 1; //恢復串口1中斷
}

/*
* 函 數 名:UART2_SendOneChar
* 功能描述:串口2發送一個字元
* 輸入參數:val:要發送的字元
* 返 回 值:無
*/
void UART2_SendOneChar(uchar val)
{
//IE2 = 0x00; //關閉串口2中斷
S2BUF = val;
while ((S2CON & 0x02) == 0);
S2CON &= 0xFD;
//IE2 = 0x01; //恢復串口2中斷
}

/*
* 函 數 名:UART1_SendStr
* 功能描述:串口1發送字元串
* 輸入參數:str:指向要發送的字元串的指針
* 返 回 值:無
*/
void UART1_SendStr(uchar *str)
{
while( (*str)!='\0' )
{
UART1_SendOneChar(*str);
str++;
}
}

/*
* 函 數 名:UART2_SendStr
* 功能描述:串口2發送字元串
* 輸入參數:str:指向要發送的字元串的指針
* 返 回 值:無
*/
void UART2_SendStr(uchar *str)
{
while( (*str)!='\0' )
{
UART2_SendOneChar(*str);
str++;
}
}

/*
* 函 數 名:UART1_Int
* 功能描述:串口1中斷服務程序,接收串口1字元
* 輸入參數:無
* 返 回 值:無
*/
void UART1_Int(void) interrupt 4
{
if (RI == 1)
{
RI = 0;
UART1_Recv_Val = SBUF;
}
}

/*
* 函 數 名:UART2_Int
* 功能描述:串口2中斷服務程序,接收串口2字元
* 輸入參數:無
* 返 回 值:無
*/
void UART2_Int(void) interrupt 8
{
if ((S2CON & 0x01) == 1)
{
S2CON &= 0xFE;
UART2_Recv_Val = S2BUF;
}
}

UART.H
/*
* 模 塊 名:UART.H
* 芯 片:STC12C5A60S2
* 晶 振:12MHz
* 創 建 者:冷月
* 創建日期:2010.8.16
* 修 改 者:
* 修改日期:
* 功能描述:STC12C5A系列單片機串口模塊,包括串口1和串口2,方式1,使用獨立波特率發生器
* 可設置串口波特率
* 功能:1.發送一個字元;2.發送一個字元串;3.接收一個字元。
*/

#ifndef _UART_H_
#define _UART_H_

#define uchar unsigned char
#define uint unsigned int

//定義串口1口開關,關閉則不能接收數據
#define OpenUART1() ES=1
#define CloseUART1() ES=0
#define OpenUART2() IE2|=0x01
#define CloseUART2() IE2&=0xFE

//緩存串口1和串口2接收到的字元
extern uchar UART1_Recv_Val;
extern uchar UART2_Recv_Val;

/*
* 函 數 名:UART1_Init
* 調 用:UART1_Init(0xD9, 0, 0);
* BRT=OxD9,波特率不加倍,獨立波特率發生器12T模式,Fosc = 12MHz, Baud0 = 9600
* UART1_Init(0xB2, 1, 1);
* BRT=0xB2,波特率加倍,獨立波特率發生器1T模式,Fosc = 12MHz, Baud0 = 9600
* 功能描述:串口1初始化
*/
void UART1_Init(uchar RELOAD, bit doubleBaud, bit timeMod);

/*
* 函 數 名:UART2_Init
* 調 用:UART2_Init(0xD9, 0, 0);
* BRT=OxD9,波特率不加倍,獨立波特率發生器12T模式,Fosc = 12MHz, Baud0 = 9600
* UART2_Init(0xB2, 1, 1);
* BRT=0xB2,波特率加倍,獨立波特率發生器1T模式,Fosc = 12MHz, Baud0 = 9600
* 功能描述:串口2初始化
*/
void UART2_Init(uchar RELOAD, bit doubleBaud, bit timeMod);

/*
* 函 數 名:UART1_SendOneChar
* 調 用:UART1_SendOneChar('A');
* 功能描述:串口1發送一個字元
*/
void UART1_SendOneChar(uchar val);

/*
* 函 數 名:UART2_SendOneChar
* 調 用:UART2_SendOneChar('A');
* 功能描述:串口2發送一個字元
*/
void UART2_SendOneChar(uchar val);

/*
* 函 數 名:UART1_SendStr
* 調 用:UART1_SendStr("MCU");
* 功能描述:串口1發送字元串
*/
void UART1_SendStr(uchar *str);

/*
* 函 數 名:UART2_SendStr
* 調 用:UART2_SendStr("MCU");
* 功能描述:串口2發送字元串
*/
void UART2_SendStr(uchar *str);

#endif
/*
* 模 塊 名:UART.H
* 芯 片:STC12C5A60S2
* 晶 振:12MHz
* 創 建 者:冷月
* 創建日期:2010.8.16
* 修 改 者:
* 修改日期:
* 功能描述:STC12C5A系列單片機串口模塊,包括串口1和串口2,方式1,使用獨立波特率發生器
* 可設置串口波特率
* 功能:1.發送一個字元;2.發送一個字元串;3.接收一個字元。
*/
#ifndef _UART_H_
#define _UART_H_
#define uchar unsigned char
#define uint unsigned int
//定義串口1口開關,關閉則不能接收數據
#define OpenUART1() ES=1
#define CloseUART1() ES=0
#define OpenUART2() IE2|=0x01
#define CloseUART2() IE2&=0xFE
//緩存串口1和串口2接收到的字元
extern uchar UART1_Recv_Val;
extern uchar UART2_Recv_Val;

/*
* 函 數 名:UART1_Init
* 調 用:UART1_Init(0xD9, 0, 0);
* BRT=OxD9,波特率不加倍,獨立波特率發生器12T模式,Fosc = 12MHz, Baud0 = 9600
* UART1_Init(0xB2, 1, 1);
* BRT=0xB2,波特率加倍,獨立波特率發生器1T模式,Fosc = 12MHz, Baud0 = 9600
* 功能描述:串口1初始化
*/
void UART1_Init(uchar RELOAD, bit doubleBaud, bit timeMod);

/*
* 函 數 名:UART2_Init
* 調 用:UART2_Init(0xD9, 0, 0);
* BRT=OxD9,波特率不加倍,獨立波特率發生器12T模式,Fosc = 12MHz, Baud0 = 9600
* UART2_Init(0xB2, 1, 1);
* BRT=0xB2,波特率加倍,獨立波特率發生器1T模式,Fosc = 12MHz, Baud0 = 9600
* 功能描述:串口2初始化
*/
void UART2_Init(uchar RELOAD, bit doubleBaud, bit timeMod);

/*
* 函 數 名:UART1_SendOneChar
* 調 用:UART1_SendOneChar('A');
* 功能描述:串口1發送一個字元
*/
void UART1_SendOneChar(uchar val);

/*
* 函 數 名:UART2_SendOneChar
* 調 用:UART2_SendOneChar('A');
* 功能描述:串口2發送一個字元
*/
void UART2_SendOneChar(uchar val);

/*
* 函 數 名:UART1_SendStr
* 調 用:UART1_SendStr("MCU");
* 功能描述:串口1發送字元串
*/
void UART1_SendStr(uchar *str);

/*
* 函 數 名:UART2_SendStr
* 調 用:UART2_SendStr("MCU");
* 功能描述:串口2發送字元串
*/
void UART2_SendStr(uchar *str);

#endif

main.c
/*
* 文 件 名:main.C
* 芯 片:STC12C5A60S2
* 晶 振:12MHz
* 創 建 者:冷月
* 創建日期:2010.8.16
* 修 改 者:
* 修改日期:
* 功能描述:單片機通過串口與PC機通訊,通過PC機控制與單片機IO相連的LED燈亮滅
* 串口1和串口2使用獨立波特率發生器,波特率默認設置為9600,波特率不加倍,1T模式
*/
#include <STC12C5A.H> //STC12C5A系列單片機
#include <intrins.h>
#include "UART.H"
#define uchar unsigned char
#define uint unsigned int

//獨立波特率發生器初值,1T模式
//Fosc = 晶振頻率, Baud0 = 標准波特率
//RELOAD = 256 - INT(Fosc/Baud0/32 + 0.5)
//Baud = Fosc/(256 - RELOAD)/32
//error = (Baud - Baud0)/Baud0 * 100%
uchar RELOAD = 0xD9; //Fosc = 12MHz, Baud0 = 9600
//波特率是否加倍,0不倍,1加倍
bit doubleBaud = 0;
//獨立波特率發生器,0為12T模式,1為1T模式
bit timeMod = 1;

/*LED定義*/
sbit LED1 = P1^0;
sbit LED2 = P1^1;

/*
* 函 數 名:main
* 功能描述:程序入口
* 輸入參數:無
* 返 回 值:無
*/
void main(void)
{
//串口標志位,0使用串口1,1使用串口2
bit UART_flag = 1;
LED1 = 1;
LED1 = 1;
//串口1和串口2初始化
UART1_Init(RELOAD, doubleBaud, timeMod);
UART2_Init(RELOAD, doubleBaud, timeMod);
//先用串口1接收字元
OpenUART1();
CloseUART2();
UART1_SendOneChar(0x0C); //超級終端清屏
UART1_SendStr("\r\n");
UART1_SendStr("\r\n");
UART1_SendStr("1.串口1通訊\r\n");
UART2_SendStr("2.串口2通訊\r\n");
while (UART1_Recv_Val == 0);
UART1_SendStr("\r\n"); //換行
if (UART1_Recv_Val == '1')
{
OpenUART1();
CloseUART2();
UART1_SendStr("Light LED(UART1):\r\n");
UART_flag = 0;
}
else
{
CloseUART1();
OpenUART2();
UART2_SendStr("Light LED(UART2):\r\n");
UART_flag = 1;
}
UART1_Recv_Val = 0; //緩存清零
UART2_Recv_Val = 0; //緩存清零

while (1)
{
if (UART_flag == 0) //串口1接收字元
{
if (UART1_Recv_Val != 0)
{
switch (UART1_Recv_Val)
{
case '1':
LED1 = ~LED1;
break;
case '2':
LED2 = ~LED2;
break;
default:
LED1 = 1;
LED1 = 1;
break;
}
UART1_Recv_Val = 0; //緩存清零
}
}
else //串口2接收字元
{
if (UART2_Recv_Val != 0)
{
switch (UART2_Recv_Val)
{
case '1':
LED1 = ~LED1;
break;
case '2':
LED2 = ~LED2;
break;
default:
LED1 = 1;
LED1 = 1;
break;
}
UART2_Recv_Val = 0; //緩存清零
}
}
}
}
最後,用超級終端調試一下下
設置如下

實驗結果:

系統分類: 單片機 | 用戶分類: STC單片機 | 來源: 無分類 | 【推薦給朋友】 | 【添加到收藏夾】
該用戶於2010/8/23 23:07:22編輯過該文章

④ 學單片機都可以做哪些有趣的實驗

我和單片機打了5年交道了,從大2開始。 我的心得:單片機不是用來學的,是用來玩的。初學者建議您用AVR,51就別學了,不是因為它老,是因為AVR涵蓋的知識多,學會了AVR別的你就全明白了,不建議你以後用匯編編程,但是建議你看一下匯編程序,了解單片機內部工作原理。 學單片機之前先把C語言弄透,以後會少走好多彎路。 至於實驗初學者可以先學流水燈、矩陣按鍵、數碼管掃描,完後玩一點更稍級的18B20、DS1302、LED屏幕、液晶等,這些都會了你就算『明白』單片機了,然後往更高層次發展。 單片機是工具,它需要你具備一定的模擬、數字基礎知識,學這些都不難,最難的是堅持學下去。手機上、MP3上的控制晶元現在用的是ARM,這算是一種更高級的單片機,這就是單片機和電子的關系。單片機是一種潮流,推動電子往更高層次發展的潮流。 我們老師告訴我一句話:切忌做浮躁的單片機工程師,與其整日把時髦的技術掛在嘴邊,不如把最基本的東西牢牢記在心裡,學習單片機並不難,難的事堅持不懈的學習下去。 我想這就是學習單片機的訣竅。 然後的問題是程序下載器,這個有賣的,ISP下載線就可以,大約三四十塊錢,也可以自己做,ouravr.com上也能找到電路圖,至於編譯器建議你用WINAVR,在這個網站上也有下載鏈接,這些都OK了之後下載一份Mega16的晶元說明書,然後買一本馬潮老師寫的單片機原理,在這個網上可以訂得到,我是在書店買的,你要是有什麼不會的話,在網站論壇上留言他會給你解答,這個網站對我的幫助很大,是一個純技術的網站,所有源碼公開,我的AVR就是在這里學會的。呵呵,看起來像是做廣告,不過這個網站的學習環境遠遠比混亂的現實世界好~ 記住:最難能可貴的就是堅持,堅持下去!

⑤ 基於成熟單片機技術的小發明能不能申請發明專利

這個需要看看你的發明才能確定,你只是這樣描述的話,感覺只能申請實用新型,加個好友詳細談談?

⑥ 單片機的應用有那些

單片機的應用有很多,如生活中、工作中都能碰到。
1 日常家用電器:手機、智能洗衣機、數字電視、智能冰箱;
2 智能儀器儀表:無紙記錄儀、智能數字煤氣表、智能流量計量儀表、數字血壓儀、智能溫度控制儀。
3 裝備製造業: 數控加工、自動化生產線、汽車電器的智能控制。
近20年中,生產的個人電腦用的CPU只佔不到1%,面向工業的CPU即單片機佔CPU市場的99%以上。
單片機正以超出人們想像速度發展,我們所看見的只不過是冰山中的一角。
如果感到滿意,請為俺選擇:「滿意回答」 呵呵

⑦ 單片機可以做哪些有趣的小玩意兒

搖搖棒,遙控車,簡訊控制家電等等。小玩意兒最好玩的就是搖搖棒,網路搜搜就可以看到好多圖片

⑧ 我想通過單片機和感測器設計一個小發明!麻煩幫我們想個創新點的方案!

那就設計一個自動瞄準裝置吧!把機槍放到上面可以自動瞄準敵人,然後自動開槍射擊。感測器就用紅紅外線接收裝置加激游標准裝置,還要有人體心臟跳動接收裝置,否則不能有效找准目標!中日就要開戰了,希望你早點成功,這我已經計劃很久了,沒有時間和資金來完成,國家肯定需要這個,希望你能成功!

⑨ 推薦一些單片機小製作,稍微簡單點的,有使用價值更好,只要給出題目就行

入門的可以做一個電子鍾啊
也可以焊一個LED光立方,這個特漂亮
還有就是太陽能移動電源,這個比較實用
其他的可以去電子發燒友網站看看,裡面的製作,DIY特別有意思

⑩ 用單片機能做一些什麼小發明

當然能做了,關鍵是創意,想做什麼,別人有的東西就不是什麼發明了。可別人沒有的東西實在是難想了。現在,只有想不到的東西,沒有買不到的東西。
祝你發明成功!!!!!!!!!!!!!

閱讀全文

與單片機有關的小發明相關的資料

熱點內容
學校矛盾糾紛排查化解方案 瀏覽:752
衛生院公共衛生服務績效考核總結 瀏覽:490
郴州學府世家糾紛 瀏覽:197
馬鞍山ok論壇怎麼刪除帖子 瀏覽:242
馬鞍山恆生陽光集團 瀏覽:235
麻城工商局領導成員 瀏覽:52
鄉級公共衛生服務績效考核方案 瀏覽:310
樂聚投訴 瀏覽:523
輪子什麼時候發明 瀏覽:151
馬鞍山陶世宏 瀏覽:16
馬鞍山茂 瀏覽:5
通遼工商局咨詢電話 瀏覽:304
誰發明的糍粑 瀏覽:430
國家公共文化服務示範區 瀏覽:646
pdf設置有效期 瀏覽:634
廣告詞版權登記 瀏覽:796
基本公共衛生服務考核方案 瀏覽:660
公共服務平台建設領導小組 瀏覽:165
人類創造了那些機器人 瀏覽:933
公共文化服務保障法何時實施 瀏覽:169