单片机实训 (论文)说明书-基于STC12C5A08S2单片机的LED点阵模块控制器.doc

上传人:小小飞 文档编号:3916320 上传时间:2019-10-10 格式:DOC 页数:21 大小:1.44MB
返回 下载 相关 举报
单片机实训 (论文)说明书-基于STC12C5A08S2单片机的LED点阵模块控制器.doc_第1页
第1页 / 共21页
单片机实训 (论文)说明书-基于STC12C5A08S2单片机的LED点阵模块控制器.doc_第2页
第2页 / 共21页
单片机实训 (论文)说明书-基于STC12C5A08S2单片机的LED点阵模块控制器.doc_第3页
第3页 / 共21页
单片机实训 (论文)说明书-基于STC12C5A08S2单片机的LED点阵模块控制器.doc_第4页
第4页 / 共21页
单片机实训 (论文)说明书-基于STC12C5A08S2单片机的LED点阵模块控制器.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《单片机实训 (论文)说明书-基于STC12C5A08S2单片机的LED点阵模块控制器.doc》由会员分享,可在线阅读,更多相关《单片机实训 (论文)说明书-基于STC12C5A08S2单片机的LED点阵模块控制器.doc(21页珍藏版)》请在三一文库上搜索。

1、编号: 单片机实训 (论文)说明书题 目: 基于STC12C5A08S2单片机的 LED点阵模块控制器 院 (系): 信息与通信学院 专 业: 电子信息工程 学生姓名: 学 号: 0901130327 指导教师: 2011 年 12 月 30 日摘 要系统由LED点阵显示屏电路和单片机电路两个模块组成,采用STC12C5A08S2单片机为核心,通过该芯片控制一个74LS154和串口通信来驱动显示屏显示,实现单个汉字的显示,并且汉字具有左移、右移、上移、下移功能。通过串口通信接收PC机发送过来的命令,通过指令进行人机交互,并显示出相应的汉字。关键词:STC12C5A08S2; LED点阵Abst

2、ract System consists of LED dot matrix display circuit and single-chip microcomputer circuit two modules, the STC12C5A08S2 microcontroller as the core, through the chip control a 74 LS154 and serial interface communication to drive the screen shows, achieve a single Chinese characters displayed, and

3、 Chinese characters have left shift, move to the right, move up and move down function. Through serial communication PC send over receiving orders, through the instructions human-computer interaction, and shows the corresponding characters.Key words:STC12C5A08S2; LED dot matrix目 录引言51 系统硬件介绍61.1 系统主

4、控芯片概述及功能介绍61.1.1 STC12C5A08S2主要特性61.1.2 STC12C5A08S2功能结构81.2 硬件电路81.2.1 单片机时钟电路91.2.2 单片机复位电路91.2.3复位电路的可靠性设计101.2.4 LED显示电路101.2.5 MAX232电平转换电路111.2.7 系统硬件设计所需的元件122 系统软件设计132.1 软件重要子程序设计及框图132.1.1 显示部分142.1.2 串口通信部分143 硬件安装制作153.1 PCB板制作153.2 元件焊接164 电路调试164.1 硬件调试164.2 软件调试175 实训总结17致谢18参考文献19附录1

5、-单片机控制板PCB图20附录2-LED点阵显示部分PCB图21引言广告牌在日常生活中随处可见,大到国家政府机关小到平民百姓都有使用广告牌的,广告牌不仅可以显示文字还可以显示图形,不仅可以静态显示还可以动态显示,此外不同类型的广告牌有不同的用途,比如点阵的可以用于显示一些文字语言类的,液晶类的则可用于显示图形和文字类的,不同材质的点阵可以因地制宜于不同的方面,灵活多变,易于操作,由此可见广告牌在国家及百姓中的地位。本设计所做的LED点阵模块是广告牌的一个小缩影,能显示16X16汉字、图形、英文、数字等。1 系统硬件介绍1.1 系统主控芯片概述及功能介绍新一代宏晶芯片具有1个时钟/机器周期,高速

