急!!!用C51单片机串口功能,用C语言编写以下程序

要求将串口的波特率设置为9600b/s,通过串口PC发送数据data,data的值范围是0-99,发送时,同时用8个发光二极管指示出当前的值,以二进制形式表示。要求仿真实现。(晶振11.0592M)

追问向PC发送字母倒是懂得,但是要发送0-99数字,且用二进制形式发送还没学过,真不懂
----------
把你的程序公布一下,大家帮你改,很容易的。追问

我初步写的是这样,但是在Proteus Pro V7.5软件上运行不了,估计是后面程序有点错误了,但是不懂怎么改咧,请多多指教:

追答

初始化部分正确,试试下列程序:
while (1) {
send(x); //串口发送.
P2 = ~x; //当场显示.
delay(10000); //便于观察.
x++;
if (x >= 100) x = 0;
}
可以参考:
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/d50edc2f1321965b4ec22662.html

追问

试了,不行哦,提示以下警告,截图给你看看

追答

程序的其它地方有错,send、Delay两个函数,都没有用上。
看看大小写,写对没有?
最好还是看看:
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/d50edc2f1321965b4ec22662.html
这是成功的程序。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-13
自己写追问

等于没回答

第2个回答  2011-05-13
pc连机没玩过追问

你的回答=0,return=0

第3个回答  2011-05-13
程序很简单,最好自己写。也有例程的,不要什么网上找现成,这样对自己没有好处。学会自己看懂程序。追问

向PC发送字母倒是懂得,但是要发送0-99数字,且用二进制形式发送还没学过,真不懂

追答

其实不管是字母还是数字,发送时都是二进制。你上位机用串口调试器接收时改为十六进制接收看看。然后改你的程序,发字母的程序,发一个字母,用十六进制表示你的字母,如“0”为0x30