32个心形流水灯单片机课程设计.docx

上传人:b****5 文档编号:30307502 上传时间:2023-08-13 格式:DOCX 页数:11 大小:133.89KB
下载 相关 举报
32个心形流水灯单片机课程设计.docx_第1页
第1页 / 共11页
32个心形流水灯单片机课程设计.docx_第2页
第2页 / 共11页
32个心形流水灯单片机课程设计.docx_第3页
第3页 / 共11页
32个心形流水灯单片机课程设计.docx_第4页
第4页 / 共11页
32个心形流水灯单片机课程设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

32个心形流水灯单片机课程设计.docx

《32个心形流水灯单片机课程设计.docx》由会员分享,可在线阅读,更多相关《32个心形流水灯单片机课程设计.docx(11页珍藏版)》请在冰豆网上搜索。

32个心形流水灯单片机课程设计.docx

32个心形流水灯单片机课程设计

32个心形流水灯单片机课程设计

题目:

心形流水灯

系别:

计算机信息与技术系

专业:

计算机科学与技术

班级:

B120601

学号:

B120601

学生姓名:

指导教师:

2015年06月

绪论.............................................................................................3一.题目分析..............................................................................4二.硬件.......................................................................................4

2.1MCS-51系列单片机的内部结构框图.....................................................4

2.2系统框图...................................................................................................5

2.3电路原理图...............................................................................................5三.系统软件设计.......................................................................7

3.1Keil_c软件界面图.........................................................................................7

3.2程序流程图...................................................................................................8四仿真调试............................................................................10

4.1仿真采用proteus仿真图..............................................................................10

4.2导入代码图.................................................................................................10五系统调试及结果分析.......................................................11

5.1软件调试.................................................................................................11

5.2遇到问题..................................................................................................12六总结......................................................................................13

绪论

由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中MCS-52系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。

目前,可用于MCS-52系列单片机开发的硬件越来越多,与其配套的各类开发系统、各种软件也日趋完善,因此,可以极方便地利用现有资源,开发出用于不同目的的各类应用系统。

本文主要讲的是单片机,课题名称为单片机流水灯控制,它使我们学会了如何使用单片机控制我们日常生活中的多设备设施的应用。

通过本课题的设计以后,使我了解到了单片机的许多方面的应用。

本课题详细地介绍了一种由MCS-89C51集成块编程实现的控制电路,它完成了单片机流水灯控制功能,并给出了具体的硬件电路和相应的程序。

这种控制电路可靠性,灵活性高,使用范围广,特别适合中小城市的交通灯、霓虹灯等的应用。

而且,它对其他类似系统的开发具有一定的借鉴意义。

我所设计的该产品是根据自身的兴趣和爱好所设计的,通过单片机的32个双向IO口的高低电平控制接在IO口上的LED的亮灭,来达到LED的闪烁和流水等效果,编写程序使花样尽量多,用六种颜色的LED穿插焊接,闪烁时更漂亮。

一题目分析

1.1采用单片机STC89C51RC做成最小系统来控制。

1.2利用最小系统做出心形流水灯,其LED灯的闪烁间隔时间采用延时程序控制,每种模式可采用不同的延时,灵活多变。

程序编写过程当中采用数组、取余、循环移位、移位运算、延时等方式来达成想要的效果。

编程内容以九种模式为核心,控制LED跑马灯和数码管进行九种变化方式,从而达到设计方案最终预期的效果。

1.3本设计选用以AT89C51单片机为主控单元。

此最小系统提供了32个独立LED,由IO口控制,采用共阳级接法所以只有当IO口输出低电平时LED才会点亮。

二硬件

2.1MCS-51系列单片机的内部结构框图

从上图可知,它主要由8个部件通过片内总线连接而成。

部件有中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行输入/输出口、串行口、定时/计数器、中断系统及特殊功能寄存器。

8051单片机有四个8位的双向输入/输出端口,每个端口均可按字节输入、输出,也可按位进行输入、输出,一个端口占8个引脚,共占32个引脚。

在每个端口中都包括有一个锁存器、一个输出驱动器和输入缓冲器。

