单片机与计算机串行通信的心得体会

[09-14 01:27:09]   来源:http://www.88dzw.com  电子制作   阅读:8878

文章摘要: ret ;返回 com-int :clr es ;关串行中断 clr ri ;清接收标志 mov a ,sbuf ;从缓冲区取数据 mov sbuf ,a jnb ti , $ ;等待发送完毕 clr ti ;清发送标志 setb es ;允许串行中断 reti ;中断返回 end 该程序将MCU 的串口初始化为2400bps 的波特率,然后等待中断。中断服务程序的功能是将所接收的数据发给计算机。笔者最初用C 语言编写的通信程序如下: # include″dos. h″ # include″BIOS. h″ main

单片机与计算机串行通信的心得体会,标签:电子小制作,http://www.88dzw.com
    ret ;返回
    com-int :clr es ;关串行中断
    clr ri ;清接收标志
    mov a ,sbuf ;从缓冲区取数据
    mov sbuf ,a
    jnb ti , $ ;等待发送完毕
    clr ti ;清发送标志
    setb es ;允许串行中断
    reti ;中断返回

    end

   该程序将MCU 的串口初始化为2400bps 的波特率,然后等待中断。中断服务程
序的功能是将所接收的数据发给计算机。笔者最初用C 语言编写的通信程序如下:

   # include″dos. h″
   # include″BIOS. h″
   main0
  {int i ;
  bioscom(0 ,0xa3 ,0) ;
  for (i = 0 ;i < 256 ;i + + )
  {bioscom(1 ,i ,0) ;
  printf (″%c″,i) ;
  while ( ! (bioscom(3 ,0 ,0) &0x0100) ) ;
  printf (″- %c″,bioscom(2 ,0 ,0) &0x00ff) ;
  }
  printf (″\ n″) ;
  getch0 ;
  }
  该程序无法实现与单片机的串口通信,用int86 函数直接调用14H 功能调用也不
行,所以笔者剖析了bioscom 函数的执行过程,发现了问题所在。

   笔者用右图所示的连接线将计算机的COM1和COM2连接起来,具体如左图所示,然后执行下列程序对bioscom函数的1号发送功能进行测试。

    # include″dos. h″
    # include″bios. h″
    # define COM 3
    main ()
   {outportb (0x3fc ,0) ;
    outportb (0x2fc ,0) ;
    bioscom(0 ,0xa3 ,0) ;
    bioscom(0 ,0xa3 ,1) ;
    outportb (0x2fc ,COM) ;
    printf (″%X″,bioscom(1 ,65 ,0) &0x8000) ;
    printf (″\ n″) ;
    getch () ;
    }

   
  

www.88dzw.com

  COM1和COM2初始化后,将COM2的MODEM控制寄存器(2FCH)的D0、D1位置1,使COM2的DTR、RTS有效,从而使COM1的DSR、CTS有效。程序显示的结果是0,说明发送正确。通过改变程序中宏定义COM的值,可以改变COM1的DSR、CTS信号有效的组合。结果表明,只有COM=3时,即DSR和CTS都有效时,BIOScom才能发送成功。当COM取1、2或0,即DSR、CTS分别有效或全无效时,程序显示8000,表明发送失败。

  利用下列程序段对bioscom的接收功能进行测试:

    # include″dos. h″
    # include″bios. h″
    # define COM 1
    main ()
   {int a ;
   outportb (0x3fc ,0) ;
   outportb (0x2fc ,0) ;
   bioscom(0 ,0xa3 ,0) ;
   bioscom(0 ,0xa3 ,1) ;
   outportb (0x3fc ,COM) ;
   outportb (0x3f8 ,65) ;
   delay (10000) ;
   a = bioscom(2 ,0 ,1) ;
   printf (″%X , %c″,a &0x8000 ,a &0x00ff) ;

上一页  [1] [2] [3] [4]  下一页


Tag:电子制作电子小制作维修教程知识 - 电子制作