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

📄 main.c

📁 用凌阳单片机编的一个带AD采集
💻 C
字号:

//==============================================================================================================
//  工程名称:DataCollection_Host.scs
//  功能描述: 实现双CPU的host功能,即扫描按键、根据按键的值执行相应的操作。
//  IDE 环境:SUNPLUS u'nSPTM  IDE 1.8.0
//
//  涉及的库:sacmv25.lib
//        
//  组成文件: main.c
//			  UART_DataSample.c
//			  SpeechPlay.c
//			  LedShow.c
//			  KeyHandle.c
//			  key.asm
//			  ISR.asm
//			  hardware.asm	
//            system.asm
//    	      uart.asm       
//              
//          
//  完成日期: 2003-7-7
//============================================================================================================
//============================================================================================================
// 文件名称:main.c
// 实现功能:扫描按键、根据按键的值执行相应的操作,语音跟踪各种操作
// 日    期:2003/7/7
//============================================================================================================


//#define P_IOB_Buffer        (volatile unsigned int *)0x7006;        // Write Data into buffer register and read from buffer register
#define P_IOB_Dir           (volatile unsigned int *)0x7007        // Direction vector for IOB
#define P_IOB_Attrib        (volatile unsigned int *)0x7008 
#define  P_IOB_Data         	(volatile unsigned int *)0x7005 
#define P_Watchdog_Clear     (volatile unsigned int *)0x7012 
#define P_FeedBack            (volatile unsigned int *)0x7009        // Clock form external R,C
#define	P_IOA_Data 				(volatile unsigned int *)0x7000   
#define P_IOA_Buffer 			(volatile unsigned int *)0x7001
#define P_IOA_Dir 				(volatile unsigned int *)0x7002
#define P_IOA_Attrib 			(volatile unsigned int *)0x7003
#define P_INT_Ctrl          (volatile unsigned int *)0x7010        // Control port for interrupt source
#define P_TimerA_Data       (volatile unsigned int *)0x700A        // Data port for TimerA 
#define P_TimerA_Ctrl       (volatile unsigned int *)0x700B        // Control Port for TimerA

#define P_TimerB_Data       (volatile unsigned int *)0x700C        // Data port for TimerB
#define P_TimerB_Ctrl       (volatile unsigned int *)0x700D        // Control Port for TimerB

extern void F_PlayRespond(unsigned int Result);
extern void F_SpeechPlayChannelData(float uiData);
extern float F_AD_Ctrl(void);

extern void Displayvolt(float uiData);
extern unsigned char key(void);
extern unsigned int frequent();
extern void Displayfre(unsigned int uiData);
//unsigned int uiTwoSecondTimeFlag;
//unsigned int ui2HzIntCounter;
 // float uiData;
unsigned char key1;
unsigned int freval=0;

main()

{
    float uiData;
	unsigned int i=0,j=0,r1,dayflag=0;
	
	PowerOn();
    *P_IOB_Dir=0xff00;
    *P_IOB_Attrib=0xfff0;
	*P_IOB_Data=0x0000; 
	//*P_FeedBack =0x0000;
	
	*P_IOA_Dir=0xfff0;
	*P_IOA_Attrib=0xfff0;
	*P_IOA_Data=0x0000;
	 
    
   
	
	r1=0x0007;
    *P_TimerB_Ctrl=r1;
    r1=0x0000;
    *P_TimerB_Data=r1;
    
    F_PlayRespond(0);	//开机语音提示
	
	LCD1602_Initial();				
		//语音提示“请选择采集模”
	while(1)
	{	
	    uiData=F_AD_Ctrl();
	    for(i=60000;i>0;i--);
	    uiData=F_AD_Ctrl();
	    Displayvolt(uiData);
	    
	    if(uiData>=2.5) dayflag=1;	
	      else dayflag=0;
	    
	    if(dayflag) *P_IOB_Data|=0x0100; 
	       else  *P_IOB_Data&=0xfeff; 
	   
	   
	   
	   freval=frequent();
       Displayfre(freval);
       
    // key1=key(); 
      if(key1==1)  F_SpeechPlayChannelData(uiData);
       else if(key1==2) F_SpeechPlayChannelData(uiData);
  	
		*P_Watchdog_Clear=0x0001; 
	}	
}	 

⌨️ 快捷键说明

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