因此,本流水灯实际上就是一个带有32个发光二极管的单片机最小应用系统,即为由AT89C51单片机、电阻、发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

单片机最小系统,或者称为最小应用系统,是指

用最少的元件组成的单片机可以工作的系统。

对51系列单片机来说,最小系统一般应该包括:

单片机、晶振电路、复位电路、按键输入、显示输出等。

单片机接口电路主要用来连接计算机和其它外部设备。

2.2系统框图

复位电单限流彩色

路片

电阻,,机

晶振电

路,2.3电路原理图

D30D41KR30R4LED绿LED红P12P03D31LED兰R3暖白LEDP11P021KR29R5P13P04D32D32.2K470R31P10D29D52.2K2.2KLED黄1KR32D28D2D6R28R2R6LED暖白P14P01P05LEDLED白白1K1K1KR1P00LEDLED红绿D12.2KVCCD27D7R27R7兰LEDP15P064702.2KLEDLED黄兰VCCVCCD26D8R26R8P16P07U1P101401K1KP1.0VCCC1P11239P00P1.1(AD0)P0.0LEDLED白白P12338P01P1.2(AD1)P0.1P13437P02D25D9R25R9P1.3(AD2)P0.2P17P2010uFP14536P03P1.4(AD3)P0.3P15635P042.2K470P1.5(AD4)P0.4P16734P05P1.6(AD5)P0.5LEDLED兰黄833P06P17P1.7(AD6)P0.6932P07D24D10R24R10RST(AD7)P0.7P30P21R4P301031P3.0(RXD)EA/VPP10KP3111301K1KP3.1(TXD)ALE/PROGC2P321229P3.2(INT0)PSENLEDLED绿红P331328P27P3.3(INT1)(A15)P2.7P341427P26D23D11R23R11P3.4(T0)(A14)P2.6P31P22Y130pFP351526P25P3.5(T1)(A13)P2.5P361625P242.2K2.2KP3.6(WR)(A12)P2.4P371724P2312MHzP3.7(RD)(A11)P2.3LEDLED暖白暖白C31823P22XTAL2(A10)P2.21922P21D22D12R22R12XTAL1(A9)P2.1P32P2330pF2021P20GND(A8)P2.01K1K89C51LEDLED红绿D21D13R21R13P33P244702.2KLEDLED黄兰D20D14R20R14P34P25P121VCC1K1KLEDLED白白D19D15POWERR19R15P35P263S12.2K470212143LEDLED兰黄43D18D16R18R1665P36P27651K1KLEDLED绿红D17R17P372.2KLED暖白图2-3-1

从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,其他LED的点亮和熄灭的方法同LED1。

因此,要实现流水灯功能,我们只要将发光二极管依次点亮、熄灭。

在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管灯亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

2.4各功能模块的选择及论证如下:

复位电路:

由电容和电阻构成,由电路图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。

本设计中R=10K,C=10uF。

所以采用上电复位:

STC89C51RC系列单片机为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。

如图3.3.1所示:

图2-4-1上电复位电路图

晶振电路:

典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)同时也可取12MHz(产生精确的微秒级时歇,方便定时操作),因设计需要,本设计采用12M晶振。

图2-4-2晶振电路图

.LED电路:

由于发光二极管具有最大正向电流、最大反向电压的限制,使用时,应保证不超过此值。

根据不同材料发光二极管的发光颜色有:

红色光、黄色光、绿色光、红外光等。

LED有共阴极和共阳极两种。

在此设计中我们采用共阳极,共阳极将发光二极管的阳极连接在一起,接入+5V的电压。

普通发光二级管的工作电流是5-20毫安,本设计中采用的是3mm发光二级管,所以采用470Ω电阻限流,使其正常工作,工作电流约为10毫安(一般有色发光二极管工作电流约为10毫安,透明发光二极管工作电流为20毫安)。

主要元件有不同阻值的电阻、LED。

电阻为每个LED的限流电阻。

三系统软件设计

3.1Keil_c软件界面图

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C来开发,体会更加深刻。

KeilC51软

件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

下面详细介绍KeilC51开发系统各部分功能和使用。

Keil_c软件界面如图3-1所示:

