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

正文內(nèi)容

基于單片機(jī)的簡(jiǎn)易電子琴設(shè)計(jì)課程設(shè)計(jì)(編輯修改稿)

2025-04-09 07:15 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 之前就開始接收第二個(gè)字節(jié)(當(dāng)然,如果第 二個(gè)字節(jié)接收完畢,而第一個(gè)字節(jié)仍然沒有被讀走,那將會(huì)丟掉一個(gè)字節(jié))。串行口的發(fā)送和接收操作都是通過特殊功能寄存器中的數(shù)據(jù)緩沖寄存器 SBUF進(jìn)行的,但在 SBUF的內(nèi)部,接收寄存器和發(fā)送寄存器在物理結(jié)構(gòu)上是完全獨(dú)立的。如果將數(shù)據(jù)寫入 SBUF,數(shù)據(jù)會(huì)被送入發(fā)送寄存器準(zhǔn)備發(fā)送。如果執(zhí)行 SBUF指令,則讀出的數(shù)據(jù)一定來自接收緩存器。因此, CPU對(duì) SBUF的讀寫,實(shí)際上是分別訪問 2個(gè)不同的寄存器。這 2個(gè)寄存器的功能決不能混淆。 ? 振蕩電路: AT89C51系列單片機(jī)的內(nèi)部振蕩器,由一個(gè)單極反相器組成。 XTAL1反相器的輸入 , XTAL2為反相器的輸出??梢岳盟鼉?nèi)部的振蕩器產(chǎn)生時(shí)鐘,只要 XTAL1和 XTAL2引腳上一個(gè)晶體及電容組成的并聯(lián)諧振電路,便構(gòu)成一個(gè)完整的振蕩信號(hào)發(fā)生器,此方式稱為內(nèi)部方式。另一種方式由外部時(shí)鐘源提供一個(gè)時(shí)鐘信號(hào)到 XTAL1端輸入,基于單片機(jī)的電子琴設(shè)計(jì) 6 而 XTAL2端浮空。在組成一個(gè)單片機(jī)應(yīng)用系統(tǒng)時(shí),多數(shù)采用這種方式,這種方式結(jié)構(gòu)緊湊,成本低廉,可靠性高。在電路中,對(duì)電容 C1和 C2的值要求不是很嚴(yán)格,如果使用高質(zhì)的晶振,則不管頻率為多少, C C2通常都選擇 30pF。 ? 定時(shí) /計(jì)數(shù)器: AT89C51單片機(jī)內(nèi)含有 2個(gè) 16位的定時(shí) 器 /計(jì)數(shù)器。當(dāng)用于定時(shí)器方式時(shí),定時(shí)器的輸入來自內(nèi)部時(shí)鐘發(fā)生電路,每過一個(gè)機(jī)器周期,定時(shí)器加 1,而一個(gè)機(jī)器周期包含有 12個(gè)振蕩周期,所以,定時(shí)器的技術(shù)頻率為晶振頻率的 1/12,而計(jì)數(shù)頻率最高為晶振頻率的 1/24。為了實(shí)現(xiàn)定時(shí)和計(jì)數(shù)功能,定時(shí)器中含有 3種基本的寄存器:控制寄存器、方式寄存器和定時(shí)器 /計(jì)數(shù)器。控制寄存器是一個(gè) 8位的寄存器,用于控制定時(shí)器的工作狀態(tài),方式寄存器是一個(gè) 8位的寄存器,用于確定定時(shí)器的工作方式,定時(shí)器 /計(jì)數(shù)器是 16位的計(jì)數(shù)器,分為高字節(jié)和低字節(jié)兩部分。 ? RAM:高于 7FH內(nèi)部數(shù)據(jù)存儲(chǔ)器的 地址是 8位的,也就是說其地址空間只有 256字節(jié),但內(nèi)部 RAM的尋址方式實(shí)際上可提供 384字節(jié)。的直接地址訪問同一個(gè)存儲(chǔ)空間,高于 7FH的間接地址訪問另一個(gè)存儲(chǔ)空間。這樣,雖然高 128字節(jié)區(qū)分與專用寄器 ,即特殊功能寄存器區(qū)的地址是重合的,但實(shí)際上它們是分開的。究竟訪問哪一區(qū),存是通過不同的尋址方式加以區(qū)分的。 ? SFR: SFR是具有特殊功能的所有寄存器的集合,共含有 22個(gè)不同寄存器,它們的地址分配在 80H~ FFH中。雖然如此,不是所有的單元都被特殊功能寄存器占用,未被占用的單元,其內(nèi)容是不確定的。如對(duì)這些單元 進(jìn)行讀操作,得到的是一些隨機(jī)數(shù),而寫入則無效,所以在編程時(shí)不應(yīng)該將數(shù)據(jù)寫入這些未確定的地址單元中,特殊功能寄存器主要有累加器 ACC、 B寄存器、程序狀態(tài)字寄存器 PSW、堆棧指針 SP、數(shù)據(jù)指針 DPTR、 I/O端口、串行口數(shù)據(jù)緩沖器 SBUF、定時(shí)器寄存器、捕捉寄存器、控制寄存器。 ? 中斷系統(tǒng): AT89C51 單片機(jī)有 6 個(gè)中斷源,中斷系統(tǒng)主要由中斷允許寄存器 IE、中斷優(yōu)先級(jí)寄存器 IP、優(yōu)先級(jí)結(jié)構(gòu)和一些邏輯門組成。 IE 寄存器用于允許或禁止中斷; IP寄存器用于確定中斷源的優(yōu)先級(jí)別;優(yōu)先級(jí)結(jié)構(gòu)用于執(zhí)行中斷源的優(yōu)先排序;有關(guān)邏 輯門用于輸入中斷請(qǐng)求信號(hào)。在整個(gè)中斷響應(yīng)過程中 CPU所執(zhí)行的操作步驟如下: ( 1)完成當(dāng)前指令的操作 ( 2)將 PC 內(nèi)容壓入堆棧 ( 3)保存當(dāng)前的中斷狀態(tài) ( 4)阻止同級(jí)的中斷請(qǐng)求 ( 5)將中斷程序入口地址送 PC 寄存器 ( 6)執(zhí)行中斷服務(wù)程序 ( 7)返回 此外, AT89S52 設(shè)計(jì)和配置了振蕩頻率可為 0Hz 并可通過軟件設(shè)置省電模式??臻e模式下, CPU暫停工作,而 RAM 定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存 RAM 的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該基于單片機(jī)的電子琴設(shè)計(jì) 7 芯片還具有 PDIP、 TQFP 和 PLCC 等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 時(shí)鐘電路與復(fù)位電路 單片機(jī)內(nèi)部具有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器。通常在引腳 XTALl 和 XTAL2跨接石英晶體和兩個(gè)補(bǔ)償電容構(gòu)成自激振蕩器,結(jié)構(gòu) 如下圖 中 CY C C3??梢愿鶕?jù)情況選擇 6MHz、 12MHz 或 24MHz 等頻率的石英晶體,補(bǔ)償電容通常選擇 30pF 左右的瓷片電容。 單片機(jī)小系統(tǒng)常采用上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位兩種方式實(shí)現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源 后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。手動(dòng)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,用按鈕開關(guān)操作使單片機(jī)復(fù)位。其結(jié)構(gòu)如下圖。上電自動(dòng)復(fù)位通過電容 C1充電來實(shí)現(xiàn)。手動(dòng)按鍵復(fù)位是通過按鍵將電阻 R19 與 VCC 接通來實(shí)現(xiàn)。 顯示部分設(shè)計(jì) 數(shù)碼顯 示方式 數(shù)碼顯示有靜態(tài)顯示方式與動(dòng)態(tài)顯示方式兩種。工作在靜態(tài)顯示方式時(shí),數(shù)碼管的位線與電源一直相連,數(shù)碼管中的二極管均處于通電狀態(tài),即在靜態(tài)工作方式下,顯示電路中數(shù)碼管的位選線是同時(shí)選通,而數(shù)碼管的段選線是獨(dú)立輸 入。 圖 2. 2 時(shí)鐘 電路 圖 復(fù)位電路 基于單片機(jī)的電子琴設(shè)計(jì) 8 工作在動(dòng)態(tài)顯示方式時(shí),數(shù)碼管的位線在掃描控制電路的控制下按設(shè)定順序?qū)ǎ措娐分械臄?shù)碼管是逐個(gè)接通電源,數(shù)碼管的段選線以并聯(lián)方式與譯碼電路聯(lián)接,即在動(dòng)態(tài)工作方式下,數(shù)碼管不是同時(shí)導(dǎo)通顯示而是按照設(shè)定順序分時(shí)導(dǎo)通顯示 。 七段 LED 顯示器內(nèi)部由七個(gè)條形發(fā)光二極管和一個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的極管的接線形式,可分成共陰極型和共陽極型。 LED 數(shù)碼管的 g~a 七個(gè)發(fā)光二極管因加正電壓而發(fā)亮,因加零電壓而不以發(fā)亮,不同亮暗的組合就能形成不同的字形,這種組合稱之為字形碼,下面給出共陰極的字形碼表(如表 31 所示) 表 31 數(shù)碼管真值表 “0” 3FH “8” 7FH “1” 06H “9” 6FH “2” 5BH “A” 77H “3” 4FH “b” 7CH “4” 66H “C” 39H “5” 6DH “d” 5EH “6” 7DH “E” 79H “7” 07H “F” 71H 八位數(shù)碼管的結(jié)構(gòu) 系統(tǒng)采用兩個(gè)字符顯示的數(shù)碼管進(jìn)行動(dòng)態(tài)顯示。 如下圖所示 利用單片機(jī)的 P0 端口的 - 連接到一個(gè)七段數(shù)碼管的 a- g 的筆段上 以及小數(shù)點(diǎn)DP。 其中和 2 為片選端口。 為了顯示 字符,要為 LED 顯示器段碼,除了組成 8 字形的字符的 7 段,另加上 1 個(gè)小數(shù)點(diǎn)位,共計(jì) 8 段, 因此提供給 LED 顯示器的顯示段碼為 1個(gè)字節(jié) 按鍵模塊 設(shè)計(jì) 基于單片機(jī)的電子琴設(shè)計(jì) 9 按鍵選取 常用的按鍵有三種:機(jī)械觸點(diǎn)式按鍵、導(dǎo)電橡膠式和柔性按鍵(又稱觸摸式鍵盤)。 機(jī)械觸點(diǎn)式按鍵是利用 機(jī)械 彈性使鍵復(fù)位,手感明顯,連線清晰,工藝簡(jiǎn)單,適合單件制造。但是觸點(diǎn)處易侵入灰塵而導(dǎo)致接觸不良,體積相對(duì)較大。 導(dǎo)電橡膠按鍵是利用橡膠的彈性來復(fù)位,通過壓制的方法把面板上所有的按鍵制成一塊,體積小,裝配方便,適合批量 生產(chǎn)。但是時(shí)間長(zhǎng)了,橡膠老化而使彈力下降,同時(shí)易侵入灰塵。 柔性按鍵是近年來迅速發(fā)展的一種新型按鍵,可以分為凸球型和平面型兩種。柔性按鍵最大特點(diǎn)是防塵、防潮、耐蝕,外形美觀,裝嵌方便。而且外形和面板的布局、色彩、鍵距可按照整機(jī)的要求來設(shè)計(jì)。 但是由于客觀條件與經(jīng)濟(jì)能力有限,本系統(tǒng)采用機(jī)械觸點(diǎn)式按鍵。 鍵盤設(shè)計(jì) 鍵盤在單片機(jī)應(yīng)用系統(tǒng)中是一個(gè)關(guān)鍵的部件,它能實(shí)現(xiàn)向計(jì)算機(jī)輸入數(shù)據(jù),傳送命令等功能,是人工干預(yù)計(jì)算機(jī)的主要手段。 鍵盤可以分為 2類:獨(dú)立連接式鍵盤和矩陣式鍵盤。 (1)矩陣式鍵盤 單片 機(jī)系統(tǒng)中,若按鍵較多時(shí),通常采用矩陣式(也稱行列式)鍵盤。矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點(diǎn)上。顯然,在按鍵數(shù)量較多時(shí),矩陣式鍵盤較之獨(dú)立式按鍵鍵盤要節(jié)省很多 I/O 口。 矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,行線通過上拉電阻接到 +5V 上.當(dāng)無鍵按下時(shí),行線處于高電平狀態(tài);當(dāng)有鍵按下時(shí),行、列線將導(dǎo)通,此時(shí),行線電平將由與此行線相連的列線電平?jīng)Q定。這是識(shí)別按鍵是否按下的關(guān)鍵。 (2)獨(dú)立連接式鍵盤 獨(dú)立式按鍵是直接用 I/O口線構(gòu)成的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根I/O 口線,每個(gè)按鍵的工作不會(huì)影響其它 I/O 口線的狀態(tài)。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根 I/O 口線, 然而 ,在按鍵較多時(shí), I/O 口線浪費(fèi)較大,不宜采用。 基于單片機(jī)的電子琴設(shè)計(jì) 10 獨(dú)立式按鍵軟件常采用查詢式結(jié)構(gòu)。先逐位查詢每根 I/O 口線的輸入狀態(tài),如某一根I/O 口線輸入為低電平,則可確認(rèn)該 I/O 口線所對(duì)應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。 由于本程序較為簡(jiǎn)單,為了使用方便及節(jié)省資源,選擇獨(dú)立式鍵盤。下圖為獨(dú)立式鍵盤電路圖: 鍵盤編程 中 主要考慮去抖動(dòng) 的 問題。當(dāng)測(cè)試表明有鍵被按下之后,緊接著就進(jìn)行去抖動(dòng) 處理。因?yàn)殒I是機(jī)械開關(guān)結(jié)構(gòu),由于機(jī)械觸點(diǎn)的彈性及電壓突跳等原因,在觸點(diǎn)閉合或斷開的瞬間會(huì)出現(xiàn)電壓抖動(dòng)。為保證鍵識(shí)別的準(zhǔn)確,在電壓信號(hào)抖動(dòng)的情況下不能進(jìn)行行狀態(tài)輸入。為此需進(jìn)行去抖動(dòng)處理。去抖動(dòng)有硬件和軟件兩種方法。硬件方法就是加去抖動(dòng)電路,從根本上避免抖動(dòng)的產(chǎn)生。軟件消抖,在第一次檢測(cè)到有鍵按下時(shí),執(zhí)行一段延時(shí)程序之后,再檢測(cè)此按鍵,如果第二次檢測(cè)結(jié)果仍為按下狀態(tài), CPU 便確認(rèn)此按鍵己按下,消除了抖動(dòng)。 發(fā)音模塊設(shè)計(jì) 如下圖所示,發(fā)音電路是由蜂鳴器、三極管、上拉電阻構(gòu)成。由三極管來驅(qū)動(dòng)揚(yáng)聲器發(fā)音的, 同時(shí)加上拉電阻增強(qiáng)驅(qū)動(dòng)電流,提高驅(qū)動(dòng)能力。 基于單片機(jī)的電子琴設(shè)計(jì) 11 一首音樂是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對(duì)于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí) /計(jì)數(shù)器 T0 來產(chǎn) 生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系 正確即可。 基于單片機(jī)的電子琴設(shè)計(jì) 12 第三章 程序設(shè)計(jì) 系統(tǒng)總體功能流程圖 ( 1)鍵盤掃描程序:檢測(cè)是否有按鍵按下,有按鍵按下則記錄按下鍵的鍵值,并跳轉(zhuǎn)至功能轉(zhuǎn)移程序;無按鍵按下,則返回鍵盤掃描程序繼續(xù)檢測(cè)。 ( 2)功能轉(zhuǎn)移程序:對(duì)檢測(cè)到的按鍵值進(jìn)行判斷,是琴鍵則跳轉(zhuǎn)至琴鍵處理程序,是功能鍵則跳轉(zhuǎn)至相應(yīng)的功能程序,我們?cè)O(shè)計(jì)的功能程序有兩種,即音色調(diào)節(jié)功能和自動(dòng)播放樂曲的功能。 ( 3)琴鍵處理程序:根據(jù)檢測(cè)到的按鍵值,查詢音調(diào)表,給計(jì)時(shí)器賦值,使發(fā)出相應(yīng)頻率的聲音。 ( 4)自動(dòng)播放歌曲程序:檢測(cè)到按鍵按下的是自動(dòng)播放歌曲功能鍵后執(zhí)行該程序,電子琴會(huì)自動(dòng)播放事先已經(jīng)存放的歌曲,歌曲播放完畢之后自動(dòng)返回至鍵盤掃描程序,繼續(xù)等待是否有按鍵按下 參數(shù)計(jì)算 利用 單片機(jī) 的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式( MODE1)下,改變計(jì)數(shù)值 TH0 及 TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階 。 例如,頻率為 523Hz,其周期 T= 1/523= 1912μs,因此只要令計(jì)數(shù)器計(jì)時(shí) 956μs/1μs= 956,每
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1