打印

请教用 SONIX 单片机奏乐例子,见程序

[复制链接]
2449|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
al2913|  楼主 | 2008-7-25 09:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下是定时4重奏,但出来的曲不好听,我想要手机那中和弦音,有做过朋友请指教下


WK_T0:  ; 用定时0 触发计数 音乐输出 ;入口: TDAT=250--0 ; MCINC2=0---250 
   

    ;MOV       A,#180  //150  130  74H=116 设 10MS 定时出                          
    ;B0MOV     TC0C,A   //初值入                                                                            
          
    ;B0BTS0 TDAT_F  ;合奏值 输出音乐  
    ;JMP TDAT_L        ;
    ;B0BSET TDAT_F  ;合奏值 输出音乐  
    ;B0MOV     A,TDAT1   ;定时器计数初始值  //150  130  74H=116 设 10MS 定时出                          
    ;B0MOV     TC0C,A   //初值入                   
                                  
    ;JMP TDAT_E        ;                  
     
 ;TDAT_L:
    ;B0BCLR TDAT_F  ;合奏值 输出音乐  
    ;B0MOV     A,TDAT2   ;定时器计数初始值 
    ;B0MOV     TC0C,A   //初值入          
                                                 
 ;TDAT_E: 
                                                      
    INCMS MSDAT     ;定时器计数初始值 
    B0MOV  A,MSDAT  ;定时器计数初始值        
    XOR  A,#4          ; 0---3                                                                                   
    B0BTS1  FZ        ;
    JMP  MSDAT_MUSIC_ON;
    CLR  MSDAT   ;定时器计数初始值      
     
 MSDAT_MUSIC_ON:   ;


    B0MOV  A,MSDAT   ;定时器计数初始值 
    ;XOR  A,#3          ; 8                                                                                
    B0BTS1  FZ        ;
    JMP  MSDAT_MUSIC_2 ;

MSDAT_MUSIC_1:  ;
    B0MOV     A,TDAT1   ;定时器计数初始值  //150  130  74H=116 设 10MS 定时出                          
    B0MOV     TC0C,A   //初值入 
    JMP   MSDAT_MUSIC_EX ;
MSDAT_MUSIC_2:    ;
    B0MOV  A,MSDAT   ;定时器计数初始值 
    XOR  A,#1          ; 8                                                                                
    B0BTS1  FZ        ;
    JMP  MSDAT_MUSIC_3 ;
                          
    B0MOV     A,TDAT2   ;定时器计数初始值  //150  130  74H=116 设 10MS 定时出                          
    B0MOV     TC0C,A   //初值入 
    JMP   MSDAT_MUSIC_EX ;
MSDAT_MUSIC_3:    ;
    B0MOV  A,MSDAT   ;定时器计数初始值 
    XOR  A,#2          ; 8                                                                                
    B0BTS1  FZ        ;
    JMP  MSDAT_MUSIC_4 ;

    B0MOV     A,TDAT3   ;定时器计数初始值  //150  130  74H=116 设 10MS 定时出                          
    B0MOV     TC0C,A   //初值入 
    JMP   MSDAT_MUSIC_EX ;

MSDAT_MUSIC_4:    ;
    B0MOV     A,TDAT4   ;定时器计数初始值  //150  130  74H=116 设 10MS 定时出                          
    B0MOV     TC0C,A   //初值入     
    ;JMP   MSDAT_MUSIC_EX ;

                 
MSDAT_MUSIC_EX:   ;                 


                      
;==============================
;
;==============================
PTKTMS:   
    B0BTS1 MUOUT_F  ;MUOUT_F =1 输出音乐 
    JMP  PTKTMS_E   ;不输出音乐转出口                           

    B0BTS0 TMS_F    ;TMS_F=1驱动PWM 输出  
    JMP TMS_L        ;
    B0BSET TMS_F    ;TMS_F=1驱动PWM 输出  
    B0BSET PMUSIC   ;音乐输出      
             
    JMP PTKTMS_E        ;                  
     
 TMS_L:
    B0BCLR TMS_F    ;TMS_F=1驱动PWM 输出  
    B0BCLR PMUSIC   ;音乐输出            
                                                 
 PTKTMS_E: 
                   

   
WK_T0_EX:  ;定时0出口
    JMP  INT_END  ;    

相关帖子

沙发
sz_kd| | 2008-7-25 09:42 | 只看该作者

要好听好要硬件配合产生余音的

好象之前有人发过,可以去查查

使用特权

评论回复
板凳
al2913|  楼主 | 2008-7-25 09:44 | 只看该作者

谢谢二楼

找不到呀,苦

使用特权

评论回复
地板
sz_kd| | 2008-7-25 10:03 | 只看该作者

在匠人博客里找到了

使用特权

评论回复
5
al2913|  楼主 | 2008-7-25 10:07 | 只看该作者

谢谢 链接网址有吗?

谢谢
sz_kd

链接网址有吗?

使用特权

评论回复
6
sz_kd| | 2008-7-25 10:59 | 只看该作者

点击上面的4楼的用蜂鸣器实现合弦音乐之攻略篇

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

68

帖子

0

粉丝