チーム15C8

課題名

4タップアベレージングフィルタ

研究者名

14-52 Naruki Yoshimoto
14-60 Seikai You

概要

最初の離散値の疑似デジタル的な数列の波のグラフを、LCDに表示し、4タップのアベレージフィルタにかけ、その過程をLCDに表示する。最後のすべての数字が同じ数字になる時点で、最終のグラフ表示し、グラフの上に「END」を表示させる。
最初の数列は
{0,0,0,0,16,16,16,16,0,0,0,0,16,16,16,16,
0,0,0,0,16,16,16,16,0,0,0,0,16,16,16,16}
とする。

ソースコード

#include<stdio.h>
#include <device.h>
#define N 32

void main()
{
      int wave[N] = {0,0,0,0,16,16,16,16,0,0,0,0,16,16,16,16,
                       0,0,0,0,16,16,16,16,0,0,0,0,16,16,16,16};
       int avewave[N];
       int i;
       int boolean=0;
       LCD_Char_1_Start();
       LCD_Char_1_ClearDisplay();

      CyGlobalIntEnable; 

      for(i=0;i<32;i++){
               LCD_Char_1_DrawVerticalBG(1,i,1,wave[i]);
               if(wave[i]>8){
                       LCD_Char_1_DrawVerticalBG(0,i,1,wave[i]-8);
               }
       }
       CyDelay(1000);


      while(1){
               LCD_Char_1_ClearDisplay();
               for(i=0;i<N;i++){
                       avewave[i]=wave[i];
               }
               for(i=0;i<N;i++){
                       wave[i]=(avewave[i]+avewave[(i+1)%32]+avewave[(i+2)%32]+avewave[(i+3)%32])/4;
               }
                       for(i=0;i<N;i++){
                               LCD_Char_1_DrawVerticalBG(1,i,1,wave[i]);
                               if(wave[i]>8){
                                       LCD_Char_1_DrawVerticalBG(0,i,1,wave[i]-8);
                               }
                       }
               CyDelay(750);
               boolean=1;
               for(i=0;i<N;i++){
                       if(wave[i]!=wave[(i+1)%32])
                           boolean =0;
               }
               if (boolean ==1){
                   break;
               }

      }//while loop
       LCD_Char_1_Position(0,0);
       LCD_Char_1_PrintString("End");
}



考察


20150713_123.png
LCD_Char のピンアサインはP2[6:0]間違わずに!
SW_1は実装されていないので気にしないで!!
20150713-new01.jpg
201507131446_2.jpg
201507131446_3.jpg
20150713-new04.jpg

  • 最終更新:2015-07-13 16:03:57

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

認証パスワード