6、、高可靠,2路PWM,8路10位高速A/D转换,25万次/秒1T 8051带总线,无法解密,管脚直接兼容传统89C52,有全球唯一ID号可省复位电路,36-44个I/O内部R/C时钟的新一代宏晶芯片加密性强,解密难度高。STC12C5A08S2/AD/PWM 系列单片机是宏晶科技生产的单时钟/ 机器周期(1T)的单片机,是高速/ 低功耗/超强抗干扰的新一代8051 单片机,指令代码完全兼容传统8051,但速度快8-12 倍。内部集成MAX810 专用复位电路,2 路PWM,8 路高速10 位A/D 转换(250K/S),针对电机控制,强干扰场合。1.1.1 STC12C5A08S2主要特性1.

7、 增强型 8051 CPU,1T,单时钟/ 机器周期,指令代码完全兼容传统8051。2. 工作电压:STC12C5A60S2 系列工作电压: 5.5V - 3.3V(5V 单片机)。STC12LE5A60S2 系列工作电压:3.6V - 2.2V(3V 单片机)。3. 工作频率范围:0 - 35MHz,相当于普通8051 的 0420MHz。4. 用户应用程序空间 8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K 字节.5. 片上集成 1280 字节 RAM。6. 通用I/O 口(36/40/44 个),复位后为: 准双向口/ 弱上拉(普通80

8、51 传统I/O 口)可设置成四种模式:准双向口/ 弱上拉,推挽/ 强上拉,仅为输入/ 高阻,开漏,每个I/O 口驱动能力均可达到20mA,但整个芯片最大不要超过55mA。7. I S P(在系统可编程)/IAP (在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片。8. 有EEPROM 功能(STC12C5A62S2/AD/PWM 无内部EEPROM)。9. 看门狗。10.内部集成MAX810 专用复位电路(外部晶体12M 以下时,复位脚可直接1K 电阻到地)。11. 外部掉电检测电路: 在P4.6 口有一个低压门槛比较器。5V

9、单片机为1.32V,误差为+/-5%,3.3V 单片机为1.30V,误差为+/-3%。12. 时钟源:外部高精度晶体/ 时钟,内部R/C 振荡器(温漂为+/-5% 到+/-10% 以内)。用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/ 时钟。常温下内部R/C 振荡器频率为:5.0V 单片机为: 11MHz 15.5MHz。3.3V 单片机为: 8MHz 12MHz精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。13. 共4 个16 位定时器。两个与传统8051 兼容的定时器/ 计数器,16 位定时器T0 和T1,没有定时器2,但有独立波特率发生器

10、做串行通讯的波特率发生器再加上2 路PCA 模块可再实现2 个16 位定时器。14. 2 个时钟输出口,可由T0 的溢出在P3.4/T0 输出时钟,可由T1 的溢出在P3.5/T1 输出时钟。15. 外部中断I/O 口7 路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA 模块,Power Down 模式可由外部中断唤醒,INT0/P3.2, INT1/P3.3, T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2 ), CCP1/P1.4 (也可通过寄存器设置到P4.3)。16. PWM(2 路)/PCA(可编程计数器阵列,

11、2 路)- 也可用来当2 路D/A 使用- 也可用来再实现2 个定时器- 也可用来再实现2 个外部中断(上升沿中断/ 下降沿中断均可分别或同时支持)17. A/D 转换, 10 位精度ADC,共8 路,转换速度可达250K/S(每秒钟25 万次)18. 通用全双工异步串行口(UART),由于STC12 系列是高速的8051,可再用定时器或PCA 软件实现多串口。19. STC12C5A60S2 系列有双串口,后缀有S2 标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)20. 工作温度范围: -40 - +85(工业级) / 0

12、 - 75(商业级)。21. 封装:PDIP-40,LQFP-44,LQFP-48。I/O 口不够时,可用2 到3 根普通I/O 口线外接 74HC164/165/595(均可级联)来扩展I/O 口,还可用A/D 做按键扫描来节省I/O 口,或用双CPU,三线通信,还多了串口。1.1.2 STC12C5A08S2功能结构STC12C5A08S2主要由CPU、Flash程序存储器、数据RAM、内部大容量EEPROM、WDT硬件看门狗、电源监控、片内R/C振荡、2-3个高速独立波特率发生器ISP/IAP、8通道高速10位A/D、2路PWMCCPPCA捕获比较单元、两个定时器、高速SPI还有P0/P

