********
机电工程学院 课程设计
课程名称:设计题目:班 级:姓 名:学 号:指导老师:完成时间:
设计一个流水灯电路
一 设计题目:设计一个流水灯的电路 二 设计方案:
用单片机控制系统电路,其系统工作原理是:如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1—P1.7口的其它7个LED的点亮和熄灭方法同LED1.因此要实现流水灯的功能,我们只要将发光二极管LED1-LED8依次点亮和熄灭,8个LED灯便会一亮一暗的做流水灯了。
三 设计过程:
1 硬件设计;按照单片机系统拓展与系统配置状况,单片机应
用系统可分为最小系统,最小功耗系统及典型系统。AT89C51单片机是本次课程设计运用的主要元件。流水灯控制设计是一个带有八个发光二极管的单片机的最小应用系统,即为由发光二极管,晶振,复位,电源等电路和必要软件组成的单个单片机。
2 软件设计;单片机的应用系统由硬件和软件组成,在Proteus软件中将硬件原理图接好线后,当按下开关,我们还不能看到8个LED灯依次点亮,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。软件编程是单片机应用系统中的一个重要组成部分,也是本课程设计的重点和难点。我们将通过上述【设计方案】中提到的原理来实现“流水”效果并完成实验要求。
四 硬件电路图:
五 软件程序:
#include #define uint unsigned int //****************************** void delayms(uint xms) { uint i,j; for(i=0;i uint j; P1=0XFF; while(1) { for(j=0;j<8;j++) { P1=~(1< 将编写好的汇编语言代码用KEIL进行编译后,修改出现的错 误,将生成的.HEX文件程序拷入单片机中,进行电路系统仿真。 七 注意事项: 当上述程序编写好以后,我们需要使用KEIL软件对其编译,得到单片机所能识别的二进制代码,然后再用编程器将二进制代码烧写到AT89C51单片机中,最后连接好电路通电,我们就看到LED1~LED8的“流水”效果了。 八 总结: 通过这次课程设计让我学到了很多,认识了很多。为即将毕业的道路上增添了一笔色彩。 首先在硬件电路上,有一个正确的protel原理图是很关键的,一切硬件包括代码都是依照这个,老师在这一方面给了我们很大的帮助,帮我们预先设计了很多很好的电路,然后有不懂的也给我们细心讲解,在此很感谢老师。 然后在软件方面,主要是编程学的不太成功,以至于花费了很多时间去编译,以及修改错误,最终实现功能。 此次课程设计是我们实践的一个重要经历,是我们锻炼自己实践能力的关键环节,一个课程设计需要许多方面的帮助才能完成,最后再次向所有帮助过我的老师和同学表示感谢。 因篇幅问题不能全部显示,请点此查看更多更全内容