为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 基于C51单片机的8×8LED点阵屏汉字显示

基于C51单片机的8×8LED点阵屏汉字显示

2019-07-18 6页 doc 558KB 82阅读

用户头像

is_769254

暂无简介

举报
基于C51单片机的8×8LED点阵屏汉字显示单片机课程设计报告—8X8LED点阵屏显示“大”字第一章设计内容及要求3第二章总体设计3系统框图3、4TOC\o"1-5"\h\z设计步骤4第三章各部分电路设计43.1复位电路HYPERLINK\l"bookmark10"\o"CurrentDocument"4、53.2时钟电路5、63.3显示电路6、73.4大字取模7TOC\o"1-5"\h\z3.5LED引脚连接方式&93.6总体电路9第四章程序设计9HYPERLINK\l"bookmark28"\o"CurrentDocument"4.1软件流图9、...
基于C51单片机的8×8LED点阵屏汉字显示
单片机课程报告—8X8LED点阵屏显示“大”字第一章设计内容及要求3第二章总体设计3系统框图3、4TOC\o"1-5"\h\z设计步骤4第三章各部分电路设计43.1复位电路HYPERLINK\l"bookmark10"\o"CurrentDocument"4、53.2时钟电路5、63.3显示电路6、73.4大字取模7TOC\o"1-5"\h\z3.5LED引脚连接方式&93.6总体电路9第四章程序设计9HYPERLINK\l"bookmark28"\o"CurrentDocument"4.1软件流图9、10HYPERLINK\l"bookmark36"\o"CurrentDocument"4.2大字的模10HYPERLINK\l"bookmark38"\o"CurrentDocument"4.2主程序10、11C51单片机开发工具:keil4Proteus使用方法…11、16TOC\o"1-5"\h\z第五章仿真结果16第六章总结与体会17、18第七章参考文献18附录程序清单19、20基于C51单片机的8X8LED点阵屏汉字显示一设计要求1、设计一个8*8点阵LED电子显示屏2、要求在目测条件下LED显示屏各点亮度均匀、充足,可静态显示一个大字。二总体方案设计2.1系统框图根据设计要求与,硬件电路的设计框图如图1所示。硬件电路结构由8个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示阳极电路、点阵显示阴极电路和8*8点阵显示电路。22设计步骤根据设计要求,初步确定设计方案如下:1.选择STC89C52单片机(晶振频率为f=12MHZ)作为整个系统的核心器件,对整个系统进行总体控制,发送并时时处理系统信息。由于是8*8点阵屏设计,需要端口16个,可采用静态显示模式,用P0口控制行,P2口控制列。通过软件编程,即可实现汉字“大”的显示。点阵的点亮过程有程序控制,点阵采用单色显示。三各部分电路设计3.1复位电路单片机在启动运行时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作,另外,在单片机工作过程中,如果出现死机时,也必须对单片机进行复位,使其重新开始工作。本设计中采用按键复位电路3.2时钟电路STC89C52单片机内部的振荡电路是一个高增益反向放大器,引线X1和X2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。STC89C52勺时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。内部时钟方式:利用其内部的振荡电路在X1和X2弓|线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在X1和X2之间接晶体振荡器与电路构成稳定的自激振荡器,如图4所示电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频3.3显示电路的设计本次设计中采用8*8点阵LED显示器,简称LED点阵板或LED矩阵板。它是以发光二极管为像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。有单色和双色之分,这种显示器有共阳极接法和共阴极接法两种,设计中用到的是共阳极的显示器。图中画出了8*8点阵的二极管。每一行发光二极管的阳极接在一起,有一个引出端r,每一列发光二极管的阴极接在一起,有一个引出端c。当给发光二极管阳极引出端r1加高电平,阴极引出端cl加低电平时,左上角的二极管被点亮因此,对于行和列的电平进行扫描控制时,可以达到显示不同字符的目的行只要其对应的X、丫轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则丫0=1,X0=0即可。应用时限流电阻可以放在X轴或丫轴关于ARKSZ411288K8*8点阵ARKSZ411288K8*8点阵引脚图8*8点阵b点阵面对自己,有字的那一面朝ARK那一面。然后按照图b那个坐标轴就可以看出引脚图是如何排列的。1~8为负极,一~八为阳极。3.4关于“大”字的取模选用8*8点阵■■■■■irEtS^K^vl.1-Reshurl^t-打渲文件(F)燥作(E)迭项E宦常规T「向左斗kE&A-B-C-4)IIII:DIIII—C—Ar16*19着屏®Ir宇符反白您)—j—&|_A-C-0-CC&-EYT)r哺荻甕文件(右击清踪文件)litto://blog.sain盘.cop.cn/rftshurl-”大厂向右关于㈤出(E)宫级选顶(Q)夏制结果(0”字的取模为0x44,0x24,0x14,0x0C,0x0F,0x14,0x24,0x44,3.5关于LED显示器当采用单片机进行控制时,连接点阵显示器的共阳极r端与单片机的P2口相连,而共阴极c端需经限流电阻与单片机的P0口相连。在编程控制时,将8*8点阵LED显示分成行和列两部分,字符数据从P0口输出,扫描控制字从P2口输出,每一列由一个字节的数据组成,数据可一次送入,然后扫描一行,显示一个字需要扫描8次。3.6整体电路图■T'I**■ZJMilriM口「EM怛jl口up3-rrnDjJW1TzaMf-陀'iTEQO^ICn?"i□JMD3H.3P3tlltMEU^K0.4^^USEFW?^幼四程序设计4.1软件流图开始i定时器1初始化i主循坏—一T_TOC\o"1-5"\h\zHYPERLINK\l"bookmark34"\o"CurrentDocument"I无TT定时中断函数-t有无中斷一-trI有TIT说用显示予函数-P0口外接点阵来驱动行点亮,P2口外接点阵进行列选通,来显示大字4・2大字的模定义行unsignedcharcodetaba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}〃P0口输出定义列unsignedcharcodetaba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}//P2口输出4.3主程序voidmain(void){TMOD=0X10;//设置定时器1为工作方式1TH1=(65536-50000)/256;TL1=(65536-50000)%256;//定时50000usEA=1;//开总中断ET1=1;//开定时器1中断TR1=1;//启动定时器14.4显示函数while(1){for(i=0;i<8;i++){PO=taba[i];P2=tabb[i];}}}4.5定时中断函数voidext1()interrupt3{TH1=(65536-50000)/256;TL1=(65536-50000)%256;t++;}程序清单在最后的附录中4.3打开keil,先建立一个工程建议先新建一个文件夹用来存放,不然待会儿找不着。输入工程名后点保存,出现单片机型号选择框,一般用stc的51单片机,由于上面没有stc的,选择atmel的就可以,因为它们是兼容的。选好后点击0K如果要烧录到单片机中,还得创建hex,在上面方框target1的右边的第一个新建c程序点击file/new后点左上角的保存按钮,输入文件名,记住扩展名.c,接着点击target1,右键sourcegroup1,出现可以选择。点击addfilestogroup'ssource,选择刚才的c文件,点击add,后close。按钮,单击。选择output,勾选creathexfile,编程完后编译,连接等步骤leviesTvrtcCuljiit|Liitihr|Uitr|C5JAolBJ5L|EI£1His;||Tt订iliaSetea=5kJer^orOti|K5SNa'iecrfExcttldljlep忆创谨可执打文件旧:勺硬DebugWonriclianpEroirseiTfamacioft17Cm*HEXFibHEXFaw^|HEX-0Q刁「创連庄\q.LC厂O就開tch降讎」_駆肖|鹹|幫助|最好生成hex文件Buildtarget~,甘标)linking・・・ProgramSize:(12七耳=10.0xdara=Ogoc1e=59creatinohexXzom"q"・**"qn-0Erxor(s>f0S呂zning.Proteus基本使用方法□SEIPM-MrtMlc&rs*PIl|devicesAT83C51BUTTONCAPCAZELECCRYSTALl4ATR^&nii拥引疥□r甕戟章右绅I蘭冃・胜也PWShn;PrpflrWT引E最后运行仿真即可。I[——1L►丄卜」iij■」|G五仿真结果RP1六总结及体会1在这次课程设计的整个过程中,我们做了一次全面、较的设计练习,全面地温习了以前所学过的知识,用理论联系实际并结合单片机原理课程和解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识。尤其重要的是让我们养成了科学的习惯,在设计过程中一定要注意掌握设计进度,按预定完成阶段性的目标,在底图设计阶段,注意设计计算与结构设计画图交替进行,采用正确的设计方法。在整个设计过程中注意对设计资料和计算数据的保存和积累,保持的完整性。在课程设计的实践中进行了设计基本技能的训练,掌握了查阅和使用标准、规范、手册、图册、及相关技术资料的基本技能以及计算、数据处理等方面的能力。2通过对通用51系列单片机机处理器、常用元器件的设计,掌握了一般单片机设计的程序和方法,让我们对整个单片机程序的设计,C51语言有了一个比较深的理解。3还有就是增强了自身的动手能力。在这次课程设计中,我主要负责的是程序设计和单片机部件焊接。通过参考相关的程序设计,自己写出了主要的程序代码。同时将元器件正确焊接到基板上。这些都是将以前书本上讲的或是没有讲的,通过一次课程设计具体的实施,使自己的动手能力和独立设计能力真正得到锻炼,对于以后我们的发展与学习来说,都可以看作一笔不小的财富,前面还有很多需要我们去尝试。同时不能忽略的是,这一次课程设计是以小组为单位的。在这次课程设计中,我和自己的小组成员学会了密切分工配合。而这样的合作能力和团队精神在今后的学习工作中是很重要的。七参考文献[1]《单片机原理及应用》薛峰.朱晓骏编著北京:北京理工大学出版社,2011,9附录程序清单#inelude#includeunsignedcharcodetaba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};〃行选unsignedcharcodetabb[]={0x44,0x24,0x14,0x0F,0x14,0x24,0x44,0x04};//列选unsignedchari;voidmain(void){TMOD=0X10;//设置定时器1为工作方式1TH1=(65536-50000)/256;TL1=(65536-50000)%256;//定时50000usEA=1;//开总中断ET1=1;//开定时器1中断TR1=1;//启动定时器1while(1){//*****************显示函^数***************for(i=0;i<8;i++){PO=taba[i];P2=tabb[i];}}定时中断函数//*********************************//voidext1()interrupt3{TH1=(65536-50000)/256;TL1=(65536-50000)%256;t++;
/
本文档为【基于C51单片机的8×8LED点阵屏汉字显示】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索