请教一个严重的问题
我本想用12864做一个串口实时控制的公告牌,可是不知道为什么只要我加上显示函数,串口通信就不行了,我是把单片机接受的数据又返回计算机看的,不加显示部分还可以,加了之后计算机接收的数据就永远只有一个字节,不管发多少都一样,我把显示部分换成别的语句,也是一样,我是用串口调试助手看的。 void main() { PS=1; SP=0x5f; init_lcd(); TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1; lat_disp(0x00,0x00); //1284显示部分 chn_disp1(tab31); img_disp1(tab32); delay1 (8000); //显示部分结束 while(1) { if(flag==1) { ES=0; flag=0; SBUF=a; while(!TI); TI=0; ES=1; }
lat_disp(0x00,0x00); //这里只要加东西就不行了,不管加什么 clrram(); // chn_disp(tab4); // delay1 (8000); //
} } void ser() interrupt 4 { RI=0; led=SBUF; //这句是我用自己板子的灯看,没什么用的 flag=1; a=SBUF; }
|