基于51单片机的万年历 - 图文(3)

2020-05-13 10:01

画硬件原理图时应注意些原则:

(1) 按统一的要求选择图纸幅面、图框格式、电路图中的图形符号、文字符号。 (2) 应根据万年历的的工作原理,将各元器件自左到右,自上而下地排成一列或数列。(3) 图面安排时,电源部分一般安排在左下方,输入端在左侧,输出端在右侧。(4) 图中可动元件的工作状态,原则上应处于开断、不加电的工作位置。(5) 将所有芯片的电源和地引脚全部利用,不要悬空。

在实际画的过程中应考虑自己的制作水平,为了防止制作出的PCB板有断线等情况发生,在画线时都用30mil,而为了区分电源线和接地线,则电源线和接地线用50mil。在画PCB中应值得注意的是先看元器件的实物,然后看软件中是否有相对应的库元器件,如果没有就需要根据实物自己画出相对应的元件,以免做好板后才发现元器件无法插入对应的孔中。

在制作PCB板的时候应注意必须把墨全部转印到覆铜板上,以免对板腐蚀的时候出现断线等情况,如果转印并不十分好,则可以用黑色水墨笔在断线处画上一笔,也可以起到防腐蚀的效果。

5.2 焊接调试

万年历的制作过程中焊接最容易出现问题,在焊接前,必须先对照元器件的PCB图和原理图,以免防止元器件的正负极接反或者把元器件搞错。在焊接的时候要注意虚焊,根据焊接的经验,在焊点锡是尖角的,一般都是焊实了;如果焊点处出现圆颗状,则容易出现虚焊,元器件的管脚可能没有焊实,出现接触不良的情况。检查是否虚焊可以在完成焊接后,接上电源,看电路是否能正常工作,如果不行,则可以用数字万用表进行检测。用数字万用表检测的时候,可以很方便的检测出电路的通断,判断在做板的时候是否有断路,也很容易检测是否虚焊。

5.3 万年历硬件调试

在制作出实物后,硬件并非按照理论上的情况成功进行。经过检测发现单片机的工作电压不能达到5V,导致LCD不能正常显示,经过检查发现稳压电路供电有问题,主要是7805端的电压不稳定,经过对焊接的修正和电容的更换,使单片机能获得5V的正常工作电压。LCD正常工作状态:

图5-3 1602正常显示状态

对于进行检测时发现实际温度与检测温度有偏差,且偏差较大的问题,只需对程序进行修正,可以减小误差。

修正前: a=tmpreadbyte(); //先读取低八位

b=tmpreadbyte(); //再读取高八位 temp=b;

temp=temp<<8; temp=temp|a; mm=temp*0. 625; temp=mm*10;

return(temp);

修正后: a=tmpreadbyte(); //先读取低八位 b=tmpreadbyte(); //再读取高八位 temp=b;

temp=temp<<8;

temp=temp|a; mm=temp*0.0625;

temp=mm*10+0.5;

return(temp);

5.4 系统软件的调试

根据原理图,在已有的程序上进行修改就可以运用于设计。在编写过程中可以根据自己所想的理想界面,对程序进行修改,在修改完成后没有错误就可以运用在硬件上。一般在程序编写好后,可以先进行软件仿真,这个可以检查程序是否适用于硬件,如果没有成功则说明,程序还存在一些问题;如果成功,则说明程序没有问题。但是在软件仿真成功后,实际运用在硬件上,未必能成功,那是因为软件仿真和实际的硬件始终存在一定的差别,软件仿真只是提高程序的成功率。在运用在实际的硬件上时,还需要根据硬件的实际情况进行修正,一般都可以成功,问题不大。

在软件调试时由于实际硬件问题,原本的程序不适合,在对程序进行修改,使结果能正常显示在LCD上。对程序数值的修改如下: 数值不正确导致无法显示:

void init_ds18b20() //DS18B20初始化; {

