基于51单片机的三人表决器设计课程设计论文 下载本文

3.1 显示初始化程序

? void LCD_Init(void) ? {

? LCD_Write_Com(0x38); /*显示模式设置*/ ? DelayMs(5);

? LCD_Write_Com(0x38); ? DelayMs(5);

? LCD_Write_Com(0x38); ? DelayMs(5);

? LCD_Write_Com(0x38);

? LCD_Write_Com(0x08); /*显示关闭*/ ? LCD_Write_Com(0x01); /*显示清屏*/ ? LCD_Write_Com(0x06); /*显示光标移动设置*/ ? DelayMs(5);

? LCD_Write_Com(0x0C); /*显示开及光标设置*/ ? }

4. 调试及性能分析

4.1 开发环境介绍

程序编写采用

Keil C51环境下调试,Keil C51是美国Keil Software公司出品

的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

4.2 设计流程图

4.3 系统调试

程序的编写过程:

1. 根据软件的流程图中的各个模块的基本要求,先编写出模块程序,使其实现模块功能;然后根据流程图中各个模块之间的箭头方向将各个模块联系在一起,最后对对整体程序进行调节,直至调试运行后没有逻辑错误与警告;

2. 将运行没有错误的程序导入模拟软件中进行仿真调试,首先发现不能实现预期的功能,于是对程序进行修改,直至调试成功,通过仿真能够实现预期的功能,则程序编写成功,可进行硬件电路的调试。 调试过程中出现的问题:

1、 将所编程的的程序烧写在单片机8051芯片中,然后将其加入硬件电路中,然后进行调试,发现不能实现其功能。

2、 调整后继续进行调试,结果还是不能实现预期的功能,当按下的同意键大于反对建时,液晶显示屏出来“YES”;但当按下的反对建大于同意键时,仍然出现“YES”;进一步对程序进行调试,后来发现是代码的算法有错误,修正算法之后,终于出现如期的性能。

5.总 结

这次实训,主要实习任务是根据以前所学知识,设计单片机硬件电路,制作电路,自己编写汇编程序;并通过调试硬件电路和程序使其实现预期的功能。这次实训让我真正的了解了单片机设计的基本设计理念,以及设计所需要掌握的一些基本概念。同时更加巩固了我们所学习的知识,并将所学习的理论知识真正的应用于实践中。我认为此次的实习对我是受益匪浅的,让我更加有了学习的动力。当我所设计的电路经调试能够实现预期效果时,我的内心是无比的愉悦,虽然此次在调试过程中遇到了很多的问题,最终的结果页并不是那么理想,但我还是感觉很欣慰,因为这次实训让我了解到了平时学习中的不足,让我更谦虚的学习更多的知识。虽然有很多地方是借鉴别人的,但我能够在调试过程中学到很多以前没有弄明白的问题以及相关知识点。在这实训的二周里,说紧张却稍带着愉快的气氛,整个过程应该是充实的,时而惊喜,时而烦闷特别是最后调试阶段有一块调通了都会让我们高兴不已,当卡在某处时也确实是让人抓狂。总之通过这次单片机实训,我们不但复习了过去所学,并且学到了一些新东西。更重要的是通过这一次切身实践,才使我们真正将理论与实际结合起来,并且遇到了很多实实在在的需要我们亲自解决的问题。通过解决这些问题,我们处理实际问题的能力有了很大提高,积累了我们的实践经验,以便为以后打下牢固的基础。而这些才是我们作为一名工科学生最宝贵的财富。

参考文献

[1] 郭建江.单片机技术与应用.东南大学出版社.

[2] 张志良 主编 :《单片机原理及控制技术》.北京:机械工业出版社,2005 [3] 李光飞 编著 :《单片机课程设计实例指导》.北京:北京航空航天出版社, [4] 吴金戍,沈庆阳,郭庭吉编著.8051单片机实践与应用.北京:清华大学出

版社.

[5] 吉 雷 主编 :《Protel99从入门到精通》. 西安:西安电子科技大学出版

社,2004.

[6] Paul F. Lister:Single-chip microcomputers .Austin, Tex. : Motorola

Semiconductor Products, c1984