找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 13716|回复: 11
打印 上一主题 下一主题
收起左侧

51单片机心形流水灯课程设计报告与答辩PPT下载

  [复制链接]
跳转到指定楼层
楼主
里面有心形流水灯的电路仿真图以及流水灯代码,在课程设计报告的文档里,见附件。



答辩PPT内容预览:

安装与调试
     在安装时要考虑LED灯正负极有没有接反,安装好所有元件后,按照电路图逐一检查电路有没有漏焊的问题,接下来用万用表逐一检查有没有虚焊、线路断或线路短路的问题。在线路没有问题的情况下,连接电源调试,加入电源以后,32个LED灯可以循环点亮,依次熄灭,可以达到预期的效果

创新之处
技术在不断进步,传统照明方式已经被淘汰,取而代之的是具有高发光效率的LED,低热量的LED照明矩阵更具人性化,更能提高人们的生活质量,更受人们欢迎。白炽灯已经远去,LED时代已经到来。

不足之处
焊接时经常会将两个接口连在一起,电路板上的铜片容易掉落,就需要绑线进行连接,在焊接之前未仔细检查仪器的好坏,这些都是以后需要注意的地方。


综合课程设计

(一)

Integrated Curriculum Design(1)



姓名


所在院系

教育信息与技术学院

专业名称

信息工程

班级

1502班

学号

2015116020222

题目

心形流水灯套件

指导教师


完成时间



心形流水灯套件

1       设计目的

(1)掌握单片机芯片AT89C51的基本功能和使用。

(2)熟悉Proteus仿真软件的使用,了解各元件的功能及作用。

(3)了解音乐的基本知识。

(4)提高数字电子电路的综合应用能力。

(5)掌握Keil软件的使用方法,以及如何创建文件和编写程序。

(6)提高焊接能力以及实际问题分析能力。

2 设计思路

(1)设计一个用单片机控制的心形流水灯系统;

(2)LED灯数量为32个;

(3)将仪器焊接到电路板上;

(4)可以实现循环点亮,依次熄灭的基本功能;

(5)可以实现对角闪亮,间隔闪亮,顺时针闪亮,逆时针闪亮,同时闪亮等多种功能。

3方案论证

1、单片机芯片的比较与选择

单片机作为该电路的主要控制器芯片,即整个系统的控制核心部分,主要是负责控制LED灯的不同变化速度以及变化效果。因此对单片机芯片的选择,必须要求其功耗低、数据转换速率快。

方案一:采用STC89C51单片机。40个引脚,8k Bytes Flash片内程序存储器, 256 bytes的随机存取数据存储器(RAM), 32个外部双向输入/输出(I/O)口, 5个中断优先级2层中断嵌套中断, 2个16位可编程定时计数器, 2个全双工串行通信口, 看门狗(WDT)电路,片内时钟振荡器。

方案二:选择TI公司生产的MSP430F149系列单片机系统。此款单片机具有低电压、超低功耗的特点,工作电压在3.6-1.8V之间,具有强大的功能和高效的运算处理能力。

方案选择:由于STC89C51芯片价格便宜,支持在线下载程序而且MSP430F149系列单片机的功能已经远远高于我们本系统,操作不便。

综合考虑,我们选择方案一。

4 设计过程4.1硬件设计

单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。电子琴是现代电子技术与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。

本设计是以AT89C51单片机为核心控制元件,把51单片机的4个I/O口与32个5mm高亮LED灯相接,通过单片机控制各I/O引脚的高低电平控制LED的亮灭从而形

成各种不同亮灭的花样。

(1)单片机控制模块

硬件电路要以单片机作为主芯片,针对本设计的功能和用途,采用AT89S51单片机更好,实现功能完全,性价比较高,更适合本设计。具体电路如图2所示。

(2)74HC245
5电路仿真与结果分析
5.1电路原理图
            
5.2 心形流水灯测试图
            
5.2 电路仿真图


5.3结果分析

根据仿真结果可知,本次课程设计能够准确并彻底的完成设计要求,完成了心形流水灯的设计,实现了LED灯的循环点亮、依次熄灭等基本功能,并且还实现了对角闪亮、间隔闪亮、顺时针闪亮,逆时针闪亮等多种功能。

