平面旋转POV显示系统设计_第1页
平面旋转POV显示系统设计_第2页
平面旋转POV显示系统设计_第3页
平面旋转POV显示系统设计_第4页
平面旋转POV显示系统设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计报告专业班级学号姓名指导老师评分电气信息学院二〇一四年六月目录TOC\o"1-4"\h\z\u一、《单片机应用系统设计》课程设计任务书 一、《单片机应用系统设计》课程设计任务书1.课题名称《平面旋转POV显示系统》2.课题内容介绍平面旋转POV显示系统是利用人眼的视觉暂留原理,用少数(一列)LED加一只电机代替点阵进行字符显示的,对电机转速与LED点亮与熄灭的时间进行精确控制就能显示出预先设定的字符或图案,旋转LED显示屏具有更宽的视角,几乎可以360°观看,由于LED数量大大减少,就会使因LED损坏而造成点阵屏故障率大大减小,也更方便维修。3.设计任务(1)设计平面旋转POV显示系统实物一套;(2)能对文字信息进行精确显示;(3)能对图像信息进行精确显示;(4)能够使用红外遥控进行功能切换.4.设计报告撰写规范单片微机应用系统设计总结报告正文,主要含以下内容(硬件、软件各部分内容也可组合起来进行撰写说明):(1)系统总体设计方案(画出系统原理框图、方案的论证与比较等内容);(2)硬件系统分析与设计(各模块或单元电路的设计、工作原理阐述、参数计算、元器件选择、完整的系统电路图、系统所需的元器件清单。等内容);(3)软件系统分析与设计(各功能模块的程序设计流程图与说明、软件系统设计、软件抗干扰措施、完整的程序等内容);(4)系统仿真调试与参数测量(使用仪器仪表、故障排除、电路硬件和软件调试的方法和技巧、指标测试的参数和波形、测量误差分析);(6)总结(本课题核心内容及使用价值、电路设计、软件设计的特点和选择方案的优缺点、改进方向和意见等);(7)按统一格式列出主要参考文献。二、平面旋转POV显示系统设计2.1系统总体设计方案2.11控制芯片CPU的选择A方案:采用STC89C51单片机,STC89C51是采用8051核的ISP(InSystemProgramming)在系统可编程芯片,片内含8KBytes的可反复擦写1000次的Flash只读程序存储器,外接最大晶振12MHz,经过片内12分频,最高运行速度1MHz,程序编写比较简单。B方案:采用STC12系列单片机,STC12是高速、低功耗、超抗干扰的新一代8051单片机,内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,指令代码完全兼容传统8051,但速度比51快8-12倍。综合比较两种方案,采用12系列的51单片机性能更好,因此选择方案A。2.12供电方案的选择A方案:用无线输电的方法,无触点,长寿命;

B方案:用电动机电刷的方法,简单有效;这样寿命很短很容易磨损电路板;

C方案:直接用电池给主板供电,电池装在主板上随主板转动,成本高,寿命短,影响转速。本制作选择方案A,采用简易的无线输电具有无触点寿命长,但是效率要低,成本要高。2.13电机的选择=1\*ALPHABETICA方案:小型直流电机优点:成本低,购买方便,供电简单。缺点:控制精度有限。=2\*ALPHABETICB方案:步进电机优点:控制精度高,显示效果会更好。缺点:成本较高,选型难,控制复杂。C方案:无刷电机优点:转速较高,发热量小,比较稳定。缺点:成本高,驱动电路复杂,功耗大。考虑到平面旋转POV显示系统对转速的要求不是很高,因此选择方案A。2.13显示部分的选择=1\*ALPHABETICA方案:点阵模块“单灯点亮”方案优点:方案成熟,目前广告行业普遍采用这种集成点阵显示模块。缺点:通过前期实验发现,该方案显示效果不佳,视角窄且如果电机速度快会出现色差,显示颜色单一不灵活,所占面积较大。=2\*ALPHABETICB方案:贴片LED显示方案优点:显示效果符合要求,颜色可以灵活设置,所占面积小功耗低。缺点:成本较高,工艺与设计相对复杂。综合考虑,选择贴片LED布局显示方案比较合适。2.2电路设计2.21系统总体设计结构本项目主要由显示部分、电机旋转部分、小功率无线供电部分、上位机控制部分和其他机械配套部分组成(如图2.1所示)。图2.1系统框图图2.1系统框图2.22单片机处理模块处理模块是整个设计方案的核心,它控制平面旋转POV如何处理显示信息,本文采用STC12C5A60S2作为处理模块。这是STC公司推出的新一代8051单片机它的特点是价格低、功耗低、高可靠、无法解密,内部Flash擦写次数为100,000次以上。STC12是高速、低功耗、超抗干扰的,内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,指令代码完全兼容传统8051,但速度比51快8-12倍。具体芯片引脚如图2.2所示图2.2STC89C图2.2STC89C52引脚图51单片机最小系统如图2.3所示图图2.351单片机最小系统2.23无线供电模块使用非放射性的无线能量传输方式来驱动电器,电磁耦合变压器就是利用这个原理来传递能量。如果把变压器的两个绕组分开,就是某种意义上的无线供电。无线供电,是一种方便安全的新技术,无需任何物理上的连接,电能可以近距离无接触地传输给负载。实际上近距离的无线供电技术早在一百多年前就已经出现,而我们现在生活中的很多小东西,都已经在使用无线供电。本次设计采用小功率无线供电模块进行设计,电路简单,成本较低,但供电效率也比较低下,具体电路如图2.4所示。图2.4无线供电电路2.24红外模块红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。通过把红外加载到平面旋转POV显示系统中可以通过遥控器对POV功能方便进行切换。

