ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:650.86KB ,
资源ID:6907262      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6907262.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LED点阵屏显示控制系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LED点阵屏显示控制系统.docx

1、LED点阵屏显示控制系统实训报告物理与电子科学 学院电子信息科学与技术专业 信号0802班 学生: 韦腾学 号: 200856110326实习名称:专业实践综合训练一课题名称:LED点阵屏显示控制系统指导教师:贺慧勇 文勇军 周晓萍小组成员:龙建辉 高信 田林 周磊韦腾孔文杰实习成绩评定表学生:韦腾 学号: 200856110326 专业班级: 信号0802班 课题名称: LED点阵屏显示控制系统 评分项目要求分值得分学习态度学习态度认真,遵守纪律。10方案调研充分,方案设计合理。20工作量完成了规定的工作量。实际设计、调试效果好。40实习报告完全符合撰写规要求,结构严谨,逻辑性强,层次清晰,

2、表述准确,文字流畅。20辩论准备充分,概念清楚,能准确流利地回答各种问题。10总分备注:成绩: 指导教师:年 月 日1 引言.11.1 设计背景.1设计要求.11.3 实现功能 .12硬件设计22.1 MCS-51单片机简述. 22.2 芯片介绍. 3 2.3 电路设计. 43软件设计 5 3.1 Visual Basic的使用.5 3.2 SQL数据库的使用.7 3.3 编写程序实现功能.74 调试过程与问题分析.115 心得体会.13参考文献. 13附件. 14一、引言1.1设计背景:在车站、机场、商场、证券交易所与其他一些公众场所,经常需要发布多变的实时信息或进展广告宣传,传统的黑板和纸

3、等媒介手段已不能满足其多变性和实时性,而LED发光二极管电子屏以其修改方便、实时显示、美丽整洁等特点应运而生。LED电子显示屏随计算机与相关的微电子、光电子技术的迅猛开展而形成的一种新型信息显示媒体。它利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,以可靠性高、使用寿命长、性能价格比高、低电压扫描驱动、耗电少、本钱低、发光效率高、故障少、可视距离远、组态灵活、安全、响应时间短、绿色环保、控制灵活、色彩丰富以与对室外环境适应能力强等特点,在短短十来年中,迅速成长为平板显示的主流产品,已经广泛应用到银行、邮电、税务、机场、车站、证券市场与其它交易市场、医院、电力、海关、体育场等需要进

4、展多种公告、宣传的场合。它可以显示字符、数字、汉字和简单的图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比拟低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进展组合,并用单片机控制实现各种文字或图形的变化。设计要求LED点阵屏显示控制系统基于先修的课程设计(红外控制LED点阵屏显示)结果,涉与单片机,数据库,可视化编程等。根本要求: 设计并实现一个LED点阵屏显示控制与管理系统,能在主控计算机设定和查看LED点阵屏显示容。13实现功能:VB界面与LED显示屏能够通过快捷设定进展相互传送数据,即单片机部的字模。VB界面与LED显示屏的文本数据传送

5、能保存在数据库,并能在SQL的查询分析器进展查询。能通过VB界面上的8*8复选框实现点亮对应LED显示屏上的点。如如如下图所示:二、硬件设计2.1 MCS-51单片机简述2.1.1单片机STC89C52简介 STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用STC公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。2.1.2 主要特性 与MCS-51单片机产品兼容 8

6、k字节在系统可编程Flash存储器 1000擦写周期 三级加密程序存储器 32个可编程I/O口线 三个16位定时器/计数器 八个中断源 低功耗空闲和掉电模式2.1.3 管脚说明 VCC:电源GND:地P0口:P0口是一个8位漏极开路的双向I/O口,作为输出口,每位能驱动8个TTL逻辑电平。P1口:P1口是一个具有部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。P2口:P2口是一个具有部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。P3口:P3口是一个具有部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。RST:复位输入。ALE/(

7、/PROG):地址锁存控制信号ALE是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程中,此引脚/PROG也是作编程输入脉冲。/PSEN:外部程序存储器选通信号是外部程序存储器选通信号。/EA/VPP:访问外部程序存储哭控制信号。为能从0000H到FFFFH的外部程序存储器读取指令,/EA必须接GND.为了执行部程序指令,/EA应该接VCC。在flash编程期间,/EA也接收12V的VPP电压。XTAL1:振荡器反相放大器和部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。2.1.4 中断中断存放器:各中断允许位在IE存放器中,六个中断源的两个优先级也可以在IE中设

