单片机原理及接口技术课程设计-基于51单片机旋转LED.doc_第1页
单片机原理及接口技术课程设计-基于51单片机旋转LED.doc_第2页
单片机原理及接口技术课程设计-基于51单片机旋转LED.doc_第3页
单片机原理及接口技术课程设计-基于51单片机旋转LED.doc_第4页
单片机原理及接口技术课程设计-基于51单片机旋转LED.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计 课程名称_单片机原理及接口技术_题目名称 基于51单片机旋转LED 学生学院_ 专业班级_ _学 号 学生姓名_ _ _指导教师_ _2016 年 06 月 15 日任务书广东工业大学课程设计任务书题目名称基于STC89C52的旋转LED学生学院 专业班级 姓 名 学 号 一、课程设计的内容用STC89C52单片机制作一台旋转LED设备:1.设计并绘制硬件电路图;2.选择所需元器件,根据电路图在洞洞板上焊接好元器件;3.编写程序并将调试好的程序固化到单片机中;4.对作品进行测试。二、课程设计的要求与数据单片机采用STC89C52芯片,供电采用无线供电模块,电机驱动电路,溢出中断标志采用红外发射与接收,由底座的电机旋转带动顶部单片机及LED灯电路的旋转,由无线供电模块给单片机及LED灯供电,由单片机控制LED亮灭的周期,在旋转时形成图案及文字,按此要求设计硬件和软件以实现这一功能。三、课程设计应完成的工作1. 结合已有的开发板,用其进行程序的下载;2. 完成软件、硬件的设计,并进行硬件的焊接制作,并将调试成功的程序固化到单片机中,最后进行硬件与软件的调试;3.撰写设计说明书。四、课程设计进程安排序号设计各阶段内容地点起止日期1硬件、软件设计大学城工学三号馆3176月6-8日2焊接电路板大学城工学三号馆3176月9-11日3软件、硬件调试大学城工学三号馆3176月12-13日4撰写报告书宿舍6月14-15日5答辩大学城工学三号馆3176月16-17日五、应收集的资料及主要参考文献1李全利.单片机原理及接口技术(第2版).高等教育出版社,2009年01月2.求是科技.单片机典型外围器件及应用实例.北京:人民邮电出版社,2006年02月3谭浩强.C语言程序设计(第二版).北京:清华大学出版社,1999年12月4.刘坤等编著.51单片机C语言应用开发技术大全.北京:人民邮电出版社 2008年09月发出任务书日期:2016年 06月 06日 指导教师签名:计划完成日期: 2016 年 06月 17日 基层教学单位责任人签章:主管院长签章:摘要:本设计是基于物体在快速运动时给与人的眼睛一种视觉暂留的效果。故设计使用51单片机的两组I/O口控制16个LED灯的亮灭,底座采用可调电源、可调电阻与电机的组合来提供不同的转速来旋转,又用无线供电模块给顶部的单片机和LED灯供电,并且设置有红外发送与接收模块,发送端采用小遥控器,接收端采用0038红外接收头,从而通过按遥控器上面不同的按键使旋转起来的LED按照程序中设定的不同图案的显示。本设计主要有两个难点:无线供电的不稳定和遥控控制这两个难点部分。通过许多天的尝试和调试,终于基本解决了这些问题。当然,在本设计中存在着许多不足之处,例如地方的光照条件,地方供电问题等等,有待进一步改善和学习。目录任务书2一、课程设计的内容2二、课程设计的要求与数据2三、课程设计应完成的工作2四、课程设计进程安排3五、应收集的资料及主要参考文献3摘要:41.绪论61.1背景61.2意义62.硬件部分62.1硬件设计62.2硬件具体模块72.2.1可调直流电源模块72.2.2电机模块72.2.3无线供电模块82.2.4 STC89C52单片机及最小系统模块82.2.5 LED模块93.软件部分104.心得185.参考文献19附录:191.原理图192.实物图201.绪论1.1背景随着时代的发展,在室外没有投影仪的情况下,用于宣传广告的LED显示已不断创新。但是传统的LED显示具有普遍的缺点:位置固定、操作麻烦、价格昂贵,体积庞大,安装困难等。因此设计出一款轻便、便宜,结构简单的LED显示旋转LED已是时代潮流所需。1.2意义微机不停更新换代,功能不断强大。微机具有体积小,重量轻,控制能力突出等优点,且比较容易掌握,使用方便。通过单片机控制LED灯则很好的解决了传统LED显示的普遍去电。如今多数LED显示为点阵显示,LED的利用率和新颖度大大下降,而通过单片机控制的旋转LED可以用于像酒吧,发廊等一切需要广告的地方,这样不仅降低了成本,而且大大增加了对顾客的吸引力,这样便极大地提高了企业竞争力。2.硬件部分LED红外发射红外接收电机可调电源无线供电模块STC89C52单片机2.1硬件设计采用可调电源通过可调电阻给电机、无线供电模块供电,无线模块给STC89C52单片机、红外接收端、LED供电,采用遥控器作为红外发射,发送的红外信号给接收端处理,再送往单片机中断处理,把单片机存储的不同图案通过I/O口的高低电平送往LED,通过LED的亮灭实现图案显示。2.2硬件具体模块2.2.1可调直流电源模块采用可调电源,将电压调为6-12V同时给电机和无线供电模块供电。2.2.2电机模块采用普通电动小马达作为电机提供旋转运动,与可调电阻(阻值为100-300欧姆)串联,从而调节可调电阻的阻值来改变电机的转速。2.2.3无线供电模块采用网上购买到的无线供电模块线圈通过感应电压给顶部供电,作为电源给单片机、LED、红外接收端供电。2.2.4 STC89C52单片机及最小系统模块STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。具有8K字节程序存储空间;512字节数据存储空间;内带4K字节EEPROM存储空间且可直接使用串口下载。最小系统采用2个20pF的电容和1个11.0592MHz的晶振搭建而成,因考虑电路的简便和轻便,故省去复位电路。2.2.5 LED模块采用16个红色LED灯,分别接入单片机的P0、P1口,其中,采用的是共阳的接法。2.2.6 红外发送、接收端发送端用的是小型遥控器,接收端采用的0083红外接收管,并且红外接收端的OUT脚接入单片机的P3.2口,外部中断0口,提供中断信号3.软件部分#include#include#define uchar unsigned char#define uint unsigned intsbit D=P32;sbit IR=P32;uchar IRtime;bit IR_ok;bit IR_receive_ok;uchar IRcord4;uchar IRdata33;uchar code tb1;uchar code tb2;uchar i,j;uint count;uint temp;/*图案字形码*/uchar code tb1=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff;uchar code tb2=0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/图案1uchar code tb3=0x5f,0xaf,0xd7,0xeb,0xf5,0xfa,0xf2,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff;uchar code tb4=0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0x5f,0xaf,0xd7,0xeb,0xf5,0xff,0xff,0xff;/图案3uchar code tb5=0x6f,0x1f,0x27,0x3b,0x35,0x5a,0x72,0x91,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff;uchar code tb6=0x0f,0x1f,0x7f,0x5f,0x9f,0x5f,0x7f,0xbf,0x5f,0xaf,0xd7,0xeb,0xf5,0xff,0xff,0xff;/图案2void delay(uint z)uchar x,y;for(x=z;x0;x-)for(y=120;y0;y-); /延时1ms函数void bolang1() /图案1函数 while(D=1) for(i=0;i0;j-)P0=tb1j;P1=tb2j;delay(2);void bolang2() /图案3函数 while(D=1) for(i=0;i0;j-)P0=tb5j;P1=tb6j;delay(2); void bolang3() /图案2函数 while(D=1) for(i=0;i0;j-)P0=tb3j;P1=tb4j;delay(2);void bolang4() /图案4函数 while(D=1) P0=0x5f; P1=0xd7; delay(3000); P0=0xd7; P1=0xbf; delay(3000); void bolang5() /图案5函数 while(D=1) P0=0x8f; P1=0xfe; delay(3000); P0=0xfe; P1=0x8f; delay(3000); void bolang6() /图案6函数 while(D=1) P0=0x00;P1=0xff;delay(300);P0=0xff;P1=0x00;delay(300); void IR_init() /红外初始化函数TMOD=0x02;TH0=0x00;TL0=0x00;EA=1;ET0=1;TR0=1;IT0=1;EX0=1;void time0() interrupt 1 /定时器每溢出一次,变量加1,用于检测码的时长IRtime+; void int0() interrupt 0 static uchar i;static startflag;if(startflag)if(IRtime32)&(IRtime54) /判断引导码i=0;IRdatai=IRtime;IRtime=0;i+;if(i=33) /33位数据录入IR_ok=1;i=0;elsestartflag=1;IRtime=0;void IRcordpro() /红外解码uchar i,j,k,dat,value;k=1;for(i=0;i4;i+)for(j=0;j5)value|=0x80;if(j=1;k+;IRcordi=value;value=0;IR_receive_ok=1;void IRword() /遥控器码值选定图案函数switch(IRcord2)case 0x45:bolang1();break;case 0x46:bolang2();break;case 0x47:bolang3();break;case 0x44:bolang4();break;case 0x40:bolang5();break;case 0x43:bolang6();break;default:break;IR_receive_ok=0;void main()uchar i;IR_init();while(1) P0 = 0x00;P1 = 0x00;/全亮等待if(IR_ok)IRcordpro();IR_ok=0;if(IR_receive_ok)IRword();4.心得经过两个星期几乎每晚熬夜的艰苦奋斗,终于把这个简陋但不简单的作品做出来了。现在是夏天,每天都奔波于宿舍、实验室、器材店当中,衣服每次都被汗水给浸透,而且设计制作的过程并不是一帆风顺的,首先因为材料的一无所有而慢慢采购,期间更换过很多次方案,然后又要跑去买;然后硬件和软件也经常出问题,而且是那种解决掉一个旧问题就出现一个新问题。每天都在想着怎么解决。硬件部分问题主要为马达的转轴与顶层的板子的固定问题,使得旋转起来稳定一点,还有无线供电模块供电不稳定,刚开始采用了电池作为底座的电机和无线供电模块的供电,然而电量不稳定,导致LED的亮度大大下降甚至不亮,到后来顶部的无线供电模块给LED供电不稳定,又试过采用安装纽扣电池在顶板给LED和单片机供电,然而又因为纽扣电池耗电太快,又放弃了,恢复为无线供电,所以无线供电模块供电的不稳定性依然存在。软件部分主要为延时的调整,怎样才能稳定地显示图案;还有就是红外遥控的部分,我们都没有学过怎样使用红外遥控,所以又得看了很久视频和各种书籍才能写出来比较基础的红外遥控程序。不管怎么说,作品算是做出来了。我们也得到了足够的意志力和耐心锻炼,知识也得到了扩展,这也是这次课程设计的最大收益,也相信这会对我们以后的学习、工作也很大的帮助。通过这旋转LED的制作,我收获了很多,在这里我要感谢和我一起的队友,也感谢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论