No.92560 作者:zym123 邮件:zym1_23@163.com ID:47958 登陆:2次 文章数:3篇 最后登陆IP:219.130.30.174 最后登陆:2006/5/11 9:56:21 注册:2006/2/24 19:12:00 财富:113 发帖时间:2006/5/6 12:22:07 发贴者IP:218.16.94.234 标题:zym123:串口通信问题,有接收没显示。请高手指点 摘要:No.92560串口通信问题,有接收没显示。请高手指点 小弟初学单片机,想用AT89C51和计算机通信。程序用c语言,用keil软件仿真正常。但烧到单片机中与计算机通信时,串口调试助手显示有收到数据,但在接收区里没有示。请高手指点。程序想实现功能:P3.2,P3.3接K1,K2。当K1按下时发送0X31,当K2按下时发送0X50。P1接8个灯,当接到不同数据是亮不同的等。程序如下: #include "reg51.h" #include "string.h" #define uchar unsigned char sbit P10=P1^0; sbit P11=P1^1; sbit P12=P1^2; sbit P13=P1^3; sbit P14=P1^4; sbit P15=P1^5; sbit P16=P1^6; sbit P17=P1^7; sbit P00=P0^0; void SendData(uchar Dat) {SBUF=Dat; while(!TI); TI=0; } void mDelay(unsigned int DelayTime) //延时 {unsigned char j=0; for(;DelayTime> 0;DelayTime--) {for(j=0;j <125;j++) {;} } } uchar Key() {uchar Kvalue; P3|=0x3e; //中间4位置高电平 if((Kvalue=P3|0xe3)!=0xff) { mDelay(10); if((Kvalue=P3|0xe3)!=0xff) { for(;;) if((P3|0xe3)==0xff) return(Kvalue); } } return(0); } void Serial() interrupt 4 {if(RI) {unsigned char ch; ch=SBUF; switch(ch) {case 0x31:P10=0; mDelay(3000); ......
>>返回讨论的主题
|