单片机与PC机之间的通信

2019-04-15 18:51发布

单片机与PC机之间的通信 51系列单片机内部的串行口具有通信的功能,该串口可以作为通信接口,利用该串行口与PC机的串行口COM1或COM2进行串行通信,将单片机采集的数据传送到PC机中,由PC机的高级语言或数据库语言对数据进行整理及统计等复杂处理,就能满足实际的应用需要。 PC机的COM口,输入输出为RS-232C电平,而51单片机串行口的输入输出均为TTL电平。由于TTL电平和RS-232C电平互不兼容,所以两者接口时,必须进行电平转换。(电平转换最常用的芯片是传送线驱动器MC1489,其作用除了电平转换外,还实现正负逻辑电平转换)   PC机和单片机在进行通信时,首先分别对各自的串行口进行初始化,确定串行口工作方式,设定波特率(两者应一致),传输数据长度等,然后才开始数据传输,这些工作是由软件来完成的,因此对PC机和单片机均需设计相应的通信软件。   1.      DOS环境下,串行通信一般用中断方式来实现,用户对通信端口进行完全控制。而在Windows环境下,系统禁止应用程序直接对硬件进行操作在Windows环境下提供了完备的API应用程序接口函数,程序员通过这些函数与通信硬件接口。 通信函数是中断驱动的:发送数据时,先将数据存入缓存区,串口准备好后,就将其发送出去;传来的数据迅速申请中断,使Windows接收它并将其存入缓冲区,以供读取。 接收方式中以中断方式效率高,接收准确,编程简单。它无需测试串口,一旦有数据传至,CPU终止当前任务,由中断服务完成操作。   2.      单片机收发软件设计 设计单片机的通信软件,实际上是对单片机的串行口的设计,通常采用汇编语言来设计。