📄 bianjiema.c
字号:
#define C_SIOCLOCK 0x0010; // CPUCLOCK/8
#include "SPCE061V004.H"
#define p (unsigned int*)0x0050
#define q (unsigned int*)0x0060
#define s (unsigned int *)0x0062
#include "head.h"
unsigned int dd;
unsigned int dv;
unsigned int data;
float voltage;
const char signal[]={'s','i','g','n','a','l'};
const char come[]={' ','c','o','m','e'};
const char signal1[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
unsigned long int uiData;
main()
{
voltage=2.0;
Set_IOA_Dir(0x00ff);
Set_IOA_Attrib(0x00ff);
Set_IOA_Data(0x0000);
chushi();
qp();
while(1)
{
//*P_DAC_Ctrl=C_DA1_Direct;
static int kk;
int l;
l=key1();
if((l&0x0f00)!=0x0f00)
{kk=KeyFind();
Set_IOA_Buffer(0x0010|kk);
Set_IOA_Buffer(0x0000|kk);
Delay();
Set_IOA_Buffer(0x0010|kk);}
/*Set_IOA_Buffer(0x001f);
Set_IOA_Buffer(0x000f);
Delay();
Set_IOA_Buffer(0x001f);*/
dd=Get_IOA_Data();
dv=dd&0x1000; //高八位的a8位为1,则dv=0x0100,为0,则dv
data=(dd&0x0f00)>>8; //1e00=0001 1110 0000 0000,data为a9~a15;移位后为a0~a7;
if(dv==0x1000){
*p=data;
if(*p==0x0000)
{voltage+=0.1;*p=0x000f;}
else if(*p==0x0002)
{voltage-=0.1;*p=0x000f;}
if(voltage>=3.0)voltage=3.0;
if(voltage<=1.0)voltage=1.0;
*q=(unsigned int)voltage%10;
*(q+1)=((unsigned int)(voltage*10.0))%10;
//*(q+2)=((unsigned int)(voltage*100.0))%10;
qp();
Address1();
xianshi('V');
xianshi('=');
xianshi(signal1[*q]);
xianshi('.');
xianshi(signal1[*(q+1)]);
//xianshi(signal1[*(q+2)]);
Delay2();
uiData=voltage/3.3*0xffc0;
*P_DAC_Ctrl=0x0000;
*P_DAC1=uiData;
}
if(dv==0x0000)
{
qp();
Address1();
xianshi('N');
xianshi('O');
xianshi(' ');
for(j=0;j<6;j++)
xianshi(signal[j]);
Delay2();
}
*P_Watchdog_Clear=0x0001;
//data=0x000f;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -