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

正文內(nèi)容

基于51單片機(jī)簡(jiǎn)易聲光電子琴設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 技術(shù)基礎(chǔ)、單片機(jī)基礎(chǔ)等技術(shù)課程的重要章節(jié)。關(guān)鍵詞:單片機(jī)。 electronic organ。本文的主要內(nèi)容是用STC89C52RC單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。本文分別從原理圖,主要芯片,各模塊原理及程序調(diào)試來(lái)詳細(xì)闡述。1. 通過(guò)八個(gè)按鍵,分別控制發(fā)出do,re,mi,fa,sao,la,xi,do 八個(gè)音符。其將通用的微5處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。 32個(gè)雙向I/O口 2個(gè)串行中斷 2個(gè)讀寫中斷口線 引腳4:RS,RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。7寄存器選擇控制表:RSR/W操作說(shuō)明00寫入指令寄存器(清除屏等)01讀busy flag(DB7),以及讀取位址計(jì)數(shù)器(DB0~DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)圖25放大電路輸出原理圖此部分的放大電路簡(jiǎn)單容易實(shí)現(xiàn)。加到晶體管進(jìn)行放大,再輸出到嗡寧器,很好的實(shí)現(xiàn)了頻率、聲音的轉(zhuǎn)換。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。當(dāng)時(shí)鐘頻率選用12 MHz時(shí),C取10μF,R2約為1KΩ,R4約為10KΩ。~ 口分別對(duì)應(yīng)琴鍵1~7輸入,如下圖所示。很容易想到,抖動(dòng)問(wèn)題不解決就會(huì)引起對(duì)閉合鍵的識(shí)別。編寫程序時(shí)我們把T值表按順序建立在“TABLE”。所以只要求得1/4拍的DELAY時(shí)間,其余的節(jié)拍就是它的倍數(shù)。 程序開(kāi)始將變量賦值延時(shí)pmusic=0x00 ?計(jì)數(shù)循環(huán)NoYes 圖3 程序框圖 12設(shè)計(jì)結(jié)果與分析單片機(jī)的頻率和聲音輸出的原理是,利用琴鍵控制定時(shí)器的開(kāi)中斷和閉中斷,即實(shí)現(xiàn)發(fā)音和閉音。當(dāng)下一個(gè)琴鍵按下時(shí),再查下此琴鍵所對(duì)應(yīng)音符的定時(shí)常數(shù)。因此,單片機(jī)的開(kāi)發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。1) 這個(gè)設(shè)計(jì)的基本是學(xué)習(xí)C語(yǔ)言并加以應(yīng)用,對(duì)于我來(lái)說(shuō),沒(méi)有想到的是入手的速度比我的預(yù)料慢,在網(wǎng)上搜索大程序的基礎(chǔ)上加以修改和編譯,總體上所到了許多的時(shí)間,并動(dòng)手繪制原理圖,不著手制作硬件(電路板)。首先硬件方面,基本了解了電子產(chǎn)品的開(kāi)發(fā)流程和所要做的工作。感謝老師給了我本次設(shè)計(jì)的機(jī)會(huì)并提供指導(dǎo);感謝許多同學(xué)在我此課程設(shè)計(jì)遇到問(wèn)題時(shí)給我的幫助使我能夠順利地進(jìn)行設(shè)計(jì)的工作;論壇中有很多認(rèn)識(shí)不認(rèn)識(shí)的朋友也都為我的設(shè)計(jì)提出了很寶貴的建議,同樣在這里感謝他們。 //定義喇叭接口sbit lcdrs=P0^1。uchar code table2[]= TO YOU 。x++) for(y=0。 //寫指令時(shí)RS=L lcden=0。 //使能端高電平有效 delay(5)。 P2=date。 lcden=0。 //開(kāi)顯示 write_(0x0c)。 //第一行的初始地址為0x80 for(num1=0。 delay(5)。num1++) { write_date(table2[num1])。//定時(shí)器初始化/* 主函數(shù)*/ void main(void) { unsigned char num。while (1) {17switch(KeyPort){case 0xfe:num= 1。case 0xfb:num= 3。case 0xef:num= 5。case 0xbf:num= 7。default:num= 0。 //在未按鍵時(shí),喇叭低電平,防止長(zhǎng)期高電平損壞喇叭}else {High=freq[num1][1]。 write_(0x18)。 //定時(shí)器中斷打開(kāi)TR0=1。}1
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1