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

正文內(nèi)容

基于51單片機(jī)的電子琴設(shè)計(jì)_論文-閱讀頁(yè)

2024-09-16 15:43本頁(yè)面
  

【正文】 52 中 3 M 659 64777 6 1865 65268 中 4 FA 698 64820 高 7 SI 1967 65283 采用查表程序進(jìn)行查表時(shí),可以為這個(gè)音符建立一個(gè)表格,有助于 單片機(jī) 通過查表的方式來(lái)獲得相應(yīng)的數(shù)據(jù): 低音 0- 19 之間,中音在 20- 39 之間,高音在 40- 59 之間 用單片機(jī)播放音樂,或者彈奏電子琴,實(shí)際上是按照特定的頻率,輸出一連串的方波。 單片機(jī)發(fā)出不同頻率的方波,人聽起來(lái),就是不同的音調(diào)。 定義音調(diào)數(shù)據(jù)表的程序如下: DW 63628,63835,64021,64103,64260,64400,64524 。 音樂的音拍,一個(gè)節(jié)拍為單位( C 調(diào)): 基于 51 單片機(jī)的電子琴設(shè)計(jì) 17表 3 節(jié)奏表 曲調(diào)值 DELAY 曲調(diào)值 DELAY 調(diào) 4/4 125ms 調(diào) 4/4 62ms 調(diào) 3/4 187ms 調(diào) 3/4 94ms 調(diào) 2/4 250ms 調(diào) 2/4 125ms 圖 本系統(tǒng)單片機(jī)軟件在設(shè)計(jì)中是用 C 語(yǔ)言編寫。見附錄。 目前支持的單片機(jī)類型有: 680 以及各種外圍芯片 0 系列、 8051 系列、 AVR系列、 PIC12 系列、 HC11 系列。 硬件調(diào)試主要是針對(duì)單片機(jī)部分進(jìn)行調(diào)試。在這部分調(diào)試中主要使用的工具是萬(wàn)用表,用來(lái)完成檢測(cè)電路中是否存在斷路或者短路情況等。 在確保硬件電路正常,無(wú)異常情況 (斷路或 短路 )方可上電調(diào)試,上電調(diào)試的目的是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確,在本次設(shè)計(jì)中,上電調(diào)試主要鍵盤單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和音頻轉(zhuǎn)換電路硬件調(diào)試。 鍵盤單片機(jī)控制部分調(diào)試:上電后,隨機(jī)按動(dòng)鍵盤可以發(fā)現(xiàn)各個(gè)按鍵對(duì)應(yīng)的音正確。整個(gè)程序是一個(gè)主程序調(diào)用各個(gè)子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個(gè)程序都能平穩(wěn) 運(yùn)行,各個(gè)模塊的子程序的正確與平穩(wěn)運(yùn)行必不可少,所以在軟件調(diào)試的最初階段就是把各個(gè)子程序模塊進(jìn)行分別調(diào)試。也讓我的動(dòng)手能力再次的提高。 在設(shè)計(jì)中不管是軟件調(diào)試還是硬件調(diào)試都讓我受益匪淺,對(duì) Professional、MedWin 、 Protel 99se 這些軟件的使用也越來(lái)越熟練。也讓我的知識(shí)鞏固了一遍。在遇到問題的時(shí)候,要冷靜,然后努力搜集資料,盡自己最到的努力解決問題!這次課程設(shè)計(jì)也讓我清楚的認(rèn)識(shí)了自己在單片機(jī)學(xué)習(xí)中存在的不足,這些不足需要我去不斷的的努力改善。 AT89S51 具有如下特點(diǎn): 40個(gè)引腳, 4k Bytes Flash 片內(nèi)程序存儲(chǔ)器, 128 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ) 器( RAM), 32 個(gè)外部雙向輸入 /輸出( I/O)口, 5個(gè)中斷優(yōu)先級(jí) 2層中斷嵌套中斷, 2個(gè) 16位可編程定時(shí)計(jì)數(shù)器 ,2個(gè)全雙工串行通信口,看門狗( WDT)電路,片內(nèi)時(shí)鐘振蕩器??臻e模式下, CPU 暫停工作,而 RAM 定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存 RAM 的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。 該系列單片機(jī)引腳與封裝如下圖所示: 主要引腳功能: RST( 9):復(fù)位輸入。 __EA 為高電平時(shí),單片機(jī)只訪問內(nèi)部程序存儲(chǔ)器。 sbit S1 = P0^0。 sbit S3 = P0^2。 sbit S5 = P0^4。 sbit S7 = P0^6。 sbit S2_1=P1^1。 sbit S4_3=P1^3。 sbit S6_5=P1^5。 sbit S10=P2^1。 sbit S30=P2^3。 sbit S50=P2^5。 sbit S70=P2^7。 sbit f2=P3^1。 sbit f4=P3^3。 sbit OUTPUT=P2^0。 基于 51 單片機(jī)的電子琴設(shè)計(jì) 25 // 延 時(shí) 函 數(shù)***************************************// void delay_10ms() {unsigned int d=1000。}} void delay_x10ms(unsigned char x) {unsigned int i。ix。 } void delay_1us() //1us 延時(shí)函數(shù) {{_Nop()。} void delay_nus(unsigned int n) //N us 延時(shí)函數(shù) {unsigned int i=0。in。} void delay_1ms() {unsigned int d=100。}} void delay_x1ms(unsigned int x) {unsigned int i。ix。 } void delay_100us() {unsigned int d=10。}} void delay_x100us(unsigned int x) {unsigned int i。ix。 } 基于 51 單片機(jī)的電子琴設(shè)計(jì) 26void delay_100us_i() {unsigned int d=10。}} void delay_x100us_i(unsigned int x) {unsigned int i。ix。 } //// void anjian() { if(S1==0) {delay_x1ms(3)。cz_1=0xf8。 while(S1==0)。if(S1){ EA=0。if(S2==0){EA=1。 cz_2=0x5c。delay_x1ms(3)。 }}} if(S3==0) {delay_x1ms(3)。cz_1=0xfa。 while(S3==0)。if(S3){ EA=0。if(S4==0){EA=1。 cz_2=0x6a。delay_x1ms(3)。 }}} if(S5==0) {delay_x1ms(3)。cz_1=0xfb。 while(S5==0)。if(S5){ EA=0。if(S6==0){EA=1。 cz_2=0x8c。delay_x1ms(3)。 }}} if(S7==0) {delay_x1ms(3)。cz_1=0xfc。 while(S7==0)。if(S7){ EA=0。if(S1_0==0){EA=1。 cz_2=0x4a。delay_x1ms(3)。 }}} if(S2_1==0) {delay_x1ms(3)。cz_1=0xfc。 while(S2_1==0)。if(S2_1){ EA=0。if(S3_2==0){EA=1。 cz_2=0x08。delay_x1ms(3)。 }}} if(S4_3==0) {delay_x1ms(3)。cz_1=0xfd。 基于 51 單片機(jī)的電子琴設(shè)計(jì) 28while(S4_3==0)。if(S4_3){ EA=0。if(S5_4==0){EA=1。 cz_2=0x80。delay_x1ms(3)。 }}} if(S6_5==0) {delay_x1ms(3)。cz_1=0xfd。 while(S6_5==0)。if(S6_5){ EA=0。if(S7_6==0){EA=1。 cz_2=0x02。delay_x1ms(3)。 }}} if(S10==0) {delay_x1ms(3)。cz_1=0xfe。 while(S10==0)。if(S10){ EA=0。if(S20==0){EA=1。 cz_2=0x5c。delay_x1ms(3)。 }}} if(S30==0) {delay_x1ms(3)。cz_1=0xfe。 while(S30==0)。if(S30){ EA=0。if(S40==0){EA=1。 cz_2=0x98。delay_x1ms(3)。 }}} if(S50==0) {delay_x1ms(3)。cz_1=0xfe。 while(S50==0)。if(S50){ EA=0。if(S60==0){EA=1。 cz_2=0xe8。delay_x1ms(3)。 }}} if(S70==0) {delay_x1ms(3)。cz_1=0xff。 while(S70==0)。if(S70){ EA=0。if(f1==0){while(f1==0)。if(f1){ data_sent_i(0x17)。if(f2==0){while(f2==0)。if(f2){ data_sent_i(0x18)。if(f3==0){while(f3==0)。if(f3){ data_sent_i(0x19)。if(f4==0){while(f4==0)。if(f4){ data_sent_i(0x1a)。if(f5==0){while(f5==0)。if(f5){ data_sent_i(0x1b)。 //設(shè)置定時(shí)器的工作方式 0 //TH0=0xff。 //裝入計(jì)數(shù)初值低八位 TR0=1。 //允許 T0 中斷 EA=0。 //重裝計(jì)數(shù)初值高八位 TL0=cz_2。 基于 51 單片機(jī)的電子琴設(shè)計(jì) 31} void main(void) { initTimer()。 while(1){anjia
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1