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

正文內(nèi)容

基于單片機(jī)的電子音樂盒的設(shè)計(jì)tlcd(更新版)

2026-01-12 20:58上一頁面

下一頁面
  

【正文】 0x03, 0x1B,0x03, 0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x03, 0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03, 0x19,0x03, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x17,0x16, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x0F,0x02, 0x10,0x03, 0x15,0x00, 0x00,0x00 }。 TL1 = Sound_Temp_TL1。 TL1 = Sound_Temp_TL1。 //算出頓音的演奏長度 else LDiv1=LDiv。 //加 12 是對中斷延時(shí)的補(bǔ)償 } SLen=LengthTab[Length%10]。 //計(jì)算出是否升半 CurrentFre = NewFreTab[SignTab[SL1]+SH]。 // 算出 4 分音符的長度 LDiv4 = LDiv4LDiv4*SOUND_SPACE。 else if(Octachord == 3) NewFreTab[i]=2。 unsigned char Tone,Length,SL,SH,SM,SLen,XG,FD。 TR1 = 0。 Sound_Temp_TH1 = (65535(1/1200)*SYSTEM_OSC)/256。 } 發(fā)聲頭文件: ifndef __SOUNDPLAY_H_ define __SOUNDPLAY_H_ define SYSTEM_OSC 12020000 //定義晶振頻率 12020000HZ define SOUND_SPACE 4/5 //定義普通音符演奏的長度分率 ,//每 4 分音符間隔 sbit BeepIO = P3^7。 WriteCMD(0x01)。 //再輸出數(shù)據(jù)。 //最后執(zhí)行命令。 //先延時(shí)。 sbit LCDE=P2^2。 uchar code tab2[]=First Song 。 //對鍵值賦值 case 0xf5: k=1。 //先對 P0 置數(shù) 行掃描 if(P1!=0xf3) //判斷是否有鍵按下 { delay1()。 for(i=20。原件號是PROTEUS ISIS 的實(shí)時(shí)注釋功能自動(dòng)標(biāo)注的,這一功能可在菜單中設(shè)置選擇是否開啟。 } 電路 仿真 調(diào)試 原理圖的繪制 仿真平臺為 Proteus 軟件, Proteus 軟件是世界上著名的 EDA 工具 (仿真軟件 ),能完成原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿 真,一鍵切換到 PCB設(shè)計(jì)它不僅具有其它 EDA 工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件,17 是目前最好的仿真單片機(jī)及外圍器件的工具。i) //音符間的間隔 { while(TF1==0)。i) //發(fā)規(guī)定長度的音 { while(TF1==0)。 else LDiv1=LDiv*SOUND_SPACE。 TH0 = Sound_Temp_TH0。 //計(jì)算出音符 SM=Tone/10%10。 // 讀出第一個(gè)音符和它時(shí)時(shí)值 LDiv0 = 12020/Speed。 } else NewFreTab[i] = FreTab[j]。 //新的頻率表 unsigned char i,j。 //轉(zhuǎn)到第二行 for(i=0。 } else if (k==3) //若鍵值為 3 { uint i。 WriteCMD(0x80+0x40)。 } else if (k==2) //若鍵值為 2 { uint i。 WriteCMD(0x80+0x40)。 break。 } mydelay(1000)。 } InitialSound()。i++) 11 { WriteData(tab[i])。反之亦然。 R/W 為讀寫信號線, RS 與 相連,由 控制 LCD 的寫指令或?qū)憯?shù)據(jù)操作。 RST 引腳是復(fù)位信號的輸入端 ,復(fù)位信號是高電平有效 .這次采用的是手動(dòng)復(fù)位,復(fù)位通過電容 C3, C4 和電阻 R1,R2來實(shí)現(xiàn) ,按鍵手動(dòng)復(fù)位是圖中復(fù)位鍵來實(shí)現(xiàn)的。 5 指令 9:讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令 3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。當(dāng) RS 和R/W 共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) RS 為低電平 R/W 為高電平時(shí)可以讀4 忙信號,當(dāng) RS 為高電平 R/W 為低電平時(shí)可以寫入數(shù)據(jù)。 字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點(diǎn)陣式 LCD,目前常用161, 162, 202 和 402 行等的模塊。同時(shí)在 LCD 顯示歌曲序號和歌曲名稱。結(jié)合 Proteus 和 Keil 軟件等,學(xué)習(xí)單片機(jī)產(chǎn)品的設(shè)計(jì)方法,有效地將理論和實(shí)際緊密結(jié)合,培養(yǎng)創(chuàng)新思維和設(shè)計(jì)能力,增強(qiáng)軟件編程實(shí)現(xiàn)能力和解決實(shí)際問題的能力。 設(shè)計(jì)要求 (1) 利用 I/O 口產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào),從而演樂曲 (內(nèi)存四首樂曲 ); (2) 用 LCD 顯示歌曲序號和歌曲名字 ; (3) 可通過功能鍵 進(jìn)行選擇歌曲和 暫停 的操作 。二是要有較高的性價(jià)比。 表 1 引腳接口說明表 編號 符號 引腳說明 編號 符號 引腳說明 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 讀 /寫選擇 13 D6 數(shù)據(jù) 6 E 使能信號 14 D7 數(shù)據(jù) 7 D0 數(shù)據(jù) 15 BLA 背光源正極 8 D1 數(shù)據(jù) 16 BLK 背光源負(fù)極 第 1 腳: VSS 為地電源。 第 15 腳:背光源正極。 D:控制 整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。 與 HD44780 相兼容的芯片時(shí)序表如下: 表 3 芯片時(shí)序圖 讀狀態(tài) 輸入 RS=L, R/W=H, E=H 輸出 D0—D7=狀態(tài)字 寫指令 輸入 RS=L, R/W=L, D0—D7=指令碼, E=高脈沖 輸出 無 讀數(shù)據(jù) 輸入 RS=H, R/W=H, E=H 輸出 D0—D7=數(shù)據(jù) 寫數(shù)據(jù) 輸入 RS=H, R/W=L, D0—D7=數(shù)據(jù), E=高脈沖 輸出 無 單元電路設(shè)計(jì) 晶振電路 單片機(jī)需要一個(gè)時(shí)間基準(zhǔn)來為各種操作提供秩序,此電路叫時(shí)鐘電路,采用不同的接線方式可以獲得不同時(shí)鐘電路,有內(nèi)部時(shí)鐘電路和外部時(shí)鐘電路,如圖 所示,外部時(shí)鐘電路會使電路復(fù)雜,故采用的是內(nèi)部時(shí)鐘電路。 ,這種鍵盤所需程序簡單,但硬件電路復(fù)雜、價(jià)格昂貴通常不被單片機(jī)系統(tǒng)采用。 E 端與 相連。 9 圖 6 蜂鳴器電路 整體電路9 圖 7 整體電路 10 主程序流程圖 開 始系 統(tǒng) 初 始 化掃 描 鍵 盤 得 到 鍵 值判 斷 鍵 值L C D 顯 示 選 擇 的 歌 曲掃 描 鍵 盤暫 停 鍵 是 否 按 下蜂 鳴 器 發(fā) 音繼 續(xù) 放 音否結(jié) 束停 止 放 音圖 8 主程序流程圖 主程序 main() { uint i。 WriteCMD(0x80+0x40+2)。 init()。i9。 for(i=0。i++) { WriteData(tab5[i])。i10。i++) { WriteData(tab7[i])。i10。 //寫歌名 mydelay(50)。 for(i=0。 } SoundLength = 0。 // 普通音最長間隔標(biāo)準(zhǔn) TR0 = 0。 //查出對應(yīng)音符的頻率 if(SL!=0) { if (SM==1) CurrentFre = 2。 //算出是幾分音符 XG=Length/10%10。 if(SL==0) LDiv1=0。 TF1=0。 TF1=0??梢酝ㄟ^點(diǎn)擊選擇器頂端左側(cè)的 “P”或者通過命令打開,我們常用的是按鈕;在查找到并放置完所有需要的器件后,我們需要接著連接元件,即在 PROTEUS ISIS 的編輯窗口布線。我們繪制完所有的元件后,最后進(jìn)行統(tǒng)一標(biāo)注, PROTEUS ISIS 支持注釋功能,可以把我們所繪制的原理圖中的器件根據(jù)我們的需要添加上特殊的注釋,以表示特定的含義。j0。 //保存行掃描時(shí)有鍵按下時(shí)狀態(tài) P1=0xfc。 break。 uchar code tab5[]=Jingle bell 。 void Delay() { uint uiCount。 LCDRS=0。 LCDE=1。 } void init() { LCDRW=0。 for(i=x。 //原始頻率表 unsigned char code SignTab[7] = { 0,2,4,5,7,9,11 }。 TL1 = Sound_Temp_TL1。 TH0 = Sound_Temp_TH0。i++) // 根據(jù)調(diào)號及升降八度來生成新的頻率表 { j = i + Signature。 } Point = 0。 24 while(Point SoundLengthamp。 //高音 Temp_T = 65536(50000/CurrentFre)*10/(12020000/SYSTEM_OSC)。 LDiv=LDiv0/SLen。 //算出不發(fā)音的長度 if (SL!=0) { TR0=1。 BeepIO=0。 Tone=Sound[Point]
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1