单色图像识别单片机课程设计(8)

2019-05-24 14:24

单片机课程设计(论文)

参考文献

[1] 李朝青.单片机原理及借口技术[M].北京航空航天大学出版社;2000. [2] 杨家国.单片机原理与应用及C51程序设计[J].电子报,2009.

[3] 张松灿,肖本贤.高分辨率颜色传感器TCS3200D的原理和应用[D].合肥工业大学.2005. [4] 李广弟,朱月秀,王秀山.单片机基础[M].北京航空航天大学出版社,2001.7. [5] 张 伟.单片机原理及应用[M].机械工业出版社,2002.1.

[6] 卢川英, 于浩成, 孙敬辉, 孟 中. 基于 TCS3200D传感器的颜色检测系统[J].吉林大学学报.2008.11. [7] 杨 杰,谢元媛. 基于 TCS3200D芯片颜色测量系统的研究[J]. 新疆电力设计院.2010. [8]李爱勤,张绪坤.基于TCS3200D与LabVIEW的颜色测量系统[D].南京航空大学.2007.11. [9] 王 晴,尹志勇.基于颜色传感器 TCS3200D的新型经皮测疸仪的设计[D]. 第三军医大学.2008.6. [10]王安敏,尚绪超,赵龙.基于颜色传感器TCS3200D的油水界面检测仪的设计[D].青岛科技大学.2010.9. [11]丁 茹,李 刚. 可编程彩色光/频转换器TCS3200D及其应用[D]. 天津工程师范学院.2005.

[12]潘海鸿, 陈 琳, 段素强,梁成业,杨 微. 新型颜色传感器TCS3200D应用于CRRT机漏血检测的可行性研究[D]. 广西大学.2008.

[13]胡建民. 颜色传感器TCS3200D及颜色识别电路[J].单片机与嵌入式系统应用.2006. [14]刘增辉. 颜色传感器技术研究进展[J]. 传感器技术.2003.

[15]庞小兵,黄东胜,邹富顺.在线式光纤传感颜色识别系统的设计[D]. 自动化仪表.2010.9. [16]郑喜凤, 黄 娉,刘贵华. 三基色亮度计的设计和应用[J]. 微计算机信息.2009.

[17]刘双喜,丁筱玲. 基于TCS3200D的便携式数字化调色仪的系统设计[J].电子元器件应用.2007. [18] 可荣硕,马晓军,张思博. 基于RGB色彩空间的颜色识别系统设计[J]. 微计算机信息.2010. [19] 胡建民. 颜色传感器TCS3200D及颜色识别电路 [EB/OL].

[20] 张松灿, 肖本贤. 高分辨率颜色传感器TCS3200D的原理和应用[EB/OL].

[21李爱勤, 张绪坤. 基于TCS3200D与LabVIEW的颜色测量系统 [J]. 电子科技, 2008, 21(6): 26-29. [22] 卢川英, 等. 基于TCS3200D传感器的颜色检测系统 [J]. 吉林大学学报 (信息科学版), 2008, 26(6) . [23] 颜色传感器TCS3200D [EB/OL].

34

单片机课程设计(论文)

附录1 程序代码

#include #include

#define uchar unsigned char #define uint unsigned int uchar str[3]; uchar *s;

uint date; //定义数据类型 uint dispcount=0; //中断计数 uint lck=0; //定时器计数 uint disp=0; //频率值 sbit RS=P2^0; //数据/命令选择端,高电平-数据寄存器,低-指令寄存器 sbit RW=P2^1; //读/写选择端,高-读操作,低-写操作 sbit E=P2^7; //使能端 /************************************************** 延时函数,延时1ms

**************************************************/ void delay1ms(uint i) { uint j; while(i--)

{ or(j=0;j<125;j++); } }

/************************************************** 传感器测量模块

**************************************************/

void initTimer(void) // 定时器初值1ms { TMOD=0x0; TH0=0xe0; TL0=0x18; }

/**************************************************

定时器函数

**************************************************/

void timer0(void) interrupt 1 //定时1秒,每一秒中断一次,所记得数就是频率 { TH0=0xe0; TL0=0x18; lck++; if(lck==1000)

{ disp=dispcount; lck=0;dispcount=0; } }

