⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dis_wave.c

📁 此程序可以显示输入波形
💻 C
字号:
//--------------------------------------------------------------------



//模块:Dis_Wave.C

//功能:示波器模块

//晶振:24.000MHz

//#include"STC12c5412AD.h"

#ifndef  lcd12864_driver_new
#include "lcd12864_driver_new.h"
#endif
#define uchar unsigned char                  

#define uint unsigned int

extern void d0(void);

extern uchar keyfuncindex;

extern void d1(void);

extern void AD_init(uchar AD_port_sel );

extern uint GET_AD_Result();//启动AD转换并返回转换值 

extern void delay_1(uchar time);

uint xdata record[128];

sbit key1  =P3^0;

sbit key2 =P3^1;

//--------------------------------------------------------------------

void delay(uint time)

{

      uchar jj,hh;

      while(--time!=0)

      {

              for(jj==0;jj<255;jj++)

              {

                    for(hh==0;hh<255;hh++);

              }

              

      }

}

//--------------------------------------------------------------------

void wave()    

{



      uchar mod=1;

      uchar data k;

      float x2;

      lcd_init();

      AD_init(7);

      while(1)

      {

      

                    for(k=0;k<128;k++)

                    {

                            record[k]=GET_AD_Result();

                    

                    }



              switch(mod)

              {

                    case 0:    

                    {

                            if(record[k]==512)

                            {    

                                  dis_cls();

                                  for(k=0;k<128;k++)

                                  {

                                          x2=record[k]/16;

                                          dis_point(64-x2,k);

                                  }

                                  for(k=127;k>0;k--)

                                  {

                                          x2=record[k]/16;

                                          dis_point(64-x2,k);

                                  }

                            }

                      }

                      break;



                      case 1:

                    {

                            dis_cls();

                            for(k=0;k<128;k++)

                            {

                                  x2=record[k]/16;

                                  dis_point(64-x2,k);

                            }

                            for(k=127;k>0;k--)

                            {

                                  x2=record[k]/16;

                                  dis_point(64-x2,k);

                            }

                            delay(30000);

                    }

                    break;

              }



                      key2=1;

                      if(key2==0)

                      {

                          mod=!mod;

                          delay_1(5);

                            }



                      key1=1;

                      if(key1==0)

                      {

                      delay_1(5);

                      goto exit;

                      }

      }

exit: keyfuncindex=1;

              d1();      

              delay(1);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -