📄 main.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 + -