河南城建学院本科毕业设计(论文) 致谢
致谢
经过几个月的努力,在指导老师的帮助下,终于完成了多用太阳能手机充电器的设计和调试。从确定设计题目的那天开始,指导老师就开始不断地给我提供帮助,从最初的方案确定,到元器件的选择,电路的修改和调试,程序的编写和修改,以及论文的制作等等,很多都是涉及到细节的问题;正是由于指导老师无私帮助,我才得以完成设计,在此,对指导老师的帮助表示感谢!在做毕业设计的同时也是一个学习和成长的过程,在前期的单片机课程的学习过程中,理论知识学的不好,很多地方不懂,应用起来很难。本次毕业设计让我学到的知识不仅仅是书本上的专业知识,更让我学会了做一件事情应具备的思想和对事情本身应有的看法。这次设计对我来说却是任务很大,开始没有一点头绪,就看老师提供的资料,再后来就是看看别人的设计是怎么做的,然后根据自己的课题准备相关的内容。随着设计的进行,我的心情也逐渐发生变化,刚开始就知道看一些资料,没有想太多;再后来看到一些有用的东西想拿来用不知道能不能用,不知道仿真;再后来主要部分电路仿真没问题,但是单片机电路接线有问题;再后来程序调试有问题,功能实现不了,加上毕业设计答辩时间越来越,我十分着急;随着努力的继续,程序开始能实现最简单的功能,这时候我明白了坚持的重要。毕业设计进入尾声,在此深深的感谢我的指导老师和帮助我的同学。
31
河南城建学院本科毕业设计(论文)
附录A 整体电路图
32
附录A
河南城建学院本科毕业设计(论文) 附录B
附录B 整体程序
#include
sbit P3_3=P3^3; //开始充电 sbit P3_4=P3^4; //电压切换 sbit PWM=P3^5; sbit EOC=P3^1; //定义ADC0808的控制引脚/ sbit OE=P3^0; sbit START=P3^2; sbit P3_6=P3^6; sbit P3_7=P3^7; sbit wela=P2^1; sbit dula=P2^0;
uchar time=0,time1=0; uchar period=40; uchar high=6,high1=12; uchar th0=0; uchar tl0=1; uchar i=0,j=0; uint x,z,n;
uchar code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //uchar n=0; //uchar flag1;
//unsigned char volatile g_delay_count;
uchar disp[4]={0,0,0,0}; //显示数据,保存段码,四位/ //================================/ void delay(uchar z) //100us延时子程序/ {
while(z--); }
//==============================/ void display() //定义显示子函数/ 可以使用锁存器实现 {
for(n=0;n<4;n++) {
P0=0x00;
33
河南城建学院本科毕业设计(论文)
dula=1;
P0 =disp[1]; //显示第一位小数 dula=0; wela=1; P0=0xfb; wela=0;
delay(2);
P0=0x00; dula=1;
P0=disp[2]; //显示第二位小数 dula=0; wela=1; P0=0xfd; wela=0;
delay(2);
P0=0x00; dula=1;
P0 =disp[3]; //显示第三位小数 dula=0; wela=1; P0=0xfe; wela=0;
delay(2); P0=0x00; dula=1;
P0 =disp[0]+0x80; dula=0; wela=1; P0=0xf7; wela=0;
delay(2); } }
//===============================/ uint ADC0808() //定义ADC0808读入数据子函数,并通过函数返回/ {
34
附录B
河南城建学院本科毕业设计(论文)
uchar d ; uchar value;
START=1;START=0; //启动ADC0808,开始A/D转换/ while(!EOC); //等待ADC0808,转换结束,即EOC为高电平/ 附录B
OE=1;
if(time1 value=0.4*d; } else if(high1==20) { value=0.5*d; } else if(high1==24) { value=0.6*d; } else if(high1==28) { value=0.7*d; } else if(high1==32) { value=0.8*d; } else if(high1==36) { value=0.9*d; } } //允许ADC0808输出数据 if(time value=0.2*d; } else if(high==10) { value=0.25*d; } else if(high==12) { 35 /
相关推荐: