老铁们,你们有没有见过这种接线方式的?

2019-07-15 18:45发布

老铁们,你们有没有见过这种接线方式的?最近在用AD7606做东西,发现别人分享的程序有一个这样的,rd_and_cs = P1^7;RD和CS接在一起?无法理解啊!老铁们帮我看看吧

sbit OS0 = P1^0;
sbit OS1 = P1^1;
sbit OS2 = P1^2;

sbit rage = P1^3;
sbit convst = P1^4;
sbit busy = P1^5;
sbit rst = P1^6;
sbit rd_and_cs = P1^7;
全部程序在下面:
* This is a program for testing AD7606        used STC89C52RC
* The line connecting AD7606 with STC89C52RC is:
* STC89C52RC    |    AD7606
*          P0                         |          DB[0:7]
*   P2          |    DB[8:15]
*   OS0         |    P1^0
*   OS1         |    P1^1
*   OS2         |    P1^2
*   rage        |    P1^3
*   convst      |    P1^4
*   busy        |    P1^5
*   rst         |    P1^6
*   rd_and_cs   |    P1^7
*   green_led   |    P3^6
*   red_led     |    P3^7
*         GND                 |    GND
*   +5V                 |    VCC
*   green_led   |    P3_6
*   red_led     |    P3_7
* Author : jinming chen
* Compang : Hongwei in dongguan
* Date : Sep 1        ,2015
*/

#include <reg52.h>
#include <intrins.h>
#include <stdio.h>
#include "AD7076.h"
#include "other.h"

//uchar introduce1[] = "This is a program ";
//uchar introduce2[] = "for testing AD7606 ";
uchar sampling[] = "The sampling data is : ";
uchar newline[] = " ";
uchar space[] = " ";
uchar *DB_str[16] = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};

/*
uchar *data_to_string(uchar Data)
{
        uchar tmp;
        tmp = Data & 0x0f;
        str[1] =DB_str[binary_to_decimal(tmp)];
        tmp = Data>>4;
        str[0] =DB_str[binary_to_decimal(tmp)];
        return str;
}
*/


void serial_init(void)
{
        SCON = 0x50;  //UART为模式一,8位数据,允许接收
        TMOD |= 0x20;        //定时器1为模式二,8位自动重装
        PCON |= 0x80;        //SMOD=1
        TH1 =0xfd;                //波特率为19200,晶振频率为11.0592MHz
        IE = 0x00;
        TR1 = 1;
        TI = 1;
}
/*
//向串口发送一个函数
void serial_send_byte(uchar ch)
{
        SBUF=ch;
    while (TI== 0);
    TI = 0 ;
}
*/

//向串口发送一串字符数据
void serial_send_string(uchar *p)
{
        while(*p != '')
        {
                SBUF = *p;
                while(TI == 0);
                TI = 0;
                p++;
        }         
}

int main()
{
        struct DB_data_struct *DB_data;
        uchar k,tmp;
        uchar DB_data_cmp[8];
        serial_init();
        AD7606_init();
        while(1)
        {
//                DB_data = DB_str;
//                serial_send_string(introduce1);
//                serial_send_string(introduce2);
                AD7606_startconvst();
                while((busy == 1))                //当busy为低电平时,数据转换完毕,此时可以读取数据
                {
//                        serial_send_byte(busy);
//                        delay_ms(500);
                        ;
                }
                DB_data = AD7606_read_data();
                serial_send_string(sampling);
                for(k=0;k<8;k++)
                {
                        tmp = (DB_data->DB_data_H>>4) & 0x0f;
                        serial_send_string(DB_str[tmp]);
                        tmp = (DB_data->DB_data_H) & 0x0f;
                        serial_send_string(DB_str[tmp]);
                        tmp = (DB_data->DB_data_L>>4) & 0x0f;
                        serial_send_string(DB_str[tmp]);
                        tmp = (DB_data->DB_data_L) & 0x0f;
                        serial_send_string(DB_str[tmp]);
                        serial_send_string(space);
                        DB_data_cmp[k] = DB_data->DB_data_H;
                        DB_data += 1;
                }
                if((DB_data_cmp[0]>0x7D)&&(DB_data_cmp[1]>0x7D)&&(DB_data_cmp[2]>0x7D)&&(DB_data_cmp[3]>0x7D)        
                &&(DB_data_cmp[4]>0x7D)&&(DB_data_cmp[5]>0x7D)&&(DB_data_cmp[6]>0x7D)&&(DB_data_cmp[7]>0x7D))
                {        //电压检测为预定值,则绿灯亮
                        red_led = 0;
                        green_led = 1;
                }
                else
                {        //电压检测为非预定值,则红灯亮
                        green_led = 0;
                        red_led = 1;
                }
                serial_send_string(newline);
                serial_send_string(newline);
                serial_send_string(newline);
                delay_ms(300);
        }
        return 0;        
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
chenwei6991627
1楼-- · 2019-07-15 20:53
看时序就知道了啊
wjg23711622
2楼-- · 2019-07-15 22:52
let me see the comment.
上官梦舞
3楼-- · 2019-07-16 03:24
 精彩回答 2  元偷偷看……
李俊峰wd
4楼-- · 2019-07-16 04:42
不错

一周热门 更多>