开放性实验实验报告..docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
开放性实验实验报告.

中国海洋大学开放实验结题报告项目中文名称:自动投食设备的自主制作设计中使用到的器件:PIC单片机(18F452)、液晶屏、电机、固定辅助器件等 指导老师:张凯临 小组成员:陈志勇、刘凯悦 项目实现构思背景分析:1.配合SRDP需要、节省经费2.锻炼动手实践能力3.提高单片机编程能力应用市场分析:适用于一些养鱼爱好者,需要出门旅游,以及一些爱养鱼但又很忙的人特色描述:鱼食防潮、定期投食、LCD时钟显示、项目实现方案总体设计方案:前期:系统学习PIC板的编程、软件的使用等,完成定时器程序 准备好投食装备的材料 中期:着手准备投食设备的制作后期:总结改进实际应用项目实现过程:一准备硬件硬件部分包括:电路板、液晶屏、电机、储食槽 1、焊接电路板的焊接图一为原始电路板焊接完成图样 2、设计所需器件(齿轮、导槽、固定板)绘图软件Solid Works画好3D图,导出到刀具切割软件,机床切割加工出所需器件;图二为装配体设计图稿图三为机床加工过程图四为设计成型的小齿轮二软件的实现(编程操作)LED灯定时亮灭定时实现:思路1一个按键控制模式,调节喂食间隔、喂食时间;一个按键控制模式,调节喂食间隔、喂食时间;另一个按钮控制需要调节的量的加减。优点:用户可以完全实现自定义控制缺点:给编程带来了极大的困难,如何区分,加减后如何通过将设定的时间通过定时器控制实现定时控制现实状况:投食系统不需要给用户太多选择,给用户提到三四种模式选择即可思路2:用两个数组预置好需要投食间隔及投食时间一个按钮控制数组下标的加减来提取数组预先设置好的值另一个按钮确定,并将数组的值设定定时器定时的时间。缺点:需预先设置好数组,只能通过更改程序数组才能改变预留模式,不能给用户带来足够的自由优点:大大简化了编程,能满足大多数用户的需求所以采用思路22.液晶屏以及按钮实现可视化图二为所设液晶屏最初开启界面图三为液晶屏设置界面3.定量:电机时间转动一定时间电机转动一圈由于重力作用下落的鱼食数目大致相同,60r/min,控制转的时间即可图四为小电机模块三自动投食设备模型制作及测试最后,我们对单片机、液晶屏、小电机等模块进行拼接操作,先将所编程序烧录到单片机中,电源为单片机供电,成功地实现了通过设置、确定按钮对投食设备的定时投食进行了控制。至此,系统反应虽稍欠灵敏,但基本能够达到所需操作。图五为最终设计成图四最终程序#include E:\2011cl\2w.h#include lcd.c //调用lcd.c实现显示屏的显示#use fast_io(all) //声明使用所有端口unsigned int16 counter;unsigned intsecs;unsigned int feed1[3]={1,6,9};//两次喂鱼时间的间隔unsigned int feed2[3]={2,10,17};//完成一次喂鱼周期的时间unsigned int i;`#int_TIMER2 //声明使用定时器2void TIMER2_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; /将时间清零,开始进入下一个循环/ }}void main(){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(RTCC_INTERNAL); setup_timer_1(T1_DISABLED); setup_timer_3(T3_DISABLED|T3_DIV_BY_1);lcd_init();//调用lcd.c中的函数//Setup_Oscillator parameter not

文档评论(0)

dbtx + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档