




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . . . 点阵式LED显示器一、 实验目的1.了解点阵式LED显示原理。2.掌握单片机与88点阵块之间接口电路设计与编程。3.掌握8155工作原理与与单片机的接口电路设计。二、设计任务与要求系统设计要求:利用88点阵显示屏,自己设计、焊接并调试电路板,实现在单片机的控制下,点阵显示屏显示“ 电子设计”,显示方式分别为单字循环显示、左右滚动显示、上下滚动显示。系统功能说明:系统在正常工作模式下为单字循环显示“ 电子设计”四个字,当按下第一个开关时,点阵显示屏开始上下滚动显示“ 电子设计”,循环显示三次。而当按下第二个开关时,点阵显示屏开始左右滚动显示“ 电子设计”,循环显示三次。当按下复位开
2、关时,单片机复位,程序重新开始。三、工作原理与设计思路(1)电路原理图:点阵显示模块的硬件电路设计如图1所示: 图1复位电路的基本功能是:系统上电时提供复位信号,在加电瞬间,RST端出现一定时间的高电平,直至系统电源稳定后,撤销复位信号。如下图:晶振电路如下图:(2)电路设计原理:8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置0电平,某一行置1电平,则相应的二极管就亮;8X8点阵的列输入为C0C7,行输入为R0R7,它们通过驱动电路(芯片1416与74LS245)接至发光二极管的阴极和阳极。 要显示某一个字,首先要设计该字的点阵字形,编好行(
3、或列)点阵码,然后在单片机的控制下对点阵进行逐行(或列)扫描。在人眼的暂存效应下我们会看到完整的字形,从而实现了字体在点阵显示屏上的输出。(3)设计思路: 由于只控制8*8点阵显示屏,故不需要扩展单片机的I/O接口。考虑到P0口需要接上拉电阻,使得电路较为复杂,因此利用单片机的P1口来控制点阵的行,用P2口控制点阵的列。利用P3口作为外部中断。(4)芯片原理1.单片机STC89C51RC引脚功能:4KB程序存储器,512B的数据存储器,中断源8个,定时器3个,32位I/O口,有看门狗电路。STC89C51RC/RD+系列单片机ISP编程原理2.74HC245管脚图如下:芯片中数据传输方向:根据
4、所设计的电路原理图,数据由B口传向A口,故应使=0,DIR=0。数据从A口输出后需接1K电阻,再接到点阵的行。3.MC1416BP管脚图如下:由于需要八个数据传送口,故应有两片MC1416BP,任选其中八个即可。此芯片不用接电源,8脚接地。数据直接接到点阵的列。(5)字模表生成:字模由LEDDOT生成,字模的提取方式为:逐行提取,字模的显示方式为:单字单行显示,生成的字模格式:C51十六进制以下是生成的字模表:/*这是“电”的字模;该字模由LEDDOT生成;字模的提取方式为:逐行提取;字模的显示方式为:单字单行显示;生成的字模格式:C51十六进制 */int8u gRowBuff18 = 0x
5、10,0xFE,0x92,0xFE,0x92,0xFE,0x91,0x1F;/*这是“子”的字模;该字模由LEDDOT生成;字模的提取方式为:逐行提取;字模的显示方式为:单字单行显示;生成的字模格式:C51十六进制 */int8u gRowBuff28 = 0xFE,0xC,0x10,0xFF,0x10,0x10,0x10,0x30;/*这是“设”的字模;该字模由LEDDOT生成;字模的提取方式为:逐行提取;字模的显示方式为:单字单行显示;生成的字模格式:C51十六进制 */int8u gRowBuff38 = 0xDC,0x54,0xF7,0x7E,0x52,0x7C,0x4C,0x37;/
6、*这是“计”的字模;该字模由LEDDOT生成;字模的提取方式为:逐行提取;字模的显示方式为:单字单行显示;生成的字模格式:C51十六进制 */int8u gRowBuff48 = 0xC4,0x44,0xBF,0x44,0x44,0x64,0x44,0x04;上下循环:int8u gRowBuffa= 0x10,0xFE,0x92,0xFE,0x92,0xFE,0x91,0x1F,0x00, /电0xFE,0xC,0x10,0xFF,0x10,0x10,0x10,0x30,0x00, /子0xDC,0x54,0xF7,0x7E,0x52,0x7C,0x4C,0x37,0x00, /设0xC4,
7、0x44,0xBF,0x44,0x44,0x64,0x44,0x04,0x00 /计;左右循环:int8u gRowBuff= 0x7E,0x22,0x22,0xFF,0xA2,0xA2,0xBE,0x40,0x00, /电0x09,0x09,0x89,0xFD,0x0B,0x0B,0x09,0x08,0x00, /子0x05,0x7F,0x8C,0x9F,0x69,0xEF,0x9C,0x84,0x00, /设0x08,0xFB,0x40,0x08,0x08,0xFF,0x08,0x08,0x00 /计;四、软件设计(1)设计说明:主函数中共分为三部分,主循环为单字循环显示,外部中断0的中断
8、函数为上下循环,外部中断1的中断函数为左右循环。采用边沿触发方式产生中断,每次中断都循环显示“ 电子设计”。(2)程序流程图:主函数:开始设置中断,允许所有中断,选择中断方式进入主函数,if(sec 200) & (sec 400)&(sec = 600),显示第三个汉字,sec+if(sec=800),显示第四个汉字,sec+sec=0(3)软件参数设置:1.Keil软件:在Keil中选择AT89C52进行仿真,选择频率为11MHZ,如下图:选择仿真输出.hex文件,方便进行烧录,如下图:设置Debug,如下图:2.STC烧录软件:(4)源程序:#include #define Row P1
9、#define Col P2#define ResetBit(byte,i) (byte) &= (0x01(i);typedef unsigned int int16u;typedef unsigned char int8u;/* 模块级变量申明单字循环显示 */*这是“电”的字模;该字模由LEDDOT生成;字模的提取方式为:逐行提取;字模的显示方式为:单字单行显示;生成的字模格式:C51十六进制 */int8u gRowBuff18 = 0x10,0xFE,0x92,0xFE,0x92,0xFE,0x91,0x1F;/*这是“子”的字模;该字模由LEDDOT生成;字模的提取方式为:逐行提取
10、;字模的显示方式为:单字单行显示;生成的字模格式:C51十六进制 */int8u gRowBuff28 = 0xFE,0xC,0x10,0xFF,0x10,0x10,0x10,0x30;/*这是“设”的字模;该字模由LEDDOT生成;字模的提取方式为:逐行提取;字模的显示方式为:单字单行显示;生成的字模格式:C51十六进制 */int8u gRowBuff38 = 0xDC,0x54,0xF7,0x7E,0x52,0x7C,0x4C,0x37;/*这是“计”的字模;该字模由LEDDOT生成;字模的提取方式为:逐行提取;字模的显示方式为:单字单行显示;生成的字模格式:C51十六进制 */int8
11、u gRowBuff48 = 0xC4,0x44,0xBF,0x44,0x44,0x64,0x44,0x04;/* 模块级变量申明上下循环 */int8u gRowBuffa40= 0x10,0xFE,0x92,0xFE,0x92,0xFE,0x91,0x1F,0xFE,0x0C,0x10,0xFF,0x10,0x10,0x10,0x30,0xDC,0x54,0xF7,0x7E,0x52,0x7C,0x4C,0x37,0xC4,0x44,0xBF,0x44,0x44,0x64,0x44,0x04;/* 模块级变量申明左右循环 */int8u gRowBuffb= 0x1F,0x91,0xFE,
12、0x92,0xFE,0x92,0xFE,0x10,0x00,0x30,0x10,0x10,0x10,0xFF,0x10,0x0C,0xFE,0x00,0x37,0x4C,0x7C,0x52,0x7E,0xF7,0x54,0xDC,0x00,0x04,0x44,0x64,0x44,0x44,0xBF,0x44,0xC4,0x00;int8u i,j,n,m,k;int16u sec,b,b1;void Delay1(void);void Delay2(void);/* 子函数定义 */void main(void) IT0=1; /INT0边沿触发 IT1=1; /INT1边沿触发 EA=1;
13、/允许所有中断 EX0=1; /允许INT0中断 EX1=1; /允许INT1中断 while(1) Col = 0xff; /屏幕清零 sec+; if(sec = 200) /每个汉字显示四秒; for(i=0;i 200) & (sec = 400) for(i=0;i 400)&(sec = 600) for(i=0;i8;i+) Col = 0xff; ResetBit(Col,i); /扫描第i列; Row = gRowBuff3i; Delay1(); else if(sec=800) for(i=0;i8;i+) Col = 0xff; ResetBit(Col,i); /扫描
14、第i列; Row = gRowBuff4i; Delay1(); else sec = 0; /外部中断INT0-上下循环void exter0() interrupt 0 using 0 IE0=0; /INT0中断标志清零 Col = 0xff; /屏幕清零 for(sec=0;sec0;j-) /每屏显示时间 for(i=0;i8;i+) Col = 0xff; ResetBit(Col,i); / Row = gRowBuffai+sec; / Delay1(); for(sec=0;sec0;j-) /每屏显示时间 for(i=0;i8;i+) Col = 0xff; ResetBi
15、t(Col,(7-i); / Row=gRowBuffbi+sec; / Delay1(); /外部中断INT1-左右循环void exter1() interrupt 2 using 1 IE1=0; /INT1中断标志清零 Row=0xff; /屏幕清零 for(m=0;m3;m+) for(k=0;k1;j-) /每屏显示时间 for(i=0;i8;i+) Col= 0xff; ResetBit(Col,i); b1=gRowBuffai+m*8; b1=9-k; Row=b|b1; Delay2(); for(m=0;m3;m+) for(k=0;k1;j-) /每屏显示时间 for(
16、i=0;i=k; b=gRowBuffai+8*m+8; b0;i-)for(j=248;j0;j-);void Delay2(void)unsigned char i,j;for(i=2;i0;i-)for(j=248;j0;j-);/* End Of File*/五、调试与过程分析:本次设计由于要用到外部中断,子程序较多。因此我选择将整个程序分成三部分进行单独调试。字样不仅减少了工作量,更有利于发现问题,解决问题。在开始调试时,因为对点阵的行列扫描方式还不够熟悉,我就先编写了一些简单的测试程序,充分了解了显示原理。在测试单字循环显示程序时,却出现了,反码显示的汉字,即应该点亮的地方没有点亮
17、,没有点亮的led拼成了汉字。这样看起来很不方便,也不符合设计要求。通过仔细分析才发现,MC1416含非门,是相反的逻辑输出。在调试上下循环显示程序时,由于延时程序参数设计不好,导致效果很不理想,经过反复实验,终于使汉字能清晰完整的显示出来。在调试左右循环显示程序时,字体的方向又出现了问题,原来是扫描码写反了,同时又修改了方向,终于出来了最终要求的效果。最后就是将所有程序拼接在一起,写成完整的主程序,进行调试。由于前面已经做了大量工作,主程序的调试非常顺利,在自己焊接的电路板上也加入了外部中断的控制,实现了主函数单字循环显示,两个按键分别控制上下循环显示和左右循环显示。六、实验总结在实验中遇到
18、各种各样的困难,其中硬件的原理看似简单,却让我吃了不小的苦头,甚至在一段时间停滞不前。主要是点阵的行列控制问题上遇到了很大的麻烦。还有就是硬件连接。最终我查阅了很多资料,得到了很多启发,同时也在学习的过程中解决了问题。由于要自己焊接并完成整个电路,单片机相关的晶振电路和复位电路,包括硬件连接中的布局和布线,都是极大的考验。任何一部分出现问题,都会功亏一篑。我在调试程序时就出现了没有任何显示的情况,经过分模块检查,发现是复位电路出现问题,虽然硬件没问题,但是板子却有点问题,这都是以前没有遇到过的新情况,也让我长了不少经验。在实验调试过程中的参数调整也非常重要,需要经过不断的修改和完善,比如延时程序的调整,如果参数不当,汉字就不能完整的显示,甚至还会误导你,以为是硬件出现问题。这些都需要在实践中检验。还有就是中断程序的编写,一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 存量房买卖居间合同书
- 地坪夯实施工方案
- 活动预算及支出明细报表
- 中介房屋买卖三方合同
- 慈溪车库地坪施工方案
- 防机械伤害专项排查实施方案
- 重庆专业固锈底漆施工方案
- 成人专升本课程数学试卷
- 填埋场总体施工方案范本
- 地形地貌修复工程施工方案
- 第11课《核舟记》-部编版语文八年级下册
- 护理基础知识1000题
- 课程思政建设论文:新版义务教育英语课标的中国底色
- 马工程-公共财政概论-课程教案
- GB/T 16956-1997船用集装箱绑扎件
- 使役、被动 梳理讲义-高三日语一轮复习
- 千年菩提路解说词
- 古代汉语课件-副词
- 采矿学-I课件第七章-主要开拓巷道类型和位置的选择
- BCH编码解读课件
- 摄像机基本原理(中文)
评论
0/150
提交评论