8、置。两个外部中断INTO 和INT1,三个定时中断定时器0、1、2和一个串行中断。2.1.5 空闲节电模式在空闲工作模式下,CPU处于睡眠状态,而所有片上外部设备保持激活状态。这种状态可以通过软件产生。在这种状态下,片上RAM和特殊功能存放器的容保持不变。空闲模式可以被任一中断或者硬件的复位而终止。2.1.6 掉电模式 在掉电模式下,晶振停止工作,激活掉电模式的指令是最后一条执行指令。片上RAM和特殊功能存放器保持原值,直到掉电模式终止。掉电模式可以通过硬件复位和外部中断退出。2.2 芯片介绍3线8线译码器74HC138引出端符号:A、B、C 译码地址输入端G1 选通端/(G2A)、/(G2B

9、) 选通端低电平有效Y0Y7 译码输出端低电平有效功能表:88 LED点阵显示屏简介本次设计中采用88 LED点阵显示屏,简称LED点阵板或LED矩阵板。它是由64个发光二极管按行与列的顺序排列起来的LED点阵模块组成显示屏体。点阵屏有单色和双色之分,且接法也有共阳极接法和共阴极接法两种,此次设计中我们使用的是单色的共阳极点阵显示屏。共阳极接法的原理图如如下图。每一行发光二极管的阳极接在一起,有一个引出端R,每一列发光二极管的阴极接在一起,有一个引出端C。当给发光二极管阳极引出端R1接低电平,阴极引出端C1接高电平,左下角发光二极管导通发光。因此对于行和列的电平扫描控制时,可以达到显示不同的数

10、字和符号的目的。显示原理: LED显示屏中可以利用视觉惰性,采用的扫描驱动方式点亮发光二极管。2.3 电路设计锁存与LED点阵显示电路3线8线译码电路:三、软件设计3.1 Visual Basic的使用Visual Basic是windows环境下最亲切的程序设计语言,不仅继承了BASIC语言简单易学、操作方便的特点,又引入了面向事件驱动编程机制和可视化的程序设计方法,大提高了Windows应用程序的开发效率。在此次课程设计中,我们使用的是Visual Basic 6.0 标准版。主要利用VB实现可视化LED显示和管理系统,即在VB窗口中设置LED灯显示的容和在VB窗口中显示LED当前所显示的

11、容。并且利用VB与SQL数据库相连,将VB与LED屏的每次数据传送进展保存。主要使用的控件有:窗体是设计图形用户界面的根本平台,所有控件都放置在窗体上,是运行是用户与应用程序交互的实际窗口,窗体有自己的属性、事件。一般向工程添加了新窗体后,第一步是设置或修改窗体的属性。我们主要使用了form1_load事件。由系统操作触发,在启动应用程序时对属性和变量进展初始化。命令按键是VB应用程序中最常用的控件,用户可以通过单击命令按键执行一些操作,用于启动或中断一个处理过程。一般使用mand_click(),从而运行其它的动作。3.1.3标签 label 与 文本框textbox标签主要用于显示一小段文

12、本,通常用来标注本身不具有caption属性的控件。主要在form_load()或mand_click()事件中对label.caption进展改变。文本框主要为用户提供了一个既能显示又能够编辑文本的区域。在此次课程设计中,主要是用是用来显示数据用的。3.1.4单项选择按钮OptionButton 与 复选框CheckBox单项选择按钮和复选框常用来表示“选中或“不选两种状态,用户可以通过改变综合症的状态而执行不同的操作。在此次课程设计中,主要用单项选择按钮来选择单片机以何种方式向LED传送数据。而复选框只要是用来在VB界面显示8*8的点阵,每点中一个复选框,把check的值给1,如此熄灭le

