《单片机课程设计》设计报告指导教师:学生姓名:专业班级:学号:设计题目:简单图形显示控制2016年6月《单片机课程设计》设计报告1目录一、设计题目二、设计内容与要求三、设计目的与意义四、系统硬件原理图五、程序流程图与源程序六、系统功能分析与说明七、设计体会八、参考文献《单片机课程设计》设计报告2一、设计题目简单图形显示控制二、设计内容与要求使用8031单片机控制8×8点阵式LED显示“★”、“●”和心形图,要求通过按键来选择要显示的图形。显示时间可调。三、设计目的与意义LED点阵显示屏是一种由多个独立的LED发光二极管封装而成的,新兴的显示器件.LED点阵电子显示屏,可以显示数字或符号,通常用来显示时间、速度、系统状态等。显示灵活,控制方便,广泛应用于车站、商场、医院、宾馆、银行、证券市场、商业宣传和其它公共场所。LED点阵显示屏的兴起得益于其显著优点,这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。作为机电专业学生,掌握LED点阵设计控制方法已成为必要技能。本次课程设计即以单片机控制8x8点阵显示简单图案,课程设计首先提供给我们理论联系实际的机会,让我们对课堂所学知识有更深刻的理解和体会,课程设计中对Keilu5,AltiumDesigner的使用也将使我们的软件使用能力得到提升。其次,这次课程设计之后我们熟悉了LED点阵工作方式,可以自己动手制作维修LED宣传牌,对我们自身能力的提升也有很大裨益。同时,组内三人各司其职,各尽其责,也将锻炼我们的团队协作能力。最后,课程设计的周期安排,原件采购也对我们的逻辑思维能力提出了考验。《单片机课程设计》设计报告3四、系统硬件原理图课程设计使用STC90C51单片机,STC90C51内部具有ROM程序存储空间,而且便于采购。复位电路复位可以使单片机工作在一个确定的状态,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在电路图中,电容的的大小是10uf,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在0~3.5V增加,电阻两端的电压为从5~1.5V减少。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,电容被短路,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小,10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。《单片机课程设计》设计报告4时钟电路8031单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。外部振荡方式的外部电路如下图所示。图中,电容器Col,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF,设计中使用30pF独石电容,晶振频率的典型值为12MH2。内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。控制电路设计中使用外部中断0作为控制输入端,一个中断信号计数一次,同时图形变化一次,依次显示,○,☆,漏斗,“机”、“电”、“1”、“3”、“0”、“2”、动画“IU”等图案。外部中断下降沿有效,控制开关断开,P3.2接高电平,开关压下,P3.2接入低电平,在下降沿处产生一次中断。《单片机课程设计》设计报告5点阵工作原理设计中使用8x8共阳极双色点阵,在行与列的交叉处有一个LED,点阵阴极对应列,阳极对应行,故给行以高电平,列以低电平,则该二极管发光。如,行10H,列80H,则第4行第一列LED发光。硬件接线原理图《单片机课程设计》设计报告6五、程序流程图及源程序主程序流程中断程序流程图《单片机课程设计》设计报告7源程序#includereg51.h#defineREADPORTSP1#defineCOMMONPORTSP2//--列选通控制--//unsignedcharcodeTAB[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//--点阵字码--//unsignedcharcodeCHARCODE1[10][8]={{0x38,0x7C,0x7E,0x3F,0x3F,0x7E,0x7C,0x38},{0x3C,0x7E,0xFF,0xFF,0xFF,0xFF,0x7E,0x3C},{0x11,0x1B,0x3E,0xFC,0x3E,0x1B,0x11,0x00},{0xC3,0xE7,0xFF,0xFF,0xFF,0xE7,0xC3,0x00},{0x01,0x7F,0x40,0x7E,0x29,0xFF,0x30,0x28},//机{0x00,0x01,0x7D,0x55,0xFF,0x54,0x7C,0x00},//电{0x00,0x00,0x01,0xFF,0x41,0x00,0x00,0x00},//1{0x00,0x66,0x99,0x91,0x81,0x42,0x00,0x00},//3{0x00,0x00,0x7E,0x81,0x81,0x7E,0x00,0x00},//0{0x00,0x00,0x61,0x91,0x89,0x85,0x43,0x00}//2};unsignedcharcodeCHARCODE2[]={0x00,0x00,0x81,0xFF,0x81,0x00,0x00,0x00,0x38,0x7C,0x7E,0x3F,0x3F,0x7E,0x7C,0x38,《单片机课程设计》设计报告80x00,0xFE,0x01,0x01,0x01,0x01,0xFE,0x00,0x00,0x24,0x42,0x62,0x02,0x62,0x42,0x24,0,0,0,0,0,0,0,0};staticunsignedcharj;staticunsignedcharindex=0;voidmain(){unsignedchartab,a;unsignedinti;while(1){IT0=1;EA=1;EX0=1;switch(j){case11:{for(i=0;i1000;i++){for(tab=0;tab8;tab++){a=index;READPORTS=0xFF;//消隐COMMONPORTS=CHARCODE2[a+tab];//输出字码READPORTS=TAB[tab];}}++index;if(index==32){index=0;}break;}《单片机课程设计》设计报告9case12:j=0;break;case0:case1:case2:case3:case4:case5:case6:case7:case8:case9:{for(tab=0;tab8;tab++){READPORTS=0xFF;//消隐COMMONPORTS=CHARCODE1[j][tab];//输出字码READPORTS=TAB[tab];}break;}}}}voidint_0()interrupt0{EA=0;j++;//控制j}六、系统功能分析与说明主要实现功能:通过按键控制点阵显示不同图案,显示时间可用按键控制。使用说明:1、开机:打开电源,单片机初始化状态,点阵显示桃心图案。2、按下按键【S1】,图案转换为圆形。3、再次按下【S1】,图案转换为五角星,依次循环。【S】为复位键,按下并松开后点阵图案将重置为桃心。《单片机课程设计》设计报告10七、设计体会在此次课程设计中,我负责与组员协商采购原件,硬件接线,钎焊,覆铜板腐蚀,整体周期安排。在一切开始之前,我先查找了相关资料,了解之前的同学们是如何设计了,并依次拟定了我们的工作周期:1通过单片机开发试验仪学习一些基础知识2绘制电路原理图3通过单片机开发试验仪检测所编写的控制程序并验证4购置所需电子元器件并焊接5将硬件与软件结合起来调试拟定工作周期之后,一切工作便按计划进行,刘宁实验电路板,其余同学便可是准备采购原件,计算时钟电路晶振频率,电容大小,复位电路电阻阻值校核,点阵选取等等,随着周期的推进,我的工作逐渐多了起来,大家一起协商选用输入输出端口,周雪静绘制原理图,PCB,我协助工作,另一面,与刘宁配合编程。电工电子实习时首次接触钎焊,这次用在实践中,倍感力不从心,通过两周的课程设计,钎焊水平着实得到提升,这在过程中,虚焊,短路等问题接二连三的出现,有许多问题是无法用眼睛看到的,需要用万用表查错,许多次想要放弃,买成品,可是有一次又一次地检查出错误,最终,成功的焊接了电路板,虽然不怎么美观,可是功能却没有差错,对自身的帮助更是不言而喻。鉴于这是唯一一次有机会设计电路板,我们觉得尝试使用三氯化铁腐蚀覆铜板制作电路板,一来可以降低焊接难度,而来也是对技能的提升,购得腐蚀剂代替三氯化铁,将PCB图热转印到覆铜板表面,置于三氯化铁的热溶液中,十几分钟后腐蚀完成,只有油墨下的铜被保留了下来。第一次腐蚀难免出现问题,我们不得不一根一根的纠错,短路的地方用砂轮断开,断路用导线连接,确保无误后打孔,电路板制作完成。最后的调试阶段也一如既往的错误不断,在试验仪中实验过程序无法在电路板上运行,百思不得其解,可是又不得不纠错,生殖遇到单片机时钟电路引脚人工激震的问题。解决了所有问题,课程设计也如期结束了。《单片机课程设计》设计报告11此次课程设计中,不论是协作能力,还是动手能力,都得到极大的提升,开阔了电子方向的思维尺度,使我受益匪浅。尤其在耐心和纠错能力更加进步。最后,感谢老师在此次设计中对我们的悉心指导和鼓励,使我们的课程设计能如期完成。《单片机课程设计》设计报告12《单片机课程设计》设计报告13八、参考文献[1]宋跃.单片机微机原理与接口技术[M].北京:电子工业出版社,2011[2]李庆亮.C语言程序设计实用教程[M].北京:机械工业出版社,2005[3]成立.数字电子技术[M].北京:机械工业出版社,2008.12[4]徐江海.单片机实用教程[M].北京:机械工业出版社,2006[5]成立.模拟电子技术[M].南京:东南大学出版社,2012.11