版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、5.10 蜂鳴器和音樂(lè)發(fā)生器任務(wù)5.10 蜂鳴器的原理和驅(qū)動(dòng)5.9.1 任務(wù)介紹在實(shí)際應(yīng)用中,經(jīng)常利用利用單片機(jī)控制蜂鳴器產(chǎn)生各種音樂(lè)用于報(bào)警和提示,如手機(jī)的鈴聲、時(shí)鐘的音樂(lè)報(bào)時(shí)和按鍵提示音等。本節(jié)的任務(wù)是:通過(guò)單片機(jī)I/O控制開(kāi)發(fā)板上的蜂鳴器演奏音樂(lè)。5.9.2 知識(shí)準(zhǔn)備1、 蜂鳴器的原理和分類蜂鳴器按結(jié)構(gòu)分有壓電式蜂鳴器和電磁式蜂鳴器兩種類型。壓電蜂鳴器內(nèi)部有壓電陶瓷和金屬片,是利用壓電陶瓷的壓電效應(yīng),帶動(dòng)金屬片的振動(dòng)來(lái)發(fā)聲,頻率在1KHz10KHz。電磁式蜂鳴器內(nèi)部有磁鐵和線圈,振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲,頻率在0.5KHz5KHz。壓電蜂鳴器結(jié)構(gòu)簡(jiǎn)單耐用,聲
2、音大,多用于報(bào)警器等設(shè)備。電磁蜂鳴器音色好,多用于語(yǔ)音、音樂(lè)等設(shè)備。蜂鳴器按其是否帶有振蕩器又分為有源和無(wú)源兩種類型。有源蜂鳴器內(nèi)部帶有振蕩器,只需要在其供電端加上額定直流電壓,其內(nèi)部的振蕩器就可以產(chǎn)生固定頻率的信號(hào),驅(qū)動(dòng)蜂鳴器發(fā)出聲音。無(wú)源蜂鳴器內(nèi)部沒(méi)有振蕩器,需要在其供電端上加上高低不斷變化的電信號(hào)才可以驅(qū)動(dòng)發(fā)出聲音。開(kāi)發(fā)板上的蜂鳴器屬于電磁式無(wú)源蜂鳴器。2、 開(kāi)發(fā)板蜂鳴器驅(qū)動(dòng)電路開(kāi)發(fā)板蜂鳴器驅(qū)動(dòng)電路如圖5.10.1所示。5.10.1 開(kāi)發(fā)板蜂鳴器驅(qū)動(dòng)電路蜂鳴器的驅(qū)動(dòng)和繼電器相似,需要幾十mA的電流,通常借助于三極管來(lái)作為中間功率驅(qū)動(dòng)。圖5.10.1中,蜂鳴器接在PNP三極管(8550)的
3、集電極上,單片機(jī)I/O接三極管的基極,電阻R10是三極管基極限流電阻,電阻R11是上拉電阻。蜂鳴器內(nèi)部線圈是感性器件,二極管D10并聯(lián)在蜂鳴器兩端,起到限制反峰電壓的作用。3、無(wú)源蜂鳴器的程序驅(qū)動(dòng)無(wú)源蜂鳴器本身不帶振蕩器,只有讓蜂鳴器不停的處于“通電-斷電”的狀態(tài),才能發(fā)出聲音。對(duì)于開(kāi)發(fā)板上蜂鳴器驅(qū)動(dòng)電路而言,只需要讓控制蜂鳴器的I/O口不停的“置1-置0”就可以了。下面是利用51單片機(jī)P.20驅(qū)動(dòng)蜂鳴器的程序。#incldue<reg52.h>#define uchar unsigned char#define uint unsigend intsbit Buzzer=P20;
4、/蜂鳴器接口定義#define BuzzerOn Buzzer=0#define BuzzerOff Buzzer=1 /ms級(jí)延時(shí)函數(shù)void DelayMs(uint xms) uint i,j; for(i=0;i<xms;i+) for(j=0;j<122;j+);/主函數(shù)void main() while(1) BuzzerOn; DelayMs(1); BuzzerOff DelayMs(1); 在程序中,1ms讓蜂鳴器通電,1ms讓蜂鳴器斷電,頻率500Hz。程序編譯下載后,蜂鳴器引腳控制端接P2.0引腳,蜂鳴器發(fā)出“嗡嗡”的聲音。然后在把延時(shí)改為2ms、3ms、5m
5、s,蜂鳴器會(huì)發(fā)出不同頻響的聲音。4、蜂鳴器程序改造和按鍵提示音利用延時(shí)函數(shù)來(lái)驅(qū)動(dòng)蜂鳴器顯然不是個(gè)好的辦法,下面的程序通過(guò)定時(shí)器驅(qū)動(dòng)蜂鳴器,開(kāi)發(fā)板上2個(gè)獨(dú)立按鍵,每個(gè)按鍵按下時(shí),蜂鳴器響一聲,持續(xù)時(shí)間為0.3秒。2個(gè)按鍵對(duì)應(yīng)的頻率分別為500Hz和1KHz。要求程序不堵塞CPU,效率高。(1) 工程結(jié)構(gòu)和主函數(shù)工程結(jié)構(gòu)圖如圖5.10.2所示。除了主函數(shù)外,還有按鍵模塊、定時(shí)器模塊和鍵值處理模塊。 圖5.10.2 工程結(jié)構(gòu)圖主函數(shù)如下:#include<reg52.h>#include"MicroDefine.h"#include"Timer.h"
6、;#include"IndependentKey.h"#include"KeyProcess.h" /*函數(shù)名稱:main()*功能 :主函數(shù)*入口參數(shù):無(wú)*出口參數(shù):無(wú)*說(shuō)明 :按鍵被按下時(shí),蜂鳴器產(chǎn)生0.5S提示音。 按鍵A提示音頻率:500Hz 按鍵B提示音頻率:1KHz */void main() uchar KeyValue=0; DelayMs(200); TimerInit(); /定時(shí)器初始化 while(1) if(FlagSystem1Ms=1) /1ms時(shí)標(biāo)信號(hào) FlagSystem1Ms=0; KeyValue=KeyGetVal
7、ue(); /獲取鍵值 KeySound(KeyValue); /鍵值處理 程序解釋:主函數(shù)內(nèi)容簡(jiǎn)單,獲取按鍵鍵值,并處理鍵值。(2) 其它功能模塊 定時(shí)器模塊(Timer.c,Timer.h不列出)#include"Timer.h"bit FlagSystem1Ms=0; /1m時(shí)標(biāo)信號(hào)uchar T1High=0; /T0高8位uchar T1Low=0; /T1低8位/*函數(shù)名稱:TimerInit()*功能 :定時(shí)器初始化*入口參數(shù):無(wú)*出口參數(shù):無(wú)*說(shuō)明 :定時(shí)器0:產(chǎn)生1ms時(shí)標(biāo)信號(hào),方式2 定時(shí)器1:驅(qū)動(dòng)蜂鳴器,方式1*/void TimerInit() TM
8、OD=0x12; TH0=TL0=56; TH1=TL1=0; TR0=1; /只開(kāi)定時(shí)器0,定時(shí)器1的開(kāi)啟由按鍵決定ET0=ET1=1; EA=1;TR0=1; /開(kāi)定時(shí)器0,TR1=0; /定時(shí)器1關(guān)閉 ,按鍵按下,才能開(kāi)定時(shí)器1/*函數(shù)名稱:Timer0Isr()*功能 :定時(shí)器0中斷服務(wù)函數(shù)*入口參數(shù):無(wú)*出口參數(shù):無(wú)*說(shuō)明 :*/void Timer0Isr() interrupt 1 static uchar Cnt200us=0; if(+Cnt200us<=5) /產(chǎn)生1ms時(shí)標(biāo)信號(hào) Cnt200us=0; FlagSystem1Ms=1; /*函數(shù)名稱:Timer1Is
9、r()*功能 :定時(shí)器1中斷服務(wù)函數(shù)*入口參數(shù):無(wú)*出口參數(shù):無(wú)*說(shuō)明 :通過(guò)改變定時(shí)器的初裝值,產(chǎn)生不同頻率的蜂鳴器驅(qū)動(dòng)信號(hào)*/void Timer1Isr() interrupt 3 TH1=T1High; /加載初值,鍵值處理模塊設(shè)置初值 TL1=T1Low; Buzzer=Buzzer; /電平反轉(zhuǎn)程序解釋:使用了2個(gè)定時(shí)器,定時(shí)器0用來(lái)產(chǎn)生1ms時(shí)標(biāo)信號(hào),定時(shí)器1用來(lái)驅(qū)動(dòng)蜂鳴器。在定時(shí)器初始化中,定時(shí)器1配置好后,先不開(kāi)定時(shí)器1,只有按鍵按下后,才能開(kāi)定時(shí)器1。定時(shí)器1使用了方式1(16位),每一次溢出后,在中斷服務(wù)函數(shù)中,手動(dòng)重裝初值,初值的大小由鍵值處理模塊給定。在中斷服務(wù)函數(shù)中
10、,實(shí)現(xiàn)蜂鳴器驅(qū)動(dòng)I/O的電平反轉(zhuǎn)。 鍵值處理模塊(KeyProcess.h)#include"KeyProcess.h"/*函數(shù)名稱:KeySound()*功能 :按鍵提示音*入口參數(shù):按鍵值*出口參數(shù):無(wú)*說(shuō)明 :*/void KeySound(uchar KeyValue) static uchar SoundState=0; /狀態(tài)機(jī)變量 static uint Cnt1Ms=0; /1ms計(jì)數(shù)器 switch(SoundState) case 0: /狀態(tài)0:按鍵被按下,開(kāi)定時(shí)器1 if(KeyValue=0x81) /按鍵A被按下,蜂鳴器響 T1High=0xFC
11、; /定時(shí)器1初值,輸出500Hz方波 T1Low=0x18; TH1=0xFF; /讓定時(shí)器快速完成第一次溢出, TL1=0xFF; TR1=1; /開(kāi)定時(shí)器 SoundState=1; /跳轉(zhuǎn)到狀態(tài)0 if(KeyValue=0x82) /按鍵B被按下,蜂鳴器響 T1High=0xFE; T1Low=0x0c; TH1=0xFF; TL1=0xFE; SoundState=1; TR1=1; break; case 1: /狀態(tài)1:延時(shí)299ms,關(guān)閉蜂鳴器 if(+Cnt1Ms>=299) Cnt1Ms=0; TR1=0; /關(guān)閉定時(shí)器,蜂鳴器不響 SoundState=0; /跳
12、轉(zhuǎn)到狀態(tài)0 程序解釋:KeySound()由狀態(tài)機(jī)構(gòu)成,分成兩個(gè)狀態(tài)。狀態(tài)0:檢測(cè)到按鍵被按下,根據(jù)按鍵值,給定時(shí)器賦初值,并啟動(dòng)定時(shí)器。狀態(tài)1:延時(shí)299ms后,關(guān)閉定時(shí)器1,并返回到狀態(tài)0。利用狀態(tài)機(jī)構(gòu)成按鍵提示音函數(shù),不堵塞CPU,系統(tǒng)效率高。5.9.3 任務(wù)實(shí)施1、 音符和頻率的關(guān)系通過(guò)以上知識(shí)的學(xué)習(xí),初學(xué)者了解到蜂鳴器發(fā)聲的原理,即通過(guò)I/O口輸出脈沖信號(hào),再將信號(hào)通過(guò)三極管放大,推動(dòng)發(fā)聲器件(蜂鳴器)發(fā)聲。脈沖信號(hào)的頻率不同,蜂鳴器發(fā)出的聲音不同。要完成本節(jié)的音樂(lè)播放器,需弄清楚兩個(gè)概念即可,也就是“音符”和“節(jié)拍”。音符其實(shí)就是我們常說(shuō)的“Do Re Mi Fa Sol La S
13、i Do”,每一個(gè)音符對(duì)應(yīng)一定的頻率。以中音“1”為例,其頻率為523Hz,周期為1秒/523=1912us,半周期為956us。通常沒(méi)有做特殊說(shuō)明,我們把音樂(lè)的一個(gè)節(jié)拍的時(shí)間長(zhǎng)度定位0.4秒,1/4節(jié)拍的時(shí)間則為0.1秒。如果以1/4節(jié)拍為基準(zhǔn)長(zhǎng)度,則1拍為4個(gè)基準(zhǔn)長(zhǎng)度,1/2拍為2個(gè)基準(zhǔn)長(zhǎng)度。定時(shí)器要產(chǎn)生中音“1”對(duì)應(yīng)的頻率(523Hz),則定時(shí)器每次溢出的時(shí)間為半個(gè)周期(即956us)。假設(shè)中音“1”的時(shí)間長(zhǎng)度為1/4拍,則定時(shí)器溢出的次數(shù)為0.1秒/956us=105次。1/2拍和1拍對(duì)應(yīng)的溢出次數(shù)分別105次*2和105次*4。為了程序的方便,我們把低音音符(“5 ”“7”)、中音音
14、符(“1”“7”)和高音音符(“ ”“”)的頻率、半周期及1/4節(jié)拍內(nèi)半周期數(shù)放在表5.10.1中。表5.10.1 14個(gè)音符頻率對(duì)應(yīng)表數(shù)組下標(biāo)音符頻率(Hz)周期(us)半周期(us)1/4節(jié)拍(0.1S)內(nèi)半周期數(shù)的個(gè)數(shù)05392255112767816440227311368827494202410129931523191295610542587107485111753659151775813264698143671614075783127763815786880113656817697988101250619810104695647820911117585142523512131875
15、9379264根據(jù)表5.10,我們先構(gòu)建兩個(gè)數(shù)組,分別存放以上音符的半周期時(shí)間和1/4拍內(nèi)半周期的個(gè)數(shù)。/13個(gè)音符的半周期長(zhǎng)度uchar code TableNoteTime=1276,1136,1012,956,851,758,716,638,568,506,478,425,379;/13個(gè)音符1/4拍內(nèi)半周期的個(gè)數(shù)uchar code TableNoteNum=78,88,99,105,117,132,140,157,176,198,209,235,264;圖5.10.3是兒童歌曲“兩支老虎”的簡(jiǎn)譜。 圖5.10.3 “兩只老虎”簡(jiǎn)譜根據(jù)簡(jiǎn)譜,我們把簡(jiǎn)譜中對(duì)應(yīng)的音符和其拍數(shù)再分別放到數(shù)組
16、中。需要說(shuō)明的是,該數(shù)組元素和簡(jiǎn)譜中音符的對(duì)應(yīng)關(guān)系,例如音符“1”,在數(shù)組TableNoteTime中是第4個(gè)元素,所以在音樂(lè)簡(jiǎn)譜數(shù)組中應(yīng)寫(xiě)為“3”。拍數(shù)以1/4拍為基本單位,拍數(shù)數(shù)組中元素的“1”、“2”和“4”分別對(duì)應(yīng)音符的1/4拍、1/2拍和1拍。/簡(jiǎn)譜中對(duì)應(yīng)的音符uchar code TableMusicNote=3,4,5,3,3,4,5,3,5,6,7,5,6,7,7,8,7,6,5,3,7,8,7,6,5,3,4,0,3,4,0,3;/簡(jiǎn)譜中音符對(duì)應(yīng)的拍數(shù)uchar code TalbeMusicBeat=2,2,2,2,2,2,2,2,2,2,4,2,2,4,1,1,1,1,2
17、,2,1,1,1,1,2,2,2,2,4,2,2,4;有了這4個(gè)數(shù)組,音樂(lè)播報(bào)就變得簡(jiǎn)單了。根據(jù)TableMusicNote數(shù)組中的值,從TableNoteTime數(shù)組中找到待播放音符的半周期長(zhǎng)度,將半周期長(zhǎng)度作為定時(shí)器的溢出值,啟動(dòng)定時(shí)器,蜂鳴器就會(huì)產(chǎn)生該音符。在播報(bào)音符的同時(shí),根據(jù)TableMusicNote數(shù)組中的值,從TableNoteNum數(shù)組中找到該音符所對(duì)應(yīng)的1/4拍內(nèi)半周期的個(gè)數(shù),然后再?gòu)腡albeMusicBeat數(shù)組中,找到該音符在簡(jiǎn)譜中的拍數(shù),兩者相乘,即為定時(shí)器產(chǎn)生該音符所對(duì)應(yīng)頻率的時(shí)間長(zhǎng)度。播報(bào)完了第一個(gè)音符,然后再播報(bào)第二個(gè)音符.直到最后一個(gè)音符,一首曲子就播放完了
18、。2、 程序?qū)崿F(xiàn)(1) 工程架構(gòu)和主函數(shù)程序的工程架構(gòu)如圖5.10.4所示。除了主函數(shù)模塊,至于鍵值獲取模塊和定時(shí)器模塊。音樂(lè)播放放在定時(shí)器模塊中完成。圖5.10。4 工程結(jié)構(gòu)圖主函數(shù)如下:#include<reg52.h>#include "MicroDefine.h"#include "Timer.h"#include "IndependentKey.h"/*函數(shù)名稱:main()*功能 :主函數(shù)*入口參數(shù):無(wú)*出口參數(shù):無(wú)*說(shuō)明 : */void main() uchar KeyValue=0; uchar Cnt1
19、Ms=0; DelayMs(200); TimerInit(); /定時(shí)器初始化 while(1) if(FlagSystem1Ms=1) /1ms時(shí)標(biāo)信號(hào)到 FlagSystem1Ms=0; if(+Cnt1Ms>=10) /10ms時(shí)標(biāo)信號(hào)到 Cnt1Ms=0; KeyValue=KeyGetValue(); /獲取按鍵值 if(KeyValue=0x81) if(FlagMusicEnd=0) /上一次播放完畢,則啟動(dòng)新的播放 TR1=1; /啟動(dòng)定時(shí)器 FlagMusicEnd=1; /音樂(lè)播放中 程序解釋:在主程序中檢測(cè)按鍵按下,則啟動(dòng)定時(shí)器1,并把音樂(lè)結(jié)束標(biāo)志位置1。(2)
20、其它功能模塊 鍵值處理模塊(省略) 定時(shí)器模塊Timer.h:#ifndef _TIMER_H_#define _TIMER_H_#include<reg52.h>#include"MicroDefine.h"sbit Buzzer=P20;#define MusicPlaySpeed 20 /音樂(lè)播放速度宏定義/變量聲明extern bit FlagSystem1Ms; /1m時(shí)標(biāo)信號(hào)extern bit FlagMusicEnd; /音樂(lè)播放結(jié)束標(biāo)志位/定時(shí)器聲明extern void TimerInit(); /定時(shí)器初始化#endifTimer.c:#i
21、nclude"Timer.h"bit FlagSystem1Ms=0; /1m時(shí)標(biāo)信號(hào)bit FlagMusicEnd=0; /音樂(lè)播放結(jié)束標(biāo)志位 /13個(gè)音符的半周期長(zhǎng)度uint code TableNoteTime=1276,1136,1012,956,851,758, 716,638,568,506,478,425,379;/13個(gè)音符對(duì)應(yīng)的1/4拍內(nèi)半周期的個(gè)數(shù)uint code TableNoteNum=78,88,99,105,117,132,140,157, 176,198,209,235,264;/簡(jiǎn)譜中對(duì)應(yīng)的音符uchar code TableMusicN
22、ote=3,4,5,3,3,4,5,3,5,6,7,5,6,7,7,8, 7,6,5,3,7,8,7,6,5,3,4,0,3,4,0,3;/簡(jiǎn)譜中音符對(duì)應(yīng)的拍數(shù)uchar code TalbeMusicBeat=2,2,2,2,2,2,2,2,2,2,4,2,2,4,1,1, 1,1,2,2,1,1,1,1,2,2,2,2,4,2,2,4;/*函數(shù)名稱:TimerInit()*功能 :定時(shí)器初始化*入口參數(shù):無(wú)*出口參數(shù):無(wú)*說(shuō)明 :定時(shí)器0:產(chǎn)生1ms時(shí)標(biāo)信號(hào),方式2 定時(shí)器1:驅(qū)動(dòng)蜂鳴器, 方式1*/void TimerInit() TMOD=0x12; TH0=TL0=56; TH1=T
23、L1=0xFF; ET0=ET1=1; EA=1; TR0=1; /只開(kāi)定時(shí)器0,定時(shí)器1的開(kāi)啟由按鍵決定/*函數(shù)名稱:Timer0Isr()*功能 :定時(shí)器0中斷服務(wù)函數(shù)*入口參數(shù):無(wú)*出口參數(shù):無(wú)*說(shuō)明 :*/void Timer0Isr() interrupt 1 static uchar Cnt200us=0; if(+Cnt200us>=5) /產(chǎn)生1ms時(shí)標(biāo)信號(hào) Cnt200us=0; FlagSystem1Ms=1; /*函數(shù)名稱:Timer1Isr()*功能 :定時(shí)器1中斷服務(wù)函數(shù)*入口參數(shù):無(wú)*出口參數(shù):無(wú)*說(shuō)明 :通過(guò)改變定時(shí)器的初裝值,產(chǎn)生不同頻率的蜂鳴器驅(qū)動(dòng)信號(hào)
24、MusicPlaySpeed是頭文件中宏定義,決定音樂(lè)的播放速度,其值不能小于10*/void Timer1Isr() interrupt 3 static uchar NoteCnt=0; /播放音符計(jì)數(shù)器 static uint HalfPeriodCnt=0; /半周期計(jì)數(shù)器 uint Timer1Temp=0; /定時(shí)器長(zhǎng)度暫存值 /根據(jù)當(dāng)前播放音符,計(jì)算出對(duì)應(yīng)的定時(shí)器初值 Timer1Temp=65536-TableNoteTimeTableMusicNoteNoteCnt; TH1=Timer1Temp/256; TL1=Timer1Temp%256; Buzzer=!Buzzer; /播放一個(gè)音符的時(shí)間到 if(+HalfPeriodCnt>=(TableNoteNumTableMusicNoteNoteCnt *TalbeMusicBeatNoteCnt)*MusicPlaySpeed/10) HalfPeriodCnt=0; /簡(jiǎn)譜中的音符全部播放完 if(+NoteCnt>=32) NoteCnt=0; TR1=0; /定時(shí)器停止 FlagMusicEnd=0; /音樂(lè)播放結(jié)束結(jié)束標(biāo)志位清零 程序解釋:程序中使用了兩個(gè)定時(shí)器,和之前按鍵音
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《火龍果栽培技術(shù)》課件
- 2024屆河北省高三上學(xué)期期末考試歷史試題(解析版)
- 《研究生前沿講座》課件
- 單位管理制度集合大合集人事管理篇
- 單位管理制度合并選集【職工管理篇】十篇
- 單位管理制度分享匯編職工管理篇
- 單位管理制度呈現(xiàn)合集員工管理篇十篇
- 單位管理制度呈現(xiàn)大合集人員管理篇十篇
- (高頻選擇題60題)第3單元 中國(guó)特色社會(huì)主義道路(解析版)
- 阿拉斯加犬行業(yè)銷售工作總結(jié)
- 湖北省襄陽(yáng)市2023-2024學(xué)年高一上學(xué)期期末考試化學(xué)試題(含答案)
- 浙江省金華市十校2023-2024學(xué)年高一上學(xué)期1月期末考試物理試題 含解析
- 物業(yè)管理師考試題庫(kù)單選題100道及答案解析
- 校園智能安防系統(tǒng)安裝合同
- 2024年專利代理人專利法律知識(shí)考試試卷及參考答案
- 2024-2025學(xué)年九年級(jí)上學(xué)期化學(xué)期中模擬試卷(人教版2024+含答案解析)
- 江蘇大學(xué)《操作系統(tǒng)》2023-2024學(xué)年期末試卷
- 《國(guó)際經(jīng)濟(jì)與貿(mào)易》考試復(fù)習(xí)題庫(kù)(含答案)
- 高中日語(yǔ)(新版標(biāo)準(zhǔn)日本語(yǔ)初級(jí)上冊(cè))全冊(cè)復(fù)習(xí)總結(jié)課件
- 2024年國(guó)家開(kāi)放大學(xué)本科《知識(shí)產(chǎn)權(quán)法》第一至四次形考任務(wù)試題及答案
- 國(guó)有企業(yè)考勤制度管理辦法
評(píng)論
0/150
提交評(píng)論