13、d某点阵。3.1.5 MSm串口通信按键其属性和事件如下:mPort:设置或返回通信端口号。Settings:以字符串的形式设置或返回波特率、奇偶校验、数据位和停止位。默认为9600,n,8,1、PortOpen:设置或返回通信端口的状态。也可以打开和关闭端口。True表示打开串口,false表示关闭。Input:返回和删除接收缓冲区中的字符。Output:将字符串写入发送缓冲区。InputLen 属性:设置并返回 Input 属性从接收缓冲区读取的字符数。MSm1.OutBufferCount = 0 :清空发送缓冲区MSm1.InBufferCount = 0 :清空接收缓冲区3.1.6

14、Adodc控件与DataGridAdodc控件是让应用程序接口用以访问关系或非关系数据库中的数据。它不是VB的标准控件,在使用前必须先添加到工具箱中。在此次课程设计中ADODB.mand定义对数据源报告的指定命令。New ADODB.Connection 代表打开与数据源的连接,ADODB.Recordset代表来自根本表或命令报告结果的记录的全集。通过语句insert into temp (sheding) values( & temp & )将设定的值插入表指定的列。通过语句.ConnectionString = Driver=SQL Server;Server=.;UID=sa; PWD

15、=sa;Database=led使VB与数据库连接。 DataGrid是一个多二维的数据风格,用来以表格形式显示数据源数据和以列为单位,设定各列的操作类型。网格中的每一行表示数据源中的一个记录,每一列表示数据源中的一个字段。在此次课程设计中,主要是用DataGrid 显示单片机与LED数据传送的记录。控制DataGrid 控件的语法是DataGrid1.DataSource=Adodc1,每运行一次Adodc1.Refresh语句,如此可以刷新一次数据进入DataGrid。3.2 SQL数据库的使用SQLStructured Query Language语言是关系数据库的标准语言,它是一种介于

16、关系代数与关系觉得之间的结构化查询语言,其功能不仅仅是查询,它是一个能用的、功能强大的关系数据库语言。在本次课程设计中,主要使用到的功能是在查询分析器过使用语句对数据库进展建表、删除表等,对表容进展查询、删除等。在企业管理器中可进展新建数据库与查询分析器中的语句能实现的功能等。通过VB界面按键与SQL相连,对相连的表进展刷新数据。在此次课程设计过企业管理器新建一个数据库led,在led中新建表temp,右击temp,设计表,对表添加列名:sn:主键,表序号,自动以1递增。Sheding:记录VB界面对led屏所设定的容。Xianshi:记录VB界面接收led屏所显示的容。Sdate:自动在每条

17、记录里面显示时间。3.3 编写程序实现功能在本次的综合训练中,我主要负责的是单片机初始化/*单片机的初始化*/void initial(void) uchar j; SCON=0x50; /串口工作方式1,允许接收 PCON=0x80; /波特率翻倍 TCON=0; /定时/计数器控制 TMOD=0x21; /T1用于串口波特率控制 TH0 = 255; TL0 = 0; TR0 = 1; ET0 = 1; TL1=0xfa; /初始化T1,波特率为9600晶振11.0592M TH1=0xfa; TR1=1; /开定时器 EA=1; /开总中断 ES=1; /开串口中断 copyOK = 1

18、; /缓冲区准备好标志清零 receive = 0; /接收标志清零 receiveOK = 0; /承受完成标志清零 sendNum = 0; /承受计数器清零 for(j=0; j8; j+) /串口缓冲区清空 bufferj = 0; for(j=0; j8; j+) /点阵显示缓冲区清空 cashj = icons0j;四、调试过程与问题分析第一次做单片机初始化,说实话不知从何下手。后来经过网上查阅资料以与教师和同学的指导,终于有点眉目。但是在编写程序的过程中仍然出现了不少错误,比如将程序的一些符号给写错,顺序弄反,虽然都是些细节的东西,但还是花了我不少时间。 case 0 : for

19、 (i=0; i8; i+) cashi = icons0i; copyOK = 1; show(cash); break; case 1 : for (i=0; i8; i+) cashi = icons1i; copyOK = 1; show(cash); break; case 2 : for (i=0; i8; i+) cashi = icons2i; copyOK = 1; show(cash); break; case 3 : for (i=0; i8; i+) cashi = icons3i; copyOK = 1; show(cash); break; case 4 : for

