チーム1328

課題名

psoc

研究者名

2年15組9番 岡野 真生
2年15組19番 木谷 直親

見出し1

#include <m8c.h>
#include "PSoCAPI.h"
int PW = 125;
int SILENT = 0,D = 229,L = 204,M = 182,F = 172,S = 153,R = 136,C = 121,DD = 115,LL = 103,MM =92 ,FF = 86,SS = 77,RR = 68,CC = 65;




void main(void){
  int i;
   char*strPtr;
       UART_CmdReset();
       UART_IntCntl(UART_ENABLE_RX_INT);
       
   Counter8_WritePeriod(155);
   Counter8_WriteCompareValue(77);
   Counter8_Start();
       UART_Start(UART_PARITY_NONE);
   M8C_EnableGInt;
   PWM16_1_Start();
       UART_CPutString("\r\nPSoC Synthesizer V1.1\r\n");
   
   while(1){
       if(UART_bCmdCheck()){
           if(strPtr = UART_szGetParam()){
               UART_CPutString("Found valid command\r\nCommand =>");
               UART_PutString(strPtr);
               UART_CPutString("<\r\nParamaters;\r\n");
           
           if(*strPtr=='l')
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(RR);
               for(i = 0;i<=1000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=8000;i++)
               PWM16_1_WritePeriod(RR);
               for(i = 0;i<=1000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=8000;i++)
               PWM16_1_WritePeriod(RR);
               for(i = 0;i<=1000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=8000;i++)                                    
               PWM16_1_WritePeriod(RR);
               for(i = 0;i<=1000;i++)                    
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=15000;i++)
               PWM16_1_WritePeriod(SS);
               for(i = 0;i<=1000;i++)                    
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=20000;i++)                
               PWM16_1_WritePeriod(CC);
               for(i = 0;i<=7000;i++)                    
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=10000;i++)                    
               PWM16_1_WritePeriod(FF);                
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(MM);
               for(i = 0;i<=5000;i++)
               PWM16_1_WritePeriod(FF);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(MM);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(LL);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(DD);
                               
               for(i = 0;i<=20000;i++)    
               PWM16_1_WritePeriod(SILENT);    
               for(i = 0;i<=7000;i++)    
               PWM16_1_WritePeriod(LL);
               for(i = 0;i<=5000;i++)                    
               PWM16_1_WritePeriod(MM);
               for(i = 0;i<=10000;i++)                    
               PWM16_1_WritePeriod(FF);
               for(i = 0;i<=5000;i++)
               PWM16_1_WritePeriod(LL);
               for(i = 0;i<=1000;i++)                    
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=7000;i++)
               PWM16_1_WritePeriod(LL);
               for(i = 0;i<=5000;i++)                    
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=7000;i++)
               PWM16_1_WritePeriod(LL);
               for(i = 0;i<=5000;i++)                                    
               PWM16_1_WritePeriod(FF);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(SS);
               for(i = 0;i<=5000;i++)                                    
               PWM16_1_WritePeriod(LL);
               for(i = 0;i<=1000;i++)    
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=10000;i++)    
               PWM16_1_WritePeriod(LL);
               for(i = 0;i<=5000;i++)                    
               PWM16_1_WritePeriod(SILENT);
               
               
               for(i = 0;i<=5000;i++)                    
               PWM16_1_WritePeriod(LL);                
               for(i = 0;i<=3000;i++)
               PWM16_1_WritePeriod(MM);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(FF);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(MM);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(MM);
               for(i = 0;i<=5000;i++)
               PWM16_1_WritePeriod(FF);
               for(i = 0;i<=1000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=10000;i++)    
               PWM16_1_WritePeriod(FF);
               for(i = 0;i<=30000;i++)                    
               PWM16_1_WritePeriod(SILENT);
               
                   
               UART_CmdReset();
               }
               
               
           }
           }
           

              
   }
                   
                   
               
           
       

  

見出し2

#include <m8c.h>
#include "PSoCAPI.h"
int PW = 125;
int SILENT = 0,D = 229,L = 204,M = 182,F = 172,S = 153,R = 136,C = 121,DD = 115,LL = 103,MM =92 ,FF = 86,SS = 77,RR = 68,CCC = 255,RRR = 275,CC = 64;




void main(void){
  int i;
   char*strPtr;
       UART_CmdReset();
       UART_IntCntl(UART_ENABLE_RX_INT);
       
   Counter8_WritePeriod(155);
   Counter8_WriteCompareValue(77);
   Counter8_Start();
       UART_Start(UART_PARITY_NONE);
   M8C_EnableGInt;
   PWM16_1_Start();
       UART_CPutString("\r\nPSoC Synthesizer V1.1\r\n");
   
   while(1){
       if(UART_bCmdCheck()){
           if(strPtr = UART_szGetParam()){
               UART_CPutString("Found valid command\r\nCommand =>");
               UART_PutString(strPtr);
               UART_CPutString("<\r\nParamaters;\r\n");
           
           if(*strPtr=='l')
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(F);
               for(i = 0;i<=1000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=8000;i++)
               PWM16_1_WritePeriod(F);
               for(i = 0;i<=1000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=8000;i++)
               PWM16_1_WritePeriod(F);
               for(i = 0;i<=1000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=8000;i++)
               PWM16_1_WritePeriod(F);
               for(i = 0;i<=15000;i++)
               PWM16_1_WritePeriod(M);
               for(i = 0;i<=15000;i++)
               PWM16_1_WritePeriod(F);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=20500;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=20500;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=5000;i++)
               
               PWM16_1_WritePeriod(D);
               for(i = 0;i<1000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(D);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(L);
               for(i = 0;i<=5000;i++)
               PWM16_1_WritePeriod(M);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(S);
               for(i = 0;i<=20000;i++)
               PWM16_1_WritePeriod(F);
               for(i = 0;i<=30000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=15000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=11200;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=5000;i++)
               
               PWM16_1_WritePeriod(L);
               for(i = 0;i<=1000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=3000;i++)
               PWM16_1_WritePeriod(L);
               for(i = 0;i<=1000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(L);
               for(i = 0;i<=1000;i++)
               PWM16_1_WritePeriod(SILENT);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(L);
               for(i = 0;i<=10000;i++)                                    
               PWM16_1_WritePeriod(D);
               for(i = 0;i<=5000;i++)
               PWM16_1_WritePeriod(CCC);
               for(i = 0;i<=10000;i++)
               PWM16_1_WritePeriod(RRR);
               for(i = 0;i<=30000;i++)
               PWM16_1_WritePeriod(SILENT);
               }
               UART_CmdReset();
               }
               
               
           
               }
               
                   
                   
                   
               }
           


見出しN

見出しNに対する内容や説明文などを書いてください。

考察

 音階を広げ、高い音と低い音に分け、1つの曲を2種類のパートで作り上げた。
一方のパートが休みのときは、for文やSILENTで時間を稼ぐ。for文内の数字は自分たちの感覚で調整するため、
多少の誤差はあるが、微調整はしやすい。時間稼ぎにはタイマーを使う方法もある。
 

  • 最終更新:2013-06-11 17:15:13

このWIKIを編集するにはパスワード入力が必要です

認証パスワード