单片机课程设计单片机动态控制64个彩灯.docx
- 文档编号:20104752
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:11
- 大小:135.89KB
单片机课程设计单片机动态控制64个彩灯.docx
《单片机课程设计单片机动态控制64个彩灯.docx》由会员分享,可在线阅读,更多相关《单片机课程设计单片机动态控制64个彩灯.docx(11页珍藏版)》请在冰豆网上搜索。
单片机课程设计单片机动态控制64个彩灯
课题:
单片机动态控制64个彩灯
任务书
设计内容:
用8051控制64个彩灯,使其先从左到右动态点亮3次,后从右到左动态点亮3次,再从上到下动态点亮3次,最后从上到下动态点亮3次。
如此循环
设计要求:
1)确定系统设计方案;
2)进行系统的硬件设计;
3)完成必要的参数计算与元器件选择;
4)完成应用程序设计;
5)应用程序的调试。
目录
一、课题名称………………………………………………………3
二、设计目的………………………………………………………3
三、系统原理图……………………………………………………3
四、方案论证………………………………………………………4
五、单独电路设计
5.1单片机最小系统……………………………………6
5.2点阵模块电路……………………………………7
5.38051引脚图……………………………………8
5.4系统调试…………………………………………8
六、源程序…………………………………………………………9
七、总结……………………………………………………………11
八、参考文献………………………………………………………11
九、致谢……………………………………………………………12
一、课题名称
单片机动态控制64个彩灯
二、设计目的
1、进一步熟悉和掌握单片机的结构及工作原理。
2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
3、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。
4、通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5、通过完成一个包括电路设计和程序开发的完整过程,了解开发一单片机应用系统的全过程。
三、系统原理图
1、彩灯控制系统的硬件电路原理图如下
图1电路原理图
4、方案论证
随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。
LED彩灯由于其丰富的灯光
色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为
一种时尚。
但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,
这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模
式、闪烁频率等动态参数。
这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。
此外
从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。
因此有必要对现有的彩
灯控制器进行改进。
本文提出了一种基于AT89C51单片机的彩灯控制方案,实现对LED彩灯的控制。
本方案以AT89C51单片
机作为主控核心,与键盘、显示、驱动等模块组成核心主控制模块
点阵
单片机控制器
单片机控制64个彩灯系统框图
五、单独电路设计
5.1单片机最小系统
单片机最小系统原理图如下:
其作用主要是为了保证单片机系统能正常工作。
如图7所示,单片机最小系统主要由AT89C51单片机、外部振荡电路、复位电路和+5V电源组成。
在外部振荡电路中,单片机的XTAL1和XTAL2管脚分别接至由12MHZ晶振和两个30PF电容构成的振荡电路两侧,为电路提供正常的时钟脉冲。
5.2点阵模块电路
本设计采用了AT89C51单片机作控制器,12MHz晶振,8×8点阵共需要64个发光二极管组成,当接高电平的时候则相应的二极管就亮。
先开始清屏100MS,置码指针初值设置每个字的停留时间,每个字8个码,存入R0,然后扫描输出,再扫描下一个,输出到P2,再取下一个码,扫描1MS,八个码完,如果不完就循环到扫描输出,下一步每个字的码时间是否到了不到就从每个字八个码开始循环,下一步8个字48个码是否完成,如果没有完成就从每个字停留时间。
字模中每一点使用一个二进制位(Bit)表示,如果是1,则说明此处有点,若是0,则说明没有。
5.38051引脚图
5.4系统调试
调试过程:
1、保证电路板连接正确后,接上电源。
2、测量各路电源电压,看其是否正常。
3、确认无误后,插入89S51单片机,进行硬件调试,烧写程序检查各部分硬件是否正常。
4、修改段码,使其达到预期控制效果,完成实验要求。
六、源程序
#include"STC12C5A60S2.h"
unsignedcharcodeDATA[]={
0x01,0x02,0x04,0x08,
0x10,0x20,0x40,0x80
};
voidDelay(unsignedintms)
{
unsignedinti,k;
for(i=0;i<10;i++)
for(k=0;k } voidUpToDown(unsignedcharcNum) { unsignedinti,m,n,k; for(i=0;i { for(m=0;m<8;m++) { P1=DATA[m]; for(k=0;k<500;k++) { for(n=0;n<8;n++) { P3=DATA[n]; Delay (1); } } } } } voidDownToUp(unsignedcharcNum) { unsignedinti,m,n,k; for(i=0;i { for(m=8;m>0;m--) { P1=DATA[m-1]; for(k=0;k<500;k++) { for(n=8;n>0;n--) { P3=DATA[n-1]; Delay (1); } } } } } voidLeftToRight(unsignedcharcNum) { unsignedinti,m,n,k; for(i=0;i { for(m=0;m<8;m++) { P3=~DATA[m]; for(k=0;k<500;k++) { for(n=0;n<8;n++) { P1=DATA[n]; Delay (1); } } } } } voidRightToLeft(unsignedcharcNum) { unsignedinti,m,n,k; for(i=0;i { for(m=8;m>0;m--) { P3=~DATA[m-1]; for(k=0;k<500;k++) { for(n=8;n>0;n--) { P1=DATA[n-1]; Delay (1); } } } } } voidmain(void) { P1M0=0xFF; while (1) { UpToDown(3); DownToUp(3); LeftToRight(3); RightToLeft(3); } } 七、总结 1、在设计系统过程中,更加熟悉了Protel99se画原理图。 2、自己动手制作电路板,提高动手能力。 3、通过该系统的制作,学会了点阵动态显示原理及其编程方法。 3、调试程序过程中,针对遇到的问题,寻找解决方法。 八、参考文献 1.《单片机技术实验实训教程》周越江海职业技术学院2007 2.《单片机基础》李广弟北京航空航天大学出版社1992 3.《单片微机控制应用技术—实操指导书》张大明刘振鹏机械工业出版社 4.《8051单片机典型模块设计与应用》钟富昭、张晨人民邮电出版社 5.《单片机原理技术与应用技术》李全钊机械工业出版社 6.《单片机原理及应用技术》李全利高等教育出版社2004年7月 九、致谢 在这次超声波高度仪设计的过程中,我得到了许多人的帮助。 首先我要感谢的是我的老 师,在课程设计上给了我各方面的指导,这是我能顺利完成这次报告的首要条件。 更重 要的是帮我解决了许多技术上的难题,让我能把系统做的更加完善。 在此期间,我不仅 学到了许多的新知识,而且也开阔了视野,提高了自己的设计能力。 其次,我要感谢我 的同学,他们也为我解决了不少的设计难题。 这次课程设计让我明白了一个道理,个人 英雄主义精神自然可贵,但我发现,个人最终还是离不开集体。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机课程设计 单片机动态控制64个彩灯 单片机 课程设计 动态控制 64 彩灯