32个心形流水灯单片机课程设计.docx
- 文档编号:1079845
- 上传时间:2022-10-16
- 格式:DOCX
- 页数:10
- 大小:178.52KB
32个心形流水灯单片机课程设计.docx
《32个心形流水灯单片机课程设计.docx》由会员分享,可在线阅读,更多相关《32个心形流水灯单片机课程设计.docx(10页珍藏版)》请在冰豆网上搜索。
32个心形流水灯单片机课程设计
32个心形流水灯单片机课程设计
LM*比tyMd砒a^ttitui*站]nfoE«tigEA^IrWfl曲
题目:
心形流水灯
系别:
计算机信息与技术系
专业:
计算机科学与技术
班级:
B120601
学号:
B120601
学生姓名:
指导教师:
郭
2015年06月
论
3一.题目分
析
4二.硬
件
4
2.1MCS-51系列单片机的内部结构框
图4
2.2系统框
图
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-89C5集成
块编程实现的控制电路,它完成了单片机流水灯控制功能,并给出了具体的硬件电路和相应的程序。
这种控制电路可靠性,灵活性高,使用范围广,特别适合中小城市的交通灯、霓虹灯等的应用。
而且,它对其他类似系统的开发具有一定的借鉴意义。
我所设计的该产品是根据自身的兴趣和爱好所设计的,通过单片机的32个双向10口的高低电平控制接在10口上的LED的亮灭,来达到LED的闪烁和流水等效果,编写程序使花样尽量多,用六种颜色的LED穿插焊接,闪烁时更漂亮。
一题目分析
1.1采用单片机STC89C51R做成最小系统来控制
1.2利用最小系统做出心形流水灯,其LED灯的闪烁间隔时间采用延时程序控制,每种模式可采用不同的延时,灵活多变。
程序编写过程当中采用数组、取余、循环移位、移位运算、延时等方式来达成想要的效果。
编程内容以九种模式为核心,控制LED跑马灯和数码管进行九种变化方式,从而达到设计方案最终预期的效果。
1.3本设计选用以AT89C51单片机为主控单元。
此最小系统提供了32个独立LED由10口控制,采用共阳级接法所以只有当10口输出低电平时LED才会点亮。
二硬件
从上图可知,它主要由8个部件通过片内总线连接而成。
部件有中央处理器
(CPU)、数据存储器(RAM)程序存储器(R0M/EPR0M)并行输入/输出口、串行口、定时/计数器、中断系统及特殊功能寄存器。
8051单片机有四个8位的双向输入/输出端口,每个端口均可按字节输入、输出,也可按位进行输入、输出,一个端口占8个引脚,共占32个引脚。
在每个端口中都包括有一个锁存器、一个输出驱动器和输入缓冲器。
因此,本流水灯实际上就是一个带有32个发光二极管的单片机
最小应用系统,即为由AT89C51单片机、电阻、发光二极管、晶振、复位、电源等
电路和必要的软件组成的单个单片机。
单片机最小系统,或者称为最小应用系统,是
指
用最少的元件组成的单片机可以工作的系统。
对51系列单片机来说,最小系统一般应该包括:
单片机、晶振电路、复位电路、按键输入、显示输出等。
单片机接口电路主要用来连接计算机和其它外部设备。
2.2系统框图
复位电单限流彩色
路片
电阻,,机
晶振电
路,2.3电路原理图
D30D41KR30R4LEDLED红P12P03D31LE兰R3暖白
LEDP11P021KR29R5P13P04D32D32.2K470R31P10D29D52.2K2.2黄LED1KR32D28D2D6R28R2R6暖白P14P01P05LEDLE白白1K1K1KR1P00LEDLED绿D12.2KVCCD27D7R27兰7LEDP15P064702.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.6P31P
22Y130pFP351526P25P3.5(T1)(A13)P2.5P361625P242.2K2.2KP3.6(WR)(A12)P2.4P3
71724P2312MHzP3.7(RD)(A11)P2.3LEDLE暖白暖白C31823P22XTAL2(A10)P2.21922P21D22D12R22R12XTAL1(A9)P2.1P32P2330pF2021P20GND(A8)P2.01K1K89C51LEDLED绿D21D13R21R13P33P244702.2KLEDL黄兰D20D14R20R14P34P25P121VCC1K1KLEI白白D
D19D15POWERR19R15P35P263S12.2K470212143LESfiED
43D18D16R18R1665P36P27651K1KLED绿红D17R17P372.2KLE[暖白图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所
以采用上电复位:
STC89C51R係列单片机为高电平复位,通常在复位引脚RST上连
接一个电容到VCC再连接一个电阻到GND由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。
如图3.3.1所示:
图2-4-1上电复位电路图
晶振电路:
典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和
19200波特率,用于有串口通讯的场合)同时也可取12MHz产生精确的微秒级时歇
方便定时操作),因设计需要,本设计采用12M晶振
XT.AL1
XT.4L2
图2-4-2晶振电路图
.LED电路:
由于发光二极管具有最大正向电流、最大反向电压的限制,使用
时,应保证不超过此值。
根据不同材料发光二极管的发光颜色有:
红色光、黄色
光、绿色光、红外光等。
LED有共阴极和共阳极两种。
在此设计中我们采用共阳极,共阳极将发光二极管的阳极连接在一起,接入+5V的电压。
普通发光二级管的工作电流是5-20毫安,本设计中采用的是3mn发光二级管,所以采用470Q电阻限流,使其正常工作,工作电流约为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程序流程图
此设计主要是采用控制系统的延时来完成的,此设计中是将流水灯,包含九种模式,每种模式都有一种流水灯样式,每次对P0P1、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根据设计要求编写出程序后,调试中出现符号错误及无用编码,根据提示改进后最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 32 个心形 流水 单片机 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)