红外线发射编码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制‘0’;

以脉宽为0.565ms、间隔1.658ms、周期为2.25ms的组合表示二进制‘1’。红外发射器如图2.5所示,红外接收电路如图2.6所示。图2.6红外接收电路图2.6红外接收电路图2.5红外遥控器2.25显示部分电路显示部分主要采用单列高亮LED+74LS573锁存器进行显示,74LS573的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。

这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。显示部分电路如图2.7所示.图2.7显示电路三、平面旋转POV显示软件设计3.1软件设计基本思想平面旋转POV显示过程是一个动态过程,要想能够稳定的显示动态效果,则程序要有适应能力,程序可按以下步骤执行:1.自适应测速,利用单片机定时器测出旋转一周所用的时间。为了测量精确,可以多次测量求平均值。测得结果T=t/n;2.确定一周所显示的字数,假定一周显示16个汉字,每个汉字占用16个字符,则一周程序扫描16x16=256次;3.由此确定程序每扫描一组代码延时时间为T/256;4.通过红外遥控确定要显示的内容;5.把所要显示内容通过74LS573锁存器发送出去,采用定时器延时。3.2程序流程图程序流程图如图3.1所示图3.1主程序流程图3.3平面旋转POV显示系统程序代码3.31红外译码程序红外遥控程序框图如图3.1所示图3.1图3.1红外遥控程序框图程序代码

/**********************************************************/voidIR_IN()interrupt0using0{unsignedcharx,i,j,k,N=0;charbx;EX0=0; //检测引导码阶段(9ms的低电平4.5ms的高电平) delay(15); if(IRIN==1){EX0=1; //9ms的检测检测结束从新打开外部中断 return; }while(!IRIN)//等IR变为高电平,跳过9ms的前导低电平信号。{delay(1);}for(j=0;j<4;j++)//收集四组数据{ for(k=0;k<8;k++)//每组数据有8位 {while(IRIN)//等IR变为低电平 {delay(1);} while(!IRIN)//等IR变为高电平 {delay(1);} while(IRIN)) { delay(1); N++; if(N>=30) { EX0=1; return; }//0.14ms计数过长自动离开。 }//高电平计数完毕 IRCOM[j]=IRCOM[j]>>1;//数据最高位补“0” if(N>=8){IRCOM[j]=IRCOM[j]|0x80;} N=0; }}if(IRCOM[2]!=~IRCOM[3]) //判断有没有误码(有责放弃没有判断键码){EX0=1;return;} switch(IRCOM[2]) {case0x45:biaozhi=10;break; case0x46:biaozhi=11;break; case0x47:biaozhi=12;break; case0x44:biaozhi=13;break; case0x40:biaozhi=14;break; case0x43:biaozhi=15;break; case0x07:biaozhi=16;break; }}3.32自适应测速程序#include"reg52.h"#defineucharunsignedchar#defineuintunsingedintexternK,S,T,N;sbitIb=P3^2;/*****外部中断初始化****/voidinit_INTx(void){EA=1;//开放总中断EX0=1;//允许使用外中断IT0=1;//选择负跳变来触发外中断}/*****定时器Tx初始化****/voidinit_Tx(void){//EA=1;//开总中断 ET0=1;//定时器T0中断允许 TMOD=0x01;//使用定时器T0的模式2 TH0=-(50000/256);//定时器T0的高8位赋初值 TL0=-(50000%256);//定时器T0的高8位赋初值 TR0=1;//启动定时器T0}/********定时器T0的中断服务程序********/voidTime0(void)interrupt1using1{ N++;TH0=-(50000/256);//定时器T0的高8位赋初值 TL0=-(50000%256);//定时器T0的高8位赋初值}/*****自适应周期检测函数*******/voidintO(void)interrupt0using0{ucharn; n=N*50000+TH0*256+TL0; K++; if(K<=10) { n=0; N=0; TH0=-(50000%256); TL0=-(50000/256); Ib=1; } if(10<K<=60) { S=S+n; n=0; N=0; TH0=-(50000/256); TL0=-(50000%256); Ib=1; } if(K>60) { n=0; N=0; Ib=1; TH0=-(50000/256); TL0=-(50000%256); TR0=0; T=S/50; }}3.33平面显示程序#include"reg52.h"#include"intrins.h"#defineucharunsignedchar#defineuintunsingedintsbitIb=P3^2;ucharcodehanzi[]={ };sbitSTRA=P1^5; //数据sbitSDAA=P1^6; //锁存sbitSCKA=P1^7;//时钟sbitSTRB=P0^4; //数据sbitSDAB=P0^5; //锁存sbitSCKB=P0^6; //时钟sbitSTRC=P1^2; //数据sbitSDAC=P1^3; //锁存sbitSCKC=P1^4; //时钟sbitSTRD=P0^1; //数据sbitSDAD=P0^2; //锁存sbitSCKD=P0^3; //时钟/****定义****/send_A(uchari);send_B(uchari);send_C(uchari);send_D(uchari);/*****延时ms函数*****/ voiddelayms(intm){ inti;for(i=m;i>0;i--) {_nop_();}}/******锁存器A初始化函数******/voidA_close(){uchari; i=0xff;send_A(i);}/*******发送数据到A锁存器*****/send_A(uchari){ucharj; for(j=0;j<8;j++) { SCKA=0; STRA=(bit)(i&0x80); i<<=1; SCKA=1;} SCKA=0; SDAA=0; SDAA=1; SDAA=0; }/******锁存器B初始化函数******/voidB_close(){uchari; i=0xff; send_B(i);} /*******发送数据到B锁存器*****/send_B(uchari){ucharj; for(j=0;j<8;j++) { SCKB=0; STRB=(bit)(i&0x80); i<<=1; SCKB=1; } SCKB=0; SDAB=0; SDAB=1;SDAB=0; }/******锁存器C初始化函数******/voidC_close(){uchari; i=0xff; send_C(i);} /*******发送数据到C锁存器*****/send_C(uchari){ucharj; for(j=0;j<8;j++) { SCKC=0; STRC=(bit)(i&0x80); i<<=1; SCKC=1; } SCKC=0; SDAC=0; _nop_(); SDAC=1; SDAC=0; }/******锁存器D初始化函数******/voidD_close(){uchari; i=0xff; send_D(i);}/*******发送数据到D锁存器*****/send_D(uchari){ucharj; for(j=0;j<8;j++) { SCKD=0; STRD=(bit)(i&0x80); i<<=1; SCKD=1; } SCKD=0; SDAD=0; _nop_(); SDAD=1; SDAD=0; }voiddelay(ucharn){ uchari=0; for(;i<n;i++) { _nop_();_nop_();_nop_(); _nop_(); _nop_(); _nop_(); }}voidmain(){ ucharj,i=0; ucharflag=0; intcount=0;while(1) {Ib=1; A_close();B_close();C_close();D_close(); if(Ib==0) { count++; if(count>=10) { count=0; if(i>100) {flag=1;}elseif(i<5) {flag=0;} if(flag==0) { i=i+10; } elsei=i-10;} for(j=0;j<64;j++) { send_A(hanzi[2*j]); send_B(hanzi[2*j+1]); delay(20*i); } } }}四、调试结果实物及动态显示如图4.1—4.4所示图4.1图4.2图4.3图4.4五、总结体会通过历时一周的单片机课程设计,从理论到实践,学到了很多的东西。不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。这次课程设计也使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能真正的提高和锻炼自己,这次的课程设计还让我学会了如何克服困难,战胜困难,坚持不懈,不轻言放弃。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为电气专业的学生,单片机课程设计是很有必要的。要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。在整个课程设计中我懂得了许多东西,大大提高了我的动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个课程设计做的还是有一些遗憾,POV显示的的花样还是不是很多,重心不稳,抖动很大等等,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富。六、参考文献【1】张毅刚彭喜元单片机原理与应用【2】郭天祥十天学会单片机和C语言编程【3】楼然苗51系列单片机设计实例

北京航空航天出版社,2003.3

【4】唐俊翟单片机原理与应用

冶金工业出版社,2003.9【5】刘瑞新

单片机原理及应用教程

机械工业出版社,2003.7【6】胡学海单片机原理及应用系统设计北京:电子工业出版社,2008【7】何海滨数码管和点阵LED的动态扫描方法《无线电》杂志,2010【8】周正华

51单片机POV趣味制作详解北京航空航天大学出版社,2011基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系统中的应用HYPERLINK"/detail.htm?

温馨提示

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

最新文档

评论

0/150

提交评论