13、1/P2/P3可配置I/O口,结构框图图1.1.2所示:图1.1.2 STC89C5A08S2结构框图1.2 硬件电路整个硬件大致由主控电路、驱动电路、232电平转换电路、显示电路组成,如图1.2所示:图1.2 硬件组成电路1.2.1 单片机时钟电路内部时钟电路如图所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常石英晶体和电容组成的并联谐振回路,晶体振荡器选择12MHZ,电容采用30PF。如图1.2.1所示:图1.2.1 单片机时钟电路1.2.2 单片机复位电路 影响单片机系统运行稳定性的因素可大体分为外因和内因两部分: (1)外因射频干扰,它是以空间

14、电磁场的形式传递在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰; 电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰。(2)内因振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定 起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电路的可靠性。1.2.3复位电路的可靠性设计复位是单片机的初始化操作。单片机启动运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不

15、能自动进行复位的,必须配合相应的外部电路才能实现。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开 关或电源插头分-合过程中引起的抖动而影响复位。如图1.2.3所示:图1.2.3 复位电路1.2.4 LED显示电路LED显示电路是LED显示屏设计的关键部分,驱动电路设计的好坏直接关系到LED显示屏的亮度、稳定度等重要指标。本次设计中LED的驱动是采用三极管和74LS154实现的。1) 行驱动电路单片机P1口低4位输出的行号经416线译码器74LSl54译码后生成1 6条行选通信号线,再经过驱动器驱动

16、对应的行线。一条行线上要带动16列的LED进行显示,按每一LED器件20 mA电流计算,16个LED同时发光时,需要320 mA电流,选用三极管8550作为驱动管可满足要求。如图1.2.4.1)所示: 图1.2.4.1) 行驱动电路2) 列驱动电路74LS595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。本电路不用74LS595来控制列驱动电路,因为用它不能实现串口功能,所以本电路直接用单片机的P0和P2口来控制列的显示。1.2.5 MAX232电平转换电路MAX232芯片是美信公司专门为电脑的RS-232标准串口设

17、计的单电源电平转换芯片,使用+5v单电源供电。芯片第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 芯片第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-

18、232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚GND、16脚VCC(+5v)。本设计用MAX232是方便于与PC之间通信,其电路如图1.2.5所示:图1.2.5 MAX232电平转换电路1.2.6 整体电路图按照以上各模块组成整个硬件电路,电路图如下所示:图1.2.6 整体电路图1.2.7 系统硬件设计所需的元件表1 元件列表元件名称数量(个)元件名称数量(个)STC12C5A08S21104瓷片电容674LS1541105瓷片电容3MAX232110uF电解电容28*8点阵4轻触开关4三极管855016发光二极管21K电阻

19、16DB9串口接头1470电阻16普通40PIN插针1(排)10K电阻2圆孔排针3(排)103*8排阻18PIN数据排线311.0592M晶振15V电源130pF瓷片电容22 系统软件设计软件部分有定时刷新模块、显示方式模块、串口发送接收程序模块、按键扫描模块等等。整体流程如图2所示:图2 整体软件流程图2.1 软件重要子程序设计及框图各个模块、各个子程序相互协调、相互调用,共同完成整个硬件的运行、人机的交互,下面对几个重要的部分进行介绍。2.1.1 显示部分显示是用定时器T0定时1mS,当1mS定时到,先关显示,再读取当前显示的行号,同时将ROM中待显示的数据调到RAM中,并将数据分别送至P

20、0、P2口,即完成当前行数据的传送,最后开显示。在进入中断后先要对定时器T0重新赋值,以保证显示屏刷新率的稳定。16行扫描格式的显示屏刷新率(帧频)的计算公式如下:刷新率(帧频) = 1/16T0溢出率 = 1/16Fosc/12(65536-t0)其中:Fosc为晶振频率;t0为定时器T0的初值(工作在16位定时器模式)。其次,显示驱动程序查询当前显示的行号,从显示缓存区内读取下一行的显示数据,赋给P0和P2。为消除在切换显示数据时产生的拖尾现象(或阴影现象),驱动程序要先关闭显示屏,即给74HC154的使能端高电平,待显示数据输出后,并输出新的行号,再打开显示。流程图如图2.1.1所示:定

