原创 【小雨的成长】两片单片机做单工数据传送

2009-4-17 16:15 2326 5 5 分类: MCU/ 嵌入式

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


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


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


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


  下面的仿真图;
attachimg.gif 点击看大图


下载 (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等。。。


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


                 在这里我要提下王小明,他真的很不错。。。这几天,修修改改终于把CEPARK 51实验板终于修好了。。。  希望他能继续努力!!!!

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /3 下一条