6设计体会

这次课程设计我们换过几种方案,我们刚开始是选择完全的数字电路来实现,但我们做好仿真时,发现一个问题,频率不能很好的把握,指导老师说这在实物中更难把握,建议我们用单片机来实现,尽管我们现在还没有学习单片机的相关知识,但在老师的指导下,我们查阅相关的资料,进行相关的学习,最终我们实现了设计的要求,并且还新增了一些功能,同时还解决了第一次关于频率的问题,总体来说,此次课程设计使我们收获良多,虽然课程设计的过程中遇到了很多困难与问题,但我们最终还是完成了设计的任务及要求。具体来说可以分为以下几点:第一,不够细心,不够严谨;第二,因对课本理论的掌握度不够导致编程出现错误;第三,硬件方面,刚开始有的程序模块不能实现预期的效果,对于有的硬件,在实物制作过程中焊了比较多的排线,同时对于整体各元器件的布局都有很高的要求。不过在向同学请教,各方面都有了不同程度的改善;第四,在做人方面,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力和决心,有足够的挑战困难的勇气,就没有什么办不到的。这次课程设计中我们完成了基本任务,使我们有了一定的成就感,也使我们进一步熟悉和掌握了单片机的内部结构和工作原理,了解了单片机应用系统设计的基本方法和步骤, 初步掌握了单片机仿真软件Proteus的使用方法和键盘,同时也掌握了撰写课程设计报告的方法。总之,通过这次课程设计,我们都清楚明白了自己的能力有多深,想提高还得归于多锻炼,多动手,多向别人学习。


附件实物图

