要求将串口的波特率设置为9600b/s,通过串口PC发送数据data,data的值范围是0-99,发送时,同时用8个发光二极管指示出当前的值,以二进制形式表示。要求仿真实现。(晶振11.0592M)
我初步写的是这样,但是在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
这是成功的程序。
等于没回答
你的回答=0,return=0
向PC发送字母倒是懂得,但是要发送0-99数字,且用二进制形式发送还没学过,真不懂
追答其实不管是字母还是数字,发送时都是二进制。你上位机用串口调试器接收时改为十六进制接收看看。然后改你的程序,发字母的程序,发一个字母,用十六进制表示你的字母,如“0”为0x30