21、时器赋初值读取行号并增1送新行显示数据消隐切换显示数据送新行号、打开显示退出中断进入中断图2.1.1 显示驱动程序流程图2.1.2 串口通信部分串口通信程序是本设计的一个亮点,本来打算用字库芯片,通过串口来发送指令显示相应的内容,但因为时间仓促,只能通过PC机来控制单片机ROM里内置的汉字、图形等内容。单片机ROM里要显示的内容分为两个部分,分别是二维数组Bmp和Bmp1,Bmp里的内容有“单片机实训项目:LED点阵。韦宏谋制作。学号:0901130327。指导老师:符强。谢谢观赏!GuiLinDianZiKeDa”,Bmp1里的内容是图形或特殊符号,有“(黑屏)(笑脸)(月亮)(空心形)(满

22、心形)(镂空心)(杂图)”。通信协议为:EE (通信模式) (显示模式) (显示数量) (起始位置) (库选择) DD其中,EE和DD作为指令识别,若从PC发出的指令不以EE为数据头,不以DD为数据尾,则单片机不接收该指令,起到了保证通信正常的目的;通信模式:00为不变,01为通信模式切换(单片机自动显示和PC通信模式切换);显示模式:00为卷帘方式,01为右移,02为左移,03为上移,其他无效;显示数量:即要显示的汉字(图形)的个数;起始位置:要显示的汉字或图形在ROM中的位置;库选择: 00为Bmp(汉字、数字、英文库),01为Bmp1(图形库)。当你输入不同的指令时,单片机会从串口中发出

23、不同的字条予以响应,具体响应内容在板上可以试试,这里不叙述。3 硬件安装制作用PROTEL99SE画好原理图,导入PCB图,并布好局画好线后就开始做板,以便程序的调试。元件布局时要遵循就近原则,即两个元件之间的电气连接的最好放近一点,方便布线,还有单片机的晶振要尽量靠近单片机的18、19号脚。布线时电源线和地线要比其他信号线宽,而地线要比电源线宽,规则是地线电源线信号线。本设计的线宽为:地线1.3mm,电源线1 mm,其他信号线0.6mm。3.1 PCB板制作画好PCB图后用转印纸打印,再用转印机将图纸转入覆铜板,接下来用油性笔对不清晰或断的走线进行弥补,防止腐蚀的时候把电气线路给腐蚀掉。之后

24、就可以开始腐蚀了,腐蚀液用盐酸:双氧水:水3:1:2的比例兑。等铜板腐蚀好后用直径0.8mm的钻针钻孔,钻出插件元件引脚的插孔,然后用细砂纸擦掉炭粉后立即涂上松香液,防止铜层氧化。松香液是用松香和99%浓度的工业酒精按1:5的比例配制的。这样PCB板就出来了。3.2 元件焊接焊接前准备好电烙铁、焊锡、吸锡器、剪线钳、剥线钳、镊子等焊接工具,同时准备好要焊接的元件和导线。在清理元器件时,重点辩别认清电阻器阻值及相应代号,对电阻、电容、发光二极管、三极管等要用万用表一一检测是否是良品。焊接时,先焊好跳线,再按从小到大、从卧到立的原则把元件焊好。电阻、昌振、插槽采用卧式插装,并近贴电路板;瓷片电容、

25、电解电容、三极管、排针、排阻等采用立式插装,也要近贴电路板。发光二极管、电解电容、三极管、集成电路等必须按正确的极性插装,否则电路不会正常工作,甚至通电后还会被烧坏。焊完元器件后,用剪线钳剪掉多余元器件的引线。焊接完后,还要认真对照电路原理图,检查电路板上有无漏焊、错焊、短路、断路等错误现象,确认无误后才能通电调试。4 电路调试本设计的调试涉及到硬件和软件的调试,硬件调试是建立在软件调试的基础上,只有保证硬件正常工作后才能对软件进行调试。4.1 硬件调试一块电路板做好后,并不能保证不会出错,在调试与检测过程中,利用万能表检测供电是否正常;线路是否有短路、断路等现象。我们在硬件调试的时候发现单片