20、 (i=0; i8; i+) cashi = icons4i; copyOK = 1; show(cash); break; case 5 : for (i=0; i8; i+) cashi = icons5i; copyOK = 1; show(cash); break; case 6 : send(); break; case 7 : judge(sbuffer); break; default : transfer(sbuffer); break;于是结果事与愿违,在与对应的一组做交流的时候,才发现了这个问题,与时将问题解决了;五、心得体会经过两周的信号检测和处理综合训练,使我对于单片机

21、根底知识以与应用有了更深的认识,以前课堂没注意的东西都在实践中表现出来,看来理论跟实践的差距还是很大的,我必须时刻保持学习的热情,这样才能不断进步。这次实习我不仅对之前所学的一些专业知识进展了一次复习,更重要的是让我对如何运用这些知识有了一个大致的方向,从而懂得学与用的重要性。同时在做人方面我也收获很大,小组形式让我意识到团队合作的重要性,并且要学会与人交流和沟通,如果遇到分歧,就虚心听取别人意见,尽量求同存异,取长补短,共同进步!一个人的力量总是有限的,只有集众人的智慧和优点才能又快又好的完成任务。在此我很感谢我们组的组长和各位成员,没有他们的帮助,我也不会学到那么多东西。参考文献1 恢先、

22、黄辉先. 单片机原理与应用M. :人民邮电,20062 朝青. 单片机原理与接口技术第3版. :航空航天大学,2005.3 毅刚. MCS-51 单片机实用子程序设计.:大学, 2003.4堂敏、焕平.单片机原理与应用. :理工大学,2007.附件以下为单片机程序中除已提到过的代码外的其他局部:#include #define uchar unsigned char#define uint unsigned intsbit LED = P10; /串口通信指示sbit SWI = P13; /单片机上切换显示按键sbit addr1=P14; /系统片选地址线0sbit addr2=P15;

23、/系统片选地址线1sbit addr3=P16; /系统片选地址线2sbit en1=P17; /片选使能信号/*表情库数组*/uchar code icons8 = /8x8图标,高电平激活对应的点 /心 0x66,0x99,0x81,0x81,0x81,0x42,0x24,0x18 , /囧 0xff,0x81,0xa5,0xc3,0xbd,0xa5,0xa5,0xff , /禁止 0x3d,0x42,0x85,0x89,0x91,0xa1,0x42,0xbc , /钥匙 0x1c,0x10,0x1c,0x10,0x10,0x7e,0x81,0x7e , /O 0x3c,0x7e,0xe7

24、,0xc3,0xc3,0xe7,0x7e,0x3c , /K 0xc0,0xc6,0xcc,0xf8,0xf0,0xd8,0xcc,0xc6 ;uchar code scan8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;uchar code tabb8=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;bit receive; /接收标志bit receiveOK; /接收一串字符完成标志unsigned char iconsNumber = 6; /图标个数unsigned char iconCounter;unsigned

25、 char lineCounter;uchar i,sbuffer; /串口缓冲区uchar cash8; /LED点阵显示缓冲区uchar buffer8,Num; /接收字符数据与个数uchar sendOK ; /发送完成标志uchar copyOK , sendNum ; /发送缓冲区填充完成标志/*8LED点阵显示函数1*/void show(uchar * Ptr) P0 = 0xff; en1 = 0; if (lineCounter!=8) addr1=0; addr2=0; addr3=0; P0=0xff; en1=1; en1=0; addr1=1; P0 = *(Ptr

26、 + lineCounter); en1=1; en1=0; addr1=0; P0 = tabblineCounter; en1=1; en1=0; else P0 = 0xfe; en1 = 0; lineCounter+; if (lineCounter = 9) lineCounter = 0;/*定时中断发生处理函数*/void t0(void)interrupt 1 using 0 TH0 = 255; TL0 = 0; show(cash);/*判断自定义显示命令*/void judge(uchar sbuffer) if (receive = 0) receive = 1; Num = 0; receiveOK = 0; else if (Num 7) bufferNum+ = sbuffer ; else if (Num = 7) bufferNum = sbuffer ; receive = 0; receiveOK = 1; for (i=0; i8; i+) cashi = bufferi; copyOK = 1; show(cash); /*接收到得数据转移到显示缓存里*/void transfer(sbuffer) if (Num 7) bufferNum+

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1