• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: 其他
  • 标签: 颜色识别  

资源简介

TCS230颜色传感器是业内第一款集成三色识别的颜色传感器,能识别三原色,芯片内集成10位AD,输出为数字信号,采用记频就可以很轻松的将三原色的频率采集,我的程序已经调试通过,相等不错的,请大家放心

资源截图

代码片段和文件信息

/***********************/
//时间:2010年4月30日
//函数:颜色识别
/*************************/
#include
#include 
#include
#define uchar unsigned char
#define uint unsigned int
uint fry;
bit int_stop;
uchar l_tmpdate[8];//程序显示的缓冲区
/////显示部分/////
sbit RW_SID=P2^0;//RW
sbit E_CLK=P2^1;//EN
code uchar xianshi1[]=“    学院物电系  “;
code uchar xianshi2[]=“颜色传感器CS230 “;
code uchar xianshi3[]=“当前颜色为:    “;
code uchar xianshi4[]=“当前频率为:    “;
code uchar yanse[8]=“蓝绿红百“;

/*********端口定义********/
sbit fs0 =P1^0;
sbit fs1 =P1^1;
sbit en=P1^2;
sbit out=P3^4; //频率从T0口入
sbit fs2 =P1^4;
sbit fs3 =P1^5;
sbit key0=P3^2;
sbit LED0=P3^5;
sbit LED=P2^6;
uchar l_key;
uchar color;
uchar T[5]; //color timer
uchar TH[4];
uchar TL[4];
uchar bizhi[4];
uint  comp[3];
uchar flag;
uint disp_datdisp_dat1;
////////////////////
/*******延时函数***********/
void delay(void)//空5个指令
{
_nop_();_nop_();_nop_();_nop_();_nop_();
}
void delayms(uint x)
{
  uint y;
  for(x;x>0;x--)
    for(y=110;y>0;y--);
}
/*void delayms(uint i)
{
  for(i=0;i<255;i++);
}*/
/***********串口函数***********/
///////////////////////////////////////////////////    
void SendByte(unsigned char dat)//串行发送一字节数据

    {   
     unsigned char i;   
     for(i=0;i<8;i++)   
     {   
       E_CLK=0;   
       if(dat&0x80)
       RW_SID=1;
       else     
       RW_SID=0;   
       E_CLK=1;   
       dat=dat<<1;   
     }   
    } 


////////////////////////////////////////////////////

//写命令
void  sendcom(unsigned char dat)   
    {
      SendByte(0xF8);//11111000     RW=0RS=0     同步标志   
      SendByte(dat&0xF0);//高四位   
      SendByte((dat&0x0F)<<4);//低四位 
    }
//写数据 

void senddat(unsigned char dat)   
    {
      SendByte(0xFA);//11111010     RW=0RS=1   
      SendByte(dat&0xF0);//高四位   
      SendByte((dat&0x0F)<<4);//低四位 
    }


/***********初始化12864******************/

void init12864()
{
   uint i;
   sendcom(0x30);//功能设置,一次送8位数据,基本指令集   
   sendcom(0x0C);//00001100       整体显示,游标off,游标位置off   
   sendcom(0x01);//00000001     清DDRAM   
   sendcom(0x02);//00000010     DDRAM地址归位   
   sendcom(0x80);//10000000     设定DDRAM 7位地址000,0000到地址计数器AC 
 
  sendcom(0x80);
  delayms(40);
  for(i=0;i<16;i++)
  {
  senddat(xianshi1[i]);
  delayms(20);
  }
  
  sendcom(0x90);
  delayms(40);
  for(i=0;i<16;i++)
  {
  senddat(xianshi2[i]);
  delayms(20);
  }
  
  sendcom(0x88);
  delayms(40);
  for(i=0;i<16;i++)
  {
  senddat(xianshi3[i]);
  delayms(20);
  }
  
  sendcom(0x98);
  delayms(40);
  for(i=0;i<16;i++)
  {
  senddat(xianshi4[i]);
  delayms(20);
  }
  
}
/*void display(uchar dat)
{
  writedat(0xfadat);
}*/
 
/******颜色初始化函数*******/
//函数:设置单片机定时计数器工作模式
//功能:选择TCS230输出比例因子,使能输出
/***************************/
/*void init51(void)
{
 TMOD=0x11;  //工作状态
 TH0=256-(50000/256); //定时器初值
 TL0=256-(50000%256);
 TH1=256-500/256;
 TL1=256-500%256; //初始化
 ET0=1;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       9371  2010-05-16 18:53  颜色识别.c

----------- ---------  ---------- -----  ----

                 9371                    1


评论

共有 条评论