昵称:烦夫子
类别:界面/平面设计师
年龄:38
现所在地:北京
主页浏览总数:24255
总积分:89
文章数:88
作品数:70
开发源码
切绘机控制程序源代码
通信处理
//INT0:8251和计算机通信的中断服务子程序
void service_int0()interrupt 0 using 1 /*INT0中断服务程序,使用第二组寄存器*/
{
uchar idata k;
if(sign_7fff!=1)
EX1=0; /*关闭外部中断0和1*/
let_test=1; /*禁止测试键有效*/
receive_begain=1;
chreceive( ); /*串行数据处理*/
if(let_begain==1) /*数据接收完后,刀笔状态要回到接收之前的状态,比如:接收第二批之前先抬笔,接收完第二批后先落下*/
{
let_luo=1; /*禁止键盘抬落笔*/
k=ZJ;
ZJ=80;
while(ZJ!=k)
{
if(ZJ
else
outfz( );
}
let_luo=0; /*允许键盘抬落笔*/
}
}
void chreceive(void) /*串行数据接收*/
{
bit p_sign=1;
if(int_receive==0x7fff) /*如果是ffff或数据结束的标志‘G’就应该发出信号,让计算机暂时停止发送*/
{
EX1=1;
sign_7fff=1;
//panbit=1;
*int_receive=utlk(0x00,0x00);
no_send( );
int_receive=0x0000;
let_begain=1; /*let_begain=1;表示此时数据接收告一段落,可以开始执行程序*/
goto qqq;
}
else
{
*int_receive=utlk(0x00,0x00);
if(*int_receive==0x00)
{
let_test=0; /*测试键有效*/
receive_begain=0;
goto qqq;
}
if(*int_receive=='G')
{
g_sign=1;
let_begain=1;
}
if(*int_receive==';' && g_sign==1)
{
EX1=1;
g_sign=0;
no_send( ); //如果是数据发送完毕,禁止发送数据
}
}
int_receive++;
qqq: ;
}