📄 functions.c
字号:
/*****************************************************
该文件包含初始化程序,输入采样程序,输出程序的定义
*****************************************************/
#include"IO.h"
bit InMap0=0;
bit InMap1=0;
bit InMap2=0;
bit InMap3=0;
bit OutMap0=0;
bit OutMap1=0;
bit OutMap2=0;
bit OutMap3=0;
void initi_timer();
void initi_counter();
void delay10ms();
void initi()
{
P0=0x00; //输入初始化
P1=0xFF; //输出初始化,输出是负逻辑
TMOD=0x01; //定时器0工作在方式1。12MHz晶振
TH0=0x3c;
TL0=0xb0; //定时50000us(设0.05s为所有计时器的时间基)
EA=1;
ET0=1;
initi_timer(); //定时器初始化。函数定义在文件"process.c"中
initi_counter(); //计数器初始化。函数定义在文件"process.c"中
TR0=1;
}
void getIn()
{
InMap0=0;
InMap1=0;
InMap2=0;
InMap3=0;
//顺序检查四个输入端口,如果有输入则将该输入的映像存储器置1
if(In0)
{
delay10ms();
if(In0)
InMap0=1;
}
if(In1)
{
delay10ms();
if(In1)
InMap1=1;
}
if(In2)
{
delay10ms();
if(In2)
InMap2=1;
}
if(In3)
{
delay10ms();
if(In3)
InMap3=1;
}
}
void getOut()
{
//输出使用的是负逻辑,程序处理阶段用的是正逻辑,输出时先对输出映像取反
Out0=~OutMap0;
Out1=~OutMap1;
Out2=~OutMap2;
Out3=~OutMap3;
}
//定义一个10ms的延时继电器
void delay10ms()
{
unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=4;j>0;j--)
for(k=248;k>0;k--);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -