第一篇:实验一动态LED显示程序的编程与调试
实验一 动态LED显示程序的编程与调试
一、实验目的
1、通过编程熟悉和掌握动态LED显示的工作原理;
2、熟悉Keil uVision4的使用方法;
3、了解和掌握C程序的编程与调试。
二、实验设备
计算机 一台 单片机开发板 一套
三、实验原理
本实验是利用AT89C51单片机的定时中断来实现动态LED显示的设计。该实验的硬件电路原理图如下图所示。该硬件主要包括AT89C51单片机,8位共阴极数码管,74573锁存器等电路。8位数码管在AT89C51单片机的控制下完成动态LED显示,74573锁存器用于锁存P0口的数据。
P10P11P13P14P17P16P12P1589C51P10P11P12P13P14P15P16P***101112***81920P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RST/VPDP0.7P3.0/RxDEA/VppP3.1/TxDALE/PROGP3.2/INT0PSENP3.3/INT1P2.7P3.4/T0P2.6P3.5/T1P2.5P3.6/WRP2.4P3.7/RDP2.3XTAL2P2.2XTAL1P2.1GNDP2.***33323***25242322211D2D3D4D5D6D7D8D动态数码管121298698COMCOMCOMCOMCOMCOMCOMCOMLED16LED2RLED471abcdefdpg***0U13GND1LE111D2D3D4D5D6D7D8D23456789OCC1D2D3D4D5D6D7D8D1Q2Q3Q4Q5Q6Q7Q8Q19***3121234567853RPDPaDPbDPcDPdDPeDPfDPgDPh16***0953abcdefdpgD11D12D13D14D15D16D17D18
LED显示程序的流程图如下所示。该程序在定时中断中调用,每次显示一位LED,轮流进行, 实现动态LED显示。
开始是LED1显示吗?Yes显示LED1 ,置下一个显示的LED为LED2No显示LED2 ,置下一个显示的LED为LED3是LED2显示吗?YesNo显示LED3 ,置下一个显示的LED为LED4是LED3显示吗?YesNo显示LED4 ,置下一个显示的LED为LED5是LED4显示吗?YesNo显示LED5,置下一个显示的LED为LED6是LED5显示吗?YesNo显示LED6置下一个显示的LED为LED7是LED6显示吗?YesNo显示LED7,置下一个显示的LED为LED8是LED7显示吗?YesNo显示LED8 ,置下一个显示的LED为LED1是LED8显示吗?YesNo结束
四、实验步骤
1、连接试验相关模块的连线; a.J21跳线帽接左边
b.JP165断开 c.JP10(P0)接J12 d.JP16(右排)接JP8 注意:排线有金属触点的一面朝右。连接完毕如下图所示:
2、根据流程图及已给出的附件来完成C语言源程序。
3、修改并完善实验程序。
4、用单片机开发板对所编程序进行调试。调试步骤如
下:
a.双击桌面上的“PZISP自动下载软件”快捷键; b.在弹出的对话框中,芯片类型选择STC90C5XX系列;
c.点击打开文件,找到你编写的C语言程序所产生的test1.hex 文件;
d.打开单片机开发板上的开关键;
e.点击下载程序即可。
注意:出现下载失败的情况及修改方法:
1)擦除下载失败-------波特率调低一点
2)波特率超时----------低速下载
5、把实验仪器恢复原状,本次实验结束。
五、注意事项
1、按要求连接计算机与单片机开发板并检查正确后再通电开始操作。
2、用完后要关掉所有的电源,最后再拆排线。
六、实验报告及要求
1、总结用C语言编写动态LED显示的应用程序的原理与方法。
2、本实验的中断程序初值是定时1ms所得到的,由于动态显示就是利用人的视觉暂停作用使人看到多个数码管同时显示的效果,所以同学们可以把时间改为50ms,100ms观察数码管的显示有什么不同。
3、分析你所编写的程序,画出各个函数的流程图,并作必要的说明。
4、写出你的心得体会。
第二篇:实验四 单片机键盘输入以及数码管显示编程
仲恺农业工程学院实验报告纸
信息学院(院、系)专业班组单片机原理及接口技术课实验四单片机键盘输入以及数码管显示编程
一、实验目的1、掌握单片机键盘以及数码管显示的工作原理;
2、掌握单片机键盘以及数码管显示的编程方法。
二、实验内容
1、学习单片机键盘检测、消抖以及译码等;
2、学习单片机数码管静态以及动态的显示方式;
3、利用单片机键盘以及数码管编写程序驱动开发板上的蜂鸣器以及数码管按一定规律工作。
三、实验设备
1、STC单片机开发板;
2、PC机以及串口线。
四、实验步骤
参考实验指导书。
五、实验总结
第三篇:实验一:地图数据的查询与显示
ArcGIS实验一:地图数据的查询与显示
一、实验目标
熟悉ArcGIS基于Arc Catalog数据管理环境,掌握相关数据及其背景信息的简单查询与显示。
二、实验要求
依次完成下列任务,并整理成实验过程word文档,必要时截图说明。
三、实验环境
1.利用ArcGIS的Arc Catalog和ArcMap模块完成相关任务 2.实验数据:ftp://172.16.38.100/, 位于“实验指导书-》地理信息系统原理”文件夹下
四、任务清单 1.任务
(一)到处看看,熟悉一下ArcCatalog操作界面。
2.任务
(二)MygisdataOregon文件夹的oregon地理数据库中有多少要素数据集、多少要素类、多少栅格数据集?每个要素数据集有多少个要素类,其中每个要素类包含了多少点、线和多边形?
提示:(1)找到oregon.mdb数据库;(2)通过内容(contents)选项卡分析数据库文件类型;(3)通过预览(Preview)选项卡的预览模式,查看数据信息。
(1)打开ArcCatalog,找到oregon.mdb数据库。
(2)通过内容(contents)选项卡分析数据库文件类型。
(3)通过预览(Preview)选项卡的预览模式,查看数据信息。
答:oregon地理数据库中有2个要素数据集、9个要素类、2个栅格数据集。
Transportation要素数据集中有3个要素类。Water要素数据集中有2个要素类。
Airports要素类中有13个点,highways要素类中有1954条线,rail100k要素集中有1806条线。Rivers要素集中有74条线。Waterbodies要素集中有157个多边形。
3.任务
(三)MygisdataWorld文件夹中的country shape 文件采用何种坐标系统?oregon地理数据库中parks要素类又采用了何种坐标系统?
提示:(1)找到数据;(2)查看其属性(Properties)选项卡获取相关信息。
oregon地理数据库中parks要素类又采用了何种坐标系统GCS_WGS_1984
4.任务
(四)利用MygisdataUsausdatalakes文件,判断一下美国最大的湖泊叫什么名字?其面积有多大?
提示:找到数据,通过预览(Preview)选项卡查看数据,并按面积排序。
(1)打开软件找到数据。
(2)通过预览(Preview)选项卡查看数据,并按面积排序。
答:美国最大的湖泊叫Lake Superior,面积为32213.001.5.任务
(五)MygisdataBlackHillsrasters
中陆地卫星影像TM_24Sep98_utm有多少行和多少列,像元尺寸是多大(包括距离单位)?有几个波段?坐标系统是什么?
提示:找到数据,查看属性选项卡获取相关信息。答:有680列,939行。像元尺寸:4.26 MB,有7个波段,坐标系统是D_North_American_1927。
6.任务
(六)利用MygisdataUsausdatastates文件,判断一下该数据是由谁在什么时候创建的,有什么使用权限限制?总结一下这个数据文件的元数据提供了那些信息点?
提示:通过元数据获取相关信息。(1)打开软件,找到数据。(2)查看数据的属性。
答:此数据没有制作者名单。使用权限限制:
提供的信息点:类型、标签、摘要、描述、制作者名单、使用限制、范围、比例范围等。
7.任务
(七)先在ArcCatalog下利用MygisdataUsausdatacounties文件,判断一下Itawamba县位于美国哪个州?然后利用该要素类文件创建一个名为mycountieslayer的图层。进入ArcMap操作界面,打开刚才创建的countieslayer图层,在ArcMap界面下,利用ArcMap的“查找”菜单选项或工具,再次找到Itawamba,定位并显示该县域,并查看其属性信息。
在ArcMap的内容表窗口中删除刚才打开的图层,重新添加打开源文件counties要素类,指出图层方式与源要素类文件有何不同?
提示:(1)ArcCatalog下用Preview选项卡;(2)单击ArcCatalog界面下的ArcMap图标可直接进入ArcMap界面。
(1)打开软件,找到文件。
(2)判断Itawamba县位于美国哪个州
(3)利用该要素类文件创建一个名为mycountieslayer的图层。
(4)单击ArcCatalog界面下的ArcMap图标直接进入ArcMap界面。(5)打开新建图层。
(6)用“查找”菜单选项,找到Itawamba,定位并显示该县域,查看其属性信息。
(7)在ArcMap的内容窗口中删除图层,重新添加打开源文件counties要素类。
答:Itawamba县位于美国的Mississippi。一个图层就是一组同类型要素的集合。
心得体会:
通过本次实验熟悉ARCGIS软件,初步了解了ARCGIS的基本操作方法。同时知道了一些地理信息系统的基本知识。
第四篇:C语言实验一 熟悉C程序开发环境、进行简单程序的调试
实验一 熟悉C程序开发环境、进行简单程序的调试
实验目的:
1、初步了解vc++6.0环境;
2、熟悉掌握调试C程序的步骤。
实验内容:
1、如何进入vc++6.0环境?如何新建一C程序文件并进行调试?
2、对教材中例1.1至例1.3在vc++6.0环境中进行调试。
3、上机调试教材课后习题4、5题。
实验原理、步骤与分析:
【要求】每个实验内容都要先写出其实现的基本原理,再写出实验步骤,最后根据每个实验内容的实验结果进行分析说明。
第五篇:阵LED显示系统研究与设计_前期报告
河北工业大学城市学院本科毕业设计(论文)前期报告
河北工业大学城市学院本科毕业设计(论文)前期报告
毕业设计(论文)题目:点阵LED显示系统研究与设计 专业(方向):电子信息工程
学 生
信 息:
学号:087785
姓名: 李文超
班级:电子C082 指导教师信息:
姓名:李琦
职称:副教授 报告提交日期:2012-3-17
文献综述
一、课题的研究意义:
在现代信息化社会的高速发展过程中,LED显示屏成为现代信息化社会信息传播的一种重要手段,已经从公共信息展示等商业应用开始向消费类多媒体应用渗透。随着宽带网络的发展,数字化的多媒体内容将在信息世界中占据主流,新型的大屏幕显示设备将代替传统电视机成为人们享受信息和多媒体内容的中心。
二、课题的研究背景:
LED 点阵显示屏的构成型式有多种,其中典型的有两种。一种把所需展示的广告信息烧写固化到 EPROM 芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。目前,国内的 LED 点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。一般在产品出厂时,显示内容就已写入显示屏控制系统中的 EPROM 芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用 范围受到了限制。国内的另一种 LED 显示屏——可编程序型 LED 显示屏,虽然增 加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。因此传统的 LED 显示屏控制系统已 经越来越不能满足现代广告宣传业的需要。而利用 PC 机通信技术控制 LED 显示 屏,则具有显示内容丰富,信息更换灵活等优点。本课题要求设计一个点阵LED显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。
从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16x64的点阵共有1024个发光二极管,显然单片机没有这么多的端口,如果采用锁存器来扩展端口,按8位的锁存器来计算,16x64的点阵需要1024/8=128个锁存器。这个数字很庞大,因为我们仅仅是16x64的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同
[1]河北工业大学城市学院本科毕业设计(论文)前期报告
名列共用一套驱动器。具体就16x64的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。
采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的【9-10】。
采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。
解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目的,列数据的显示就需要具有存储功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。
3、本课题采用MCS-51系列单片机,因为它具有
[2-4,6-8]
[5]
:
①可靠性高:因为芯片是按工业测控环境要求设计的,故抗干扰的能力优于PC机。
②便于扩展:片内具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线,并行和串行的输入/输出)管脚,很容易组成一定规模的计算机应用系统。
③控制功能强:具有丰富的控制指令:如:条件分支转移指令,I/O口的逻辑操作指令,位处理指令。④实用性好:体积小,功耗低,价格便宜,易于产品化等优点。
本课题拟根据点阵LED显示特性,以单片机为核心处理器设计点阵LED显示系统,实现点阵LED控制、显示驱动、文字或图形显示等功能,该系统应具有结构简单、成本低、应用方便等特点。
参考文献:
1.禇昌晨.LED显示屏系统原理及工程技术.成都.电子科技大学出版社.2000 2.李光飞,楼然苗.51系列单片机设计实例.北京航空航天大学出版社.2003 3.范立南,谢子殿.单片机原理及应用教程.北京.北京大学出版社.2006 4.王幸之.AT89系列单片机原理与应用.北京.北京航空航天大学出版社.2004 5.阎石.数字电路技术基础.北京.高等教育出版社.1998 6.丁元杰.单片微机原理及应用.北京.机械工业出版社.1999 河北工业大学城市学院本科毕业设计(论文)前期报告
7.周荷琴,吴勇清.微型计算机原理与接口技术.合肥.重活科技大学出版社.2004 8.张红润,马平安.单片机原理及应用.科学出版社.1999 9.韩志军,沈晋源,王振波.单片机应用系统设计—入门向导与设计实例.机械工业出版社.2005 10.彭为.单片机典型系统设计实例精讲.北京.电子工业出版社.2006
前期报告
一、课题工作安排:
第一周:明确课题研究内容和最终结果,检索文献、查阅资料、收集课题所需的中外文素材。第二周:整理素材、撰写文献综述。根据任务要求,制定工作计划。
第三周:学习与课题相关的关键技术,研究基于单片机的点阵LED显示系统工作原理。制定设计技术指标、功能,并进行方案论证。
第四周:对进行前期工作总结,撰写前期报告。第五周:接受前期工作检查,修改设计方案。
第六周:熟悉单片机开发工具,掌握开发设计方法,系统硬件设计。第七周:系统软件设计分析。
第八周:系统软硬件性能、指标和功能分析。第九周:对研究结果进行小结,撰写中期报告。第十周:接受中期工作检查,进行系统调试实验。第十一周:进行系统软硬件测试。
第十二周:根据调试实验结果对系统软硬件设计进行改进。对调试实验结果进行分析并给出结论。用所学知识对结论予以分析及整理,撰写毕业论文。
第十三周:修改论文并提交论文初稿。
第十四周:根据指导教师评审意见改稿,并提交设计论文定稿。第十五周:整理全部设计文档。第十六周:准备答辩。
二、本课题要研究或解决的问题:
本课题旨在设计点阵LED显示系统,该系统具有实现显示内容的向左滚动显示功能,下面进行说明。1.系统的显示功能
8X8点阵可以用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,使用AT89C51控制驱动。
2.系统的滚动显示功能或技术指标
动态显示采用动态扫描显示方式, 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等因素。
二、拟采用的研究手段(途径):
1、系统设计方案 河北工业大学城市学院本科毕业设计(论文)前期报告
(1)单片机系统及外围电路:单片机采用AT89C51。系统采用12 MHz或更高频率的晶振,以获得较高的刷新频率,使显示更稳定。单片价的串口与列驱动器相连,用来送显示数据。P1口低4位与行驱动器相连,送出行选信号,P1.5~P1.7口则用来发送控制信号。P0和P2口空闲,在必要时可以扩展系统的ROM和RAM。
(2)列驱动电路:由集成电路74HC595构成。它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。
74HC595的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的一位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时移位寄存器的输出才开放,否则为高阻态。芯片的输出端QA~QH,最高位QH可作为多芯片74HC595级联应用时,向上一级的级联输出。但一位QH受输出锁存器打入控制,所以还从输出锁存器前引出QH’,作为与移位寄存器完全同步的级联输出。
2、系统基本框图如下:
将8片74HC595进行级连,可共用一个移位时钟SCK及数据锁存信号RCK。这样,当第一行需要显示的数据经过8x8=64个SCK时钟后便可将其全部移入74HC595中,此时还将产生一个数据锁存信号RCK将数据锁存在74HC595中,并在使能信号G的作用下,使串入数据并行输出,从而使与各输出位对应的场驱动管处于放大或截止状态;同时由行扫描控制电路产生信号使第一行扫描管导通,相当于第一行LED的正端都接高,显然,第一行LED管的亮灭就取决于74HC595中的锁存信号;此外,在第一行LED管点亮的同时,再在74HC595中移入第二行需要显示的数据,随后将其锁存,同时由行扫描控制电路将第一行扫描管关闭而接通第二行,使第二行LED管点亮,以此类推,当第十六行扫描过后再回到第一行,这样,只要扫描速度足够高,就可形成一幅完整的文字或图像。
3、显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置,显示效果处理等工作,由主程序来实现。河北工业大学城市学院本科毕业设计(论文)前期报告
显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定。然后显示驱动程序查询当前燃亮的行号,从显示缓冲区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并所存,然后在输出新的行号,重新打开显示。
总之,毕业设计已经按照任务书的要求正常展开,阅读了一些与毕业设计相关的参考文献,特别是相关的学术论文和书籍,启发很大,了解了整个设计的流程,明确了设计中的重点部分,学习到了很多课题中需要熟悉和掌握的知识,为顺利开展下一阶段的工作打下良好的基础。