单片机课程设计-8x8LED点阵显示的技术_第1页
单片机课程设计-8x8LED点阵显示的技术_第2页
单片机课程设计-8x8LED点阵显示的技术_第3页
单片机课程设计-8x8LED点阵显示的技术_第4页
单片机课程设计-8x8LED点阵显示的技术_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 郑州科技学院单片机课程设计题 目 8x8LED点阵显示的技术学生姓名 X X X 专业班级 电气工程及其自动化X班学 号 XXXXXX 院 (系) 电 气 工 程 学 院指导教师 X X 完成时间 2015 年 XX 月 X 日 目 录 TOC o 1-2 f h z u HYPERLINK l _Toc29709 1 设计目的 PAGEREF _Toc29709 1 HYPERLINK l _Toc8496 2 设计任务及要求 PAGEREF _Toc8496 1 HYPERLINK l _Toc272 3 设计方案 PAGEREF _Toc272 1 HYPERLINK l _Toc80

2、04 4 设计原理及功能说明 PAGEREF _Toc8004 2 HYPERLINK l _Toc28698 5 元器件的介绍及选用 PAGEREF _Toc28698 3 HYPERLINK l _Toc3185 6单元电路设计说明 PAGEREF _Toc3185 8 HYPERLINK l _Toc5971 7 硬件的焊接与调试 PAGEREF _Toc5971 9 HYPERLINK l _Toc29097 7.1元器件焊接 PAGEREF _Toc29097 9 HYPERLINK l _Toc24997 7.2电路调试 PAGEREF _Toc24997 10 HYPERLINK

3、 l _Toc1255 8 软件介绍 PAGEREF _Toc1255 11 HYPERLINK l _Toc12530 9 设计总结 PAGEREF _Toc12530 12 HYPERLINK l _Toc23824 参考文献 PAGEREF _Toc23824 14 HYPERLINK l _Toc13035 附录1:总体电路原理图 PAGEREF _Toc13035 15 HYPERLINK l _Toc17852 附录2:实物图 PAGEREF _Toc17852 16 HYPERLINK l _Toc13025 附录3:元器件清单 PAGEREF _Toc13025 171 设计目

4、的为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期一周的单片机课程设计。通过实际操作使我们在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。单片机课程设计的目的是培养我们综合设计的能力,训练学生灵活应用所学知识,独立完成问题分析、总体设计和编程实现等软硬件开发全过程的综合实践能力。巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的学习作风。为今后学习其他计算机课程打下基础。课程设计为学生提供了一个既动手又动脑,独立实践的机会,将书本上的理论知识和工作、生产实际有机结合起来,从而锻炼学生分析问题、

5、解决实际问题的能力,提高学生的编程能力和创新意识。2 设计任务及要求利用8x8点阵显示屏,自己设计、焊接并调试电路板,实现单片机的控制下,点阵显示“电子设计”,显示方式分别为左右滚动显示、上下滚动显示。系统功能说明:系统在正常工作模式下为上下左右循环显示“滚动光柱”,当按下复位开关时点阵显示屏开始上下左右各三次循环显示。在点阵显示过程中按下复位开关后单片机复位,程序从新开始。3 设计方案本设计采用STC89C52单片机作为主控制器,外部加数码管显示。系统总体框图如下:列 驱 动列 驱 动单片机电 源时钟电路单片机电 源时钟电路LED 点 阵 显 示LED 点 阵 显 示列 驱 动列 驱 动复位

6、电路复位电路图3-1 系统总体框图根据设计要求,初步确定设计方案如下:( 1 ). 选择STC89C52单片机(晶振频率为f=12MHZ作为整个系统的核心器件,对整个系统进行总体控制,发送并时时处理系统信息。( 2 )由于是8*8点阵屏设计,需要端口16个,可采用静态显示模式,用P0口控制行,P2口控制列。( 3 ).通过软件编程,即可实现汉字“课程设计”的显示,并可左移,右移,上移,下移动态流动显示。( 4 )点阵的点亮过程有程序控制,点阵采用单色显示目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工

7、业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。所以掌握单片机技术无论是对自身的就业还是自身日后的发展都有一个深远的意义。4 设计原理及功能说明在本设计中MCS-52单片机作为主控芯片,控制整个电路的运行。其外围电路主要有两部分:复位电路和晶体振荡器。复位电路的功能是:系统上电时提供复位信号,直至系统电源稳定后,撤消复位信号。为可靠起见,电源

8、稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。该设计采用含有二极管的复位电路,复位电路可以有效的解决电源毛刺和电源缓慢下降(电池电压不足)等引起的问题,在电源电压瞬间下降时可以使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。晶体振荡电路:MCS-52单片机中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为该反向放大器的输入端和输出端。这个反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然

9、没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。如果使用石英晶体,电容应该使用22pF、10pF。5 元器件的介绍及选用AT89C52单片机 图5-1 AT89C52单片机引脚图引脚功能说明:Vcc:电源电压GND:接地P0口:P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在F1ash编程时,P0口接收指令字节,而在程序校

10、验时,输出指令字节,校验时,要求外接上拉电阻。P1口:Pl是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,Pl接收低8位地址。端口引脚第二功能P1.5MOSI(用于ISP编程)P1.6MISO(用于ISP编程)P1.7SCK(用于ISP编程)P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4条TTL逻辑门电路。对

11、端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/0口。P3口输出缓冲级可驱动(吸收或输出电流)4个 TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。端口

12、引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6WR(外部数据存储器)P3.7RD(外部数据存储器读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRT0位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的

13、低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位只有一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSE

14、N有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。EA/VPP:外部访问允许。欲使CPU只访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程电压Vpp。XTALl:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。单片机有多种复位方式,常用的复位操作有上电复位和手动复位方式。复位电路工作原理:上电瞬间RST引脚的电位与VCC等电位,R

15、ST引脚为高电平,随着电容C5充电电流的减少,RST引脚的电位不断下降,可以保持RST引脚在为高电平的时间内完成复位操作。上电复位:上电复位电路是种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。选用AT89C52单片机是因为其芯片内部设有一个由反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡电路的的

16、输入端和输出端,时钟可有内部或外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率采用12MHZ,C1、C2的电容值取30pF,电容的大小起频率微调的作用。 图 5-2-1 8x8点阵8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。一根横柱:对

17、应的行置0,而列则采用扫描的方法来实现。 6单元电路设计说明 图6-1 系统电路总图此次设计采用STC89C52单片机,它是一个低功耗,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,兼容标准MCS-52指令系统及80C52引脚结构。由于其具备在线可编程功能,这是选择此款单片机的主要原因。 STC89C52的VCC接5,VSS接地。复位引脚REST外接RC电路和复位开关,可以实现人工复位。本系统采用按键电平复位,如电路图5-1所示。第18,19引脚外接12MH晶振和两个22F电容。P1口外接1K上拉电阻。 88LE

18、D有16个引脚,其中8个行引脚,8个列引脚,用88点阵显示图形:如果灯亮用1表示、暗用0表示,共88=64个LED。考虑到布线的方便,在不增加译码器的情况下,选择单片机P0口和P2口与其连接。一般情况下,每只LED需提供10mA左右的电流,其才能正常发光。若选用共阴极型LED,当一行(或一列)的8个LED全部点亮时,若每只LED有10mA电流流过,则共阴极端将有80mA的电流流过。理论上,单片机的P0口每个引脚能提供5mA的拉电流,20mA的灌电流,其余口的单个引脚仅能提供5mA的灌电流,这样,LED的每个行和竖列都需要增加驱动电路。若选用共阳极型LED,当一行(或一列)的8个LED全部点亮时

19、,若每只LED有10mA电流流过,则共阳端将有80mA的电流流过,这样,可设计成P2口的引脚加驱动电路后接共阳端,每只LED的10mA电流灌如P0口的引脚,减少了行(或列)驱动电路。本次设计选用的88LED是共阳型,通过P2口接8550三极管进行行驱动,为防止流过LED的电流过大,在P0口接限流电阻,保护LED,电路如图所示。 题目要求显示时间可调,显示画面可选,结合软件,考虑外接3个按键,又考虑到方便功能扩展,实际接了4个按键和1个蜂鸣器。本次设计将其接到了P3口,电路如图所示。 对于取电方面,本次设计的系统直接使用外接+5V直流电源供电,省去电源设计的麻烦。另外,还接了电源上电LED指示灯

20、,可以说是实用的7 硬件的焊接与调试7.1元器件焊接 焊接注意事项( 1 ).焊接时间不宜过久,但要完全熔着,以免造成冷焊。( 2 ).焊点的表面要平滑、有光泽。( 3 ).焊点完全冷却前,不可移动。( 4 ).电烙铁不用時要放置于电烙铁架上,并随時保持烙铁头的清洁。( 5 ).焊接完毕,要在烙铁头镀上薄层焊锡,避免氧化,并等冷卻后再收存。先焊接完电源部分,进行测试,如果电源led灯亮,则可以进行下一步焊接,烙铁不允许长时间接触焊盘,若长时间接触焊盘会导致焊盘脱落或器件的损坏。焊接尽量按照模块的划分来焊接。焊接完一个模块都要用万用表测量一下电源和地之间是否出现短路,如果有短路,需立即检测何处焊

21、接导致的短路。芯片的安放要注意1脚所在的位置,如果安放反了,芯片立即烧毁。焊接器件时,应该先焊接小器件,再焊接大器件,先焊接低器件,再焊接高器件。7.2电路调试任何组装好的电子电路,在通电调试之前,必须认真检查电路连线是否有错误。对照电路图,按一定的顺序逐级对应检查。特别要注意检查电源是否接错,电源与地是否有短路,电解电容的极性是否接反,集成电路和开关的引脚是否接错,单片机是否完全插入底座,轻轻拔一拔元器件,观察焊点是否牢固等。调试电路:首先,在装上芯片之前,先用万用表测试各个芯片供电以及接地引脚的电压是否正常。当全部正常时,才能装上芯片。调节各个运算放大器的失调电压,以减小系统的误差。调节失

22、调电压的具体方法是:使输入信号为零,调节调零电位计的电阻,尽可能使芯片的输出为零。当调节到各个芯片的输出为零时,也就达到了调节失调电压的目的。调试电路各级电路工作是否正常,是否达到预计要求的波形。在调试前级电路时,后级电路的芯片暂时不安上,防止由于前级电路工作不正常,导致后级电路芯片的损坏。整个电路工作,直接通过示波器观察输出信号波形,长时间运行,以检验系统的稳定性。电路调试包括以下几个方面:(1).通电观察:通电后不要急于测量电气指标,而要观察电路有无异常现象,例如有无冒烟现象,有无异常气味,手摸集成电路外封装,是否发烫等。如果出现异常现象,应立即关断电源,待排除故障后再通电。 (2).静态

23、调试:静态调试一般是指在不加输入信号,或只加固定的电平信号的条件下所进行的直流测试,可用万用表测出电路中各点的电位,通过和理论估算值比较,结合电路原理的分析,判断电路直流工作状态是否正常,及时发现电路中已损坏或处于临界工作状态的元器件。通过更换器件或调整电路参数,使电路直流工作状态符合设计要求。 (3).动态调试:在重新印制好PCB板后,再次将软硬件进行联调,发现点阵还是 有三行无法显示,猜测行控制信号出错,用万用表测量P0口电压发现P0.5、P0.6以及P0.7输出电压仅为2V左右,显然这几位输出无法上拉。原因分析:首先,我们认为是P0口的上拉排阻出错,因此用万用表测量上拉排阻的组织,发现P

24、0.5、P0.6、P0.7位处排阻阻值异常,因此猜想是排阻烧坏,更改换新的排阻后还是出现相同的情况,因此排除排阻烧坏的可能,然后接着检查电路,发现P0.5、P0.6、P0.7控制点阵的线路出现与相邻线路短接的现象,因此我们得出错误原因来源于腐蚀电路板时腐蚀不够彻底,使得残余的小点状铜片让相邻的线路短接的现象。理措施及效果:用小刀割断相连处的铜片,使得相邻线路分开。用万用表再次测量时发现P0口上拉正常,插入点阵,运行程序正常,调试成功。8 软件介绍采用C语言编写出程序 实现软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示

25、子程序,各种特效显示子程序,通信程序三个主要部分组成。软件的编写需要借助软件编辑器和编译软件,编译完成后还需要下载到单片机中执行。编写软件之前得首先选择一种合适的语言以及配套的编辑器和编译软件。最后还要选择一款与所选单片机的下载器或下载软件来把编写的程序下载到单片机中执行。汇编语言(AssemblyLanguage)是面向机器的程序设计语言,是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。其具有执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。C语言是一种源于编写UNIX操作系统的语

26、言,它是一种结构化语言,可产生压缩代码。C语言结构是以括号而不是子和特殊符号的语言。C可以进行许多机器级函数控制而不用汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对52的存储器结构有初步了解;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;程序有规范的结构,可分为不同的函数。这种方式可使程序结构化;将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;编程及程序调试时间显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力;已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。C语言作为一种非常方便的语言而得到广泛的支持,

27、C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来。基于以上理由决定采用C语言为该显示系统的编程语言。系统软件编译器介绍C语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。因此在系统软件设计中,编译器必不可少。支持MCS52用C语言编程的编译器主要有两种:FranklinC52编译器和KEILC52编译器。目前在单片机开发中普遍都是使用KEILC52来进行编译。因此软件设计最终方案为采用C语言为程序语言,KEIL为编译工具按照控制、通信、显示等几个功能模块来编写程序9 设计总结 通过此次课程设计,使我更加扎实的掌握了有关单片机技术的有关知识,加深了对课堂理论知识的理解。在这次课程设计中,遇到了很多问题,最后在老师的指导下,终

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论