张玲毕业设计中检总结.doc_第1页
张玲毕业设计中检总结.doc_第2页
张玲毕业设计中检总结.doc_第3页
张玲毕业设计中检总结.doc_第4页
张玲毕业设计中检总结.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

哈尔滨华德学院毕业设计中检总结系 部: 计算机应用技术系 专 业: 计算机科学与技术 班 级: 0891121 姓 名: 张玲 2011年 10 月 31日毕业设计中检总结张玲时光荏苒,瞬间即逝。转眼间大学生活已剩最后一年。然而一切如梦初醒,揉揉眼就面临着要离开生活学习了四年的母校,踏入社会接受社会考验的时候了。为增加实践经验,我在2011年10月27日被招聘到了汉王科技股份有限公司实习。毕业实习,是每一个大学生必经的阶段,它是一个考查检验我们在大学所学知识的阶段,也是一个理论联系实际,加深学习的阶段,更是在即将踏入社会走上工作岗位之前的一次实战演习。然而,我们就在不远千里来到我们心目中的完美公司时,现实却把我们弄得不堪一击,现实与我们想象中的简直差的太远了,不仅公司的环境不好,最重要的是此公司对于我们出现了信誉问题,我们多次和他们协商最终也没有得到合理的解释,此时我们实在有一种被骗的感觉,最后经过我们共同的协商选择了回到学校!此次实习以失败而告终,不过也让我们懂得了不少道理,以后不管干什么事都要事先调查好不能盲目的去干什么,尤其对于急于找工作的的学生来说,不管多么急于想有一份工作都不要盲从!时间飞逝,学校的毕业设计也已经用了一个月了。由于本人实习没能赶回来参加毕业设计中检,为此,本人对毕业设计期间的工作总结如下:1、 进一步学习计算机相关知识 从踏进大学校门的那天起,我开始真正的接触了计算机。计算机科学博大精神,我对计算机科学知识的领会也是从模糊逐步变得清晰。四年的大学生活帮助我构建了计算机科学知识体系及知识框架,然而我非常清楚,计算机科学是我终生需要不断学习并通过实践不断丰富自身技能的一门学科。毕业实习是计算机科学实践教学的重要环节,也是在实践中获取知识和经验的方式之一。因此利用这样的机会丰富我的知识面,进一步学习计算机专业知识是我对自己提出的要求。在中国云谷这个地方的学习,让我学习到更多的计算机知识,了解了计算机理论应如何具体运用于实践当中。同时,也更进一步的了解了动手能力的重要性。我们学校在这方面的严格要求,是任何其他同等级院校无法比拟的。在实习期间,本人也学着将自己所学的理论知识与现实实践结合起来,以求更进一步的丰富、完善和提高自己计算机理论水平,以及积累一定的编程实战经验。 2、毕业设计的工作流程虽然本人外出实习花费了一段时间没有赶上毕业设计中检,但并没有影响我做毕业设计的进度,我的毕业设计的题目是“基于单片机的电热水器控制器”,此时我的毕业设计已经完成了一半,板子我已经基本上焊完了,程序我也已经编了一半,已经实现了电热水器控制器的一半功能,可以实现对水进行加热和保温和检测水位,能够实现定时开关机的功能,并且实现了LCD准确的显示时间,温度,水位等。以下是我的毕业设计的程序#include #include #define uchar unsigned char#define uint unsigned int#define RELOADH 0xFF#define RELOADL 0x14#define Delay2us() _nop_();_nop_();#define Delay8us() Delay2us();Delay2us();Delay2us();Delay2us();sbit LCD_CS=P01; sbit LCD_SID=P02;sbit LCD_SCLK = P03;sbit DS1302_RST=P22;sbit DS1302_SCLK=P20;sbit DS1302_SDA=P21;sbit CS_18B20_DA=P10;sbitBELL=P27;sbit OUT=P26;sbitWATER_H=P13;sbitWATER_M=P12;sbitWATER_L=P11;unsigned char tick_count,tick_10ms,tick_300ms,tick_1s;unsigned char temp_room,temp_max,temp_min;unsigned char time_hour,time_min,time_sec;unsigned char time_year,time_moon,time_date,time_week;unsigned char alarm_hour,alarm_min,alarm_hour_off,alarm_min_off;unsigned char bell_cnt;unsigned char key_old,key_new,key_cnt,key_val;bdata unsigned char flag;unsigned char set_cnt;unsigned chardisp_buf10;unsigned char temp_val,temp_set;unsigned charwater;sbit flag_flash=flag0; sbit flag_set= flag1;sbitflag_b20_err=flag2;sbitflag_power=flag3;sbitflag_b20=flag4;void delay(uint v) while(v!=0) v-; _nop_(); void ser_in(uchar c)/*serial uchar BitCnt; for(BitCnt=0;BitCnt8;BitCnt+) if(cBitCnt)&0x80)LCD_SID=1; else LCD_SID=0;delay(1); LCD_SCLK=1; delay(1); LCD_SCLK=0; _nop_(); void wcode (uchar cmd) / CS=0;/ delay(10); LCD_CS=1; ser_in(0xf8); ser_in(cmd&0xf0); ser_in(cmd&0x0f)4);void wdata(uchar dat) LCD_CS=1; ser_in(0xfa); ser_in(dat&0xf0); ser_in(dat&0x0f)4); void set_adr(uchar x,uchar y) x=x+0x80;y=y+0x40;wcode(x);wcode(y);void set_adr_GB(uchar x) x=x+0x80; wcode(x); void clear(void) wcode(0x01);void set_function(uchar c) c=c+0x30; wcode(c); void addr_zero(void) wcode(0x02);void dis_on_off(uchar c)c=c+0x08;wcode(c);void setup(void) wcode(0x01); wcode(0x30); wcode(0x02); wcode(0x04); wcode(0x0c); wcode(0x01); wcode(0x80);void lcd_dsp(uchar l,uchar h,char a,uchar n) uchar i;if(l=0)set_adr_GB(h);for(i=0;in;i+) wdata(ai); elseif(l=1)set_adr_GB(h+16);for(i=0;in;i+) wdata(ai);void sen_1302(uchar sen_data)uchar i;/DS1302_RST=1;for(i=0;i1;delay(1);DS1302_SCLK=1;delay(1);DS1302_SCLK=0;void ds1302_start(void) DS1302_SCLK=0; DS1302_RST=0; delay(10); DS1302_RST=1; delay(10); DS1302_RST=0;uchar receive(void)uchar i;uchar ucdat; delay(10);DS1302_SDA=1;for(i=0;i1;if(DS1302_SDA)ucdat|=0x80;else ucdat=ucdat&0x7F;DS1302_SCLK = 1;delay(100);DS1302_SCLK = 0;delay(100);return(ucdat);void Wr_data(uchar wr_adr,uchar wr_data) DS1302_RST=0;DS1302_SCLK=0;delay(20);DS1302_RST=1;delay(20);sen_1302(wr_adr); sen_1302(wr_data); DS1302_SCLK=1; DS1302_RST=0;uchar read_data(uchar read_code) uchar read_temp; DS1302_RST=0;DS1302_SCLK=0;delay(20);DS1302_RST=1;delay(20); sen_1302(read_code); read_temp=receive(); DS1302_SCLK=1; DS1302_RST=0; return(read_temp); void cs18b20_start(void)uchar i;CS_18B20_DA=1;Delay2us();CS_18B20_DA=0;i = 200;while (i0) i-; CS_18B20_DA=1;delay(50);for(i=250;i0;i-)if(CS_18B20_DA=0)flag_b20_err=0;break;else flag_b20_err=1;delay(500);CS_18B20_DA=1;void cs18b20_sen(uchar sen_data)uchar i;CS_18B20_DA=1;for(i=0;i1; Delay8us();Delay8us();Delay8us();Delay8us();Delay8us();Delay8us();Delay8us();CS_18B20_DA=1;Delay8us();Delay8us();uchar cs18b20_receive(void)uchar i;uchar temp=0;for(i=0;i1;CS_18B20_DA=1;_nop_();_nop_();_nop_(); if(CS_18B20_DA=1) temp=temp|0x80;elsetemp=temp&0x7f;Delay8us();Delay8us();Delay8us();Delay8us();Delay8us();Delay8us();Delay8us();Delay8us();/CS_18B20_DA=1;Delay8us();Delay8us();return(temp); void read_temp(void)uchartemp0,temp1;EA=0;cs18b20_start();cs18b20_sen(0xcc);cs18b20_sen(0xbe);temp0=cs18b20_receive();temp1=cs18b20_receive(); EA=1; Delay8us(); EA=0;cs18b20_start();cs18b20_sen(0xcc);cs18b20_sen(0x44);EA=1;if(temp1&0xF0)!=0)temp1=0;temp0=0;temp1=temp14;temp0=temp0&0x0F;temp_val=temp0|temp1;void mcu_int(void)TMOD=0x11; TCON=0x15;IE=0x82; TH0=RELOADH;TL0=RELOADL;EA=0;cs18b20_start();cs18b20_sen(0xcc);cs18b20_sen(0x44);EA=1;DS1302_SCLK=0;DS1302_RST=0;Wr_data(0x8E,0x00);Wr_data(0x90,0xAA);time_sec= read_data(0x81);Wr_data(0x80,time_sec&0x7F);Wr_data(0x8E,0x80);Wr_data(0x82,0x15);Wr_data(0x84,0x12);Wr_data(0x86,0x23);Wr_data(0x88,0x04);Wr_data(0x8A,0x01);Wr_data(0x8C,0x03);TR0=1; bell_cnt=20;delay(10000); dis_on_off(0x07); set_function(0x00); setup(); addr_zero(); clear();void display(void)if(flag_power=0)clear();disp_buf0=(time_hour4)+0x30;disp_buf1=(time_hour&0x0f)+0x30;disp_buf2=:;disp_buf3=(time_min4)+0x30;disp_buf4=(time_min&0x0f)+0x30;disp_buf5=:;disp_buf6=(time_sec4)+0x30;disp_buf7=(time_sec&0x0f)+0x30;lcd_dsp(1,2,disp_buf,8);return;if(flag_set=1&flag_flash=1) if(set_cnt=0)lcd_dsp(1,6, ,2); if(set_cnt=1)lcd_dsp(0,10, ,2); if(set_cnt=2)lcd_dsp(0,11,: ,4); if(set_cnt=3)lcd_dsp(1,9, ,2); if(set_cnt=4)lcd_dsp(1,10,: ,4); if(set_cnt=5)lcd_dsp(1,13, ,2); if(set_cnt=6)lcd_dsp(1,14,: ,4); return;lcd_dsp(0,0,热水器控制器设计,16);lcd_dsp(1,0,水温,5);disp_buf0=temp_val/10+0x30;disp_buf1=temp_val%10+0x30;lcd_dsp(1,2,disp_buf,2);lcd_dsp(1,3,C,2);lcd_dsp(1,4,设定,5);disp_buf0=temp_set/10+0x30;disp_buf1=temp_set%10+0x30;lcd_dsp(1,6,disp_buf,2);lcd_dsp(1,7,C,2);lcd_dsp(0,13,水位,4);if(water=0)lcd_dsp(0,15,空,2);else if(water=1)lcd_dsp(0,15,低,2);else if(water=2)lcd_dsp(0,15,中,2);elselcd_dsp(0,15,高,2);/*显示时间*lcd_dsp(0,8,时间,4);disp_buf0=(time_hour4)+0x30;disp_buf1=(time_hour&0x0f)+0x30;disp_buf2=:;disp_buf3=(time_min4)+0x30;disp_buf4=(time_min&0x0f)+0x30;lcd_dsp(0,10,disp_buf,6);lcd_dsp(1,8,开,8); disp_buf0=(alarm_hour4)+0x30;disp_buf1=(alarm_hour&0x0f)+0x30;disp_buf2=:;disp_buf3=(alarm_min4)+0x30;disp_buf4=(alarm_min&0x0f)+0x30;disp_buf5= ;lcd_dsp(1,9,disp_buf,6);lcd_dsp(1,12,关,8); disp_buf0=(alarm_hour_off4)+0x30;disp_buf1=(alarm_hour_off&0x0f)+0x30;disp_buf2=:;disp_buf3=(alarm_min_off4)+0x30;disp_buf4=(alarm_min_off&0x0f)+0x30;disp_buf5= ;lcd_dsp(1,13,disp_buf,6);void read_time(void)time_sec= read_data(0x81);time_min= read_data(0x83);time_hour= read_data(0x85);time_date= read_data(0x87);time_moon= read_data(0x89);time_week= read_data(0x8B);time_year= read_data(0x8D);alarm_hour=read_data(0xC1);alarm_min= read_data(0xC3);temp_set= read_data(0xC5);alarm_hour_off=read_data(0xC7);alarm_min_off= read_data(0xC9);void write_time(void)Wr_data(0x8E,0x00);Wr_data(0x84,time_hour);Wr_data(0x82,time_min);Wr_data(0xC0,alarm_hour);Wr_data(0xC2,alarm_min);Wr_data(0xC4,temp_set);Wr_data(0xC6,alarm_hour_off);Wr_data(0xC8,alarm_min_off);Wr_data(0x8E,0x80);uchar bcd_add(uchar num,uchar max)num+;if(num&0x0F)0x09)num=(num&0xF0)+0x10;if(nummax)num=0;return(num);uchar bcd_dec(uchar num,uchar max)if(num=0x00)return(max);if(num&0x0F)0x00)num-;else num=num-0x10+0x09;return(num);void key_scan(void) unsigned char i; i=P3|0x87; if(i=0xFF) key_cnt=3;key_val=0xff;elseflag_b20=0;tick_1s=0;key_old=key_new;key_new=i;if(key_old=key_new)if(key_cnt0)key_cnt-; if(key_cnt=1)key_val=key_old;void key_done(void)if(key_val=0xFF)return;bell_cnt=100;switch(key_val)case 247: flag_power=!flag_power; flag_set=0;break;case 239:if(flag_power=0)break;if(flag_set=0)flag_set=1;set_cnt=0;elseset_cnt+;if(set_cnt6)flag_set=0;break;case 223:if(flag_power=0)break;if(flag_set=1)if(set_cnt=0)temp_set+;if(temp_set90)temp_set=30; elseif(set_cnt=1)time_hour=bcd_add(time_hour,0x23); elseif(set_cnt=2)time_min=bcd_add(time_min,0x59); elseif(set_cnt=3)alarm_hour=bcd_add(alarm_hour,0x23); elseif(set_cnt=4)alarm_min=bcd_add(alarm_min,0x59

温馨提示

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

评论

0/150

提交评论