51单片机与PC机的串口通讯设计的一个问题

最近要做毕设了,但对这没什么基础,还望大神给些帮助!
本题目要求PC通过UART与89s52通讯,控制89s52端的发光二极管的亮灭。 并且可以实现单片机与PC机端的文件传输。传输出错时有语音提示。 1. 89s52通过UART与PC通讯。 2. PC端可以用现成的串口工具,也可以自己编程实现PC端的串口收发。 3. 从PC上发送特定的数可以让89s52控制发光二极管亮灭。 4. 可以实现在89s52和PC间文件的传送。 5. 传输出错时有语音提示。

1、用串口调试助手
2、用PC机通过串口控制8952让端口上的LED亮灭很简单,如只需发送0XFE内容,再让P0=SUBF就可让P0口上的一个LED灭。
3、若要实现双工方式,设置SCON=0X50,也就是让REN=1即可,
4、若要有语音提示,在主程序相应位置加一发音程序即可。
以上希望能帮到你。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-16
我用法VB编的PC程序 程序如下:
附 录 A
上位机程序代码
Dim data As Integer
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 37
Text1.Text = "左"
MSComm1.OutBufferCount = 0 '...清空输出寄存器
MSComm1.Output = Hex(1) '...发送数据
Case 39
Text1.Text = "右"
MSComm1.OutBufferCount = 0 '...清空输出寄存器
MSComm1.Output = Hex(2) '...发送数据
Case 38
Text1.Text = "上"
MSComm1.OutBufferCount = 0 '...清空输出寄存器
MSComm1.Output = Hex(3) '...发送数据
Case 40
Text1.Text = "下"
MSComm1.OutBufferCount = 0 '...清空输出寄存器
MSComm1.Output = Hex(4) '...发送数据
End Select
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 3
MSComm1.Settings = "4800,n,8,1"
MSComm1.PortOpen = True
Text1.Enabled = False End Sub

关于单片机接受的程序就不用写了吧,很好编,注意波特率一致就行了
我这个设计是用电脑键盘的方向键控制小车的前后左右运行 你稍微改改就行追问

有用c编程的吗?

追答

仔细看了你的问题 你这个用串口调试助手就可以
这个是51从串口接收数据的程序
#include
static int i;
void main()
{ TMOD=0x20;
TH1=0xFD;

SCON=0x50;
PCON=0x00;

TR1=1;
while(1)
{
while(RI==0)
{
i=SBUF;
P1=i;
RI=0;}
}
发送的话 用一个叫“串口调试助手”的软件,在网上找,这个软件不用写程序,直接写上一个想要发送的数字 然后点“发送”行了

}

第2个回答  2012-03-08
你网上找个串口助手软件,可以PC跟单片机通讯;追问

请问你有相关的发送和接受的程序吗

追答

这类程序 你在网上一搜的话会有很多啊

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网