/**************************************************

中断函数

***************************************************/ void int0(void) interrupt 0 //外部中断0,TCS3200D的OUT端口接到INT0端口

35

单片机课程设计(论文)

{ dispcount++; //每一次中断,计数加一 }

/**************************************************

RGB三种颜色通道选择模块

**************************************************/

void red() //红色通道 { P1=0x01;delay1ms(1100); date=disp/100;date=(255.0/153)*date; //153是在纯白情况下测得的红色通道频率值 }

void green()//绿色通道

{ P1=0xc1;delay1ms(1100); date=disp/100;date=(255.0/145)*date; //145是在纯白情况下测得的绿色通道频率值 }

void blue() //蓝色通道 { P1=0x81;delay1ms(1100); date=disp/100;date=(255.0/183)*date; //183是在纯白情况下测得的蓝色通道频率值 }

/************************************************** 整型数转化成字符串,以便LCD输出显示

**************************************************/ uchar * int2str(uint d) { if(d>=255) {d=255;

str[0]='0'+d/100; str[1]='0'+d0/10; str[2]='0'+d; } else { str[0]='0'+d/100; str[1]='0'+d0/10; str[2]='0'+d; } return str; }

/**************************************************

LCD显示模块

**************************************************/ void LCD_w_com(unsigned com) //写命令函数,com为 要写的指令 { RW=0; RS=0; E=1; P0=com; delay1ms(10); E=0; RW=1; }

void LCD_w_dat(uchar dat) // 写数据 函数, 写要显示的数据 { RW=0; RS=1; E=1; P0=dat; delay1ms(10); E=0; RW=1; }

void init_LCD(void) // 初始化lcd

{ LCD_w_com(0x38); // lcd为两行显示8位数据线有效 LCD_w_com(0x0e); // 显示字符 关闭光标

36

单片机课程设计(论文)

LCD_w_com(0x06); // 输入方式设置 光标向右移动一位 ac-1 }

void clear_LCD() //清屏 {

LCD_w_com(0x01); //清屏指令 LCD_w_com(0x02); // 光标归位 即光标置于左上位置 }

void display_LCD_string(uchar *p) //字符串输出函数 { while(*p)

{ LCD_w_dat(*p); p++; delay1ms(10); } }

void gotoxy(unsigned x,unsigned y) //定位 ,x为行,y为列 { if(x==1) LCD_w_com(0x80+y); elseLCD_w_com(0xC0+y); }

/************************************************** 主函数

**************************************************/ void main(void)

{ IT0=1; //INT0下降沿中断 EX0=1; //允许INT0中断 initTimer(); //装入初值 TR0=1; //开定时器T0 ET0=1; //允许T0中断 EA=1; //中断总控制

init_LCD //LCD初始化 clear_LCD(); //清屏 while(1)

{ gotoxy(1,00); display_LCD_string(\//调用红色通道并显示色彩值 gotoxy(1,02); s = int2str(date); display_LCD_string(s); gotoxy(1,05); display_LCD_string(\

gotoxy(1,07); display_LCD_string(\//调用绿色通道并显示色彩值 gotoxy(1,011); s = int2str(date);display_LCD_string(s); gotoxy(1,014); display_LCD_string(\

gotoxy(2,00); display_LCD_string(\/调用蓝色通道并显示色彩值 gotoxy(2,02); s = int2str(date); display_LCD_string(s); gotoxy(2,05); display_LCD_string(\ } }

37

单片机课程设计(论文)

附录2 系统电路总图

38


单色图像识别单片机课程设计(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于开展乡(镇)村干部轮训的通知

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: