基于射频无线通信的点阵显示屏设计与实现-毕业(论文)设计论文_第1页
基于射频无线通信的点阵显示屏设计与实现-毕业(论文)设计论文_第2页
基于射频无线通信的点阵显示屏设计与实现-毕业(论文)设计论文_第3页
基于射频无线通信的点阵显示屏设计与实现-毕业(论文)设计论文_第4页
基于射频无线通信的点阵显示屏设计与实现-毕业(论文)设计论文_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

PAGE毕业设计设计题目:基于射频无线通信的点阵显示屏设计与实现

基于射频无线通信的点阵显示屏设计与实现摘要LED点阵显示屏优点很多,广泛应用于各种场合。目前,采用有线方式传输显示信息的点阵屏幕安装和更改位置不便,而采用公共无线收费网络传输方式运行费用较高。针对以上不足之处,本研究的主要目标是实现点阵显示屏的无线控制。在上位机PC端输入显示的内容,通过无线收发模式,在下位机点阵屏显示接收到的内容。本系统是以89C51系列单片机STC89C51RC作为控制核心,来控制各部分电路实现相应的功能。从功能上划分,本系统分为上位机PC端界面、无线发射模块、无线接收模块和LED点阵屏显示模块。上位机用VB语言编写可视化界面,实现显示信息的输入、字模数据的生成、串口选择、波特率选择和数据一键发送,实现了简单的人机交互。下位机采用单片机为主控芯片的电路,显示信息的数据存储在外扩32K的随机存储器62256中。无线通信采用CC1100模块,它具有低功耗、传输距离远、抗干扰能力强和误码率低等优点。点阵显示屏显示部分由16个8×8发光二极管组成,能够清晰的显示4个16×16分辨率的汉字。关键字:单片机点阵显示屏射频无线通信随机存储器ADesignandRealizationoftheRfWirelessTransmissionLEDLatticeScreenBasedonMicro-controllerUnitAbstractTheLEDlatticescreenhasmanyadvantages,soitiswidelyusedinallkindsofsituations.Atpresent,thewayofdisplayinginformationtransmissioncablebitmapscreeninstallationandchangethepositionofinconvenience,andtousethepublicwirelesschargingnetworktransmissionoperationcostishigher.Inviewoftheaboveshortcomings,thestudy'smaingoalistorealizetheLEDlatticescreencontrolledbywirelesssignal.InthePCtheinputthecontentoftheshow,throughthewirelesstransceivermode,theLEDlatticescreendisplaysthereceivedcontent.STC89C52RCof89C51seriesmicro-controllerunitisthecoreofthissystem,andcontrolseverypartofcircuitachievingtheirfunctions.ThissystemconsistofaPCsendinterface,wirelesstransmittingmodule,wirelessreceivingmodulesandtheLEDlatticescreenpart.TheinterfacepreparedbyVBlanguageisavisualinterface,whichcanrealizemanyfunctions,suchastheinputofthedisplayinformation,thegenerationoffontdata,theselectionserialports,theselectionofBaudrateandhowtotransmitdatawithonekey,realizedsimplehuman-computerinteraction.Themachineadoptssingle-chipmicrocomputerforamaincontrolchipcircuits,displayinformationofthedatastorageexpansionoutside32Kofrandomaccessmemory.Amongthem,theCC1100wirelesstransmissionmodulehasmanyadvantages,suchaslowpowerconsumptionandlongdistancetransmissionandstronganti-interferenceability.TheLEDlatticescreenismadeof16pieces8×8ledscomposition,whichcanclearlyshowfour16×16resolutionChinesecharacter.Keyword:MCU;LEDLatticeScreen;RfWirelessTransmission;RAM目录TOC\o"1-3"\f\h\z\u1引言 12总体设计方案 23系统硬件电路设计 33.1核心器件介绍 33.1.1STC89C51系列单片机介绍 33.1.2CC1100无线模块介绍 83.1.3点阵显示屏芯片介绍 103.2控制板电路设计 123.2.1控制板原理 123.2.2外部扩展板的设计 143.3点阵显示屏模块设计 153.3.1控制板原理 153.3.2行驱动电路设计 163.3.3点阵显示屏原理图设计 183.4电路板焊接 194系统软件设计 204.1软件开发平台及开发语言介绍 204.1.1VisualBasic6.0开发平台 204.1.2KeiluVision4开发平台 214.2上位机管理系统程序设计 224.2.1系统概要设计 224.2.2软件详细设计 224.3下位机无线收发模块程序设计 244.3.1无线发射模块程序设计 244.3.2无线接收模块程序设计 275PCB板的设计与实现 285.1Protel99SE介绍 285.2PCB设计主要步骤 285.3LED屏PCB设计与实现 305.4PCB板设计注意事项 336系统软硬件调试 346.1STC-ISP程序下载器介绍 346.2上位机发射界面调试 356.3下位机接收部分调试 357结论 378谢辞 38参考文献 39附录 40附录1总电路图 40附录2VB界面程序 41附录3发送端程序 48附录4接收端程序 65附录5器件清单 89外文资料 90唐山学院毕业设计PAGE301引言LED点阵屏是由发光二极管按规律排列所组成的点阵显示屏幕,它可用来显示字符、图案等信息,具有可靠性高、使用寿命长、环境适应能力强、性能价格比高等特点,因此在信息显示领域得到了广泛应用。在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所需要用LED点阵显示图形和汉字。LED行业已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。随着信息产业的高速发展,LED显示作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传的公众场所,例如户内外公共场所广告宣传、机场车站旅客引导信息、公交车辆报站系统、证券与银行信息显示、餐馆报价信息豆示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号灯、景观照明等。显然,LED显示已成为城市亮化、现代化和信息化社会的一个重要标志。LED点阵显示根据应用领域和要求不同可以分为很多种。常见的是采用单片机为控制核心的LED点阵显示,显示的数据预先存储在ROM中,当程序运行时,单片机负责依序将ROM中存储的数据进行读取、传输和显示[1]。这种方式优点在于廉价、现实简单,适用于显示字符少或显示画面不大的场合,并且很少更改显示内容。但是当显示画面大,显示内容多且较复杂,光靠单片机处理不过来,或者希望能随时改变显示内容或画面时不方便,局限性很大。并且目前多采用有线数据传输方式的LED点阵屏幕安装和更换位置不便,而采用公用无线收费网络的方式费用较高。目前,生活中常见的LED显示屏都是采用单片机为控制核心,显示的数据预先存储在ROM中,当程序运行时,单片机负责依序将ROM中存储的数据进行读取、传输和显示。这种方式优点在于廉价、现实简单,适用于显示字符较少并且很少更改显示内容的情况。当显示画面大,显示内容多且较复杂,光靠单片机处理不过来,或者希望能随时改变显示内容或画面时不方便,局限性很大。并且目前多采用有线数据传输方式的LED点阵屏幕安装和更换位置不便,而采用公用无线收费网络的方式费用较高。针对以上不足,本设计研究了由PC来控制点阵屏显示信息,基于射频无线通信技术传输信息的点阵屏显示系统。本设计除了具有让LED显示终端进行文本显示的基本功能外,还区别于传统的有线方式传输显示信息,可以通过射频无线通信技术传输数据,解决了不能随时更改显示内容的问题,在成本增加不多的情况下解决了安装和更改位置不方便的问题,提高可移动性,也符合嵌入式系统应用的未来发展方向。2系统总体设计方案上位机PC端上位机控制板上位机PC端上位机控制板VB界面输入显示信息CC1100无线发射无线发射端无线接收端下位机控制板CC1100无线接收LED显示屏移位锁存数据处理图2-1系统总体方案流程图上位机PC端用VisualBasic语言编写软件界面,用户可以直接输入显示信息,并确认发送显示。显示信息数据通过串口通信传送到单片机,并通过无线发射模块CC1100发射出去,上位机管理模块是用户和该系统进行交流的平台。下位机CC1100模块接收数据后通过单片机把数据存储到RAM中,并显示的点阵显示屏上。无线发射模块和无线接收模块采用CC1100无线射频通信模块,这是一款集FSK/ASK/OOK/MSK支持实现信息包处理、数据缓冲、群发射、空闲信道评估、链接质量指示和无线唤醒等多种功能为一体的高性能模块,它可以采用曼彻斯特编码进行调制解调它的数据流,能降低误码率。LED点阵显示模块采用16×64像素LED点阵屏,能清晰的呈现各种汉字和符号,它由1024个发光二极管排列组合而成,抗冲击和抗震性能好,可靠性高,寿命长的特点,广泛应用于各领域。3系统硬件电路设计3.1核心器件介绍3.1.1STC89C51系列单片机介绍单片机是指一个集成在一块芯片上的完整计算机系统,它集成了中央处理单元(MCU)、存储器(RAM/ROM)和各种I/O接口,具有一个完整计算机所需要的大部分部件。图3-1STC89C51引脚图本程序用到的单片机是STC89C51,它是标准的40引脚双列直插式集成电路芯片,引脚如图3-1所示。图3-1STC89C51引脚图1.单片机各引脚功能介绍:(1)电源引脚电源引脚接入单片机的工作电源Vcc(40引脚):接+5V电源。Vss(20引脚):接地。(2)时钟引脚XTAL1和XTAL2外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号[2]。(3)控制引脚RST(9引脚):复位信号输入端,当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。在单片机正常工作时,此引脚应为≤0.5V的低电平。/Vpp(31引脚)外部程序存储器访问允许控制端,当为高电平时,单片机读片内程序存储器(4KBFlash存储器),但在PC值超过0FFH时,将自动转向外部程序存储器中的程序。当/Vpp引脚为低电平时,对程序存储器的读操作只限定在外部程序存储器,地址为0000H-FFFFH,片内的4KBFlash程序存储器不起作用。Vpp为该引脚的第二功能,为编程电压输入端。对于89C52系列单片机,在对片内Flash固化编程时,加在Vpp引脚的编程电压为+5V或+12V。/PROG(30引脚)为低8位地址锁存允许信号,在系统扩展时,的负跳沿用于控制把P0口的输出低8位地址送锁存器锁存起来,然后P0口再作为数据端口,以实现低位地址和数据的隔离,形成分时复用。当是高电平时,允许地址锁存信号,当访问外部存储器时,信号负跳变(即由正变负)将P0口上低8位地址信号送入锁存器[3]。此外,单片机在运行时,端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6,(即6分频)。该正脉冲信号可作为时钟源或定时信号使用。但是要注意,每当89C51访问外部RAM时,要丢失一个脉冲。此时严格意义来说,用户不宜用作为精确的时钟源或定时信号。PROG为该引脚的第二功能,在对片内Flash存储器编程时,此引脚为编程脉冲的输入端(29引脚)为外部程序存储器读选通信号,在单片机读外部ROM时,此引脚输出脉冲的负跳沿作为读外部程序存储器的选通信号。此引脚接外部程序存储器的OE(输出允许)端,在访问外部RAM时,信号无效。归纳起来为可以分为以下几种情况:内部ROM读取时,PSEN不动作;外部ROM读取时,在每个机器周期会动作两次;外部RAM读取时,两个PSEN脉冲被跳过不会输出;外接ROM时,与ROM的OE脚相接。(4)P0口为单片机的引脚32~引脚39,是漏极开路的双向I/O口,有两个功能:当P0口用作地址/数据复用口时,相当于一个真正的双向口,用作与外部存储器的连接,输出低八位地址和输入输出八位数据;当P0口用作通用I/O口时,由于需要片外接上拉电阻,端口不存在高阻抗状态,为一个准双向口,为保证引脚信号的正确读入,应首先向锁存器写入1。单片机复位后,锁存器被置1;当P0口由原来的输出状态转变为输入状态时,应首先置锁存器为1,方可执行输入操作。(5)P1口为单片机的引脚1~引脚8,是专为用户使用的准双向I/O口,其内部有上拉电阻,可作为普通的I/O输入时,应先向端口的输出锁存器写入1。P1口可驱动4个LS型TTL负载。

(6)P2口为单片机的引脚21~引脚28,为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址”1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。(7)P3口为单片机的引脚10~引脚17,是8个带内部上拉电阻的双向I/O口,有两个功能,作为准双向I/O使用,其内部有上拉电阻,还可以提供第二功能,由特殊寄存器来设置。P3口的第二功能如表3-1所示。表3-1P3口的第二功能信道位第二功能说明P3.0RXD串行口的输出P3.1TXD串行口的输入P3.2外部中断0的中断请求输入P3.3外部中断1的中断请求输入P3.4T0计数器0的计数输入P3.5T1计数器1的计数输入P3.6外部数据存储器的写选通信号P3.7外部数据存储器的读选通信号2.单片机最小系统电路介绍(1)时钟电路89C51单片机各功能部件的运行都以时钟控制信号为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响到单片机系统的稳定性。STC89C51内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图3-2(a)所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用[4]。XTAL1XTAL2XTAL1XTAL2晶振外部振荡器+5VXTAL1XTAL2(a)内部方式时钟电路(b)外部方式时钟电路图3-2时钟电路(2)复位及复位电路复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。当由于程序运行出错或操作错误使系统处于死锁状态时,需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表3-2所示。表3-2一些寄存器的复位状态寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00HRST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图3-3所示。RST/VPDRST/VPD片内RAMVss施密特触发器复位电路Vcc复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3-4(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。这时时钟频率选用6MHz,电容取22uF,电阻R取1KΩ。80C51Vcc80C51VccRST/VPDVssVccC+22uFR1KRESETC+22uFVccR200ΩVccRST/VPDVss80C51R1000ΩRESET80C51VccRST/VPDVssVccC+22uFR11000ΩR21000Ω(a)上电复位(b)按键电平复位(c)按键脉冲复位图3-4复位电路上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图3-4(a)上电复位方式。89C51单片机功能如表3-3所示。表3-3STC89C51主要功能主要功能特性性能介绍兼容MCS51指令系统8K可反复擦写FlashROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3.1.2CC1100无线模块介绍这是一款由美国TI公司的CC1100无线收发设计的一款高性能433M无线收发模块,设计旨在用于极低功耗RF应用。其主要针对工业、科研和医疗以及470-510MHz和950-960MHz频带的短距离无线通信设备。它特别适用于那些针对日本ARIBSTD-T96标准和中国470-510MHz短距离通信设备的无线应用。CC1100可支持固定数据包长度协议和可变数据包长度协议。可变或固定数据包长度模式可用于长达255字节的数据包。对更长的数据包而言,必须使用无长度限制的数据包模式。在可变数据包长度模式下,通过同步字后面的第一个字节来配置数据包长度。数据包长度被定义为有效负载数据,但不包括长度字节和可选CRC。CC1100支持三种不同类型的数据包过滤:地址滤波,最大长度滤波和CRC滤波,最大限制的避免了错误代码的接收。CC1100无线模块采用GFSK调制,工作在433.05-434.79M的国际通用ISM频段,最高调制速率可达500KBPS。基于SPI接口方式,最少只需5个IO口即可,很方便于各种MCU连接[5]。管脚定义如表3-4所示。表3-4CC1100模块引脚表管脚次序管脚定义功能描述13.3V电源输入(方形焊盘)2SISPI输入3SCKSPI时钟4SOSPI输出5GDO2通用数据输出26GND接地7GDO0通用数据输出08CSNSPI使能模块大小40mm×19mm,2.0mm间距的双排插针接口(注意:万能版的孔间距为2.54mm,模块的引脚间距为2.00mm,需要使用2.54mm转2.00mm的杜邦线才能连接),使用外置弹簧天线设计,开阔地100K速率下,收发10个字节的数据量测试距离最远约300米左右。CC1100性能优势明显,归纳为以下几点:(1)工作频率433M符合国际通用ISM法规,430-464M宽频工作,满足多点通信和跳频通信需要。(1)支持2FS,GFS和MSK调制方式。(2)内置硬件CRC校验和点对多点通讯地址控制。(3)快速启动时间,从休眠到RX或TX状态240uS。(4)内置硬件CRC校验和点对多点通讯地址控制。(5)低功耗,休眠状态时,电流仅为0.1uA。(6)模块所有的IO口均加隔离电阻保护,静电防护和抗干扰能力更好。CC1100属于高精度器件,使用时要格外注意,具体注意事项可以归纳为以下几点:(1)静电:无线模块为静电敏感器件,使用时请注意静电防护,特别是在干燥的冬季尽量不用收去触摸模块上的器件,以免造成不必要的损坏。(2)电源:无线模块推荐使用纹波小的直流电源,工作电压建议在3.3V工作。模块的接地要稳定可靠,地线尽量靠近电源总地。如使用开关电源的话,一定要加强退藕,以免开关电源的纹波和尖峰脉冲影响模块的工作特性。(3)单片机:如果模块工作在3.3V时,不考虑低功耗的话,可以直接和5V单片机系统连接,如果是连51系列的单片机P0口的话,请加10K的上拉电阻。另模块的SPI速率最高能支持到10M,一般建议在1M或几百K的SPI速率即可。(4)测试:模块采用外置弹簧天线,此天线容易受外部线路影响,使用时,此天线底下和周围请不要走线路或摆放器件,可以的话最好完全悬空。对433M,各种材质均有一定的影响,一般的塑料影响不大,如有金属物体会产生比较明显的影响,此时建议使用SMA馈线来外接SMA天线。有关模块使用的芯片详细规格请参考TI公司的CC1101的DATASHEET。CC1100无线模块应用范围非常广,控制处理、无线数据连接、遥测、小型无线网络;车辆监控、防盗;机器人控制,飞思卡尔智能车控制;智能家庭、家居应用和无线传感、安全系统;智能玩具;无线抄表、门禁系统、小区传呼;工业数据采集系统、生物信号采集、水文气象监控;游戏无线控制器;无线传感器、无线语音。3.1.3点阵显示屏芯片介绍1.74HC595芯片介绍74HC595是具有8位移位寄存器、1个存储器和三态输出功能的芯片[6]。其中,移位寄存器和存储器分别使用不同的时钟。数据在SH-cp(11引脚)的上升沿输入到移位寄存器中,在ST-cp(12引脚)的上升沿输入到存储寄存器中去。当两个时钟连在一起时,则移位寄存器会一直比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入端(14引脚Ds)、一个串行输出(9引脚)和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能端OE为低电平,存储寄存器的数据输出到总线。74HC595引脚图如图3-5所示。图3-574HC595引脚图74HC595芯片总共14个引脚,是双列直插型封装。各引脚功能如下表3-5所示:表3-574HC595引脚功能图引脚功能Q0-Q7八位并行输出端级联输出端,将它接下一个595的DSDS串行数据输入端低电平时将移位寄存器的数据清零ST-CP上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变SH-CP上升沿时数据寄存器的数据移位OE高电平时禁止输出74HC595作为8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态的功能。它可以将串行输入的8位数字,转变为并行输出的8位数字,例如控制一个8位数码管,将不会有闪烁[7]。74HC595的逻辑功能如下表3-6所示。表3-674HC595的逻辑功能表SH-cpST-cpOEMRDSQnXXL↓XNCMRX↓LLXLLXXHLXLZ↓XLHHQ6NCX↓LHXNCQn`↓↓LHXQ6`Qn`将74HC595的Q0—Q7接点阵的行或者列的8个引脚,将串行数据从DS端输入,ST-CH接收脉冲,每来一个脉冲串行数据从低位向高位移位,并且各自送到相应的Qn端。当Q0—Q7端全部送满数据时,SHCK来个脉冲将Q0—Q7的数据送出,被送到点阵的引脚,从而实现一行或者一列的驱动。就这样,每次驱动一行,当动态扫描起来就可以实现动态扫描而呈现数字[8]。2.74HC154芯片介绍74HC154是一种高速的CMOS器件,用于4线-16线译码的高性能存储器的译码器,可接受4位高电平有效的二进制输入,并提供16个互斥的低电平有效的输出信号。如图74HC154的引脚如图3-6所示。图3-674HC154的引脚图74HC154译码器的两个输入使能端可用于译码器选通,当选通使能端G1(18引脚)和G2(19引脚)均为低电平时,可将地址端ABCD(20到23引脚)的二进制,编码在一个对应的输出端,以低电平译出。若将G1和G2中的一个作为数据输入端,由ABCD对输出寻址,74HC154还可作1线-16线数据分配器。74HC154的真值表的如表3-7所示。表3-774HC154真值表INPUTSELECTEDOUTPUT(L)G1`G2`DCBALLLLLLLLLLLLLLLLLLHHLHLHYO`Y1`Y2`Y3`LLLLLLLLLLLLHHHHLLHHLHLHY4`Y5`Y6`Y7`LLLLLLLLHHHHLLLLLLHHLHLHY8`Y9`Y10`Y11`LLLLLLLLHHHHHHHHLLHHLHLHY12`Y13`Y14`Y15`XHHXXXXXXXXXNONENONE上表中,L表示低电平,H表示高电平,X表示任意电平,不关心。3.2控制板电路设计3.2.1控制板原理单片机控制板包括单片机最小系统和CC1100供电电路,由于单片机高电平为5V低电平为0V,而PC端USB输出高电平为-12V低电平为+12V,需要通过串口和MAX232电平转换芯片实现电压的转换,才能满足单片机与上位机的串口通信以及程序的下载的基本条件。实际设计中,使用了USB转TTL下载小板,这是一种可以直接把+12V和-12V电平转换成TTL电平,并且可以与PC进行串口通信。因此实际设计中取消了MAX232和串口部分。在设计中考虑到连线很多,板子上把各个I/O口引出来,焊接了插针,这样便于和其他电路板的连接,使用起来更方便,起到了单片机最小系统的作用。本方案无线发射部分采用集成的CC1100无线模块简化了设计,单片机只提供与发射模块的借口即可进行数据传输。由于发射模块需要3.3V供电,本方案采用AMS1117-3.3给CC1100供电。ASM1117是一个低漏失电压调整器,它的稳压调整管是由一个PNP驱动的NPN管组成的。ASM1117有固定和可调两个版本可用,输出电压可以是1.2V,1.5V,1.8V,2.5V,2.85V,3.0V,3.3V和5.0V。片内过热切断电路提供了过载和过热保护,以防止环境温度过高的结温。为了确保ASM1117的稳定性,对可调电压版本,输出需要连接一个至少22uF的电容。对于固定电压版本,可采用更小的电容,具体可以根据实际应用确定。通常,线性调整器的稳定性随着输出电流增加而降低。CC1100无线模块供电电路硬件电路如图3-7所示。图3-7CC1100无线模块供电电路设计好的控制板原理图如下图3-8所示。图3-8控制板原理图点阵屏控制板电路与单片机发射控制板基本相同,不同之处是将P1口引出与点阵屏相接。3.2.2外部扩展板的设计本设计中点阵显示信息需要的数据存储在外部存储器62256中,这是一款32K的低功耗静态存储器。STC89C51单片机系统扩展时,一般使用P0口作为地址低8位(与数据口分时复用),而P2口作为地址高8位,它共有16根地址总线,寻址空间为64KB[9]。62256芯片引脚图如图3-9所示。图3-962256芯片管脚图62256是32K的低功耗静态RAM存储器,用P0和P2来扩展外部RAM(就是用P0和P2与62256对应的管脚相连接)。假设P2.7接WR,P2.6接RD,P2.5接CS,那么就可以确定一个外部RAM的一个地址,想往外部RAM的一个地址写一个字节时,地址可以定为XBYTE[0x4000],其中WR,CS为低,RD为高,那就是高位的4(0100也就是P2.7和P2.5输出了低电平,而P2.6输出了高电平,目的当然是要选通62256并且向62256写入数据),其它位的可以根据情况自己定(也就是其它位是什么不要紧,关键就是控制WR,CS,RD的那几个位要符合选通,读写的规定就可以了),现在我们向62256中写个26进去就可以使用这条语句:XBYTE[0x4000]=26。设计好的62256与单片机连接图如图3-10所示。图3-1062256与单片机连接图图3-10中把62256需要与单片机相连的P0口、P2口和WR、RD、AlE用插针的方式表示,方便画图。同时设计的设计中,外扩小板也是这样焊接的,只需用杜邦线和单片机的对应口相连就可以。3.3点阵显示屏模块设计3.3.1.点阵屏显示原理LED为发光二极管的简称,是一种能将电能换转为光能的器件,当有电流通过的时候可以产生人眼可见的光。本设计的点阵显示屏由16个8×8点阵LED组成,可以同时清晰的显示4个16×16分辨率的点阵汉字。LED显示器常用的工作方式有静态显示方式和动态显示方式。所谓静态显示就是当显示器显示一个字符时,相应的发光二极管始终保持导通或截至,在显示的这个过程中,其状态是静止不变的,直到一个字符显示完,要显示下一个字符,其状态才改变。而动态显示方式则不同,它在显示每一个字符的过程中,都是一位一位的轮流点亮要显示的各个位,这样反复循环。动态显示利用了人眼的视觉残留性质。外形上,8×8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置高电平,某一列置低电平,则相应的二极管就亮;如要将第一个点点亮,则Y0脚接高电平X7脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第Y0脚要接高电平,而(X0、X1、X2、X3、X4、X5、X6、X7)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第X7脚接低电平,而(Y0、Y1、Y2、Y3、Y4、Y5、Y6、Y7)接高电平,那么第一列就会点亮。点阵屏内部电路图如图3-11所示。图3-118×8单色LED模块内部电路一般我们使用点阵显示汉字是用的16×16的点阵宋体字库,所谓16×16,是每一个汉字在纵、横各16点的区域内显示的。也就是说得用四个8×8点阵组合成一个16×16的点阵[10]。如下图3-12所示,要显示“你”则相应的点就要点亮,由于我买的点阵在列线上是低电平有效,而在行线上是高电平有效,所以要显示“你”字的话,它的位代码信息要取反,即所有列送(1111011101111111,即0xF7和0x7F),而第一行送1信号,然后第一行送0;再送第二行要显示的数据送(1111011101111111,即0xF7和0x7F),而第二行送1信号。依此类推,只要每行数据显示时间间隔够短,利用人眼的视觉暂停作用,这样送16次数据扫描完16行后就会看到一个“你”字。图3-12汉字“你”的字模信息和显示3.3.2行驱动电路的设计因为本设计要求的行驱动电流较大,目前尚无合适的集成电路来胜任。因此本设计的行驱动电路采用三极管扩流方式,如图3-13所示。图3-13两种三极管扩流方式(共集,共射)共集驱动方式,又称射极跟随器,当电源电压足够时,在负载上获得的电压始终等于基极对地电压Ub减去发射结压降Ube。硅管的Ube一般为0.7V左右,因此在5V供电系统中,在负载上最多能获得4.3V的电压,若Ic=1A则在三极管上的管耗为1A×0.7V=0.7W,管耗较大,需选用中功率的管子。还有一个重要的特点,共集电路的基极是用高电平驱动,而单片机在复位期间,所有I/O口都呈现高电平。这样的话,在开机上电复位的瞬间,在所有的行线上都会获得电压。而造成开机瞬间全屏显示或造成巨大的浪涌电流冲击,使电源电压跌落,单片机工作异常。而使用共射驱动方式的话,同样的电源电压下,负载端能获得4.7V的电压,Ic=1A时的管耗只有0.3W。因此可选用小功率器件。共射电路的基极驱动是用低电平,这就不会造成上述共集电路的浪涌电流影响。同时,大部分单片机的I/O是弱上拉输出,也即是单片机能承受较大的灌电流,而只能提供微弱的拉电流。因此,综合权衡利弊,本设计采用PNP管共射电路作为行扫描线驱动。现对行驱动电路各元件参数进行计算。行驱动电路元件参数的计算,假设条屏使用在极端情况下,每一行的所有LED全部点亮。每行共64点。共64个LED。普通LED的安全工作电流在5~20mA之间,为获得较高亮度,又要兼顾其工作寿命。本设计中,每只LED工作电流取20mA。如此可知,当一行全点亮的时候总电流:IT=IC=0.02A×64=1.28A管耗:Pc=IC×VCEsat(管饱和压降)=1.28A×0.3V=0.38W直流电流放大系数:(3.1)对于基极偏流电阻,则起到对基极20mA偏置电流限流作用。基极限流电阻:(3.2)本方案采用200Ω限流电流。集电极电阻采用150Ω。3.3.3点阵显示屏原理图设计本设计通过74HC595级联对列进行选通,通过74HC154四线—十六线译码器进行行选通。中间用Tip127封装的大功率三极管进行电流放大。设计好的点阵显示屏原理图如下图3-14所示。图3-14点阵显示屏原理图3.4电路板焊接自己设计制作电子小产品时,焊接是非常重要的一步,焊接的质量直接影响到电路板性能,因此要对每个焊点每条焊线都特别认真。本设计中两个控制板和外部RAM扩展总计三个小板都是设计和纯手工焊接。我个人认为,绝缘线比裸线更安全,避免了不必要的导线相连的情况,但在实际的电路板焊接中,我考虑到了布线比较多的情况,用绝缘线做导线很难做到导线之间无交叉,增加了设计的难度。为了使焊接出的电路更美观,我用裸线做了双面板,这样布线更加灵活,同时对焊接技术提出了更高的要求。焊接是设计的重要部分,所以在真正进行焊接之前要做好充分的准备,不但要准备好必要的材料,还要画好焊接的布线图,以免在焊接线路时出现混乱。焊接前的准备流程很多,首先器件的布局准备一定要为后期的连线和其他器件做好铺垫,然后焊接电路,每焊接完一个模块都测试一下,确保工作有效。焊接过程中需要注意很多细节,根据自己焊接过程中遇到的问题,我归纳总结了以下几点:(1)焊接前先把电烙铁插头插入规定的插座上,检查烙铁是否发热,如发觉不热,先检查插座是否插好。当用完烙铁后,拔下电源,把电烙铁放好,防止火灾等情况。(2)焊接过程中,最容易出现的一种违反操作步骤的做法就是烙铁头不是先与被焊件接触,而是先与焊锡丝接触,熔化的焊锡滴落在尚末预热的被焊部位,这样很容易产生焊点虚焊,所以烙铁头必须与被焊件接触,对被焊件进行预热是防止产生虚焊的重要手段。(3)助焊剂在焊接时非常重要,在焊器件时只有焊锡是不行的,焊不上去,有助焊剂就会方便很多,能让焊锡乖乖的贴上去。同时,助焊剂最主要的一大功用是,有时候会焊很多锡上去,助焊剂有助于你抢锡,抢锡的意思就是把多余的锡弄下来,否则元件的引脚会粘到一起,造成多余的引脚连接。(4)元器件装焊顺序依次为:电阻器、电容器、二极管、三极管、集成电路、大功率管,其它元器件为先小后大,这样的顺序有助于更方便的布局和焊接。每焊接完一个模块,都要仔细查看每条连线是否正确,是否与电路图连线一致,同时查看是否有错焊和虚焊的地方。这些过程看似简单,但对后续的调试起到很大的作用,可以减少不必要的麻烦。总是,电路的焊接中一定要细心。4系统软件设计完成了硬件电路的设计后,进行软件部分的开发。基于射频无线通信的点阵显示屏需要上位机软件界面编写和下位机程序的设计。上位机软件界面使用VisualBasic6.0开发平台编写,下位机程序的设计采用C51编写,然后利用Keil开发平台进行编译和链接,生成单片机可执行的文件。4.1软件开发平台及开发语言介绍4.1.1VisualBasic6.0开发平台VisualBasic以可视化工具进行界面设计,以结构化BASIC语言为基础,以事件驱动为运行机制,基于这些优势,在国内外得到迅速推广。同时,VisualBasic具有简单易学,功能强大,软件费用支出低,见效快等特点。它提供了开发Windows应用程序最迅速和最简捷的方法,不但是专业人员得心应手的开发工具,而且易于被非专业人员掌握使用。VisualBasic6.0兼容各种操作环境,使用更方便,其代码效率已达到VisualC++的水平。在面向对象程序设计方面,VB6.0全面支持面向对象的程序设计,包括数据抽象,封装,对象与属性,类与成员,继承和多态等,功能更强大和实用[11]。VisualBasic6.0是用来创建高性能的企业应用程序及基于Web的应用程序的最有效工具。VisualBasic6.0使开发者得以创建驻留在客户或服务器上或运行在分布式n-层环境里的强壮应用程序。VisualBasic6.0这个快速应用开发工具既可以作为一个单独的产品也可以作为VisualStudio6.0套件的一个组成部分。VB优势很多,归纳为以下几点:(1)VB具有基于对象的可视化设计工具,在VB中,程序设计是基于对象的。对象是将程序和数据封装起来的一个软件部件,是经过调试可以直接使用的程序单元。程序员只需利用现有开发软件环境所提供的工具,根据设计要求,直接在屏幕上“画”出窗口、菜单、命令按钮等对象,并为每个对象设置相应的属性值,就可实现界面个性化。(2)VB有事件驱动的编程机制,非常适合图形用户界面的编程方式,程序员只需编写响应用户动作的代码,各个动作之间不一定存在关联。这样的应用程序代码长度较短,既易于编写又易于维护,极大地提高了程序设计效率。(3)VB提供了易学易用的应用程序集成开发环境。用户可以设计界面,编辑代码,调试代码,调试程序,直接运行,以获得结果,也可以把应用程序制作在安装盘上,以便在脱离VB系统的Windows环境中运行,为用户提供了友好的开发环境。(4)VB具有结构化程序语言,它具有高级程序设计语言的优点,丰富的数类型,大量的内部函数,多种控制结构,模块化的程序结构,结构清晰,简单易学。(5)VB具有强大的网络、数据库、多媒体功能。利用VB系统提供的各类丰富的可视化控件和ActiveX技术,使程序员摆脱了特定语言的束缚,可以方便地使用其他应用程序所提供的功能[12]。4.1.2KeiluVision4开发平台KeiluVision4集成开发环境是KeilSoftware公司开发的基于89C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具。Keil是目前最流行开发51系列单片机的软件。KeiluVision提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。Keil可以独立完成从工程建立和管理,编译,链接,目标代码的生成,软件仿真,硬件仿真等完整的开发流程。尤其C编译工具在产生代码的标准性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。实际的程序设计中用到了SourceInsight,这是一款是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++,C#和Java等程序的分析。SourceInsight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。SourceInsight不仅仅是一个强大的程序编辑器,它还能显示referencetrees,classinheritancediagrams和calltrees。SourceInsight提供了最快速的对源代码的导航和任何程序编辑器的源信息。SourceInsight提供了快速和革新的访问源代码和源信息的能力。与众多其它编辑器产品不同,SourceInsight能在你编辑的同时分析你的源代码,为你提供实用的信息并立即进行分析。SourceInsight的软件主界面如图4-1所示。图4-1SourceInsight的软件主界面相比于其他软件,SourceInsight最大的优势是提供了快速的源代码导航和条理分析便于大型程序的分析。4.2上位机管理系统程序设计4.2.1概要设计上位机发送管理系统需要实现的功能有选择串口、设置波特率、显示内容的输入、待发送字模数据的生成、字模数据的发送以及显示发送进度等。4.2.2软件详细设计上位机VB界面通过mscomm控件与下位机进行串口通信,首先将汉字转换为点阵信息,然后通过串口将数据发送给下位机。点阵转换函数源码如下:'*********************************************************************'汉字顺序横排取模,存放到ZMHP数组中'读字模文件存放到Hzk166中'找到汉字字模位置,并按行顺序存放到ZMHP(汉字个数,32)数组中FunctionChinese2HData()'转化为横排取模DimAddress'存放在hzk16中的地址DimQWM,QM,WM'文件长度,区位码,区码,位码Dimi,jAsIntegerReDimZMHP(1ToN,1To32)'定义数组N维'==================='获取汉字区位码Fori=1ToUBound(HzStr1)QWM=Hex(Asc(HzStr1(i)))'区位码QWM=Right("0000"&QWM,4)QM=Val("&H"&Left(QWM,2))'区码WM=Val("&H"&Right(QWM,2))'位码汉字顺序横排取模,存放到ZMHP数组中,读字模文件存放到Hzk166中,找到汉字字模位置,并按行顺序存放到ZMHP(汉字个数,32)数组中,用Chinese2HData()函数转化为横排取模[13]。图4-1上位机VB发射界面设计好的VB界面如图4-2所示。图4-1上位机VB发射界面图4-2设计好的VB界面图串口通信MSCOMM控件设置如下图4-3所示:图4-3串口通信MSCOMM控件设置本方案发送数据时,首先发送0xff表示发送的下面的数据为有效数据,在下一个字节发送汉字个数。接着发送32个字节的数据,然后等待下位机发送下一个要接收的汉字,当接收到以后,就发送下一个汉字。然后,再等待。知道单片机接收完所有的字模数据,然后单片机发送0x55代表单片机接收成功。当上位机接收到0x55以后,遍知道这次通信成功,然后弹出对话框,显示发送数据完成,并显示发送的汉字个数。4.3下位机无线收发模块程序设计 4.3.1无线发射模块程序设计设计思路:当单片机接收了一个字的数据后,就将刚接收到的数据通过CC1100发送出去,每发送一个字节,就等待接收模块的回应,当接收到时,接收模块首先判断是否正确,如果接收正确,就回发事先规定好的数据(此程序预置的数为0x01),如果发送模块接收到该数据,说明发送一个字节成功。然后再发送下一个字节。如果错误,则重新发送,同时对发送数据进行了简单的校验。必须把首先在上位机上将需要显示的汉字转化为字模信息,然后,通过串口通信首先发送标志信号,无线发送端接收到标志信号后,进入接收状态。接着上位机发送汉字个数,无线发送端接收到汉字个数以后会发送要接收第几个汉字给上位机,上位机接收到以后会将该字的32字节的字模数据连续发送给无线发送端,同时还会再发一个字节的校验数据(该数据对32个字节的数据进行异或)。接收端接收到总共33字节数据以后,首先对32字节数据进行异或与最后一个字节数据比较,如果相等,则首先通过无线发射模块将32字节数据发送给无线接收端(这里数据包设置为3个字节,前两个数据是校验数据,第三个数据为有用数据,接收端通过判断这两个数据的值来确定接收的第三个数据是否正确。如果错误则申请重发,若正确则返回三个固定数据,无线接收端接收到该三个数据后发送下一字节数据(注:因为无线发射模块发送几十个字节数据总有那么一两个是错的,这样做,可以提高正确率。发送的数据基本没错的,但是这种校验方式比较简单,不能完全确定发送的数据是否一定正确。)),然后给上位机发送需要接收的下一个汉字。如果不等,则申请重发该字。直到接收完汉字字模数据以后,无线发送端首先通过无线发射模块发送0x55给无线接收端表示发送完毕,然后给上位机发送0x55表示接收完毕。此次发送完毕。无线发射端程序主要实现数据的发射,包括主函数、串口中断函数和CC1100模块的配置文件。主函数实现各种初始化,流程图如图4-4所示。开始CPU初始化开始CPU初始化CC1100上点复位配置CC1100的寄存器发送一组数据延时UART初始化等待串口中断结束串口中断函数作用是当每次数据发送完之后,单片机接收返回值,用这个标志位的值去判断发射的数据是哪种数据,标志位为“1”,表示接收字模数据开始的标志,说明下一位字节接收汉字个数;标志位为“2“,表示该字节为要接收的汉字个数;标志位为“3”,表示要接收的字模信息。首先读取发送数据缓冲期的数据,判断接收状态标志位初始值为“0”,如果这时SBUF的数据等于0xff,则接收状态标志位置“1”,否则继续等待;接收状态标志位为“1”时,开始接收存储汉字个数的数据,并且把接收状态标志位置“2”,开始接收字模信息;接收一个汉字的串口中断函数的流程图如图4-5所示。开始中断处理开始中断处理接收中断请求标志位复位把SBUF中的数据存储起来接收数据状态标志位标志位为“0”标志位为“2”结束接收的数据判断等于0xff”不等于0xff”标志位置“1”进入接收汉字个数状态接收汉字个数状态把表示接收汉字个数的数据存储到接收模块进入接收字模数据状态标志位置“2”校验位判断数据是否正确正确不正确发送0x55表示发送结束标志位置“0”标志位为“1”进入接收数据状态重新接收该字节数据实际会接收不止一个汉字,这时需要再定义一个变量,当这个变量小于等于存储汉字个数的变量时,申请发送下一字节。4.3.2无线接收模块程序设计设计思路,本方案采用外部中断方式接受无线发送过来的数据,可以做到实时响应。当接收到数据以后,首先对数据进行判断,如果正确,就将其存储到外扩的RAM里面,然后通过无线回发指定的数据,告知数据接收正确可以往下进行。如果错误,则发回错误信息,告知重新发送。无线接收模块部分主要实现数据的接收、判断,并把显示数据送到点阵显示屏显示。这部分程序包括三个函数,分别是dianzhen.c、time.c和main.c。time.c的作用是对定时器T0的控制,包括初始化函数、定时器启动函数和定时器关闭函数。dianzhen.c的作用是对点阵显示屏的控制,包括点阵屏初始化函数、扫描第几行函数、写一个字函数、给一行送数函数、给一行送数但不进行锁存显示函数、经过列移动后最终显示的数函数、将一个列移动数据的前n位写入函数、给整屏函数、时间显示函数和将一个整形数据的第几位显示函数。main.c函数的作用是编写CC1100的配置文件、定时器T0处理函数、外部中断0响应函数、初始化函数。main.c实现了程序的初始化,流程图如图4-6所示。开始CC1100初始化开始CC1100初始化外部中断初始化定时器T0初始化和启动判断数据左移标志位数据左移标志位=1数据左移标志位=0点阵屏左移结束等待,一直到数据左移标志位为0清除RAM一开始的四个字5PCB板的设计与实现5.1Protel99SE介绍Protel99SE是Protel公司近年来致力于Windows平台开发的最新成果,能实现从电学概念设计到输出物理生产数据,以及这之间的所有分析、验证和设计数据管理。因而今天的Protel最新产品已不是单纯的PCB(印制电路板)设计工具,同时也是一个系统工具,它覆盖了以PCB为核心的整个物理设计。Protel设计系统是一套建立在IBM兼容PC环境下的EDA电路集成设计系统,由于其高度的集成性与扩展性,一经推出,立即为广大用户所接受,很快就成为世界PC平台上最流行的电子设计自动化软件[14]。完善后的Protel99SE软件主要模块有:原理图设计、原理图仿真、PCB设计、PLD设计、信号完整性分析等,形成了与传统UNIX上大型EDA软件相竞争的局面。Protel99SE是应用于Windows2000/xp等多种操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性功能,是一款32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源-地层和16个机加工层[15]。Protel99SE按照系统功能来划分,Protel99se主要包括一下三大部分:(1)电路原理设计部分(AdvancedSchematic99),绘制、修改和编辑电路原理图;更新和修改电路图零件库;查看和编辑有关电路图和零件库的各种报表。(2)印刷电路板设计系统(AdvancedPCB99),绘制、修改和编辑电路板;更新和修改零件封装;管理电路板组件。(3)自动布线系统(AdvancedRoute99),用于印刷电路板的自动布线,以实现PCB设计的自动化。5.2PCB设计主要步骤(1)准备原理电路图和网格。在设计电路图之前,首先将较大的电路进行模块化分隔,并确定各模块之间的接口关系。然后绘制各部分的电路图。(2)规划电路板。在绘制PCB前应有一个初步的规划,如采用板材的物理材料尺寸、各元件的封装形式及其安装位置,以及采用几层电路板等。(3)设置参数。设置参数包括设置元件的参数、板层参数和布线参数等。一般说来,有些参数用其默认值即可,这些参数在第一次设置好之后几乎无需修改。(4)加载网表文件及元件封装。网表文件是电路原理图设计系统与印制电路板设计系统的接口文件,是电路板自动布线的依据。只有正确加载网表文件后,才能完成电路板的自动布线。(5)布局元件。布局元件由EDA软件自动完成,规划电路板并加载网表文件后,可由程序自动加载元件并及nag元件布置在电路板边框内,布局经常是手动和自动相结合进行的,布局合理后才能进行下一步的布线工作。(6)自动布线和手动调整。布线基本是全自动布线,只要合理设置有关参数和布局,EDA软件布线的成功率几乎是100%。但是,目前还没有一些自动布线软件能完美到不需要手动调整的地步,自动布线后往往存在令人不满意之处,需要手动调整。(7)PCB验证PCB版图设计完成后,要进行验证和“后分析”,包括:DRC验证、热分析、噪声分析和干扰分析、电磁兼容分析等,将分析结果、参数反馈回到电路图,进行第二次仿真。这种仿真称为后仿真,目的就是检验PCB板在实际工作环境中的可行性。(8)保存及输出文件。完成电路布线后,保存完成的PCB文件。也可以利用图形输出设备输出电路图的布线图。PCB加工厂就是依据这个图进行PCB加工的,在工厂里经过腐蚀、钻孔和裁剪等一整套加工过程后就得到用于焊接的PCB板。概括的说,电路设计首先是编辑电路原理图,然后由电路原理图文件产生网表文件,最后依据网表文件设计出PCB布局线。PCB板制作好之后不可以马上使用,必须进行检测。一块整体的PCB焊接完成后进行的调试叫整版调试。调试一般按下列顺序进行:肉眼检查,万用表欧姆档测量,静态测量,动态测量。肉眼检查,在一块PCB焊接完成后,用我们的眼睛检查焊面所有焊点是否焊接良好,如虚焊、短路等,对有怀疑的虚焊点进行补焊,短路点予以断开;同时检查整个焊面上是否有散落的焊锡珠,并将它们清除掉(用镊子或刷子);检查元件面所有元件是否安装牢固,用镊子轻轻拨动有关元件及其引脚,如有虚焊在拨动中是会发现的。万用表欧姆档测量,一般使用欧姆档R×1或R×10档位,对重要连接线进行测量是否接通,每个单元电路的电源端和接地端是否分别与电源电路的电源输出端和地端接通;对两根临近导线测量是否有短路现象;直流电源输出端对地电阻(应该具有一定阻值的电阻)等。静态测量,静态测量就是首先给PCB通电测量电源输出电压是否正确。在电源输出电压正常的情况下,测量各个单元电路静态是否正确。模拟电路测量各级静态工作点是否正确,数字电路测量各部分逻辑电平是否正确。有目的的在有关点送简单信号或电平,测量相应的点的信号或电平是否正常。静态测量往往使用万用表或简单设备进行。动态测量,给整个PCB送输入信号或数据,测量终端输出信号或数据是否正确。动态测量往往借助有关仪器设备进行。动态测量认定PCB工作正常后,在实际中往往要进行疲劳试试验、耐高温试验等。5.3LED屏PCB设计与实现原理图绘制完成后就开始进行PCB图的设计。首先要进行电路板布局,电路板布局对后期的布线相当重要,好的布局决定了布线的成功,此外,电路板布局与许多因素有关,比如电磁干扰、是否利于走线和导热等。电路板布局一般要遵循最近相邻原则,即元器件一般都要放置在与其电器相连最近的元件附近。该PCB板使用双面板设计,在原理图设计时对元器件需要指定其PCB封装。在电路板的设计过程中,如果发现原先指定的某个元件的封装形式不符合要求,例如脚位不一致、或者大小不相同时,还可以直接在PCB编辑器中修改这个元件封装,直到符合要求。具体步骤如下:首先双击该元件,在弹的属性对话框中单击〖Properties〗标签,在〖Properties〗选项中取消〖LockPrims〗项的选中状态。单击OK按钮,这时的元件封装已经分解开了,我们可以对其中的图件分别进行编辑修改。移动并调整焊盘的位置,有时还可以更改元件封装的外形轮廓线,即更改成所需要的元件封装。调整好元件封装的焊盘相对位置和外观后,在边框内双击鼠标左键,重新设置〖Properties〗选项中的〖LockPrims〗整体锁定属性即可。Protel99SE在元器件封装库中提供了大量常见的封装图,但是有时某些元器件也会找不到合适的封装。这时,就需要自己绘制该封装图。Protel99SE虽然有自动布线功能,但是所布的线有时会比较乱,过孔较多,一些走线也不符合布线规范,这时就需要手动布线,并对不规范的线路进行修改。设计好的LED屏上面的器件有8×8LED、Tip127封装三极管、移位寄存器、4线-16线译码器、电阻电容等。设计的时候要注意各部分各自集中到一块,尽量减少相互交叉。对于电源线和地线等需要通过较大电流的线路进行加粗,信号线尽量短。LED屏PCB图如图5-2和图5-3所示。图5-2LED屏PCB顶层图5-3LED屏PCB底层红色为顶层(TopLayer)布线,蓝色为底层(BottomLayer)布线,灰色为物理层(MultiLayer)布线,黄色和绿色为丝印层。设计好的点阵显示屏实物为图5-4和图5-5所示。图5-4点阵显示屏实物正面图片图5-5点阵显示屏实物反面图片5.4PCB板设计注意事项印制电路板图设计的基本原则要求1.印制电路板的设计,从确定板的尺寸大小开始,印制电路板的尺寸因受机箱外壳大小限制,以能恰好安放入外壳内为宜,其次,应考虑印制电路板与外接元器件(主要是电位器、插口或另外印制电路板)的连接方式。印制电路板与外接组件一般是通过塑料导线或金属隔离线进行连接。对于安装在印制电路板上的较大的组件,要加金属附件固定,以提高耐振、耐冲击性能。2.布线图设计的基本方法首先需要对所选用组件器及各种插座的规格、尺寸、面积等有完全的了解;对各部件的位置安排作合理的、仔细的考虑,主要是从电磁场兼容性、抗干扰的角度,走线短,交叉少,电源,地的路径及去耦等方面考虑。各部件位置定出后,就是各部件的联机,按照电路图连接有关引脚,完成的方法有多种,印刷线路图的设计有计算机辅助设计与手工设计方法两种[16]。最原始的是手工排列布图。这比较费事,往往要反复几次,才能最后完成,这在没有其它绘图设备时也可以,这种手工排列布图方法对刚学习印制电路板图设计者来说也是很有帮助的。接着,确定印制电路板所需的尺寸,并按原理图,将各个元器件位置初步确定下来,然后经过不断调整使布局更加合理。6系统软硬件调试6.1STC-ISP程序下载器介绍STC-ISP是专门用于STC系列单片机下载,不能下载其他类型单片机。STC-ISP下载器使用说明:1.连接硬件电路:将USB转TTL下载小板与计算机串口相连,另一头的四根线分别与控制板的VCC、TXD、RXD和GND相连。VCC和GND的作用是给单片机供电,TXD和RXD的作用是传输数据。2.运行STC下载软件,出现如图6-1界面。图6-1STC软件下载界面第一步:选择单片机型号,与自己使用的单片机型号一致。本设计使用的单片机型号为STC89C51RD。第二步:打开要下载的HEX文件。第三步:选择串口和波特率,一般默认值就可以。如果与Keil联机调试,可以勾选“当前目标发生变化后自动调入文件”对话框。第四步:点击下载按钮。这时按下控制板的复位按钮,如果实验班没问题则会下载成功。如果有问题软件界面的下部会提示用户可能存在的问题,非常方便解决。6.2上位机发射界面调试上位机界面编写后,要与串口调试器进行联合调试。打开设计好的软件后,在上位机管理界面中设置好相关参数,选择好对应的串口并打开,这时设置波特率为9600,输入要发送的文本,例如输入“唐山学院毕业设计”,点击生成字模数据并通过串口发送出去,发送成功后如图6-2所示:图6-2上位机软件发送界面发送结束后,会跳出对话框,显示“接收数据完成”并显示总共发送了多少个字符。6.3下位机接收部分调试理论上,当上位机发送成功后,下位机复位,然后循环显示输入的显示信息。如图6-3所示,为显示屏实物的拍摄图片。图6-3点阵显示屏显示结果实际显示过程中遇到很多问题,下面归纳几点实际遇到的问题和解决方案:问题1:无线发射模块不能把输入的待显示信息发射出去。解决方案:本设计采用的CC1100无线收发模块的天线由铜线圈缠绕而成,不是很灵敏,在放射模块的天线上接一根细长的导线,解决了这一问题[17]。问题2:接收显示信息后第一次能正常显示,但是此后全部为乱码。解决方案:既然第一次可以正常显示,说明基本的电路不存在问题,可能是62256部分产生了错误,只记录了一次数据就没了,查看电路没有问题,果断更换了芯片,解决了这一问题。此外,如果接收错误不能正常显示,则可以等待20s然后重新发送。但是如果可以正常显示但汉字有乱码,则可以多发一次(不必等待20s),直到可以显示正确的汉字。一般环境下都可以正常使用。这些问题都是在实际的应用中总结的经验,什么事都一样,实践出真知。实际操作中遇到了很多问题,在此不一一例举,总而言之,硬件电路的调试是一件需要细心和耐心的工作,而且需要大胆的猜想问题在哪里和怎么解决。7结论本文叙述了基于射频无线通信的点阵显示屏设计与实现过程,整个项目在指导老师的帮助下独立完成,经历了前期调研、项目可行性分析、系统总体方案设计和上位机与下位机软硬件设计等阶段,最终实现了PC机通过无线传输控制点阵显示屏显示内容的功能,且运行基本正常。设计好的系统使用方法为:首先将电路连接好,然后打开上位机软件,设置好COM口,波特

温馨提示

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

评论

0/150

提交评论