图3-1Keil_c软件界面

3.2程序流程图

此设计主要是采用控制系统的延时来完成的,此设计中是将流水灯,包含九种模式,每种模式都有一种流水灯样式,每次对P0、P1、P2、P3口赋予相应的值,即可达到预期的效果,再和不同的延时相配合,就能达到不同的流水效果了。

具体程序见附录。

在程序编写方面,本设计采用相对简单的C语言进行编程,采用C语言进行编程的原因是它具有简单紧凑、灵活方便、可移植性好等特点。

程序编写过程当中采用数组、取余、循环移位、移位运算、延时等方式来达成想要的效果。

编程内容以九种模式为核心,控制LED流水灯进行九种变化方式,从而达到设计方案最终预期的效果。

程序流程图如下:

图3-2

四仿真调试

4.1仿真采用proteus仿真图

仿真截图如下:

图4-14.2导入代码图

图4-2-1

图4-2-2

五系统调试及结果分析

5.1软件调试

本次设计整体采用电阻阻值有有四种,每个阻值对应一个或两个不同颜色的LED灯,如果对应不对会出现灯的亮度会发生一些变化,但是不影响整体效果,线路有点多,焊接有点复杂,在安装元件时,我们应该对元件进行检测使它能达到电路所需的要求,应尽量避免装错元件,不然调试时会出现很多麻烦,然后仔细对照原理图进行安装。

再进行元器件的安装焊接,在安装焊接时应注意避免虚焊、假焊

现象,并且要注意掌握焊接时间。

如果焊接时间过长就有可能将元器件损坏。

软件调试一般分为以下四个阶段:

1、编写程序并查错;2、在汇编语言的编译系统中编译源程序3、对程序进行编译连接,并及时发现程序中存在的错误;4、改正错误。

在软件调试过程中,对出现的错误进行了认真的分析和修改,多次调试成功后,能够很好的达到既定的设计效果。

应用KeilC51根据设计要求编写出程序后,调试中出现符号错误及无用编码,根据提示改进后最终成功编写出所要求的程序,并用仿真程序调用后得到预期效果。

采用STC-ISP烧写软件进行程序烧写,开始不能下载,经检查串口出现问题,经安装驱动并检查插口序号后,成功下载软件到单片机。

运行结果:

成功下载软件,接通外部电源,LED灯亮起,但是有部分并未按照预期完成,经调试程序后,与预期相同,总体效果比较好。

5.2遇到问题:

1LED虚亮,经检查发现时电源部分跳线断了,补好后正常工作。

2所亮的灯不是所预想的,经过仔细检查发现程序赋值问题并解决。

3由于每个电阻的阻值不同,外表白色的LED灯不好对应阻值的大小,浪费了我好多时间去排版,最好用纸画好电路图标清每个序号,写清灯的颜色才能更好地实现我想要的效果。

4LED灯不亮,经用电表测量发现有个别灯坏了,或者对LED灯阳极和阴极焊接错误。

5焊接的过程也是困难重重,焊接的效果不是很理想,但是运行还是不错的。

六总结

经过一周时间的努力,我们顺利的完成了这次单片机课设。

这是一个磨练意志的过程。

从课题的选择开始,硬件和软件系统的设计,到最后的Proteus软件仿真完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。

此次编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭一方面,通过IO口引脚的电平高低来实现亮灭,低电平亮,高电平灭来实现流水灯多彩的效果。

通过C51单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用,由过本次课设,我不仅学到了关于单片机技术方面的许多专业知识,同时也让我感觉到团队合作的重要性。

其实如何有效和快速的找到资料也是课设给我的启发,利用好图书馆和网络,是资源的到最好的利用。

与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系,也扩展了自己的思维。

课设是一个通过思考、发问、自己解惑并动手、提高的过程。

我会在以后的学习中不断学习,积累经验,完善自己。

对于这次单片机课程设计中我不仅编写了代码,还自己亲手焊接了实物虽然忙活了两天但是收获还是很大的,通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。

同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固,学习了单片机C语言。

这里我要感谢郭老师指导,没有老师的细致讲解和耐心的讲解也不可能完成,非常感谢~

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1