• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 電源與新能源 > 設計應用 > 利用MAXQ3210產生壓電信號

    利用MAXQ3210產生壓電信號

    作者: 時間:2011-04-15 來源:網絡 收藏
    ;; Play Middle C for one second.move LC[1], #261 ; Outer loop counter = 261 cycles (1s * 261Hz)middleC:move PO0.0, #1 ; Switch output high.move LC[0], #6839 ; Half period : (1/261Hz) / (1/3.57MHz) / 2djnz LC[0], $ ; Decrement and jump, if not zero, to current ; instruction.move PO0.0, #0 ; Switch output low.move LC[0], #6839 ; Half period : (1/261Hz) / (1/3.57MHz) / 2djnz LC[0], $ ; Decrement and jump if not zero to current ; instruction.djnz LC[1], middleC ; Decrement and jump, if not zero, to top of loop.

    通過改變循環計數器LC[0]裝載的數值來改變輸出頻率(對應于的音符)。通過改變循環計數器LC[1]裝載的數值來改變音符持續時間。把這些代碼打包到一個簡單宏中,定義幾個常數,就很容易播放一小段音樂的代碼。

    本文引用地址:http://www.czjhyjcfj.com/article/179206.htm
    #define NOTE_C     261#define NOTE_C_SH  277#define NOTE_D_FL  277#define NOTE_D     294#define NOTE_D_SH  311#define NOTE_E_FL  311#define NOTE_E     330#define NOTE_F     349#define NOTE_F_SH  370#define NOTE_G_FL  370#define NOTE_G     392#define EIGHTH     1       ; 120 beats per minute, 4/4 time#define QUARTER    2       ; 120 beats per minute, 4/4 time#define QUARTERDOT 3       ; 120 beats per minute, 4/4 time#define HALF       4       ; 120 beats per minute, 4/4 time#define WHOLE      8       ; 120 beats per minute, 4/4 timeplay macro note, durationlocal L1, L2move    HRNC,  #1move    LC[1], #(note * duration / 8)L1:move    PO0.0, #1         ; Switch output high.move    LC[0], #(1785000 / note)djnz    LC[0], $          ; Decrement and jump, if not zero, to current ;    instruction.move    PO0.0, #0         ; Switch output low.move    LC[0], #(1785000 / note)djnz    LC[0], $          ; Decrement and jump, if not zero, to current ;    instruction.djnz    LC[1], L1         ; Decrement and jump, if not zero, to top of loop.move    HRNC,  #1move    LC[1], #50        ; 50ms of silenceL2:move    LC[0], #3570      ; 1ms (inner loop)  djnz    LC[0], $djnz    LC[1], L2endm
    				
                
                    
    			
    							

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 科技| 武平县| 开江县| 藁城市| 盐池县| 项城市| 阿克苏市| 天长市| 左贡县| 松潘县| 米易县| 安宁市| 临潭县| 洮南市| 库尔勒市| 仙游县| 昔阳县| 兴义市| 襄垣县| 津南区| 湘乡市| 远安县| 托克逊县| 江安县| 肥乡县| 禄劝| 柏乡县| 双城市| 固阳县| 运城市| 八宿县| 新化县| 无极县| 汝南县| 台东县| 贞丰县| 朔州市| 怀来县| 保定市| 囊谦县| 兴城市|