项目汇报-模块说明-rosys机器人_第1页
项目汇报-模块说明-rosys机器人_第2页
项目汇报-模块说明-rosys机器人_第3页
项目汇报-模块说明-rosys机器人_第4页
项目汇报-模块说明-rosys机器人_第5页
已阅读5页,还剩187页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、描述4位数码管模块 二、规格项参额定电DC工作电电路板尺安装孔 21219219SIGNAL1/SIGNAL2各引脚说引脚名功1电2段选BCD3456位选BCD789小数地部数码管位选控制表:正视数码管从左到右依次 选通数1000210030104110数000001100020100311004001051010601107111080001910014位数码管模块接在ATmega128主控板PORTA口,数码管循环显 #include"avr/io.h"//staticvolatileunsignedchar*PIN[]={&PINA,&PINB,&PINC,&PIND,&PINE,&PINF,& staticvolatileunsignedchar*staticvolatileunsignedintsCount=0;staticvolatileunsignedcharNumPort;staticvolatileunsignedlongledst=0;floatl;{constunsignedcharxval[]{1,2,4,{}}voidInitTimer0(void)//定时器0溢出中{ //0TOP0xFF0 1474560/(256*256)=225Hz,数码管每秒刷新225次TIMSK| //0}SIGNAL(SIG_OVERFLOW0)//中断处理程{unsignedchara[4];{HiPort=ln2(0x08>>ledind);{}{}

*PORT[NumPort](HiPort<<4|0x80)|LoPort;//*PORT[NumPort]=(HiPort<<4|0x00)|{}else{}else{}{}}voidinitNumLed(unsignedcharPort)//数码管端口初始{}{if((l<0.0)|{}

}voiddriveNumLed(float{}intmain(void){unsignedcharLedportNum=0;floatLedValue=5;InitTimer0();{for(LedValue=5;LedValue>=0;LedValue--{}}} 四、应用一、描述12864LCD显示模块:ACT10P00212864LCD二、规格项参通信总模拟SPI总工作电工作温--电路板尺安装孔 221 9SIGNAL1SIGNAL1各引脚说明1234 H:数据L:命56SIGNAL2各引脚说明12字库IC串行数据信号3字库IC片选信号4字库IC5字库IC部操作指基本操作指对字库部分的操作只有两个,那就是ReadDataBytes(READ“一般 和ReadDataBytesatHigherSpeed(FAST_READ“快速 操作ReadDataBytes(一 ReadDataBytesatHigherSpeed(快 每个汉字在中是以汉字点阵字模的形式的,每个点用一个二进制表示,存1的点,当显示时可以在屏幕上显示亮点,存0的点,则在屏幕上不显1286415×16点汉字排列格式5×7点ASCII7×8点ASCII8×16点字符排列格式2.316点阵不等宽ASCII方头(Arial)、白字(TimesNewRoman)2.3字符在中的地址计算方15×16点GB2312标准点阵字库8×16点国标扩展字符ASCII字符的地址计算5×7点ASCII字符7×8点ASCII字符8×16点ASCII字符16点阵不等宽ASCII方头(Arial)8×16点ASCII粗体字符16点阵不等宽ASCII白正(TimesNewRoman)LCD与主控板通信部分:输入信号上升时间和下降时间(Tr,Tf)指定为15ns所有时间都规定使用20%和80%的VDD作为参考。 2.4用C284(,然后清屏,显示“欢迎光临”带方框,清屏,显示“博雅创世”,清屏,显示“地址”,“市海淀,“门联路9”,号海云轩D座1室”示。#include"avr/io.h"staticvolatileunsignedchar*staticvolatileunsignedchar*PIN[]={&PINA,&PINB,&PINC,&PIND,&PINE,&PINF,& staticvolatileunsignedchar*//函数名称//函数//函数作用:io口整字节输//参数//unsignedcharport:端//unsignedcharvalue:要输出的voidIoOut(unsignedcharport,unsignedchar{}//函数//函数类型:unsigned//函数作用 口整字节输入,返回输入的//参数//unsignedcharportunsignedcharIoIn(unsignedchar{}//函数//函数//函数作用:io口按位输//参数//unsignedcharaddress:端//intbit://unsignedcharval:值,非零输出高电平,零输出低电平//通过改变DDRA、 可以实现使用任意端口操作液voidIoOutB(unsignedcharaddress,intbit,unsignedchar{unsignedchar}//函数名称//函数类型:unsigned//函数作用:按位IO口电平,返回非零高电平,零低电//参数//unsignedcharaddress:端口//intbit:位unsignedcharIoInB(unsignedcharaddress,intbit){unsignedchar}#defineCS_LO(LCDport) IoOutB(LCDport,0,0)#defineCS_HI(LCDport) IoOutB(LCDport,0,1)#defineRST_LO(LCDport) IoOutB(LCDport,1,0)#defineRST_HI(LCDport) IoOutB(LCDport,1,1)#defineA0_LO(LCDport) IoOutB(LCDport,2,0)#defineA0_HI(LCDport) IoOutB(LCDport,2,1)#defineSCL_LO(LCDport) IoOutB(LCDport,3,0)#defineSCL_HI(LCDport) IoOutB(LCDport,3,1)#defineDI_LO(LCDport) IoOutB(LCDport,4,0)#defineDI_HI(LCDport) IoOutB(LCDport,4,1)#defineSCK_LO(ROMport) #defineSCK_HI(ROMport) IoOutB(ROMport,0,1)#defineCS_LO_(ROMport) IoOutB(ROMport,1,0)#defineCS_HI_(ROMport) IoOutB(ROMport,1,1)#defineOUT_ROM #defineIN_LO(ROM) //向 液晶控制器发送一字节数据{inti;{{}{chTmpA=chTmpA<<}//向LCD液晶控制器发送一voidsendData(unsignedcharLCDport,unsignedchar{inti;{{}{}chTmpA=chTmpA<<}}//向LCD控制器写数{}//writecommandtoLCD mand_lcd(unsignedcharLCDport,unsignedchar{}voidresetRAMData(unsignedchar{unsignedcharpage=0,col=for(page=0;page<8;{mand_lcd(port,(0xb0|page));mand_lcd(port,0x10);mand_lcd(port,0x00);for(col=0;col<128;{transfer_data_lcd(port,}}}{column=column-mand_lcd(port,0xb0+1); mand_lcd(LCDport0x10+(column>>4&0x0f));/*4mand_lcd(LCDport, /*4}voidinitLCD(unsignedchar{mand_lcd(LCDport,0xa0);mand_lcd(LCDport,0xc8);mand_lcd(LCDport,0xa3);mand_lcd(port,0xa7);mand_lcd(LCDport,0x2c);mand_lcd(LCDport,0x2f);mand_lcd(LCDport,0x24);mand_lcd(LCDport,mand_lcd(port,0x15);mand_lcd(LCDport,0xaf);mand_lcd(LCDport,0x40);}/*全屏清屏{unsignedchari,j;{{}}}/*128x64voiddisplay_128x64(unsignedcharLCDport,unsignedchar{unsignedinti,j;{for(i=0;i<128;i++){transfer_data_lcd(LCDport,*dp);//写数据LCD,每写完一个8位的数据后列地址自动加}}}/*显示16x16点阵图像、汉字、生僻字或16x16点阵的其他图标voiddisplay_graphic_16x16(unsignedintROMport,unsignedintLCDport,unsignedintpage,unsignedintcolumn,unsignedchar*dp){unsignedint{for(i=0;i<16;i++){transfer_data_lcd(LCDport,*dp);/*写数据到LCD,每写完一个8位的数据后列地址自动}}}/*显示8x16点阵图像、ASCII,或8x16点阵的自造字符、其他图标voiddisplay_graphic_8x16(unsignedcharLCDport,unsignedcharpage,unsignedcharcolumn,unsignedchar*dp){unsignedint{for(i=0;i<8;i++){transfer_data_lcd(LCDport*dp*写数据到LCD,每写完一个8位的数据后列地址自动加1*/}}}/*显示5*7点阵图像、ASCII,或5x7点阵的自造字符、其他图标voiddisplay_graphic_5x7(unsignedcharLCDport,unsignedcharpage,unsignedcharcolumn,unsignedchar*dp){unsignedint page_address=0xb0+1;column_address_L=(column&0x0f)-1;mand_lcd(LCDport,column_address_H);/*SetMSBofcolumnAddress*/mand_lcd(LCDport,column_address_L); for {}}//===============液晶屏显示一个框,测试voiddisplay_kuang(unsignedchar{unsignedcharseg;{{{ }}{{{ elseif(seg==127)transfer_data_lcd(LCDport,0xff); }}{{ }}}}}//*****************测试液晶是否良好,测试用voiddisplay_lattice(unsignedcharLCDport,unsignedchardat1,unsignedchar{unsignedcharseg;{}}}/****送指令到字库IC- {unsignedchari;datu=datu<<1;}}/****从字库IC-ZLE16115中取汉字或字符数据(1个字节)***/unsignedcharget_data_from_ROM(unsignedcharROMport)//static{//unsignedchari;{}}/*addHih,adrMd,adrLw中连续读出Dataen个字节的数据到pBff*//*连续charaddrMid,unsignedcharaddrLow,unsignedchar*pBuff,unsignedcharDataLen{unsignedcharmand_to_ROM(ROMport,0x03);mand_to_ROM(ROMport,addrMid);for(i=0;i<DataLen;i++}//staticunsignedlong staticunsignedlongfontaddr=0;voiddisplay_GB2312_string(unsignedcharROMport,unsignedcharLCDport,unsignedchary,unsignedcharx,unsignedchar*text){unsignedchari=unsignedcharfontbuf[32];{if(((text[i]>=0xb0){/*国标简体(GB2312)汉字在字库IC- 中的地址由以下公式来计算/*Address=((MSB-0xB0)*94+(LSB-0xA1)+846)*32+/*由于担心8位单片机有乘法溢出问题,所以分三部取地址fontaddr=(text[i]-0xb0)*94;fontaddr=(unsignedaddrHigh=(fontaddr&0xff0000)>>16;/*地址的高8位,共24位*/addrMid=(fontaddr&0xff00)>>8; /*地址的中8位,共24位*/addrLow=fontaddr&0xff;/*地址的低8位,共24位*/get_n_bytes_data_from_ROM(ROMport,addrHigh,addrMid,addrLow,fontbuf,32);/*取32个字display_graphic_16x16(ROMport,LCDport,y,x,fontbuf);/*显示汉字到LCD上,y为页地址,x}elseif((text[i]>=0x20){fontaddr=(text[i]-0x20);fontaddr=(unsignedlong)(fontaddr*16);addrHigh=(fontaddr&0xff0000)>>16;addrMid=(fontaddr&0xff00)>>8;addrLow=fontaddr&0xff;display_graphic_8x16(LCDport,y,x,fontbuf);/*显示8x16的ASCII字到LCD上,y为页x为列地址,fontbuf[]为数据*/}}}staticconstchar//欢迎光staticconstcharASCII_8_32[][32]=unsignedcharhuan[32]={/*- 文字 欢--/*- 文字 欢-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 文字 迎--/*- 文字 迎-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 guang[]={/*- 文字 光--/*- 文字 光-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 lin[]={/*- 文字 临--/*- 文字 临-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 //LCDvoiddriveLCDmore(unsignedcharport,unsignedcharstartPage,unsignedcharstartCol,unsignedcharcharacter){unsignedcharpage=unsignedcharcolumnHigh=((startCol>>4)&0x0f);unsignedcharcolumnLow=(startCol&0x0f);unsignedcharmand_lcd(port,(page|0xb0));mand_lcd(port,(columnHigh|0x10));mand_lcd(port,(columnLow|for(seg=0;seg<16;{transfer_data_lcd(port,}

mand_lcd(port,(page|0xb0));mand_lcd(port,(columnLow|for(seg=16;seg<32;{transfer_data_lcd(port,}}int{unsignedcharLCDport=0;unsignedchari=0;{ {}display_GB2312_string(ROMport,LCDport,4,30,"博雅创世");//在第1页,第1列,显16x16点阵汉字或8x16的ASCII字 display_GB2312_string(ROMport,LCDport,7,1,"号海云轩D座091室}}四、应用一、描述IIC舵机控制扩展板:ACT10P006IIC舵机控制扩展板模块是一款可以扩展使用4路舵机的模块。二、规格项参IIC工作电工作电电路板尺安装孔外接电源接外接电源接ISP接 12312 123121 1JISP各引脚说明12SPI3SPI4SPI通讯中时钟控制56J0,J1,J2,J3各引脚说明123SIGNAL1/SIGNAL2各引脚说明12IIC3IIC456SIGNAL167SIGNAL178SIGNAL189SIGNAL19SO摆动方向说明1上2下内接+5V电源部无地址选择开关的模块地址为:0x10,即十进制 有模块选择开关的模块地址为:基址+开关状态*2。基址为0x10,即十进制数15。如:某个超声波模块的开关状态为ON、OFF、ON、ON,则此模块的地址为:0x10+0x0d*2=0x2a。协议:写5字节:0xAA+ID+Data0+Data1+0xBB。ID为舵机,为0~5。Data1:Data0构成一16位数,以us为单位指定高电平时间,范围0~2500。模块产生信号为50Hz的波。IIC舵机控制扩展板模块与Atmega128的IIC信号传输时序图START/STOP状态主机启动与停止数据传输。主机在总线上发出START信号以启动数据传输;在总线上发STOP信号以停止数据传输。STARTSTOP之间,需要假定总线忙。不允许其他主机控制总线。特别是STARTSTIO状态之间发出一个新的START状态。这被称为REPEATEDSTART状态,适用于主机在不放弃总线控制的情况下启动新的传送。在REPEATEDSTART之后,直到下一个STOP,需要假定总线处于忙的状态。这与START时完全一样的。如下所示,START与STOP状态时在SCL线为高时,通过改变SDA电平来实现START、REPEATEDSTART与STOP状态STOP 发送主要由START状态、SLA+R/W、至少一个数据包及STOP状态组成。只有START与STOP状态的空信息时的。可以利用SCL的线与功能来实现主机与从机的握手。从机可通过拉低SCL来延长SCL低电平的事件。当主机设非常有用的。从机延长SCL低电平的时间不会影响SCL高电平的时间,因为SCL高电平时间是由主机决定的。由上述可知,通过改变SCL的占空比一可降低IIC数据传送速度。模块用于IIC通信时接主板D口。模块上有LED四、应用一、描述电机舵机驱动模块:ACT10P009电机舵机驱动模块采用L298P典型双H桥直流电机驱动,可驱动两组二、规格项参电机工作电压范DC舵机工作电压范舵机工驱动峰2A(单电机逻辑部分供电电逻辑部分工作电流范最大功25W(温度T=75℃时工作温电路板尺安装孔DCM113DCM1131313122 2 21219219引脚名功1电213电机24电机15电机261718292地JRC1\2各引脚说引脚名功1舵机驱动信号输2电3地DCM1\2各引脚说1接电机负2接电机正侧立开关J1使用说引脚名功1J1接舵机2J1接舵机电侧立开关J2使用说引脚名功1J2接电机2J2接电机电电机驱动模块与ROSYS主控板连接方式部本模块使用电机驱动模块L298驱动 同占空比的 制系统。标准的舵机有三条引线,分别是电源线VCC、地线GND和控制信号线。下图为舵机输出转角与输入信号脉冲宽度的关系,其脉冲宽度 变化时,舵机输出轴转角在0°~180°变化 一、将电机驱动模块接在ATmega128主控板的PORTB口,将电机接在电机驱动模块的DCM1接口上,程序编译后,电机间隔1S左右摆动。#include"avr/io.h"staticvolatileunsignedchar*//函数//函数//函数作用:io口按位输//参数//unsignedcharaddress:端//intbit://unsignedcharval:值,非零输出高电平,零输出低电平voidIoOutB(unsignedcharaddress,intbit,unsignedchar{unsignedchar}

/*void//函数功能:定时器0// 数://返回值:无 void{} IoOutB(1,0, IoOutB(1,0, IoOutB(1,2, IoOutB(1,2,/*函数功能:正转程序 数:无返回值:无 voidfowrd_1(char{{}}/*函数名称:voidreverse(uchar函数功能:反转程序 数:无返回值:无 void {{OCR0}}int{inti;{}}二、将电机驱动模块接在ATmega128主控板的PORTB驱动模块的JRC1、JRC2接口上,程序编译后,舵机每隔2秒转动45度,当转到180度后转回0度,依此循环。#include"avr/io.h"staticvolatileunsignedchar*//函数名称//函数类型//函数作用:io口按位//参数//unsignedcharaddress:端口//intbit:位//unsignedcharval:值,非零输出高电平,零输出低电平voidIoOutB(unsignedcharaddress,intbit,unsignedchar{unsignedchar/*函数名称函数功能:定时器1初始化函数 数:无:时钟 voidtime1_init{TCCR1A0xF0; 1A1COM1A0COM1B1COM1B0:1111TCCR1B=0x12;//8分频}int{ 低四位输入,以检测按键,输time1_init();//定时1初始{OCR1A=460; //5001ms10002msOCR1A=920;OCR1B=OCR1A=1382;OCR1B=OCR1A=1843;OCR1B=OCR1A=2304;OCR1B=}信号经过74HC04将电转再送至L298P,最终控制信号为单片机的发送采H桥直流电机驱动,驱动电压范围较宽使现转电LH1通波HL1HH1LL1LH2通波HL2HH2LL2四、应用一、描述

AVRAVR器:SEN10P012AVR器是一款AVR系列器二、规格项参工作电DC电路板尺安装孔 21219J5各引脚说明1SPI2357SPI通讯中时钟控制9J6各引脚说明12SPI3SPI4SPI通讯中时钟控制56J1:自编程跳线短接此跳线可试用另一个isp烧写线对usbasp程序把usbasp当作avr的最小系统使用。或自行对其进行固件升级。(固件升级请慎J2:供电跳线设置J5的pin2是否向目标板供5V电源。注意:如果目标板自带电源,则建议把该跳线断开。如果该跳线连接,则pin2将有5V电源。此电源位USB供电。J3慢时钟烧写跳线由于AVR的单片机有一部分在出厂是默认是内置1MRC或者已经烧写8分频熔丝位。这是直接烧写会出现错误需短接J1选择慢时钟烧写成系统2M以上再把掉J1跳线即可。想MEGA48/88/168/16L/8LJ4:USB接 直接插在电脑USB插 后,必须安装相应的硬件驱动,以方便使用USBASP下USBASP驱动程序安装:将USBasp 电脑usb接口后,系统提示找到安装成功后,在设备管理器中应该发现下面的USBASP 器与单片机正确地连接。本器采用的是兼容ATMEL的上位 :智峰的用户在程序时J1、J2、J3断接四、应用AVR程序一、描述

LEDLED模块 ACT3P002LEDLED二、规格项参波长范工作电DC工作电工作温电路板尺安装孔1212P1引脚名功1信号输2电源正3电源负输入输出输入现高电亮低电灭3部将LED模块接在ATmega128主控板的PORTA口的J0脚,间隔一秒进行亮#include"avr/io.h"intmain(void){DDRA={PORTA=PORTA=0X00;}return}LEDLED灭;在电流允许范围内,四、应用一、描述蜂鸣器:ACT3P004二、规格项参额定电DC工作电工作温-电路板安装孔引脚名功123输入输出输入现高电响低电不部蜂鸣器接ATmega128主控板PORTF口的J0脚,接通电源后1S蜂鸣器开始鸣响,鸣响5次后停止。#include"avr/io.h"staticvolatileunsignedchar*PIN[]={&PINA,&PINB,&PINC,&PIND,&PINE,&PINF,& staticvolatileunsignedcharNumPort;staticvolatileunsignedlongledst=0;//函数//函数//函数作用:io口按位输//参数//unsignedcharaddress:端//intbit://unsignedcharval:值,非零输出高电平,零输出低电平voidIoOutB(unsignedcharaddress,intbit,unsignedchar{unsignedchar}

//函数//函数//函数作用:蜂鸣器//参数//unsignedcharport:蜂鸣器信号//unsignedcharbit:蜂鸣器信号//unsignedchartimes:蜂鸣器鸣voiddriveBuzzer(unsignedcharport,unsignedcharbit,unsignedchar{unsignedchari=0;unsignedcharflag=0;{{}{}}}

flag=IoOutB(port,bit,flag=IoOutB(port,bit,int{return}有源蜂鸣器与无源蜂鸣器工作方式不同:有源蜂鸣器直接加电就可以响,无有四、应用一、描述

继电器模块:ACT3P008(又称输入回路和被控(又称输出回路(电压、电流等达到规定值时,是被控制二、规格项参触刀数一组转吸合电电线圈电工作电输出带 125VAC~250VAC 电路板尺安装孔P3引脚名功1控制信2电3接输入输出输入现高电常开导低电常闭导部闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为()极管Q1P3.1输入高电平时Q14,5(见原理图3(),反之,当当单片机给P3.1输入低电平时Q1截止,继电器4,5,无电流流过,此时2四、应用一、描述ATmega128控制板:AVR001ATmega128控制板是一款采用ATMEGA128作为主控的单片机学二、规格项参主JTAG一一外接电一USB一10P端口引出7工作电DC电路板尺安装孔91221229999122122999921JISP各引脚说引脚名功12电3空4地5复位信6地7SCK同步时钟信8地9TXD0地JTAGJTAG各引脚说引脚名功1JTAG测试时2地3JTAG测试数据输出引4电5JTAG测试模式选择引6空7电8空9JTAG测试数据输入引地PortA~PortF各引脚说引脚名功1电对应位置引出地ATmega128ATmega128

1.2原理图1.2原理图

RoSys::~4::~4 四、应用avr学习开发板一、描述ATmega8控制板:AVR002ATmega8控制板是一款采用ATMEGA8作为主控的单片机学习开二、规格项参主UART1IIC1模数转8ISP接110P端口引出2外接电1工作电DC电路板尺安装孔 1 1 1231216口口口 模数转引出接电选择关外接电接 口 10 2 22B1919U4引脚名功123IIC4地U5引脚名功12异步串3异步串4地JISP各引脚说引脚名功12MOSI3MISO4SCK同步时钟信5复位信6地PC0~PC7各引脚说引脚名功10~72电3地PortB/PortD各引脚说引脚名功1电对应位置引出地 四、应用avr学习开发板一、描述

接口转换模块是一个10线接口与8个3二、规格项参额定电DC电路板安装孔J0~J7引脚名功1数2电3地SIGNAL1/SIGNAL2各引脚说明1电2J03J14J25J36J47J58J69J7地四、应用开发板5*2接口转8路三线接口控一、描述

键盘阵列:SEN10P002键盘阵列模块是一款4*4的键盘阵列。二、规格项参额定电DC工作电电路板尺安装孔 221 9SIGNAL1引脚说引引脚名功1电输出按键地部将矩阵键盘接在ATmega128主控板的PORTB口,将四位数码管接在ATmega128主控板的PORTA口,按不同的键值,数码管显示相应的键值#include"avr/io.h"staticvolatileunsignedchar*PIN[]={&PINA,&PINB,&PINC,&PIND,&PINE,&PINF,& staticvolatileunsignedchar*staticvolatileunsignedcharNumPort;staticvolatileunsignedintLedNum=0;staticvolatileunsignedlongledst=0;unsignedcharKdmPort;///初始化键盘阵{}///////初始化数码管模块需要用到的IO/////voidInitNumLed(unsignedcharPort){}/////////LED数码管显示,IO口高四位提供位选,IO口低四位提供Bin{if((l<0.0)|{}

}////////扫描键盘。返回键值0到0xf,如果无按键返回-int{unsignedcharconstunsignedchar{if(keycode==0x0f)return-1;{returni;}return-1;}{constunsignedcharxval[]{1,2,4,{}}voidInitTimer0(void)//定时器0溢出中{ //0TOP0xFF0 //控制寄存器设置,时钟预分频值 256,1474560/(256*256)225Hz225TIMSK| //0}SIGNAL(SIG_OVERFLOW0)//中断处理程{unsignedchara[4];{HiPort=ln2(0x08>>ledind);{}{}

*PORT[NumPort](HiPort<<4|0x80)|LoPort;//*PORT[NumPort]=(HiPort<<4|0x00)|{}else{}else{}{}}intmain(void){unsignedcharledPortNum=0;intkeyValue;{}}四、应用一、描述二、规格项参温度测测温精温度分辨湿度测20%RH测试精湿度分辨通信总工作电工作温-电路板尺安装孔9219211IIC 21219219JISP12SPI3SPI4SPI56J11VOUTMPX4115A2右接VAC_5TIMES即M4115ASIGNAL1/212IIC3IIC456789天气传感器模块与ROSYS主控板连接方式天气传感天气传感

VCCJISPSIOSIO)))456

113579

4 4

Header

Res

1357913579VCC

Header

R1110K

12DATANC4

3

1

6Vout5

3

A

GND

SW-

NC4U4aPressureATmega8_TQPF

1

PC1(ADC1)24PC0(ADC0)23ADC7

R18

465GND6

GNDAREFADC6

R19R20R21R22R23R24

12

18

453453BI/RBOVCCaA0A1A28

PB5(SCK) 5 5 PD5PD6

1.3原理图1.3原理图

99

678

BIT1 BIT2PB3(MOSI)PB4(MISO)PB3(MOSI)PB4(MISO)

57

98

::~::~4部模块通讯方式介温湿度传感器DHT11DHT11数据结构DHT11数字温湿度传感器采用单总线数据格式。即,单个数据引脚端口完成输入输出双向传输。其数据包由5Byte(40Bit)组成。数据分小数部分和整数部一次完整的数据传输为 数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和数据为前节相加之间应分开处理。如果,某次从传感器中读出如下5byte数据: temp(温度)=DHT11传输时序数字0数字1通过 通过 102034 1.0(湿度标志位),湿度值;2.0(光照标志位),光照值;本模块可作为从机通过IIC通讯方式与外部单片机进行通信 0x30(IIC最后发送0x21(从机地址+读) 口:主控板D天气传感器模块与Atmega128的IIC信号传输时序图 START/STOP状态主机启动与停止数据传输。主机在总线上发出START信号以启动数据传输;在总线上发出STOP信号以停止数据传输。在START与STOP状态之间,需要假定总线忙。不允许其他主机控制总线。特别是在START与STIO状态之间发出一个新的START状态。这被称REPEATEDSTART状态,适用于主机在不放弃总线控制的情况下启动新的传送。在REPEATEDSTART之后,直到下一个STOP,需要假定总线处于忙的状态。这与START时完全一样的。如下所示,STARTSTOP状态时在SCL线为高时,通过改变SDA电平来实现START、REPEATEDSTART与STOP状态STOP 发送主要由START状态、SLA+R/W、至少一个数据包及STOP状态组成。只有START与STOP状态的空信息时的。可以利用SCL的线与功能来实现主机与从机的握手。从机可通过拉低SCL来延长SCL低电平的事件。当主机设非常有用的。从机延长SCL低电平的时间不会影响SCL高电平的时间,因为SCL高电平时间是由主机决定的。由上述可知,通过改变SCL的占空比一可降低IIC数据传送速度。AddrAddrAddrLSB DataAddrLSB Data AddrAddrAddrLSB DataAddrLSB Data Data从机向主机传IIC通讯现象天气传感模块接主控板D口,数码管模块接主控板A口,有USB线给主控给天气传感模块和ATmega128主控板同时复位,天气传感模块上的数码管显示部分和数码管模块同时循环显示“2,4,5,7,8,10,11,13”等数字1周或2周,用以等待iic通讯工作;然后数码管模块显示0,天气传感模块显示此模块缓存中的数据,此时进入IIC中断服务程序,主控板等待接受数据;DHT11一次通讯时间最大3ms,主机连续采样间隔建议不小于100ms模块用于IIC通信时接主板D口。四、应用一、描述超声波测距模块:SEN10P006超声波测距模块是一款低成本的利用超声波进距的模块。该产品既可以IICROSYS二、规格项参测量范30- 被测物体与探头发出声波方向垂测量精数码管显示分辨响应频通信总IIC工作电工作电工作温--电路板尺安装孔112192219219JISP12SPI3SPI4SPI56SIGNAL1/212IIC3IIC456与SIGNAL16脚相7与SIGNAL17脚相8与SIGNAL18脚相9与SIGNAL19脚相超声波测距模块与ROSYS主控板连接方式部数据位数:16位(低8位0xf0+高8位0xaa)组成超声波测距模块与Atmega128的IIC信号传输时序图2)START/STOP状态主机启动与停止数据传输。主机在总线上发出START信号以启动数据传输;在总线上发出STOP信号以停止数据传输。在START与STOP状态之间,需要假定总线忙。不允许其他主机控制总线。特别是在START与STIO状态之间发出一个新的START状态。这被称REPEATEDSTART状态,适用于主机在不放弃总线控制的情况下启动新的传送。在REPEATEDSTART之后,直到下一个STOP,需要假定总线处于忙的状态。这与START时完全一样的。如下所示,STARTSTOP状态时在SCL线为高时,通过改变SDA电平来实现START、REPEATEDSTARTSTOP状态STOP 发送主要由START状态、SLA+R/W、至少一个数据包及STOP状态组成。只有START与STOP状态的空信息时的。可以利用SCL的线与功能来实现主机与从机的握手。从机可通过拉低SCL来延长SCL低电平的事件。当主机设非常有用的。从机延长SCL低电平的时间不会影响SCL高电平的时间,因为SCL高电平时间是由主机决定的。由上述可知,通过改变SCL的占空比一可降低IIC数据传送速度。数据位数:16位(低8位0xf0+高8位0xaa)组成模块用于IIC通信时接主板D口。模块上有LED四、应用一、描述非接触式体温测量 。非接触式体温测量模块是一款通过红外线检测温度的模块该产品既可以单独使用,也可以通过模块上的IIC口与本公司生产的机器人智能平台配套使用。运行稳定,可适应不同的工作二、规格项参通信总测温范-测量角分辨响应时刷新频额定电DC工作温-电路板尺安装孔219212192191U1引脚名功1电2TN93地4使5TN9SIGNAL1/SIGNAL2各引脚说引脚名功1电2TWI串行时3TWI串行数无地JISP各引脚说引脚名功1电2SPI主机输3SPI主机输4SPI串行时5复6地 非接触式体温测

VCC

VCC

VCC R17Res1Res1

1234123456789

1234123456789

TN9CLK3 5

12345123451234512345 453453BI/RBOVCCa8742153Dig1Dig2Dig3Dig4123123I)I)O))56

65465

PC1(ADC1)24PC0(ADC0)23ADC7

AREFADC6

PD5

PD6

BIT0211299

PB5(SCK)

5 578

BIT1 BIT2

57

1391.3原理图1.3原理图

::~4模块通讯方式介非接触式红外测温感应探头将接收到的温度信号通过SPI传送给单片(Atmega8),单片机将收集到的数据经过处理通过数码管显示出来非接触式红外测温传感器与Atmega8的SPI信号传输时序图Byte Byte 感应信号的高8 感应信号的低8 0Dh,数据结 ltem1的值为4Ch,Item2的值为0;如果ltem1的值为66h,则Item2的值为1; 感应信号的高8位数 感应信号的低8位数 0Dh,数据结接通电源数码管首先显示4.0,这是因为红外感应传感器处于初始化状态。然后数码管显示0.0+数据,0.0是标志位,表示被测量的物体温度,数据即为被测量物体的实际温度值;数码管也可能显示1.0+数据,1.0是标志位,表示环境温度,数据即为实际环境温度值。如果数码管显示1.0+数据,可按复位键使其恢复为0.0+数据状态。本模块可作为从机通过IIC通讯方式与外部单片机进行通信通信数据:首先发 0x20(从机地址+写然后发送0x30(IIC指令主机读标志)最后发送0x21(从机地址+读) 口:主控板D非接触式红外测温传感器与Atmega128的IIC信号传输时序图START/STOP状态在总线上发出STOP信号以停止数据传输。在START与STOP状态之间,需要假定总线忙。不允许其他主机控制总线。特别是在START与STIO状态之间发出一个新的START状态。这被称为REPEATEDSTART状态,适用于主机在不放弃总线控制的情况下启动新的传送。在REPEATEDSTART之后,直到下一个STOP,需要假定总线处于忙的状态。这与START时完全一样的。如下所示,START与STOP状态SCL线为高时,通过改变SDA电平来实现START、REPEATEDSTART与STOP状态STOPSTRT状态、SLR/WSOP状态组成。有STRT与SOP时用SCL的与功能实现SL来延长SCL非常有用的。从机延长SL低电平的时间不会影响SCL高电平的时间,因为SLSLIICAddrAddrAddrLSB DataAddrLSB Data AddrAddrAddrLSB DataAddrLSB Data Data从机向测试说明见“测试参数见“手册”文件夹四、应用红外额体温手持温度红外侦测一、描述

01010101二、规格项参测量范灵敏工作电DC工作温-电路板尺安装孔01PA101PA101201PD20120101 SIGNAL1各引脚说明1电2A/D无地SIGNAL2各引脚说明1电2A/D无地称重模块与ROSYS主控板连接方式部将4个压力传感器分别接在PA1、PB1、PC1、PD1或PA2、PB2、PC2、PD2上,压力信号再经OP07CD放大,将放大后的信号输出。将称重模块与主控板F口相连,称重模块输出信号A/D转换,转换成单片机可以用的数字量,再将A/D转换值与实际重量相校准即可实现称重功能。 四、应用一、描述

二、规格项参额定电DC工作电工作温-电路板安装孔SS12P1引脚名功1信号输2电源正3电源负333部拨动把手,开关呈闭合、断开两种状态将开关模块接在ATmega128控PORTA的J1LED模块接在ATmega128主控板的PORTA口的J0脚,用开关控LED的亮灭,当开关(输出高电平)拨到S端时LED亮,当开关拨离S端时LED灭。#include"avr/io.h"intmain(void){DDRA={PORTA=0X01;PORTA=}return}开关拨到 端输出高电平,开关拨到另一端输出低电四、应用一、描述温度传感模块 温度传感模块是一款检测物体或环境温度的传感器模二、规格项参工作电DC工作电电压输0V~4.95工作温-电路板安装孔P1P1引脚名功1信号输2电源正3电源负3部通过AD转换将模拟电压值转换成数字量,再经数码管显示出将温度传感模块接在ATmega128主控板PORTF口的J0口,四位数码管接ATmega128主控板PORTA口;由四位数码管显示接收的光照的强度,光照越#include"avr/io.h"staticvolatileunsignedchar*PIN[]={&PINA,&PINB,&PINC,&PIND,&PINE,&PINF,& staticvolatileunsignedchar*staticvolatileunsignedcharNumPort;staticvolatileunsignedintLedNum=0;staticvolatileunsignedlongledst=0;//函数名称//函数类型:unsigned//函数作用:按位IO口电平,返回非零高电平,零低电//参数//unsignedcharaddress:端//intbit:unsignedcharIoInB(unsignedcharaddress,int{unsignedchar}voidInitNumLed(unsignedchar{}/////////LED数码管显示,IO口高四位提供位选,IO口低四位提供Bin{if((l<0.0)|{}

}unsignedcharln2(unsignedcharx)//{constunsignedcharxval[]{1,2,4,{}}voidInitTimer0(void)//定时器0溢出中{ //计数值寄存器初始值为0,达到TOP值0xFF0 //控制寄存器设置,时钟预分频值 256,1474560/(256*256)=225Hz,数码管每秒刷新225TIMSK| //0}SIGNAL(SIG_OVERFLOW0)//中断处理程{unsignedchara[4];{HiPort=ln2(0x08>>ledind);{*PORT[NumPort]=(HiPort<<4|0x80)|LoPort;//}{*PORT[NumPort]=(HiPort<<4|0x00)|}{}else{}else{}{}}//函数名称//函数类型:unsigned//函数作用:AD转换,返回10位AD//参数//unsignedcharadcChannel:AD{//SetADCADMUX=0x40;//参考电压为AVCCADCSRA0x87;//采样时钟128ADMUX&=0xE0;ADMUX|=//StartADCconversionADCSRA|=1<<ADSC;//WaitingforADCconversioncompletedloop_until_bit_is_set(ADCSRA,ADIF);//置位ADCADCSRA|=1<<}//函数名称//函数类型:unsigned//函数作用:读温敏传感模块的//参数//unsignedcharbit:温敏检测信号输入{unsignedintoutData;returnoutData;}int{unsignedcharadcChannel=0;unsignedcharvalue;{ }温度传感器模块的响应时间为一分钟左温度传感器探头为负温度系数特性测试说明见“测试参数见“手册”文件夹四、应用电子温度计电子钟电子冷暖设备、加热恒温电医疗电设备、电子一、描述二、规格项参温度测湿度测响应时工作电DC工作电电路板安装孔1212P1引脚名功1信号输2电源正3电源负333部数字温湿度传感器采用单总线数据格式。即,单个数据引脚端口完成输入输出双向传输。其数据包由yt(4it)组成。数据分小数部分和整数部分,具体一次完整的数据传输为40bit,先出数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit数数据+8bit温度小数数据+8bit校验和 之间应分开处理。如果,某次从传感器中读出如下5byte数据: temp(温度)=DHT11传输时序数字0数字1采样周期不能低于1秒钟。通信协议见DHT11参数见“手册”四、应用一、描述 二、规格AD1212P1各引脚说明编123部通过AD光敏传感模块接ATmega128主控板的PORTF口的J0脚,四位数码管接ATmega128主控板的PORTA口,由四位数码管显示光照强度值,光照越强,数值#include"avr/io.h"staticvolatileunsignedchar*PIN[]={&PINA,&PINB,&PINC,&PIND,&PINE,&PINF,& staticvolatileunsignedchar*staticvolatileunsignedcharNumPort;staticvolatileunsignedintLedNum=0;staticvolatileunsignedlongledst=0;//函数名称//函数类型:unsigned//函数作用:按位IO口电平,返回非零高电平,零低电//参数//unsignedcharaddress:端//intbit:unsignedcharIoInB(unsignedcharaddress,int{unsignedchar}voidInitNumLed(unsignedchar{}/////////LED数码管显示,IO口高四位提供位选,IO口低四位提供Bin{if((l<0.0)|{}

}{constunsignedcharxval[]{1,2,4,{}}voidInitTimer0(void)//定时器0溢出中{ //0TOP0xFF0 //控制寄存器设置,时钟预分频值 256,1474560/(256*256)225Hz225TIMSK| //0}SIGNAL(SIG_OVERFLOW0)//中断处理程{unsignedchara[4];{a[3]=(LedNum/1000)%10;//从左向右数码管第一HiPort=ln2(0x08>>ledind);{}{}

*PORT[NumPort](HiPort<<4|0x80)|LoPort;//*PORT[NumPort]=(HiPort<<4|0x00)|{}else{}else{}{}}//函数名称//函数类型:unsigned//函数作用:AD10位AD//参数{//SetADCADMUX //参考电压为ADCSRA=0x87; ADMUX&=0xE0;ADMUX|=ADCSRA|=1<<ADSC;//WaitingforADCconversioncompletedloop_until_bit_is_set(ADCSRA,ADIF);//ADCADCSRA|=1<<}//函数名称//函数类型:unsigned//函数作用:读光敏传感模块的//参数//unsignedcharbit:光敏检测信号输入{unsignedintoutData;returnoutData;}int{unsignedcharadcChannel=0;unsignedcharvalue;{}}四、应用一、描述反射型光电模块:SEN3P006二、规格项参工作电DC工作温工作量电路板尺安装孔P1P1引脚名功123反射型光电模块与ROSYS主控板连接方式部当给反射型光电模块上电后,反射型光电模块上的发射小球(蓝色发射红外线信号,当在测试范围内有物存在时,反射型光电模块上的接收小球(黑由反射型光电模块接ATmega128主控PORTFJ0口,四位数码管接在主控板PORTA当有物出现在反射型光电模块感应探头感应范围内时,模块上的指示灯亮,数码管显示1;否则,指示灯不亮,数码管显示0。#include"avr/io.h"staticvolatileunsignedchar*PIN[]={&PINA,&PINB,&PINC,&PIND,&PINE,&PINF,& staticvolatileunsignedchar*staticvolatileunsignedcharNumPort;staticvolatileunsignedintLedNum=0;staticvolatileunsignedlongledst=0;//函数名称//函数类型:unsigned//函数作用:按 IO口电平,返回非零高电平,零低电//参数//unsignedcharaddress:端//intbit:unsignedcharIoInB(unsignedcharaddress,int{unsignedchar}voidInitNumLed(unsignedchar{}/////////LED数码管显示,IO口高四位提供位选,IO口低四位提供Bin编{if((l<0.0)|{}

}{constunsignedcharxval[]{1,2,4,{}}voidInitTimer0(void)//定时器0溢出中{ //计数值寄存器初始值为0,达到TOP值0xFF,重新变0 //控制寄存器设置,时钟预分频值 256,1474560/(256*256)225Hz,225TIMSK| //0}SIGNAL(SIG_OVERFLOW0)//中断处理程{unsignedchar{HiPort=ln2(0x08>>ledind);{}{}

*PORT[NumPort](HiPort<<4|0x80)|LoPort;//*PORT[NumPort]=(HiPort<<4|0x00)|{}else{}else{}{}}//函数名称//函数类型:unsigned//函数作用:读反射型光电模块的//参数//unsignedcharport:反射型光电模块检测信号输入//unsignedcharbit:反射型光电模块测信号{unsignedcharoutData;return(1-outData);}int{unsignedcharportNum=5;unsignedcharbitNum=0;unsignedcharvalue;{}}四、应用一、描述声音传感模块:SEN3P009二、规格项参额定电DC工作电电路板安装孔P1P1引脚名功123部通过AD声音传感模块接ATmega128主控板的PORTF口的J0脚,四位数码管接ATmega128主控板的PORTA口,由四位数码管显示声音强度值,声音越强,数值#include"avr/io.h"staticvolatileunsignedchar*PIN[]={&PINA,&PINB,&PINC,&PIND,&PINE,&PINF,& staticvolatileunsignedcharNumPort;staticvolatileunsignedlongledst=0;//函数名称//函数作用:按位IO口电平,返回非零高电平,零低电//参数unsignedcharIoInB(unsignedcharaddress,intbit){unsignedcharreturn}voidInitNumLed(unsignedchar{}/////////LED数码管显示,IO口高四位提供位选,IO口低四位提供BinintToLed(float{if((l<0.0)|{}return}unsignedcharln2(unsignedcharx)//{constunsignedcharxval[]{1,2,4,{return}}voidInitTimer0(void)//0{ //0TOP0xFF0 //控制寄存器设置,时钟预分频值 256,1474560/(256*256)225Hz225TIMSK|= //0}SIGNAL(SIG_OVERFLOW0)//中断处理程{unsignedchara[4];{HiPort=ln2(0x08>>ledind);LoPort={}{

*PORT[NumPort]HiPort<<4|0x80)|LoPort;//*PORT[NumPort]=(HiPort<<4|0x00)|}{}else{}else{}{}}

//函数名称//函数作用:AD10AD//参数//unsignedcharadcChannel:AD{//SetADCADMUX0x40;//AVCCADMUX&=0xE0;ADMUX|=ADCSRA|=1<<ADSC;//WaitingforADCconversioncompletedloop_until_bit_is_set(ADCSRA,ADIF);//ADCADCSRA|=1<<return}//函数作用:读声音传感模块//参数{unsignedintoutData;returnoutData;}int{unsignedcharadcChannel=0;unsignedcharvalue;{}return}四、应用声光一、描述磁传感模块:SEN3P010二、规格项参工作电DC工作温电路板尺安装孔P1P1引脚名功123

1123123123部将磁传感模块接在ATmega128的PORTF口的J0脚,将四位数码管接在PORTA口,当磁传感模块感应到磁场存在时,模块上的指示灯亮。四位数码管显示1;否则模块上的指示灯不亮,四位数码管显示0。#include"avr/io.h"staticvolatileunsignedchar*PIN[]={&PINA,&PINB,&PINC,&PIND,&PINE,&PINF,& staticvolatileunsignedchar*staticvolatileunsignedcharNumPort;staticvolatileunsignedintLedNum=0;staticvolatileunsignedlongledst=0;//函数名称//函数类型:unsigned//函数作用:按 IO口电平,返回非零高电平,零低电//参数//unsignedcharaddress:端//intbit:unsignedcharIoInB(unsignedcharaddress,int{unsignedchar}voidInitNumLed(unsignedchar{}/////////LED数码管显示,IO口高四位提供位选,IO口低四位提供Bin{if((l<0.0)|{}

}{constunsignedcharxval[]{1,2,4,{}}voidInitTimer0(void)//定时器0溢出中{ //0TOP0xFF0 //控制寄存器设置,时钟预分频值 256,1474560/(256*256)225Hz,225TIMSK| //0}SIGNAL(SIG_OVERFLOW0)//中断处理程{unsignedchara[4];{HiPort=ln2(0x08>>ledind);{}{}

*PORT[NumPort](HiPort<<4|0x80)|LoPort;//*PORT[NumPort]=(HiPort<<4|0x00)|{}else{}else{}{}}//函数名称 //函数类型:unsigned//函数作用:读磁传感模块的//参数//unsignedcharport:磁传感器检测信号输入//unsignedcharbit:磁传感器检测信号输入位unsignedcharreadMagnesor(unsignedcharport,unsignedchar{unsignedcharoutData;return(1-outData);}int{unsignedcharportNum=5;unsignedcharbitNum=0;unsignedcharvalue;{}}四、应用汽车的AE曙(防抱制动体统一、描述 二、规格项参主器MQ-相对湿工作电DC使用温电路板尺安装孔P1P1引脚名功1信号输2电源正3电源负煤气传感模块与ROSYS主控板连接方式 3部#include"avr/io.h"staticvolatileunsignedchar*staticvolatileunsignedchar*PIN[]={&PINA,&PINB,&PINC,&PIND,&PINE,&PINF,& staticvolatileunsignedchar*staticvolatileunsignedcharNumPort;staticvolatileunsignedintLedNum=0;staticvolatileunsignedlongledst=0;//函数名称//函数类型:unsigned//函数作用:按位IO口电平,返回非零高电平,零低电//参数//unsignedcharaddress:端口//intbit:位unsignedcharIoInB(unsignedcharaddress,intbit){unsignedc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论