找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8662|回复: 9
收起左侧

这个程序的cmd是什么意思??

[复制链接]
ID:134288 发表于 2016-8-1 21:31 | 显示全部楼层 |阅读模式
# include"reg52.h"
# include"intrins.h"
# define uint unsigned int
# define uchar unsigned char
sbit DOUT=P3^7;
sbit CLK=P3^6;
sbit DIN=P3^4;
sbit CS=P3^5;
sbit PLSA=P2^2;
sbit PLSB=P2^3;
sbit PLSC=P2^4;
uchar disp[4];//定义数组     此数组用来存放缓冲数据
uchar code table[]={0x3f,0x06,0x5b,0x4f,
                                0x66,0x06,0x7d,0x07,
                                0x7f,0x6f,0x77,0x7c,
                             0x39,0x5e,0x79,0x71};

void SPI_write(char dat)
{
  uchar i;
  CS=0;
  CLK=0;
  for(i=0;i<8;i++)
    {
            DIN=dat>>7;//放入最高位
        dat<<=1;
        CLK=0;
        _nop_();
        _nop_();
        CLK=1;
    }

}

uint SPI_read(void)
{
  uint i,dat=0;
  CLK=0;
  for(i=0;i<12;i++)
  {
   dat<<=1;
   CLK=1;
   CLK=0;
   dat|=DOUT;
  }
  return dat;
}



uint AD_read(uchar cmd)
{
  uchar i;
  uint AD_Value;
  CLK=0;
  CS=0;
  SPI_write(cmd);
  for(i=6;i>0;i--);
  CLK=1;
  _nop_();
  _nop_();
  CLK=0;
  _nop_();
  _nop_();
  AD_Value=SPI_read();
  CS=1;
  return AD_Value;
}







void delayxms(uint xms)
{
  uchar i,j;                  
  for(i=xms;i>0;i--)
        for(j=110;j>0;j--);

}

void datapros()
{
    uint temp;
    static uchar i;
    if(i==50)
         {
           i=0;
        temp=AD_read(0x94);
         }
    i++;
    disp[3]=table[temp/1000];
    disp[2]=table[temp%1000/100];
    disp[1]=table[temp%1000%100/10];
    disp[0]=table[temp%1000%100%10];


}

void display()
{
  uint i;
   for(i=0;i<4;i++)
    {
            switch(i)
        {
         case(0):PLSA=0;PLSB=0;PLSC=0;
         break;
         case(1):PLSA=0;PLSB=0;PLSC=1;
         break;
             case(2):PLSA=0;PLSB=1;PLSC=0;
         break;
             case(3):PLSA=0;PLSB=1;PLSC=1;
         break;
         }
    }
   i=0;
   P0=disp[i];
   P0=0XFF;
   delayxms(1);                                                         
}


void main()                  
{
  while(1)
  {
    datapros();//数据处理函数
    display();        //显示函数


  }
}

回复

使用道具 举报

ID:135510 发表于 2016-8-1 22:29 | 显示全部楼层
这是spi通信
回复

使用道具 举报

ID:135783 发表于 2016-8-2 14:11 | 显示全部楼层
一个SPI读写测试程序
回复

使用道具 举报

ID:135786 发表于 2016-8-2 14:19 | 显示全部楼层
是spi通信
回复

使用道具 举报

ID:134288 发表于 2016-8-2 17:02 | 显示全部楼层

请问学spi通信主要是理解它的什么内容?串行通信原理和spi有关系吗??
回复

使用道具 举报

ID:134288 发表于 2016-8-2 17:02 | 显示全部楼层

请问学spi通信主要是理解它的什么内容?串行通信原理和spi有关系吗??
回复

使用道具 举报

ID:135510 发表于 2016-8-2 17:14 | 显示全部楼层
夏日有余晖 发表于 2016-8-2 17:02
请问学spi通信主要是理解它的什么内容?串行通信原理和spi有关系吗??

spi是同步串行通信
回复

使用道具 举报

ID:71099 发表于 2016-8-3 11:47 | 显示全部楼层
代表uchar类型的一个变量
      比如在程序中 AD_read(0x20);    0x20就是cmd,在程序中是可以用其他量代替cmd(只要是uchar 类型都可以)
回复

使用道具 举报

ID:135893 发表于 2016-8-3 16:02 | 显示全部楼层
cmd 就是command的意思 命令!
回复

使用道具 举报

ID:135902 发表于 2016-8-3 16:22 | 显示全部楼层
这是spi通信的  啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表