中国海洋大学开放实验结题报告项目中文名称:自动投食设备的自主制作设计中使用到的器件:PIC单片机(18F452)、液晶屏、电机、固定辅助器件等指导老师:张凯临小组成员:陈志勇、刘凯悦项目实现构思背景分析:、:适用于一些养鱼爱好者,需要出门旅游,以及一些爱养鱼但又很忙的人特色描述:鱼食防潮、定期投食、LCD时钟显示、项目实现方案总体设计方案:前期:系统学习PIC板的编程、软件的使用等,完成定时器程序准备好投食装备的材料中期:着手准备投食设备的制作后期:总结改进实际应用项目实现过程:一准备硬件硬件部分包括:电路板、液晶屏、电机、储食槽 1、焊接电路板的焊接图一为原始电路板焊接完成图样2、设计所需器件(齿轮、导槽、固定板)绘图软件SolidWorks画好3D图,导出到刀具切割软件,机床切割加工出所需器件;图二为装配体设计图稿图三为机床加工过程图四为设计成型的小齿轮二软件的实现(编程操作)LED灯定时亮灭定时实现:思路1一个按键控制模式,调节喂食间隔、喂食时间;一个按键控制模式,调节喂食间隔、喂食时间;另一个按钮控制需要调节的量的加减。优点:用户可以完全实现自定义控制缺点:给编程带来了极大的困难,如何区分,加减后如何通过将设定的时间通过定时器控制实现定时控制现实状况:投食系统不需要给用户太多选择,给用户提到三四种模式选择即可思路2:用两个数组预置好需要投食间隔及投食时间一个按钮控制数组下标的加减来提取数组预先设置好的值另一个按钮确定,并将数组的值设定定时器定时的时间。缺点:需预先设置好数组,只能通过更改程序数组才能改变预留模式,不能给用户带来足够的自由优点:大大简化了编程,:电机时间转动一定时间电机转动一圈由于重力作用下落的鱼食数目大致相同,60r/min,控制转的时间即可图四为小电机模块三自动投食设备模型制作及测试最后,我们对单片机、液晶屏、小电机等模块进行拼接操作,先将所编程序烧录到单片机中,电源为单片机供电,成功地实现了通过设置、确定按钮对投食设备的定时投食进行了控制。至此,系统反应虽稍欠灵敏,但基本能够达到所需操作。图五为最终设计成图四最终程序#include"E:\2011cl\"#include""//#usefast_io(all)//声明使用所有端口unsignedint16counter;unsignedintsecs;unsignedintfeed1[3]={1,6,9};//两次喂鱼时间的间隔unsignedintfeed2[3]={2,10,17};//完成一次喂鱼周期的时间unsignedinti;`#int_TIMER2//声明使用定时器2voidTIMER2_isr(void)//定时器2中断函数{counter++;//计数器计数,counter单位是毫秒if(counter>=1000){counter=counter-1000;//清零secs++;//秒数加一}if(secs==feed1[i])//i由后面程序提供{output_d(0001);//d0口输出高电平,高电平连接电机io端//电机开始工作}if(secs==feed2[i]){output_d(0);//电机停止工作,工作时间feed2-feed1;secs=0;/将时间清零,开始进入下一个循环/}}voidmain(){setup_adc_ports(NO_ANALOGS);//编译软件自带语句,声明一些硬件的使用//例如不使用看门狗,AD转换setup_adc(ADC_OFF);setup_psp(PSP_DISABLED);setup_spi(SPI_SS_DISABLED);setup_wdt(WDT_OFF);setup_timer_0(_INTERNAL);setup_timer_1(T1_DISABLED);setup_timer_3(T3_DISABLED|T3_DIV_BY_1);lcd_init();////Setup_OscillatorparameternotselectedfromIntrOscillatorConfigtabprintf(lcd_putc,"\fHelloskandczy!\n2013");//在显示屏输出开机界面//TODO:USERCODE!!set_tris_d(0);//声明D端口起输出作用output_d(0);//将D端口初始化secs=0;i=-1;/****************************
开放性实验实验报告 来自淘豆网m.daumloan.com转载请标明出处.