uchar x; x=1; while(x) { DQ=0;

delay_us(100); //需延时480us—960us DQ=1;

//delay_us(2);//需延时15—60us for 2——28.21us 可以 ?????? delay_1us(4);// while 2——21.70us if(DQ==0) //等待DS18B20拉低; x=0; }

delay_us(20); //需要延时 60—240us DQ=1; //释放总线 // delay_us(500); }

修改后的数值:将// while 2——21.70us 改为while 3——28.21us 就可以了

6. 结论

本次设计主要是介绍了单片机的发展历程和万年历在日常生活中给人们带来的方便。第二章主要介绍了设计万年历的总体思路、万年历组成的几个模块以及模块之间的连接。第三章主要介绍了各个模块的具体组成的,每个模块选用的具体器件和器件的优点,其中主要运用到的器件是单片机AT89S52、DS1302时钟芯片、DS18B20温度传感器、7805三端集成稳压电路、LCD1602液晶显示屏。第四章主要介绍了软件设计,写出了其中几个主要模块的程序流程图,看起来清晰明了,便于程序的编写。第五章主要介绍了在制作万年历的过程中的注意事项、硬件软件的最终调试和解决在制作过程中出现的问题。

在此次万年历的设计过程中,更加熟习地掌握单片机及其他元器件的运用,明白了它们的工作原理和使用方法。在制作过程中,很好的锻炼了自己的动手能力,从一片空白,到慢慢运用自己所学,把几年的学习知识一起运用在一个作品中,这个万年历的成功制作,自己付出许多时间、精力。更主要的是利用这个设计,把以前的分散知识结合在一起,并且用自己的方式表达出来,这是对自己几年的辛苦的肯定。

在此过程中同样感到了自己的许多不足,和一些知识的欠缺,明白对于电子

这一类的学习中还有许许多多自己所不知道的知识和问题。但是也明白了,只有在一次次的实践过程中,才能成长的更快,才能完善自己,才能挑战未来。 希望在以后还能像这样不断扩展和锻炼自己。

参考文献

[1] 孙育才. MCS-51系列单片机微型计算机及应用[M].东南大学出版社,1997,23-34. [2] 何立民. 单片机应用系统设计[M].北京航空航天大学出版社,1999,60-62. [3] 张天凡. 51单片机C语言开发详解[M].电子工业出版社,2008,12-70

[4] 于永. 51单片机C语言常用模块与综合系统设计[M].电子工业出版社,2007,240-257

[5] 胡辉. 单片机原理与应用[M].中国水利水电出版社,2007,50-119 [6] 谭浩强. C语言设计[M].清华大学出版社.2005,106-107 [7] 高鹏. Protel 99入门与提高[M].人民邮电出版社.2007,220-222 [8] 王怀平. 单片机微机万年历设计[N].职大学报.2000.2

[9] 胡汉才. 单片机原理及接口技术[M].清华大学出版社.1996,546-643 [10] 张有德. 单片微型机原理应用与实践[M].复旦大学出版社.1992,347-468 [11] 何希庆. MCS-51单片机原理实例实践[M].山东大学出版社.1989,242-298 [12] 范立南. 单片微机接口与控制技术[M].辽宁大学出版社.1996,78-204

[13] 李华. MCS-51系列单片机实用接口技术[M].北京航空航天大学出版社.1999,138-248

[14] 张毅刚. MCS-51单片机应用设计[M].哈尔滨工业大学出版社.1997,442-648 [15] 晁阳. 单片机CS-51原理及应用开发教程.清华大学出版.2007,354-355

谢 辞

此次万年历的设计在指导老师和同学的帮助下,自己一步一步完成的。很感谢指导老师对我的关心和督促,感谢同学对我在遇到问题时的帮助。在学校的良好环境中,安心学习,顺利完成毕业设计。在这次的设计中学到了许多知识,很好地锻炼自己,通过自己努力完成了作品。

感谢学校创造这么好的学习环境;感谢指导老师的细心栽培;感谢同学的热心帮助!

附件

附件一:原理图


基于51单片机的万年历 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:原核微生物 ppt.Convertor

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: