新聞中心

        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.104case.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
        				
                    
                        
        			
        							

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 石门县| 容城县| 黄浦区| 仪征市| 昭苏县| 太原市| 兴城市| 苏州市| 武安市| 山阳县| 自贡市| 新郑市| 句容市| 山丹县| 永城市| 江都市| 剑河县| 平和县| 贵定县| 黄大仙区| 永顺县| 恭城| 石狮市| 信阳市| 百色市| 曲水县| 陈巴尔虎旗| 民勤县| 岗巴县| 彝良县| 浪卡子县| 离岛区| 固原市| 元阳县| 泽普县| 昭平县| 全椒县| 吉林省| 绥江县| 南阳市| 深泽县|