freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)-基于stc89c52rc單片機(jī)的音樂播放器設(shè)計(jì)-免費(fèi)閱讀

2024-11-20 01:33 上一頁面

下一頁面
  

【正文】 單純的理論知識學(xué)起來是很枯燥的,通過硬件的制作,逼著自己去了解很多元器件的原理以及如何應(yīng)用這些原理做出具有實(shí)際意義的作品。特別是遇到具體的問題時(shí),該如何去解決,向同學(xué)求助以及如何有效的上網(wǎng)查資料。后來在網(wǎng)上無意中發(fā)現(xiàn)蜂鳴器分有源與無源兩種,這才又仔細(xì)的查了一下他們的區(qū)別。 Button 松手, C 又充電,在 10K 電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位。 定時(shí)器 /計(jì)數(shù)器的工作方式有以下四種 : 0 當(dāng) TMOD 中的 M0=0, M1=0 時(shí),為 13 位計(jì)數(shù)或定時(shí)方式,其中 TLi 使用低5 位, 1 當(dāng) TMOD 中的 M0=1, M1=0 時(shí),為 16 位計(jì)數(shù)或定時(shí)方 2 當(dāng) TMOD 中的 M0=0, M1=1 時(shí),為 8 位自動重裝初值計(jì)數(shù)或定時(shí)方式 3 T0 為方式 3 時(shí), T1 作為波特率發(fā)生器,其 TF TR1 資源出借給 T0 使用,而 T0 可以構(gòu)成兩個(gè)獨(dú)立的結(jié)構(gòu),其中 TL0 構(gòu)成一個(gè)完整的 8 位定時(shí)器 /計(jì)數(shù)器,而 TH0 則是一個(gè)僅能對晶振頻率 12 分頻的定時(shí)器。 當(dāng)定時(shí)器 /計(jì)數(shù)器為計(jì)數(shù)工作方式時(shí),通過引腳 T0 和 T1 對外部信號計(jì)數(shù),外部脈沖的下降沿將觸發(fā)計(jì)數(shù)。 1/4 拍定時(shí) 可以 采用匯編精確定時(shí), 要求不太高的可以嘗試用 C51 循環(huán)體來延時(shí)。 D3: MOV R3,248 DJNZ R3,$ DJNZ R4,D3 DJNZ R7,D2 DJNZ R5,DELAY // 節(jié)拍值放在 R5,決定節(jié)拍 RET 建立音樂的步驟: 1. 先把樂譜的音符找出,然后建立 T 值表的順序。 SPK = ~SPK。SPK=1。0x0F。 while(1) { j=0。} else if (song==song9){song=song1。} else if (song==song5) {song=song6。 if(b==1) { if (song==song1) {song=song2。P2=0xd0。P2=0xb7。m0。 //第五首 寧靜的夏天 unsigned char code song5[]={ 0X54,0XC4,0X12,0X32,0X34, 0X52,0X52,0X52,0X52,0X42,0X32,0X34, 0XC1,0XC2,0X52,0XC2,0X12,0X32,0X34, 0X11,0X12,0X31,0X12,0XC2, 0X78,0X72,0X52,0X52,0X42, 0X32,0X42,0X52,0X11,0XC1,0XC4,0XC1,0XC1,0XC1,0XC1, 0X12,0X32,0X32,0X12,0X42,0X42,0X44, 0XC2,0X12,0X32,0X42,0X52,0X72,0X72,0X82, 0X41,0X51,0X42,0X48,0X42,0X12, 0X3C,0X72,0X62, 0X3C,0X72,0X62, 0X3C,0X72,0X62, 0x21,0x31,0x41,0x51,0x61,0x71,0x81,0x91,0x61,0x71,0x81,0x91, 0X3F, 0X3F, 0X54,0XC2,0XC2,0X42,0XC2,0XC4, 0X34,0X32,0X42,0X52,0XC2,0XC4, 0XD2,0XC2,0X12,0X22,0X38, 0X12,0X22,0X32,0X42,0X48, 0xFF}。 //用于循環(huán) unsigned char data k。 //蜂鳴器 sbit a=P3^0。 本次設(shè)計(jì)中采用了 12MHZ 的無源晶振來為單片機(jī)提供標(biāo)準(zhǔn)的時(shí)鐘頻率。必須利用定時(shí)器來做定時(shí),通過定時(shí)翻轉(zhuǎn)電平產(chǎn)生符合蜂鳴器要求的頻率的波形,這個(gè)波形就可以用來驅(qū)動蜂鳴器了。從外觀上分辨, 將兩種蜂鳴器的引腳郡朝上放置時(shí),可以看出有綠色電路板的一種是無源蜂鳴器,沒有電路板而用黑膠封閉的一種是有源蜂鳴器。 壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。靜態(tài)驅(qū)動是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的 I/O 端口進(jìn)行驅(qū)動,或者使用如 BCD 碼二 十進(jìn)制譯碼器譯 碼進(jìn)行驅(qū)動。 Ⅱ、共陽七段數(shù)碼管 LED 數(shù)碼管是由發(fā)光二極管構(gòu)成的,亦稱半導(dǎo)體數(shù)碼管。10pF,而如使用陶瓷諧振器建議選擇 40pF177。 這些中斷源可通過分別設(shè)置專用寄存器 IE 的置位或清 0來控制每一個(gè)中斷的允許或禁止。 中斷寄存器 : STC89C52 有 6 個(gè)中斷源, 2 個(gè)中斷優(yōu)先級, IE 寄存器控制各中斷位, IP 寄存器中 6 個(gè)中斷源 的每一個(gè)可定為 2 個(gè)優(yōu)先級。欲使 CPU 僅訪問外部程序存儲器(地址為 0000H-FFFFH), EA 端必須保持低電平(接 地)。當(dāng)振蕩器工作時(shí), RST 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片復(fù)位。 其管腳圖如下所示: P0 口有三個(gè)功能: ( 1) 外部擴(kuò)充存儲器時(shí),當(dāng)做數(shù)據(jù)總線( D0D7) ( 2) 外部擴(kuò)充存儲器時(shí),當(dāng)做數(shù)據(jù)總線( A0A7) ( 3) 不擴(kuò)充時(shí),可做一般 I/O 使用,但內(nèi)部無上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。 可編程 UART 串行通道 2 個(gè)外部中斷源 ( 4) 單片機(jī) 18 和 19 號管教接 12MHZ 的晶振,其中電容皆為 30PF 的瓷片電容。 2. 利 用 8051 的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式 MODE1 下,改變計(jì)數(shù)值 TH0及 TL0 以產(chǎn)生不同頻率的方法,例如頻率為 523HZ,其周期 T=1/523=1912us,因此只要令計(jì)數(shù)器記時(shí) 956us/1us=956,在每次計(jì)數(shù) 956 次時(shí)將 I/O 反相,就可得到中音 DO( 523HZ)。 ( 3) 可以通過按鍵實(shí)現(xiàn)暫停、繼續(xù)、上一首、下一首以及復(fù)位等基本操作。 四、 功能說明 ( 1) 硬件電路中 口為音頻輸出端口。 8k 可反復(fù)擦寫 (1000 次) Flash ROM 32 個(gè)雙向 I/O 口 VCC( 40 腳)和 VSS( 20 腳)為供電端口,分別接 +5V 電源的正負(fù)端。 除了作為 I/O 使用外(內(nèi)部有上拉電阻),還有一些特殊功能。 PSEN: 程序儲存允許( PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng) AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 PSEN 有效,即輸出兩個(gè)脈沖。 XTAL2: 振蕩器反相放大器的輸出端 。 MOV 0A0H,# data 間接尋址指令訪問高 128 字節(jié) RAM,例如,下面的間接尋址指令中, R0的內(nèi)容為 0A0H,則訪問數(shù)據(jù)字節(jié)地址為 0A0H,而不是 P2 口( 0A0H)。 時(shí)鐘振蕩器: STC89C52 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相 放大器,引腳 XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。編程接口可接收高電壓( +12V)或低電壓( Vcc)的允許編程信號。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮 。 在本次設(shè)計(jì)中采用了靜態(tài)顯示驅(qū)動方式。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場。 由此可以判定本次設(shè)計(jì)應(yīng)該用無源蜂鳴器。 晶振分為有源晶振和無源晶振。 本次設(shè)計(jì)中用紅色發(fā)光二極管來指示電源接通與否。//控制暫停與繼續(xù); unsigned char code * data song。 //第二首 兩只蝴蝶 unsigned char code song2[131]={0x52,0x42, 0x58,0x02,0x42,0x52,0x42, 0x38,0x04,0x12,0x32, 0x44,0x42,0x52,0x42,0x32,0x12,0x12, 0xC8,0x04,0x52,0x42, 0x58,0x02,0x42,0x52,0x42, 0x38,0x04,0x12,0x32, 0x44,0x42,0x52,0x42,0x32,0x12,0x32, 0x48,0x04,0x52,0x42, 0x58,0x02,0x42,0x52,0x42, 0x38,0x04,0x12,0x32, 0x44,0x42,0x52,0x42,0x32,0x12,0x11,0x31, 0xC8,0x04,0x52,0x72, 0x78,0x02,0x72,0x82,0x72, 0x58,0x04,0x42,0x42, 0x44,0x42,0x52,0x42,0x32,0x12,0x12, 0x32,0x32,0x3C, 0x09,0x72,0x72,0x82, 0xA2,0x92,0x92,0x82,0x52,0x42,0x42,0x42, 0x58,0x02,0x52,0x52,0x72, 0x84,0x84,0x02,0x12,0x52,0x42, 0x48,0x04,0x52,0x72, 0x72,0x52,0x74,0x02,0xA4,0x92, 0x82,0x92,0x54,0x02,0x82,0x82,0x92, 0x82,0x72,0x52,0x42,0x02,0xC4,0x12, 0x3C, 0xFF}。 //延時(shí) 20ms。 if(a==1) {if (song==song1) {song=song9。} else if (song==song5){song=song4。} else if (song==song9){song=song8。P2=0xb4。P2=0x10。ETO=1。} if(e==0) {do {。 //起動定時(shí)器 0 if ((yin[2*l]==0xff)amp。 j++。d0。假使 1/4 拍為 1DELAY,則 1 拍應(yīng)為4DELAY,以此類推。因一個(gè)機(jī)器周期等于 12 個(gè)振蕩周期,所以計(jì)數(shù)頻率 fcount=1/12osc。 在定時(shí)器 /計(jì)數(shù)器開始工作之前, CPU 必須將一些命令(稱為控制字)寫入定時(shí) /計(jì)數(shù)器。而音符節(jié)拍則采用了延時(shí)的方式來實(shí)現(xiàn),當(dāng)然也可以通過定時(shí)器來實(shí)現(xiàn)。與仿真效果相差過于懸殊。 本次設(shè)計(jì)也算是對自己實(shí)踐動手能力的一次訓(xùn)練,雖然上了那么久的單片機(jī)理論課程,可是始終沒有在實(shí)實(shí)在在的實(shí)物上做一下。雖然基礎(chǔ)課程已經(jīng)上完了,但真正的駕馭單片機(jī)才剛剛開始。所以,在遇到困難時(shí)要保持一顆冷靜的心,不要急躁,仔細(xì)排查是哪里出了問題,一步步的調(diào)試,不能打退堂鼓,有時(shí)候很可能是一個(gè)小小的疏忽,如果放棄了就太可惜了。而且做過硬件后不知不覺就把以前覺得記不住的東西給記住了,這也不失為一種學(xué)習(xí)的好方法、。于是又跑
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1