单片机源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. uchar code table0[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//P0-P7依次点亮
  6. uchar code table1[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//P0-P7依次熄灭
  7. uchar code table2[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//P7-P7依次点亮
  8. uchar code table3[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//P7-P7依次熄灭
  9. uchar temp,aa,bb,temp,temp1;
  10. void delay(uint z);
  11. void h();
  12. void hh();
  13. void hhh();
  14. void hhhh();
  15. void init();
  16. void main()//主函数
  17. {
  18. init();
  19.     while(520)//大循环
  20. {
  21.   h();
  22.   hh();
  23.   hhh();
  24.   hhhh();
  25. }
  26. }
  27. void delay(uint z)//延时函数
  28. {
  29. uint x,y;
  30. for(x=z;x>0;x--)
  31.   for(y=110;y>0;y--);
  32. }
  33. void h()
  34. {
  35. for(aa=0;aa<3;aa++)
  36. {
  37.   for(bb=0;bb<8;bb++)
  38.   {
  39.    P0=table0[bb];
  40.    delay(50);
  41.   }
  42.   for(bb=0;bb<8;bb++)
  43.   {
  44.    P1=table0[bb];
  45.    delay(50);
  46.   }
  47.   for(bb=0;bb<8;bb++)
  48.   {
  49.    P3=table0[bb];
  50.    delay(50);
  51.   }
  52.   for(bb=0;bb<8;bb++)
  53.   {
  54.    P2=table0[bb];
  55.    delay(50);
  56.   }
  57.   delay(500);
  58.   for(bb=0;bb<8;bb++)
  59.   {
  60.    P0=table1[bb];
  61.    delay(50);
  62.   }
  63.   for(bb=0;bb<8;bb++)
  64.   {
  65.    P1=table1[bb];
  66.    delay(50);
  67.   }
  68.   for(bb=0;bb<8;bb++)
  69.   {
  70.    P3=table1[bb];
  71.    delay(50);
  72.   }
  73.   for(bb=0;bb<8;bb++)
  74.   {
  75.    P2=table1[bb];
  76.    delay(50);
  77.   }
  78. }
  79. for(aa=0;aa<3;aa++)
  80. {
  81.   for(bb=0;bb<8;bb++)
  82.   {
  83.    P2=table2[bb];
  84.    delay(50);
  85.   }
  86.   for(bb=0;bb<8;bb++)
  87.   {
  88.    P3=table2[bb];
  89.    delay(50);
  90.   }
  91.   for(bb=0;bb<8;bb++)
  92.   {
  93.    P1=table2[bb];
  94.    delay(50);
  95.   }
  96.   for(bb=0;bb<8;bb++)
  97.   {
  98.    P0=table2[bb];
  99.    delay(50);
  100.   }
  101.   delay(500);
  102.   for(bb=0;bb<8;bb++)
  103.   {
  104.    P2=table3[bb];
  105.    delay(50);
  106.   }
  107.   for(bb=0;bb<8;bb++)
  108.   {
  109.    P3=table3[bb];
  110.    delay(50);
  111.   }
  112.   for(bb=0;bb<8;bb++)
  113.   {
  114.    P1=table3[bb];
  115.    delay(50);
  116.   }
  117.   for(bb=0;bb<8;bb++)
  118.   {
  119.    P0=table3[bb];
  120.    delay(50);
  121.   }
  122. }
  123. }
  124. void hh()
  125. {
  126. for(bb=0;bb<3;bb++)
  127. {
  128.   for(aa=0;aa<8;aa++)
  129.   {
  130.    P0=table0[aa];
  131.    P2=table2[aa];
  132.    delay(100);
  133.   }
  134.   for(aa=0;aa<8;aa++)
  135.   {
  136.    P3=table2[aa];
  137.    P1=table0[aa];
  138.    delay(100);
  139.   }
  140.   for(aa=0;aa<8;aa++)
  141.   {
  142.    P2=table3[aa];
  143.    P0=table1[aa];
  144.    delay(100);
  145.   }
  146.   for(aa=0;aa<8;aa++)
  147.   {
  148.    P1=table1[aa];
  149.    P3=table3[aa];
  150.    delay(100);
  151.   }
  152. }
  153. }
  154. void init()
  155. {
  156. P1=P2=P3=P0=0x00;
  157. delay(1000);
  158. P1=P2=P3=P0=0xff;
  159. delay(200);
  160. temp=0xfe;
  161. temp1=0x7f;
  162. }
  163. void hhh()
  164. {
  165. for(bb=0;bb<10;bb++)
  166. {
  167.   for(aa=0;aa<8;aa++)
  168.   {
  169.    P0=temp;
  170.    temp=_crol_(temp,1);
  171.    delay(40);
  172.   }
  173.   P0=0xff;
  174.   for(aa=0;aa<8;aa++)
  175.   {
  176.    P1=temp;
  177.    temp=_crol_(temp,1);
  178.    delay(40);
  179.   }
  180.   P1=0xff;
  181.   for(aa=0;aa<8;aa++)
  182.   {
  183.    P3=temp;
  184.    temp=_crol_(temp,1);
  185. ……………………

  186. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
心形流水灯.rar (1.37 MB, 下载次数: 238)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:313328 发表于 2018-7-1 20:39 | 只看该作者
太好了,推 你了
回复

使用道具 举报

板凳
ID:313328 发表于 2018-9-16 16:51 | 只看该作者
很好用,客改进
回复

使用道具 举报

地板
ID:448297 发表于 2018-12-17 20:34 | 只看该作者
看到了期末作业的曙光!!!
回复

使用道具 举报

5#
ID:448297 发表于 2018-12-17 21:39 | 只看该作者
请问源文件和仿真能给吗
回复

使用道具 举报

6#
ID:453051 发表于 2018-12-24 08:32 | 只看该作者
顶一下
回复

使用道具 举报

7#
ID:462052 发表于 2019-1-4 19:25 | 只看该作者
顶一下 厉害了!!!!!
回复

使用道具 举报

8#
ID:578696 发表于 2019-7-5 20:42 | 只看该作者
挺有用的
回复

使用道具 举报

9#
ID:525478 发表于 2019-7-8 17:42 | 只看该作者
OK  有用  下载先
回复

使用道具 举报

10#
ID:424725 发表于 2020-5-11 11:11 | 只看该作者
谢谢楼主分享!!!!
回复

使用道具 举报

11#
ID:754119 发表于 2020-6-9 15:52 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

12#
ID:1060230 发表于 2023-1-5 08:37 | 只看该作者
太棒了吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表