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

正文內(nèi)容

基于單片機(jī)控制的電子音樂盒課程設(shè)計(jì)(編輯修改稿)

2024-11-29 18:24 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 第 10 頁(yè)圖 數(shù)碼管引腳圖 圖 數(shù)碼管仿真圖 圖 數(shù)碼管實(shí)物圖 鍵盤部分 鍵盤是由一組按壓式或觸摸式開關(guān)構(gòu)成的陣列,是一種常用的輸入設(shè)備。鍵盤可分為編碼式鍵盤和非編碼式鍵盤兩種。,這種鍵盤所需程序簡(jiǎn)單,但硬件電路復(fù)雜、價(jià)格昂貴通常不被單片機(jī)系統(tǒng)采用。,其硬件邏輯與按鍵編碼不存在嚴(yán)格的對(duì)應(yīng)關(guān)系,而要由所用的程序來(lái)決定。非編碼鍵盤的硬件接口簡(jiǎn)單,但是要占用較多的CPU 時(shí)間,通常采用可編程鍵盤管理芯片來(lái)克服這個(gè)缺點(diǎn)。本設(shè)計(jì)使用兩種按鍵,一種是按鍵式非編碼鍵盤和輕觸式非編碼開關(guān)。 按鍵開關(guān)單片機(jī)課程設(shè)計(jì)設(shè)計(jì)(論文) 第 11 頁(yè)在接線時(shí)由于有六個(gè)引腳,連接時(shí)需要用萬(wàn)用表進(jìn)行測(cè)量,然后接通兩個(gè)引腳。 輕觸開關(guān)一 種 電 子 開 關(guān) , 使 用 時(shí) 輕 輕 點(diǎn) 按 開 關(guān) 按 鈕 就 可 使 開 關(guān) 接 通 , 當(dāng) 松 開 手 時(shí) 開 關(guān) 既 斷開 , 其 內(nèi) 部 結(jié) 構(gòu) 是 靠 金 屬 彈 片 受 力 彈 動(dòng) 來(lái) 實(shí) 現(xiàn) 通 斷 的 。 但 微 動(dòng) 開 關(guān) 也 有 它 不 足 的 地 方 ,頻 繁 的 按 動(dòng) 會(huì) 使 金 屬 彈 片 疲 勞 失 去 彈 性 而 失 效 , 連 接 時(shí) 接 通 對(duì) 角 線 即 可 。 蜂鳴器部分 1. 蜂 鳴 器 的 作 用 : 蜂 鳴 器 是 一 種 一 體 化 結(jié) 構(gòu) 的 電 子 訊 響 器 , 采 用 直 流 電 壓供 電 , 廣 泛 應(yīng) 用 于 計(jì) 算 機(jī) 、 打 印 機(jī) 、 復(fù) 印 機(jī) 、 報(bào) 警 器 、 電 子 玩 具 、 汽 車 電 子 設(shè) 備 、 電話 機(jī) 、 定 時(shí) 器 等 電 子 產(chǎn) 品 中 作 發(fā) 聲 器 件 ?!?  2. 蜂 鳴 器 的 分 類 : 蜂 鳴 器 主 要 分 為 壓 電 式 蜂 鳴 器 和 電 磁 式 蜂 鳴 器 兩 種 類 型 。    3. 蜂 鳴 器 的 電 路 圖 形 符 號(hào) : 蜂 鳴 器 在 電 路 中 用 字 母 “H”或 “HA”( 舊 標(biāo) 準(zhǔn) 用“FM”、 “LB”、 “JD”等 ) 表 示 ?!?  ( 二 ) 蜂 鳴 器 的 結(jié) 構(gòu) 原 理    1. 壓 電 式 蜂 鳴 器 壓 電 式 蜂 鳴 器 主 要 由 多 諧 振 蕩 器 、 壓 電 蜂 鳴 片 、 阻 抗 匹 配器 及 共 鳴 箱 、 外 殼 等 組 成 。 有 的 壓 電 式 蜂 鳴 器 外 殼 上 還 裝 有 發(fā) 光 二 極 管 。多 諧 振 蕩 器 由 晶 體 管 或 集 成 電 路 構(gòu) 成 。 當(dāng) 接 通 電 源 后 ( ~15V 直 流 工 作 電 壓 ) ,多諧 振 蕩 器 起 振 ,輸 出 ~ 的 音 頻 信 號(hào) , 阻 抗 匹 配 器 推 動(dòng) 壓 電 蜂 鳴 片 發(fā) 聲 。壓 電 蜂 鳴 片 由 鋯 鈦 酸 鉛 或 鈮 鎂 酸 鉛 壓 電 陶 瓷 材 料 制 成 。 在 陶 瓷 片 的 兩 面 鍍 上 銀 電 極 ,經(jīng) 極 化 和 老 化 處 理 后 , 再 與 黃 銅 片 或 不 銹 鋼 片 粘 在 一 起 。    2. 電 磁 式 蜂 鳴 器 電 磁 式 蜂 鳴 器 由 振 蕩 器 、 電 磁 線 圈 、 磁 鐵 、 振 動(dòng) 膜 片 及 外殼 等 組 成 。 接 通 電 源 后 , 振 蕩 器 產(chǎn) 生 的 音 頻 信 號(hào) 電 流 通 過(guò) 電 磁 線 圈 , 使 電 磁 線 圈 產(chǎn) 生磁 場(chǎng) 。 振 動(dòng) 膜 片 在 電 磁 線 圈 和 磁 鐵 的 相 互 作 用 下 , 周 期 性 地 振 動(dòng) 發(fā) 聲 。單片機(jī)課程設(shè)計(jì)設(shè)計(jì)(論文) 第 12 頁(yè)第 5 章 系統(tǒng)軟件設(shè)計(jì) 軟件系統(tǒng)介紹一個(gè)系統(tǒng)的正常運(yùn)行不僅需要硬件系統(tǒng)的支持,而且需要軟件系統(tǒng)的支持。如果把硬件比作軀體,那軟件就是靈魂,硬件系統(tǒng)和軟件系統(tǒng)相互間密切的配合才構(gòu)建了能夠“思考”和“判斷”的整體系統(tǒng)。借助軟件的可編程性,可以精簡(jiǎn)硬件系統(tǒng)的組成;憑借軟件的靈活性,可以不用對(duì)硬件系統(tǒng)進(jìn)行修改而實(shí)現(xiàn)系統(tǒng)功能的修改。軟件系統(tǒng)與硬件系統(tǒng)是密切相聯(lián)的,軟件系統(tǒng)建立在硬件系統(tǒng)之上,離開了硬件系統(tǒng),軟件將無(wú)法實(shí)現(xiàn)任何功能。軟件的設(shè)計(jì)有一定的針對(duì)性,對(duì)于不同的硬件系統(tǒng),需要編寫不同的軟件。與硬件系統(tǒng)一樣,軟件系統(tǒng)的好壞,直接影響到系統(tǒng)的工作效率和可靠性。 應(yīng)用軟件的選擇——keilc51單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語(yǔ)言源程序要變?yōu)镃PU 可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于 MCS51 單片機(jī)的匯編軟件有早期的 A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil 軟件是目前最流行開發(fā)MCS51 系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持 Keil 即可看出。Keil 提供了包括 C 編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過(guò)一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil 軟件需要 Pentium 或以上的 CPU,16MB 或更多 RAM、20M 以上空閑的硬盤空間、WIN9NT、WIN20WINXP 等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用 51 系列單片機(jī)的愛好者來(lái)說(shuō)是十分必要的,如果你使用 C 語(yǔ)言編程,那么 Keil 幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件) ,即使不使用C 語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。Keil C51 是美國(guó) Keil Software 公司出品的 51 系列兼容單片機(jī) C 語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C 語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用 C 來(lái)開發(fā),體會(huì)更加深刻。Keil C51 軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全 Windows 界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到 Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。C51 工具包的整體結(jié)構(gòu),其中 uVision 與 Ishell 分別是 C51 for Windows 和 for 單片機(jī)課程設(shè)計(jì)設(shè)計(jì)(論文) 第 13 頁(yè)Dos 的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用 IDE 本身或其它編輯器編輯 C 或匯編源文件。然后分別由 C51 及 A51 編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由 LIB51 創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng) L51 連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS 文件由 OH51 轉(zhuǎn)換成標(biāo)準(zhǔn)的 Hex 文件,以供調(diào)試器 dScope51 或 tScope51 使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如 EPROM 中。 主程序main(){ uint i。k=8。init()。 for(i=0。i15。i++) { WriteData(tab[i])。 //LCD 寫數(shù)據(jù)函數(shù)寫第一行 mydelay(50)。} mydelay(1000)。 WriteCMD(0x80+0x40+2)。 //將指針設(shè)到第二行空兩字符 for(i=0。i6。i++) { WriteData(tab1[i])。 mydelay(50)。 }InitialSound()。 //發(fā)音初始化程序while(1){ Getch()。 //掃描鍵盤,獲得鍵值 if(k==0) //若鍵值為 0 { uint i。 init()。 for(i=0。i10。i++)單片機(jī)課程設(shè)計(jì)設(shè)計(jì)(論文) 第 14 頁(yè) { WriteData(tab2[i])。 //寫第一首歌序號(hào) mydelay(50)。 } mydelay(1000)。 WriteCMD(0x80+0x40)。 //轉(zhuǎn)到第二行 for(i=0。i9。i++) { WriteData(tab3[i])。 //寫歌名 mydelay(50)。 } Play(Music_Girl,0,3,360)。 //播放第一首歌 Delay1ms(500)。break。 } else if (k==1) //若鍵值為 1{ uint i。 init()。 for(i=0。i11。i++) { WriteData(tab4[i])。 //寫第二首歌序號(hào) mydelay(50)。 } mydelay(1000)。 WriteCMD(0x80+0x40)。 //轉(zhuǎn)到第二行 for(i=0。i11。i++) { WriteData(tab5[i])。 //寫歌名 mydelay(50)。 }Play(Music_Jingle,0,3,360)。 //播放第二首歌Delay1ms(500)。單片機(jī)課程設(shè)計(jì)設(shè)計(jì)(論文) 第 15 頁(yè)break。} else if (k==2) //若鍵值為 2{ uint i。 init()。 for(i=0。i10。i++) { WriteData(tab6[i])。 //寫第三首歌序號(hào) mydelay(50)。 } mydelay(1000)。 //WriteCMD(0x01)。 WriteCMD(0x80+0x40)。 //轉(zhuǎn)到第二行 for(i=0。i6。i++) { WriteData(tab7[i])。 //寫歌名 mydelay(50)。 }Play(Music_Two,0,3,360)。 //播放第三首歌Delay1ms(500)。break。 }else if (k==3) //若鍵值為 3{ uint i。 init()。 for(i=0。i10。i++) { WriteData(tab8[i])。 //寫第四首歌序號(hào) mydelay(50)。 } mydelay(1000)。WriteCMD(0x80+0x40)。 //轉(zhuǎn)到第二行單片機(jī)課程設(shè)計(jì)設(shè)計(jì)(論文) 第 16 頁(yè) for(i=0。i6。i++) { WriteData(tab9[i])。 //寫歌名 mydelay(50)。 } Play(Music_Four,0,3,360)。 //播放第三首歌Delay1ms(500)。break。}}}void Play(unsigned char *Sound,unsigned char Signature,unsigned Octachord,unsigned int Speed){unsigned int NewFreTab[12]。 //新的頻率表unsigned char i,j。unsigned int Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundLength。unsigned char Tone,Length,SL,SH,SM,SLen,XG,FD。for(i=0。i12。i++) // 根據(jù)調(diào)號(hào)及升降八度來(lái)生成新的頻率表 {j = i + Signature。if(j 11){j = j12。NewFreTab[i] = FreTab[j]*2。} elseNewFreTab[i] = FreTab[j]。if(Octachord == 1)NewFreTab[i]=2。else if(Octachord == 3)單片機(jī)課程設(shè)計(jì)設(shè)計(jì)(論文) 第 17 頁(yè)NewFreTab[i]=2。}SoundLength = 0。while(Sound[SoundLength] != 0x00) //計(jì)算歌曲長(zhǎng)度{SoundLength+=2。}Point = 0。Tone = Sound[Point]。Length = Sound[Point+1]。 // 讀出第一個(gè)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1