新闻  |   论坛  |   博客  |   在线研讨会
两片单片机做单工数据传送
0750long | 2009-04-24 17:27:55    阅读:2181   发布文章

 

 

呵呵,这个星期在看串行通行的东西!!
            看了大量的这类书,对RS232,uart,等等有了一个相对明白的了解。

 我的宗旨是:先了解后动手!!   哈哈。。。又在扯闲话了。。

    今天讲的是两片89c51做单工数据发送。。(这是我第一次玩两片单片机!!嘻嘻)

    好了。。说正题。。
功能说明: 一片89c51读入P1指拨开关的数据载入SBUF,然后经由TXD将次数据传送到第二片89c51的RXD中。当第二片接收到数据存入SBUF时,再由SBUF载入累加器,并输出使其相应的LED亮。。

  下面的仿真图;
点击看大图

下载 (117.17 KB)
2008-11-29 20:00

 

  恩。。下面是两片单片机中要烧入的程序。。
第一片:      ORG 00H
    AJMP START
    ORG 30H
START:   MOV SP,#60H
         MOV SCON,#50H
   MOV TMOD,#20H
   MOV TH1,#0E6H
   SETB TR1
   MOV 30H,#0FFH
SCAN0:   MOV A,P1
         CJNE A,30H,KEYIN
   AJMP SCAN0
KEYIN:   MOV 30H,A
         MOV P2,A
   MOV SBUF,A
WAIT:    JBC TI,SCAN0
         AJMP WAIT


          END

第二片:          ORG 00H
    AJMP START
          ORG 30H
START:    MOV SP,#60H
          MOV SCON,#50H
    MOV TMOD,#20H
    MOV TH1,#0E6H
    SETB TR1
SCAN0:    JB RI,UART
          AJMP SCAN0
UART:     MOV A,SBUF
          MOV P1,A
    CLR RI
    AJMP SCAN0
    END

我来给大家说明下!!!

     其实我个人认为串口通信在写程序方面还是相对简单点的。。 无非就是对PCON,SCON,TMOD,等专用寄存器进行初始化。。。然后进行数据的传送。。要了解这个过程,首先在第一片单片机的P1口采集数据,通过A送到SBUF中,然后通过TXD传送到第二片单片机中去。也是通过SBUF送到A中在送到P1口。。数据显示。。

  这个里面有个很重要的寄存器SBUF。。大家要很好的利用它。。

串行通信的难点。。我个人觉得就是扩展。。象串行输出口扩展就要用到74164。串行输入口扩展就要用到74166。。还要用到RS232 CARD等。。。

     弄清楚这些芯片花 了我很多时间。。但是让我学到了很多。。!!
       呵呵。。。      我希望对单片机爱好的人,不要放弃。。。坚持下去就能成功!!

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客