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

正文內(nèi)容

基于單片機(jī)的電子音樂(lè)盒的設(shè)計(jì)tlcd-預(yù)覽頁(yè)

 

【正文】 動(dòng)計(jì)數(shù)器 T0,產(chǎn)生一定頻率的脈沖,驅(qū)動(dòng)蜂鳴器,放出樂(lè)曲。二是要有較高的性價(jià)比。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、 PDA移動(dòng)通信工具等眾多領(lǐng)域 。 表 1 引腳接口說(shuō)明表 編號(hào) 符號(hào) 引腳說(shuō)明 編號(hào) 符號(hào) 引腳說(shuō)明 1 VSS 電源地 9 D2 數(shù)據(jù) 2 VDD 電源正極 10 D3 數(shù)據(jù) 3 VL 液晶顯示偏壓 11 D4 數(shù)據(jù) 4 RS 數(shù)據(jù) /命令選擇 12 D5 數(shù)據(jù) 5 R/W 讀 /寫(xiě)選擇 13 D6 數(shù)據(jù) 6 E 使能信號(hào) 14 D7 數(shù)據(jù) 7 D0 數(shù)據(jù) 15 BLA 背光源正極 8 D1 數(shù)據(jù) 16 BLK 背光源負(fù)極 第 1 腳: VSS 為地電源。 第 5 腳: R/W 為讀寫(xiě)信號(hào)線, 高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。 第 15 腳:背光源正極。 指令 2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00H。 D:控制 整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。 指令 8: DDRAM 地址設(shè)置。 與 HD44780 相兼容的芯片時(shí)序表如下: 表 3 芯片時(shí)序圖 讀狀態(tài) 輸入 RS=L, R/W=H, E=H 輸出 D0—D7=狀態(tài)字 寫(xiě)指令 輸入 RS=L, R/W=L, D0—D7=指令碼, E=高脈沖 輸出 無(wú) 讀數(shù)據(jù) 輸入 RS=H, R/W=H, E=H 輸出 D0—D7=數(shù)據(jù) 寫(xiě)數(shù)據(jù) 輸入 RS=H, R/W=L, D0—D7=數(shù)據(jù), E=高脈沖 輸出 無(wú) 單元電路設(shè)計(jì) 晶振電路 單片機(jī)需要一個(gè)時(shí)間基準(zhǔn)來(lái)為各種操作提供秩序,此電路叫時(shí)鐘電路,采用不同的接線方式可以獲得不同時(shí)鐘電路,有內(nèi)部時(shí)鐘電路和外部時(shí)鐘電路,如圖 所示,外部時(shí)鐘電路會(huì)使電路復(fù)雜,故采用的是內(nèi)部時(shí)鐘電路。 復(fù)位電路分為上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位 ,如圖 3 所示。 ,這種鍵盤(pán)所需程序簡(jiǎn)單,但硬件電路復(fù)雜、價(jià)格昂貴通常不被單片機(jī)系統(tǒng)采用。 7 圖 4 鍵盤(pán)電路 LCD顯示電路 LCD 的 8 根數(shù)據(jù)線與 P1 口相連, RS 為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 E 端與 相連。當(dāng)壓電陶瓷在一定方向上受到一個(gè)壓力使其晶體結(jié)構(gòu)發(fā)生形變時(shí),它就會(huì)在內(nèi)部產(chǎn)生一個(gè)電流,并且電流的變化與壓力的變化密切相關(guān)。 9 圖 6 蜂鳴器電路 整體電路9 圖 7 整體電路 10 主程序流程圖 開(kāi) 始系 統(tǒng) 初 始 化掃 描 鍵 盤(pán) 得 到 鍵 值判 斷 鍵 值L C D 顯 示 選 擇 的 歌 曲掃 描 鍵 盤(pán)暫 停 鍵 是 否 按 下蜂 鳴 器 發(fā) 音繼 續(xù) 放 音否結(jié) 束停 止 放 音圖 8 主程序流程圖 主程序 main() { uint i。i15。 WriteCMD(0x80+0x40+2)。 mydelay(50)。 init()。 //寫(xiě)第 一首歌序號(hào) mydelay(50)。i9。 //播放第一首歌 Delay1ms(500)。 for(i=0。 12 } mydelay(1000)。i++) { WriteData(tab5[i])。 break。i10。 //WriteCMD(0x01)。i++) { WriteData(tab7[i])。 break。i10。 WriteCMD(0x80+0x40)。 //寫(xiě)歌名 mydelay(50)。 } } } 音 樂(lè)播放 程序 流程圖 開(kāi) 始創(chuàng) 建 新 的 頻 率 表計(jì) 算 歌 曲 長(zhǎng) 度讀 音 符根 據(jù) 音 符 對(duì) 應(yīng) 求 出發(fā) 音 長(zhǎng) 度蜂 鳴 器 發(fā) 聲判 斷 音 符 是 否 讀 完或 暫 停 鍵 是 否 按 下否蜂 鳴 器 停 止 發(fā) 音結(jié) 束是 14 圖 9 音樂(lè)播放程序流程圖 音樂(lè)播放程序 void Play(unsigned char *Sound,unsigned char Signature,unsigned Octachord,unsigned int Speed) { unsigned int NewFreTab[12]。 for(i=0。 NewFreTab[i] = FreTab[j]*2。 } SoundLength = 0。 Length = Sound[Point+1]。 // 普通音最長(zhǎng)間隔標(biāo)準(zhǔn) TR0 = 0。K1==1) //歌曲代碼未放完且暫停鍵未被按下 { SL=Tone%10。 //查出對(duì)應(yīng)音符的頻率 if(SL!=0) { if (SM==1) CurrentFre = 2。 Sound_Temp_TL0 = Temp_T%256。 //算出是幾分音符 XG=Length/10%10。 if(XG!=1) if(XG==0) //算出普通音符的演奏長(zhǎng)度 if (SLen=4) LDiv1=LDivLDiv4。 if(SL==0) LDiv1=0。i0。 TF1=0。i0。 TF1=0。 } BeepIO = 0??梢酝ㄟ^(guò)點(diǎn)擊選擇器頂端左側(cè)的 “P”或者通過(guò)命令打開(kāi),我們常用的是按鈕;在查找到并放置完所有需要的器件后,我們需要接著連接元件,即在 PROTEUS ISIS 的編輯窗口布線。當(dāng)在 PROTEUS ISIS 編輯窗口放置元件時(shí),每一元件都有唯一的元件標(biāo)號(hào)及元件值與之對(duì)應(yīng)。我們繪制完所有的元件后,最后進(jìn)行統(tǒng)一標(biāo)注, PROTEUS ISIS 支持注釋功能,可以把我們所繪制的原理圖中的器件根據(jù)我們的需要添加上特殊的注釋,以表示特定的含義。 void delay1(void) //延時(shí)程序 { uchar i,j。j0。 P1=0xf3。 //保存行掃描時(shí)有鍵按下時(shí)狀態(tài) P1=0xfc。 break。 break。 uchar code tab1[]=Select song。 uchar code tab5[]=Jingle bell 。 uchar code tab9[]=Youth League。 void Delay() { uint uiCount。 } void WriteCMD(uchar Commond)//LCD 寫(xiě)指令函數(shù) { Delay()。 LCDRS=0。 LCDE=0。 LCDE=1。 LCDPORT=dat。 } void init() { LCDRW=0。 WriteCMD(0x06)。 for(i=x。j)。 //原始頻率表 unsigned char code SignTab[7] = { 0,2,4,5,7,9,11 }。 //音長(zhǎng)定時(shí)器初值暫存 void InitialSound(void) { BeepIO = 0。 TL1 = Sound_Temp_TL1。 TR0 = 0。 TH0 = Sound_Temp_TH0。 unsigned int Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundLength。i++) // 根據(jù)調(diào)號(hào)及升降八度來(lái)生成新的頻率表 { j = i + Signature。 if(Octachord == 1) NewFreTab[i]=2。 } Point = 0。 // 算出 1 分音符的長(zhǎng)度 (幾個(gè) 10ms) LDiv4 = LDiv0/4。 24 while(Point SoundLengthamp。 //計(jì)算出高低音 SH=Tone/100。 //高音 Temp_T = 65536(50000/CurrentFre)*10/(12020000/SYSTEM_OSC)。 TL0 = Sound_Temp_TL0 + 12。 LDiv=LDiv0/SLen。 else LDiv1=LDiv/2。 //算出不發(fā)音的長(zhǎng)度 if (SL!=0) { TR0=1。 TH1 = Sound_Temp_TH1。 BeepIO=0。 TH1 = Sound_Temp_TH1。 Tone=Sound[Point]。 //鈴兒響叮當(dāng) unsigned char code Music_Jingle[]={ 0x0F,0x03, 0x0F,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x0F,0x66, 0x19,0x04, 0x19,0x04, 0x0F,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x02, 0x10,0x03, 0x10,0x03, 0x18,0x03, 0x17,0x03, 0x16,0x03, 0x10,0x66, 0x10,0x03, 0x19,0x03, 0x19,0x03, 0x18,0x03, 0x16,0x03, 0x17,0x02, 0x15,0x03, 0x0F,0x03, 0x0F,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x0F,0x66, 0x0F,0x03, 0x0F,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x66, 0x10,0x03, 0x10,0x03, 0x18,0x03, 0x17,0x03, 0x16,0x03, 0x19,0x03, 0x19,0x03, 0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x18,0x03, 0x16,0x03, 0x15,0x66, 0x17,0x03, 0x17,0x03, 0x17,0x02, 0x17,0x03, 0x17,0x03, 0x17,0x02, 0x17,0x03, 0x19,0x03, 0x15,0x03, 0x16,0x03, 0x17,0x01, 0x18,0x03, 0x18,0x03, 0x18,0x67, 0x18,0x04, 0x18,0x03, 0x17,0x03, 0x17,0x03, 0x17,0x04, 0x17,0x04, 0x17,0x03, 0x16,0x03, 0x16,0x03, 0x15,0x03, 0x16,0x03, 0x19,0x66, 0x19,0x03, 0x19,0x03, 0x18,0x03, 0x16,0x03, 0x15,0x02, 0x00,0x00 }
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1