26、机不能烧入程序,首先我们判定可能是单片机坏了,就拿来另一块能烧程序的单片机最小系统,把单片机放到最小系统上发现能烧录程序,排除了单片机的可能,然后就一一检查或替换单片机周边晶振、电容、复位按键开关,最后发现是复位电路的电解电容有问题,而换了几个好的电解电容后还是没能解决问题,最后把电容换成106的独石电容,而这并不影响单片机的复位功能,因为电容的作用是要让RC充放电时间TRC单片机复位所需的时间TRST即可。16X16点阵在硬件上要下点功夫,因为它的线错综复杂,单面板的情况下会有很多跳线,稍一不小就会忘了焊某根跳线,或是短路,会造成电路显示不正常、不能正常工作,甚至会烧坏芯片。好在以前做过很多

27、板,焊过很多电路,这点难不倒我,焊接完成后没有出现什么大的问题。4.2 软件调试我们做这个设计的时候碰到的最大的问题就是软件的调试,编写程序需要非常细心,逻辑思维要强,头脑要灵活,之前没有做过点阵的电路,在一开始没有一点眉目,在反复仔细在网上查找了的大量数据,才实现本设计的这些功能。因为用的是STC1T单片机,当程序写好后用直接用STC专用的ISP下载软件和DB9串口线把写好的程序烧录进单片机里,测试其工作情况和查找漏洞,并逐步完善整个设计功能。在使用STC单片机过程中,实现了它IAP下载的功能,即在应用中下载程序。这让我在调试程序过程中省了好多次按开头电源的烦恼。5 实训总结从设计题目下来到

28、现在历时两个多星期,克服了硬件和软件上各种问题,实现大部分的功能。因为本设计硬件比较简单,在硬件上碰到的就是一个电解电容引起的不能烧录程序的问题,其他功能都正常。而主要的难题是在软件设计上,在软件上碰到以下几点问题:(1) 对LED显示方式控制不好,左移、右移、上移时的算法算不对。(2) 对图片的取模抓不住头绪。(3) 在串口通信中,发送字符时,会有一些字发给PC就会出现乱码。本设计到目前为止还不算“智能化”,功能还比较单一,发挥部分的功能还有与PC通信没有达到我想要的功能,即不能通过PC发送代码让LED显示任意字符,其实就是少了字库芯片。设计之初想用EEPROM芯片如AT24C64存储字库,

29、或者用专用的字库芯片,并能在XP或WIN7平台上开发一个上位机软件,但因为条件不允许而没有实现,若有机会将会继续完善。致谢感谢老师、学长学姐、同学的帮忙,感谢互联网上那些不知名的好心人提供的帮助。一开始的时候对这个题目觉得很陌生,不知从何下手,后来咨询了学长和学姐的意见后,毅然选择继续做下去。当然,期间碰到了硬件和软件上的问题,而都在同学们、学长学姐们的帮助下做成功了。在此对他们表示感谢!参考文献1余锡存,曹国华.单片机原理及接口技术M.西安电子科技大学出版社,2004年2张志良,单片机原理及控制技术(第2版)北京:机械工业出版社,2005年3余永权, MCS-51系列单片机实用接口技术M.北

30、京:北京航空航天大学出版,19934求是科技,单片机典型模块设计实例导航M.北京:人民邮电出版社,2004年5月5张振荣, 晋明武,MSC-51系列单片机原理及实用技术. 人民邮电出版社,2000年6吉雷,Protel99从入门到精通.西安电子科技大学出版社,2004年7王守中,51单片机开发入门与典型实例,北京,人民邮电出版社,2007年8月8薛小铃,刘志群,贾俊荣,单片机接口模块应用与开发实例详解,北京航空航天大学出版社,2010年1月9 G.Y. Xu,Electronic design,2000年 10 Microcontroller handbook. Inter Corp.198611 MCS-51 Family of Single Chip Microcomputers Users Manual. Inter Corp. 1981附录1-单片机控制板PCB图附录2-LED点阵显示部分PCB图21

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1