51与PC通信协议设计及实现(一):要求及通信协议的初步设计

  要求:上位机向下位机发送定时启动信息,然后检测当按下51板上按键时,将会向上位机软件发送按键位置,按键状态(开/关),以及按键的精确时间,该时间由51板所得出,上位机接收后,将所得信息进行处理并存入数据库。

  特别要求:设计一个通信协议来进行上下位机的通信,用C#进=行上位机软件的串口编程(熟悉后用C)。

  目前想法:设计通信协议,所要求为能够传递单片机的按键位置+按键状态+时间标签,然后还有CRC校验。暂时决定用一个5帧的数据包来发送数据,发送的方式为可以传输8位数据的方式1.

      帧结构图为:

忘记画CRC校验的了,这个暂时就当实验用,先做出来。

下位机的整体设计为采用中断的方式,单片机在不停的计时,当有按键按下时,单片机产生中断然后将此时的按键状态及时间发送给上位机,因为要求精确的按下时间所以应该是单片机不间断的计时,另外还有个串口中断!!!

关于通信,自己设计的太理想化了,51单片机为单字节发送,只要将需要发送的数据传送到一个字符串,然后将字符串依次发出即可,现在要考虑的是如何进行校验的问题!!配图无关了……就当涂鸦吧,哈哈~

posted @ 2012-03-19 13:29  SimArchitect  阅读(477)  评论(0编辑  收藏  举报