No.100757 作者:lixiuzhi123 邮件:lixiuzhi123@163.com ID:32514 登陆:18次 文章数:19篇 最后登陆IP:219.140.60.11 最后登陆:2007/7/4 10:56:50 注册:2005/3/24 15:31:42 财富:182 发帖时间:2006/12/18 20:55:56 发贴者IP:219.140.60.11 标题:lixiuzhi123:近来看一下 这个简单的51单片机串口发送数据的程序哪里错了 摘要:No.100757近来看一下 这个简单的51单片机串口发送数据的程序哪里错了 ad采集后的数据从51单片机串口发送到上位机(9600, 8) 我用下面的方法 为什么我在上位机上监视到他发送的8位数据 最高位总是以“1‘开头 比如:ad之后的数据应该是00 发出去的却是80 ad之后的数据应该是01 发出去的却是81 ad之后的数据应该是10 发出去的却是90 #include <reg51.h> sbit clk=P1^4; sbit di=P1^3; sbit d0=P1^5; sbit cs=P1^2; 。。。 。。。 void delay0() { data char a; for(a=0;a <5;a++); } void longdelay1() { unsigned int i,j; for(i=0;i <6;i++) for(j=0;j <10000;j++); } void song( unsigned char a) { TMOD=0x20; TL1=0xfd; TH1=0xfd; SCON=0x40; PCON=0x00; EA=1;ES=1; TR1=1; SBUF=a; while(TI==0); TI=0; } } 。。。 。。。 unsigned char ad() { data char shuju; data char i; cs=1; clk=0; di=1; // start bit d0= ......
>>返回讨论的主题
|