微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 电子元器件 > JIAOTONGDENG.C(91): error C100: unprintable character 0xA1 skipped

JIAOTONGDENG.C(91): error C100: unprintable character 0xA1 skipped

时间:10-02 整理:3721RD 点击:
这个到底是什么问题呀,知道的大侠们指点一下呀,谢谢
这是程序,下面红色字体行出问题了,怎么解决
#include <reg51.h>   //单片机头文件包含文件
#define uchar unsigned char
#define uint unsigned int
//延时
void delay(uint x)
{
uchar i;
while(x--)
for(i=0;i<120;i++);
}
//主路红灯亮的标志,如果light=0xDD,主路红灯亮,支路绿灯亮
//如果light=0xEE,则所有黄灯亮
//如果light=0x=0xFF,则主路绿灯亮,支路红灯亮
uchar light;   
//剩余时间标志
uchar times;            
//接收的字节计数
uchar serial_count=0;
//上位机点动命令标志
uchar flag;
//单片机串口中断处理程序,用于接收PC机控制信息
void receive() interrupt 4
{
    ES=0; RI=0;
flag=1;   
//接收转动方向标志
  if(serial_count==0)
    {
  light=SBUF;                              
  serial_count++;                     
    }
//接收圈数标志   
else
{
  times=SBUF;               
  serial_count=0;                     
    }
    ES=1;            
}
uchar present_times;
//单片机向PC机发送信息
void send()
{
ES=0;
SBUF=~P1;
while(!TI);
TI=0;
SBUF=present_times;
while(!TI);
TI=0;
ES=1;
}
//主程序
void main()
{
uchar i;
//设置定时器T1的工作模式为2
TMOD=0x20;  
//通过给T1设置初值,固定时钟波特率为9600bps(11.0592HZ)
TH1=0xfd; TL1=0xfd;
//设置串口通讯模式为1,允许接收
SCON=0x50;
    ES=1; EA=1;//开放中断
TR1=1;   //T1启动,为串行通讯提供时钟
while(1)
{
  present_times=0;
  delay(8);          //每个一个时间间隔,发送一组字节
  send();            //否则会造成字节发送顺序的混乱
     if(flag==1)
  {
   if(light==0xDD)
   {
    present_times=times;
    P1=0xDE;              //主路红灯亮,支路绿灯亮
    send();
    flag=0;
   }
   else if(light==0xEE)
   {
    present_times=times;
    P1=0xED;              //所有黄灯亮
    send();
    flag=0;
   }
            else if(light==0xFF)
                        {
                                present_times=times;
                                P1=0xF3;              //主路绿灯亮,支路红灯亮
                                send();
                                flag=0;
                        }
   
   else                  
   {
    break;
   }
  }
}
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top