专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

电脑与单片机串口通信—猜数字

作者:郑老师   来源:本站原创   点击数:  更新时间:2010年08月10日   【字体:

  这个课程拖了挺久的,从上学期的十几周开始的。现在的成功也是建立在一款现成的电脑软件——串口调试助手,本来想自己用C++的MFC编写的,不过之后的突袭学习C++并没有达到想要的结果,加上后来考试就拖了下来。不过在单片机方面也系统的学习了串口通信(异步,UART)和程序的编写方式,实现了两个单片机之间的通信,至于随机数的产生,这个是用了定时器,很简单。

  昨天看站长用到串口调试助手,觉得不错,想下一个,没想到原来我以前就下过,所以顺便就做完了这个猜数字游戏,具体来说,除了电脑上的编程还是很简单的,应该说是最基础的,在方式一9600波特率下通信,9位含停止位传输,学单片机的是必学的。

  对于笔记的话九针串口(即RS232串口)转USB需要驱动程序,不过在我观察USB和串口除了电平不同,其他都一样(串口是12V电平,单片机下载程序需要用MAX232芯片来转化串口电平到TTL电平),都是VCC,GND,TX,RX,虽然RS232是九针即九个接触线,但是真正用到单片机的就四根线。

对于C51的用法已经比以前成熟多了,还是要学习,接下来要完成我的16*8点阵俄罗斯方块,继续努力吧

不费话了,大家看看效果吧。

 

制作要求:单片机产生随机数,在电脑上猜数字,猜三次,如果猜的数比产生的随机数大,那么在电脑上显示大,猜的数小的话在电脑上显示小,猜出来和失败都有提示、

 

              图1  程序(局部)

图中软件为单片机程序强力编译器Keil   uVision2,这是为微处理器打造的。Keil   uVision3是为ARM打造



                按下第一个键



       按下第一个键后单片机发送字符串,电脑接收到字符串“ready”



              按下第二个键,产生了随机数07



    当随机数产生的时候,电脑接收到单片机的字符串“go”,意为可以猜数字了



有点遗憾,发送数据的时候这个软件只能十六进制发,也就是说等等看到0a就是十进制10,0b是11,0c是12,0d是13,0e是14,0f是15。如果把左下角的“十六进制发送”勾去掉,就是用ASCII码发,会出错的。而我从单片机发到电脑上的当然是ASCII码。

图中是02,因为随机数是07,所以小了,电脑就接收到“small”,让你继续猜。

              09        大了



              猜对了


            再猜一个错的。




                错了

   后记:没什么好说的,我想希望有人对这个感兴趣吧,因为串口对于单片机控制很重要,如果我现在不是用串口线而是用无线发射模块,那么我就可以用来控制我上次做的小车,这个是很有趣的一件事情吧,但是要等到我学好C++,因为51hei站长曾经用计算机来控制无人飞机让飞机按照固定的轨道飞行,还有单片机控制GSM和GPS的,就可以用来发短信和全球定位,所以单片机是很有趣的东西,希望有更多人来玩单片机吧。

  曾经RAM兄弟告诉我,搞单片机要耐得住寂寞,呵呵,看来是这样的。
 

关闭窗口

相关文章