分享

raspberry pi 串口控制51单片机 | 张子萌的个人小站

 newencn 2013-03-14

raspberry pi 串口控制51单片机

  制作小车都用raspberry pi上的口有些麻烦,所以把一些基础控制给51单片机解决,raspberry pi控制高层应用。所以测试一下raspberry pi串口连接调试51单片机。
  第一步: 
sudo apt-get install python-serial
sudo easy_install pyserial

  第二部接线部分图
  raspberry pi板子串口接线图

raspberry 串口接线图1

raspberry 串口接线图1


  杜邦线连接
IMAG1302-1 
raspberry 串口接线图3

raspberry 串口接线图3

 

  代码部分
  raspberry pi python串口控制代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/env python
# -*- coding:utf-8 -*-
# -------------------------------
# Filename:   
# Revision:   
# Date:        2013-02-5
# Author:      simonzhang
# Email:       simon-zzm@163.com
# WWW:         www.
# -------------------------------
import serial
import time
 
#### 定义小灯亮灭初始值
i = 0
#### 实例化串口
ser = serial.Serial('/dev/ttyAMA0', 9600, timeout = 0.5)
for j in range(10):
    if ser.isOpen() == False:
        ser.open()
    #### 每次循环对上值次取反
    if i == 0:
       i = 1
    else:
       i = 0
    #### 向串口发送字符
    ser.write(chr(i))
    #### 获取串口返回值
    #### linux为福阻塞模式,在阻塞模式下
    #### 会报错,所以抱起来就好了。
    try:
        re = ser.readlines()
    except:
        pass
    print re
    time.sleep(2)

  51单片机代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <reg52.h>
#include <intrins.h>
typedef unsigned char uint8;
typedef unsigned int  uint16;
 
 
uint8 num;
sbit D0 = P0^0;
 
void init()
{
    SCON = 0x50;
    TMOD = 0x20;
 
    TH1 = 0xFD;
    TL1 = 0xFD;
    TR1 = 1; //打开定时器
    ES  = 1;
    EA  = 1; //打开总开关
}
 
void interrupt_uart() interrupt 4
{
    if(TI)
    {
        TI = 0;
        REN = 1;
    }
    if(RI)
    {
        RI = 0;
        num = SBUF;
        if (num == 1)
        {
            D0 = 0;
            SBUF = 0;
        }
        else
        {
            D0 = 1;
            SBUF =1;
        }
        REN = 0;
    }
}
 
 
main()
{
    init();
    while(1);
}

源码下载
raspberrypito51

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多