📄 ff.c
字号:
#include "easy_io.h"
#include "SPCE061A.h"
void delay(int time)
{
int i;
for (i=1;i<time;i++)
*P_Watchdog_Clear=0x01;
}
void delayms(int time)
{
int i,j;
for (i=1;i<time;i++)
for (j=1;j<200;j++)
*P_Watchdog_Clear=0x01;
}
int read_data(void)
{
int i,tmp=0;
// while( *P_IOA_Data & 0x02)
// {
// *P_Watchdog_Clear=0x01;
// }
for(i=1;i<12;i++)
{
delay(1);
tmp=tmp | (*P_IOA_Data & 0x01);
while(!(*P_IOA_Data & 0x02));
{
*P_Watchdog_Clear=0x01;
}
while(*P_IOA_Data & 0x02);
{
*P_Watchdog_Clear=0x01;
}
tmp<<=1;
}
return(tmp);
}
void bar_init(void)
{
int i,tmp,din; //ioa_0--data; ioa_1---clk
Setb(P_IOA_Dir,0,1);
Setb(P_IOA_Dir,1,0);
Setb(P_IOA_Attrib,0,1);
Setb(P_IOA_Attrib,1,0);
Setb(P_IOA_Data,0,1);
Setb(P_IOA_Data,1,1);//input pullup
Setb(P_IOA_Data,0,0);
for (din=1;din<4;din++)
{
tmp=1023; //send 10 ge "1"
for (i=1;i<12;i++)
{
while(( *P_IOA_Data & 0x02))
{
*P_Watchdog_Clear=0x01;
}
*P_IOA_Data=tmp & 0x01;
tmp>>=1;
while(!( *P_IOA_Data & 0x02))
{
*P_Watchdog_Clear=0x01;
}
}
}
///////
Setb(P_IOA_Dir,0,0);
Setb(P_IOA_Data,0,0);
Setb(P_IOA_Attrib,0,1);
//////
///////
Setb(P_IOA_Dir,1,0);
Setb(P_IOA_Data,1,0);//input pullup
Setb(P_IOA_Data,1,1);
}
main()
{
int data[14],i,data1,data2,data3;
bar_init();
for (i=0;i<14;i++)
{
data1=read_data();
data2=read_data();
data3=read_data();
*P_Watchdog_Clear=0x01;
if ((data1==data2) && (data1==0x003f))
{
*P_Watchdog_Clear=0x01;
data[i]=data1;
}
}
while(1)
{
*P_Watchdog_Clear=0x01;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -