已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要本设计旨在开发一个简单的led 12816点阵显示板,该显示板的开发包括硬件开发与软件开发两部分:硬件部分开发,在orcad环境中绘制显示板的原理图,在powerpcb环境中绘制显示板的pcb电路图;软件部分,在mplab ide环境中完成对pic单片机的程序开发。此次毕业设计的最终成果为完成工装的led点阵显示屏,pc机通过miniusb线与显示屏连接,用户可通过pc机向显示屏发送命令或数据,进而控制显示屏的显示。此毕业设计所开发出的产品具有一定的实用价值,若加以改进(如增加无线模块,光敏元件等),可实现更多功能。关键词:led;点阵显示屏abstractthis project includes hardware designing and software designing. orcad is used for the schematic designing, powerpcb is used for the pcb designing, and mplab ide is used for the programme. this project generates a led dot matrix display board, which is industrial packed. pc may connect with it via a miniusb line, and users may use the pc to send commands or data to the led dot matrix display board. this product is useful, and it may have more functions if it is modified, such as add a wireless module, a photoactive module and so on.key words:led; dot matrix display board目 录第一章绪论11.1 led显示屏的发展11.2此次毕业设计的研究内容及意义1第二章 基础理论背景32.1 pic单片机概述32.2 led驱动芯片ht1632c概述32.3开发环境简介52.3.1 orcad简介52.3.2 powerpcb简介52.3.3 mplab ide简介5第三章 硬件部分123.1整体方案框图123.2基于pic16f723单片机的驱动板123.3基于ht1632c的显示板133.3.1依据ht1632c所选用的88 led点阵模块133.3.2 局部原理图133.4整机工装153.4.1所需物品153.4.2工装设计163.4.3附件设计18第四章 软件部分194.1上位机软件lcd smartie194.1.1上位机软件来源194.1.2使用上位机软件还须安装的驱动程序194.1.3上位机软件配置方法194.1.4上位机软件使用方法224.2单片机程序234.2.1功能概述234.2.2命令字选用234.2.3主要程序模块流程图设计244.2.4主要函数设计27第五章 系统测试335.1测试条件335.2测试步骤335.3测试结果34结束语36致 谢37参考文献38附录一:驱动板原理图39附录二:显示板原理图41附录三:程序代码42南京邮电大学2010届本科生毕业设计(论文)第一章 绪论1.1 led显示屏的发展1led显示屏是20世纪90年代出现的新型平板显示器件,由于具有亮度高、画面清晰、色彩鲜艳等优点,它在公众多媒体显示领域一枝独秀,且市场空间巨大,led显示屏市场也随技术发展而不断攀升。led显示屏的发展可大致可以分为以下几个阶段:第一阶段为1990年到1995年,主要是单色和16级双色图文屏。用于显示文字和简单图片,主要应用在车站、金融证券、银行、邮局等公共场所,作为公共信息显示工具。第二阶段是1995年到1999年,出现了64级、256级灰度的双基色视频屏。视频控制、图像处理、光纤通信等技术的应用将led显示屏提升到了一个新的台阶。led显示屏控制所专用的大规模集成电路芯片也在此时由国内企业开发出来并得以广泛应用。第三阶段从1999年开始,红、纯绿、纯蓝led管大量涌入中国,同时国内企业进行了深入的技术研发工作,使用红、绿、蓝三原色led的全彩色显示屏被广泛应用,并大量进入体育场馆、会展中心、广场等公共场所,从而将国内的大屏幕带入全彩时代。随着led原材料市场的迅猛发展,表面贴装器件于2001年面世,主要用在室内全彩屏,并且以其亮度高、色彩鲜艳、温度低的特性,可随意调整的点间距,被不同价位需求者所接受,在短短两年多时间内,产品销售额已超过3亿元,表面贴装全彩色led显示屏应用市场进入新世纪。在led显示的众多应用领域中,交通信息的显示是其中的重要应用领域之一,各类信息显示设备成为机场、火车站、码头、公交车站、高速公路、城市道路、停车场等面向公众发布信息的主导手段,其中,led显示以其高亮度、高可靠性等特点受到青睐。31.2此次毕业设计的研究内容及意义首先,将此次毕业设计的最终作品命名为“20*2 led smartie”显示屏。“20*2 led smartie”显示屏是一个简易的可显示202个字符的led点阵显示屏,所显示的字符为57点阵常用ascii码字符。pc机通过miniusb线与显示屏连接并实现通信,通过向“20*2 led smartie”显示屏发送控制命令和数据,实现对显示板显示内容及显示亮度的控制。本次毕业设计使用sure electronics公司的de-dd210驱动板作为“20*2 led smartie”显示屏的驱动板,使用开源软件“lcd smartie”作为上位机软件。而本人则主要负责led点阵显示板的设计开发,pic单片机程序编写以及“20*2 led smartie”显示屏整机工装的设计和组装。最终产品通过miniusb线与pc机实现通信后,其命令、数据的控制流向如图1-1所示。图1-1 “20*2 led smartie”显示屏命令、数据流向示意图 上位机软件“lcd smartie”通过串口将命令、数据发送给“20*2 led smartie”显示屏驱动板的pic单片机,pic单片机根据所接收到的来自上位机的命令、数据,向显示屏的各个led驱动芯片ht1632c发送控制命令与数据。用户只需操作上位机软件即可简便地实现对“20*2 led smartie”显示屏的控制。鉴于led显示屏的迅猛发展势头,我认为利用所学知识去设计制造一块简易的led显示屏作为我的毕业设计有着不小的意义。首先,“20*2 led smartie”可显示常用ascii码字符,能用于显示英文信息,具有一定的实用价值。此外,此显示屏亦可作为学习工具使用,为今后感兴趣的同学开发功能更为复杂的led点阵显示屏提供一定帮助。“20*2 led smartie”显示屏虽然仅仅实现了更改显示内容与显示亮度这两项基本功能,但通过此次毕业设计,我们已得到开发此类显示屏的基本框架。将来可以此此框架为基础,不断完善或革新,开发功能更为复杂、用途更为广泛的led显示屏。第二章 基础理论背景2.1 pic单片机概述pic系列单片机是microchip所开发单片机的主打型号,其cpu采用risc结构,采用harvard双总线结构,具有运行速度快,工作电压低,功耗小,输入输出直接驱动能力较大等优点。在办公自动化设备、消费电子产品、电讯通信、智能仪器仪表、汽车电子、金融电子、工业控制不同领域都有广泛的应用,pic系列单片机在世界单片机市场份额排名中逐年提高,发展非常迅速。2此次毕业设计所使用的pic单片机型号为pic16f723,其管脚图如图2-1所示。3图2-1 pic16f723管脚图pic16f723单片机集成了许多模块,此次毕业设计主要使用uart模块和timer0模块。uart模块用于实现串行通信4;timer0模块作为看门狗定时器,可在串行通信发生故障时保证显示屏工作的稳定5。2.2 led驱动芯片ht1632c概述ht1632c芯片是由holtek公司生产的led驱动芯片。该驱动芯片是一款内存映射led显示驱动芯片,它可以选择328或2416驱动模式。通过使用软件指令pwm控制,该芯片支持16级的led亮度控制。6ht1632c芯片的管脚图如图2-2所示。6图2-2 ht1632c芯片管脚图ht1632c芯片的管脚定义如表2-1所述。6表2-1 ht1632c芯片管脚定义管脚名称输入/输出 (i/0)描述row0row23o行驱动管脚,这些管脚驱动ledrow24/com15row31/com18o驱动led输出或者com端输出。各个com管脚均是双向端口com0com7i/ocom输出端,各个com端均是双向端口synci/o如果设置为片上rc主模式或片外时钟主模式,syn管脚将输出同步信号;如果设置为从模式,syn管脚将接收同步信号输入。osci/o如果设置为片上rc主模式,系统时钟源来自片上rc晶振,并且系统时钟信号由osc管脚输出;如果设置为从模式或者片外时钟主模式,系统时钟源是经由osc管脚得到的外部时钟信号。datai/o串行数据输入输出,i写数据时钟信号端。在每个时钟的上升沿,数据写入ht1632c芯片i读数据时钟信号端。在每个时钟的上升沿,数据从ht1632c芯片读出。表2-1 ht1632c芯片管脚定义(续)i片选信号输入端。当输入高电平时,ht1632c芯片不被是能;当输入低电平时,ht1632c芯片被是能。led_vdd-为电路提供驱动高电平输入led_vss-为电路提供接地端vss-为逻辑电路提供地信号低电平输入vdd-为逻辑电路提供高电平输入2.3开发环境简介 此次毕业设计使用orcad作为电路原理图设计软件,使用powerpcb作为pcb开发软件,使用mplab ide v8.40作为pic单片机程序开发软件。2.3.1 orcad简介orcad 是一套在pc上极受欢迎的电子设计自动化软件,专门用来让电子工程师设计电路图及相关图表,设计印刷电路板所用的印刷图,及电路的仿真之用。orcad是一个混合名词,反映了软件的发源地:俄勒冈(oregon)+ 计算器辅助设计(cad)。orcad pspice 为美国orcad公司在1998年与microsim公司合并之后,将其众所皆知pspice整合到原先orcad系统(包含电路图输入的orcad capture、印刷电路板布局的orcad layout及可编程逻辑(programmable logic)电路合成的orcad exerpss)内的一套计算机辅助电路分析软件。7此次毕业设计使用orcad绘制显示板的电路原理图,并生成“.asc”格式的网络文件,为powerpcb提供可导入到网络文件。2.3.2 powerpcb简介powerpcb是一款pcb开发软件,可以方便地导入多种格式的网络文件,并进行pcb电路板的设计开发。用户使用powepcb软件,可以完成pcb元件布局、布线设计等一些列pcb电路板开发所需对工作,极大地提高了pcb电路板的开发效率8。此次毕业设计使用powepcb软件导入由orcad软件所生成的“.asc”格式网络文件,从而完成对各种元件的布局与布线工作。2.3.3 mplab ide简介mplab ide 是一种在 pc 机上运行的软件,用来为microchip 单片机开发应用程序。由于它提供了一种单一的集成环境来为嵌入式单片机开发程序代码,因此被称为集成开发环境或 ide。9运行mplab ide v8.40软件,软件窗口如图2-3所示。图2-3 mplab ide v8.40运行窗口单击“project”菜单,选取“project wizard”,新建一个项目,如图2-4所示。图2-4 新建一个项目在弹出窗口中点击“下一步(n)”,如图2-5所示。图2-5 project wizard弹出窗口点击“下一步(n)”后,选取pic芯片型号为“pic16f723”,并点击“下一步(n)”如图2-6所示。图2-6 选取pic芯片型号为pic16f723在新窗口中选取编译器为“hi-tech universal toolsuite”,并点击“下一步(n)”如图2-7所示。图2-7 选取编译器在新窗口中设定项目的存储路径,并点击“下一步(n)”,如图2-8所示。这里须注意,所设定的存储路径应当仅由英文字符组成,否则开发软件将无法识别。图2-8 设定项目存储路径在新窗口中,不添加任何文件,点击“下一步(n)”,如图2-9所示。图2-9 不要添加任何文件在新窗口中点击“完成”,完成新项目的建立,如图2-10所示。图2-10 完成新项目的建立当完成了新项目的建立后,即可在此项目中添加头文件(header files)和源文件(source files)了。“20*2 led smartie”程序的项目中包含的头文件、源文件如图2-11所示。图2-11 “20*2 led smartie”所需的头文件、源文件当把pic kit2连接到pc机上后,即可配置编程器为pickit2了。如图2-12所示。图2-12 配置编程器为pickit2完成编程后,即可点击“program”按钮向单片机烧写程序。如图2-13所示。图2-13 向单片机烧写程序第三章 硬件部分3.1整体方案框图“20*2 led smartie”显示屏须通过miniusb线与pc机连接,接收来自上位机软件所发送来的命令、数据进而显示不同的效果。“20*2 led smartie”显示屏的整体设计框图如图3-1所示。图3-1 整体设计框图3.2基于pic16f723单片机的驱动板此次毕业设计所使用的核心控制芯片为microchip公司生产的pic16f723芯片,而基于pic16f723单片机的驱动板由sure electronics公司提供,产品号为de-dd210。de-dd210驱动板是由sure electronics公司开发的基于pic16f723单片机的单片机驱动板。该驱动板已将pic16f723单片机的大部分引脚引出到两个28 pin的护边插座上。该驱动板支持基于pic单片机uart模块的串行通信10。de-dd210的外观如图3-2所示。图3-2 de-dd210驱动板外观示意图3.3基于ht1632c的显示板 此次毕业设计显示板部分所使用的驱动芯片为holtek公司生产的ht1632c芯片,每块显示板由1块ht1632c芯片驱动4块88 led点阵模块。该显示板在设计时须充分考虑到de-dd210驱动板的接口设置,以能够通过idc排线方便地与驱动板相连接。显示板是本人与sure electronics公司合作完成:由本人完成设计,由sure electronics公司帮助安排生产。本文将在附录二中给出显示板的原理图。3.3.1依据ht1632c所选用的88 led点阵模块ht1632c在328驱动模式下的应用电路原理图如图3-3所示6图3-3 ht1632c在328驱动模式下的应用电路原理图由图3-3可以发现,ht1632c芯片的行选择端(com端)应当接led的阴极,而此次毕业设计所要设计完成的产品须支持显示57点阵字库的常用ascii码字符。所以为了外部电路连接方便,须选用88行共阴列共阳、发光直径为3mm的led点阵模块。考虑到价格等方面的综合因素,选用了深圳晶美光电科技有限公司的jm-m1088-ahg型号的88双色3mm行共阴列共阳led点阵模块。3.3.2 局部原理图深圳晶美光电科技有限公司的jm-m1088ahg型88双色3mm行共阴列共阳led点阵模块的原理图如图3-4所示。11图3-4 jm-m1088ahg型点阵模块原理图由图3-4可以发现,jm-m1088ahg型双色点阵模块是通过选通对应的列选择端实现红、绿色显示的,在设计原理图时,可以预先设计为:ht1632c芯片的com端与jm-m1088ahg点阵模块的行选择端连接;row端顺次与jm-m1088ahg点阵模块的列选择端连接。其中,每个row引脚通过限流电阻,同时与jm-m1088ahg点阵模块每个col端的两种颜色选择端连接。由此制成pcb电路板后,再有选择地焊接电路,即可实现单色的led点阵显示板。88行共阴列共阳led点阵模块与ht1632c芯片的连接原理图如图3-5所示。图3-5 88 led点阵模块与ht1632c芯片的连接原理图(局部)3.4整机工装 每块基于ht1632c驱动芯片的显示板有4块88行共阴列共阳led模块,实现一个328 led点阵显示区域,而此次毕业设计的最终产品为“20*2 led smartie”显示屏,且使用的点阵字库为57字库,每个字符须占用的点阵区域为68,所以至少需要有12016规模的led点阵显示区域。因此,须将8块此种显示板级联使用,构成了12816点阵的显示区域。为方便使用,须将驱动板和显示板以工装形式制成整机。3.4.1所需物品所需的物品包括:1、1块de-dd210驱动板2、8块显示板3、12v、3a电源适配器4、miniusb线5、亚克力工装板6、附件(包括idc排线、辅助电源线、螺丝、螺柱等)3.4.2工装设计 完成工装的“20*2 led smartie”显示屏整体效果如图3-6所示。图3-6 “20*2 led smartie”显示屏工装效果为实现工装而定制的亚克力板尺寸如图3-7所示。图3-7 亚克力板尺寸图(单位:mm)3.4.3附件设计1、idc排线的选取考虑到显示板须级联使用,所以须选取长度合适的16 pin idc排线。太长,浪费排线,而且也不易于实现工装;太短,不能实现很好的级联效果。经过实际的试验,最终选择了长度为10cm的16 pin idc排线。2、辅助电源线的选取辅助电源线的最大作用是降低显示板级联使用时,降低由idc排线导致的过大的板间压降12。为了可以方便地实现安装,辅助电源线须选取合适的长度与型号,目前所使用的辅助电源线线规为22 awg,长度为100mm(3mm),两端均有8mm(2mm)的裸露镀锡部分,如图3-8所示。图3-8 辅助电源线示意图3、螺丝、螺柱的选取欲将产品以工装形式制成整机,就需要使用螺丝、螺柱将驱动板、显示板安装固定在所设计的两块亚克力板之间。考虑到实际安装的需要,所使用的螺柱高度如图3-9所示。图3-9 亚克力工装螺柱使用类型示意图第四章 软件部分4.1上位机软件lcd smartie用户通过在pc机上运行上位机软件,可以简便第控制“20*2 led smartie”显示屏的显示效果。此次毕业设计所使用的上位机软件是一款开源软件lcd smartie v上位机软件来源lcd smartie v5.4的下载地址为:/projects/lcdsmartie/files/lcdsmartie/v5.4/lcd_smartie_v5.4.zip/download4.1.2使用上位机软件还须安装的驱动程序基于pic16f723的驱动板通过cp2102芯片实现与外设的串行通信,为了让pc机可以正确识别,须安装cp2012驱动程序,该驱动程序的下载地址为:/down.asp?id=7095&add=/usb/cp210x.rar4.1.3上位机软件配置方法下载并正确安装cp2102驱动程序和lcd smartie v5.4软件后,须在运行上位机软件时对其进行必要的配置,配置步骤如下:1、用miniusb线将“20*2 led smartie”显示屏与pc机连接,并使用输出电压为12v、最大电流为3a电源适配器为“20*2 led smartie”显示屏供电。2、右键单击“我的电脑”,选择“设备管理器”,如图4-1所示。图4-1 选择“设备管理器”3、在“设备管理器”窗口中找到显示屏所对应的端口,如图4-2所示。图中表明,在本人的电脑上,“20*2 led smartie”显示屏被连接到了com5端口。图4-2 找到对应端口4、运行lcd smartie v5.4软件,点击“setup”按钮,如图4-3所示。图4-3 点击“setup”按钮5、在“lcd smartie 5.4 setup”窗口中的“display settings”栏中,配置“plugin”标签下的“startup parameters”为“com5, 9600”(该端口须与第3步中找到的对应端口一致),如图4-4所示。图4-4 端口配置6、在“lcd smartie 5.4 setup”窗口的“display settings”栏中,配置“screen”标签下的“lcd size”选项选择为“202”;调节“brightness”滑块,可配置“20*2 led smartie”显示屏的显示亮度。如图4-5所示。图4-5 配置显示亮度7、在“lcd smartie 5.4 setup”窗口的“screen settings”栏中,配置显示内容及显示效果。如图4-6所示。图4-6 显示内容配置8、在“lcd smartie 5.4 setup”窗口的“program settings”栏中,配置字符滚动延时。如图4-7所示。图4-7 字符滚动延时的配置9、完成上述8个步骤的配置后,点击“ok”按钮即可完成配置。显示板将按照所配置的亮度等级显示所配置的显示内容。4.1.4上位机软件使用方法当完成配置后,即可很方便地使用上位机软件“lcd smartie v5.4”了。点击软件运行窗口的左右箭头即可变更显示内容,如图4-8所示。图4-8 点击左右箭头4.2单片机程序上位机软件“lcd smartie v5.4”向“20*2 led smartie”显示屏发送命令和数据,而“20*2 led smartie”显示屏的主控芯片pic16f723将通过其uart模块接收这些命令和数据,并作出相应的处理,进而控制显示屏的现实效果。4.2.1功能概述“20*2 led smartie”的功能包括:1、接收串行数据输入2、识别串行数据类型3、对不同类型的串行数据做出对应的处理,即:若所收到的命令、数据在预先设计范围内,则做出对应的处理;否则,忽略此条命令或数据。4、发生接收故障(接收数据时,minusb线断开等原因导致的无法继续正常接收)时,忽略所接收到的数据4.2.2命令字选用“20*2 led smartie”显示屏所要实现的基本功能是:1、显示常用ascii码字符,每个字符占据57点阵2、可调节显示亮度所以,“20*2 led smartie”单片机程序所需支持的命令字应当是“lcd smartie v5.4”软件中更新显示内容、调节亮度的命令字。命令字列表及格式见表4-1。表4-1 “20*2 led smartie”程序的命令字功能格式备注更新显示第一行字符0xfe, 0x47, 0x01, 0x01, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, xx: 0x20 0x7e更新显示第二行字符0xfe, 0x47, 0x01, 0x02, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, xx: 0x20 0x7e调节显示亮度0xfe, 0x98, xx: 0x01 0xff4.2.3主要程序模块流程图设计整个程序都是由众多函数配合实现功能的,本文在此重点介绍“20*2 led smartie”程序的主要程序模块的大致流程图。一、串行数据接收 烧入单片机程序的核心是驱动pic16f723单片机uart模块正确接收数据的中断函数,每当有数据到达pic16f723单片机的uart模块,就会触发其串行通信中断,该中断函须对pic16f723的uart模块所接收到的串行数据进行判别和处理。若所接收到的数据是符合规范的预定义命令字,则确认接收该数据,并将相应的标记位置位;反之,则不作处理,并将相应的标记位清零13。其大致流程图如图4-9所示。temp接收数据已处于命令接收状态command_cnt的值0是接收的数据为0xfe否否command_flag = 1;command_cnt = 0;判断接收的数据= 0max = 18;max = 1;command_flag = 0; command_cnt = 0;0x470x50其它command_id = temp;command_cnt+;判断command_idmax = 18;max = 1;0x470x98stringcommand_cnt-1 = tempstring0 = temp;command_cnt+;command_cntmax?command_cnt = 0;command_flag = 0;ready = 1;ny是图4-9 串行数据接收函数大致流程图注:temp,中断函数中的局部变量,用以临时存储所接收的数据。command_flag,全局变量。命令状态标记,为1则处于命令接收状态下。command_id,全局变量。命令类型标号。command_cnt,中断函数中的局部变量。命令接收计数器。max,中断函数中的局部变量。控制命令接收最长长度。string,全局变量。实现命令内容的最终获取。ready,全局变量。整个命令接收完毕的标记。二、数据接收完毕后的命令处理 如果在完成串行数据接收,且所接收到的数据是符合规范的预定义命令字,则相应的标记位会在uart中断函数中被置位,当退出中断函数后,就需要一个命令处理函数根据各个标记位的状态进行正确的判别,并使得单片机做出相对应的响应14。命令处理函数的大致流程如图4-10所示。命令是否接收完毕判断命令类型否是根据命令类型进行相应处理命令在预设范围内命令不在预设范围内图4-10 命令处理函数大致流程图三、串行接收故障处理在串行接收数据过程中,难免会因为各种因素而导致不同的接收故障,其中,最为典型的故障便是由于miniusb线的松动导致的接收中止15。为此,须采取故障保护措施,以使得程序更为稳定。“20*2 led smartie”使用pic单片机的timer0模块作为“看门狗”,在每个定时器中断服务程序中对整个程序的相关标识符进行判别,若发现逻辑上的问题,则表明发生了串行数据接收故障,将故障标识符置位,使单片机及时抛弃所接收到的错误数据16。其大致流程图如图4-11所示。是否处于命令接收状态标记error = 0否是否标记error = 1标记error是否为1command_flag = 0;command_cnt = 0;command_id = 0;ready = 0;error = 0;是图4-11 串行接收故障处理大致流程图注:command_flag,全局变量。命令状态标记,为1则处于命令接收状态下。command_id,全局变量。命令类型标号。command_cnt,中断函数中的局部变量。命令接收计数器。ready,全局变量。整个命令接收完毕的标记。 error,全局变量,接收故障标记,为1则表示发生接收故障。4.2.4主要函数设计 整个程序都是由众多函数配合实现功能的,本文在此重点介绍“20*2 led smartie”程序的两个主要函数的代码,“20*2 led smartie”的全部代码见附录三。一、串行数据接收及故障处理中断函数如图4-9和图4-11中所描述的大致流程一致,uart模块接收串行数据和故障处理的中断函数如下:void interrupt uart_receive(void)unsigned char temp = 0;/命令暂存器if(rcif)/接收数据中断gie = 0;/关中断,处理接收中断rcif = 0;/接收中断标志清零if(ferr)spen=0;/frame error,clear ferr by clearing spenspen=1;/serial port enableelse temp=rcreg;/get the value from bufferif(oerr)cren=0;/overrun error,clear oerr by clearing crencren=1;/enable receptionif(command_flag)/已处于命令接收状态if(command_cnt)/识别命令类型完毕,接收命令内容switch(command_id)case display:/显示字符if(command_cntcommand_max)/命令接收达到长度上限command_cnt = 0;command_flag = 0;ready = 1;switch(command_id)case display:case brightness:break;default:command_flag = 0;command_cnt = 0;command_id = 0;ready = 0;break;else/开始识别命令类型switch(temp)case display:/显示字符command_id = display;command_cnt = 1;ready = 0;command_max = length + 2;break;case brightness:/调节亮度command_id = brightness;command_cnt = 1;ready = 0;command_max = 1;break;default:/非预定义命令字command_flag = 0;command_cnt = 0;ready = 0;break;elseif(temp=0xfe)command_flag = 1;/命令标记置为1,表示收到命令开始标记command_cnt = 0;/命令长度计数清零command_max = 0;/命令长度控制变量清零elsereturn;gie = 1;/开中断if(t0if)/timer0中断,用作看门狗,防止命令接收故障gie = 0;/关中断,处理timer0中断t0if=0;/timer0中断标志清零tmr0=0x01;/再次配置timer0的延迟时间if(command_flag)/命令接收状态标记为1,则可能发生了故障if(error)/error标记为1,发生命令接收故障command_flag = 0;command_cnt = 0;command_id = 0;ready = 0;error = 0;else/error标记为0,暂不能判定发生故障,先将error置为1error = 1;else/命令接收状态标记为0,则没有发生故障error = 0;gie = 1;/开中断 注:display:宏定义,对应的值为0x47 brightness:宏定义,对应的值为0x98line:全局变量,表示所需显示字符所在的行号ready:全局变量,命令接收完毕标识command_flag:全局变量,命令接收标识command_cnt:全局变量,命令接收计数器 command_id:全局变量,命令类型标识二、命令处理函数与图4-10中描述的一致,“20*2 led smartie”的命令处理函数如下:void process(void)switch(command_id)case display:/刷新led屏显示内容command_flag = 0;command_cnt = 0;command_id = 0;print(line, text);ready = 0;break;case brightness:/调节亮度command_flag = 0;command_cnt = 0;command_id = 0;setbrightness(brightness);ready = 0;break;default:/无效命令command_flag = 0;command_cnt = 0;command_id = 0;ready = 0;break;注:line,全局变量,表示所需显示字符所在的行号 ready,全局变量,命令接收完毕标识 command_flag,全局变量,命令接收标识 command_cnt,全局变量,命令接收计数器 command_id,全局变量,命令类型标识第五章 系统测试5.1测试条件驱动板:sure electronics公司的de-dd210开发板编程器:pic kit2编译环境:mplab ide v8.40编译器:hi-tech ansi c compiler pro 9.65直流电源:12v、3a直流电源5.2测试步骤1、使用12v、3a的电源适配器为“20*2 led smartie”显示屏供电,使用miniusb线将显示屏与pc机连接,如图5-1所示。图5-1 显示屏的连接示意图2、在mplab ide v8.40环境中将单片机程序“20*2 led smartie”烧录到de-dd210驱动板的pic单片机中。mplab ide v8.40软件运行窗口如图5-2所示。图5-2 mplab ide v8.40软件运行窗口3、在pc机上运行上位机软件“lcd smartie v5.4”,观察“lcd smartie v5.4”的程序窗口与“20*2 led smartie”显示屏的显示效果。 有关“lcd smartie v5.4”的配置方法见4.1.3节,使用方法见4.1.4节。5.3测试结果当完成5.2节中的步骤后,得到的测试效果如图5-35-5所示。图5-3 “20*2 led smartie”显示屏初上电显示效果图5-4 “20*2 led smartie”显示屏显示pc机名与ip地址图5-5 “20*2 led smartie”显示屏显示日期与时间上述测试表明,“20*2 led smartie”显示屏可以正常、稳定地显示,已基本实现预期设计要求。结束语“20*2 led smartie”显示屏使用ht1632c作为led点阵的驱动芯片,减小了pic16f723单片机驱动和刷新led屏的程序开销,使其能够有更多的资源用于接收和处理串行数据。本人在此次毕业设计中主要负责基于ht1632c的显示板的设计开发和pic单片机程序的编写。“20*2 led smartie”显示屏实现了所预期的功能。显示屏可以准确、快速地响应上位机软件的控制。由于时间和水平的关系,本显示屏在许多方面尚有不足。我认为在以后工作中可在以下几个方面进行改进:1、完善程序结构将程序修改得更为精简,尽可能加快整个系统的响应速度2、优化驱动方案主要是指对单片机和led驱动芯片的升级,如使用工作频率更高的单片机,再辅以更为快速、驱动力更为强大的led驱动芯片,则显示屏可以做得更为美观(如单块显示板上安装更多的led点阵模块),功能也更加强大(如亮度等级更多,显示颜色更多等)。3、元器件的型号优化 考虑到led显示屏最终更多地是悬挂于墙壁等位置,所以应当尽可能地减轻其重量。故主要元器件,尤其是led点阵模块,应当选用更为轻便的型号,这样能够使得整个显示屏更为轻便,有利于延长悬挂使用时的可靠性与寿命。- 70 -致 谢我的毕业设计能够顺利完成,得到了来自老师、同学以及曾实习公司等各方面的帮助。而其中,尤其要感谢张腾飞老师和我曾经实习的sure electronics公司。张腾飞老师在我完成毕业设计的过程中,给予了很多帮助。开题报告和论文,都是在他的耐心指点下一步步完善并最终定稿的;另外,张腾飞老师还给出了可能有用的参考文献范围,大大加快了我的毕业设计进程,使得我有更多的时间安心思考有关毕业设计的硬件、软件方面的问题。sure electronics公司,是我曾经实习过的一家私营企业。公司领导、同事在我的此次毕业设计中,给予了很大帮助。基于pic16f723的单片机驱动板是由他们提供;同时,点阵显示板也是在与他们合作的前提下,由我依据pic16f723单片机驱动板而设计、由他们以最快的速度安排制造并交付与我的。再次向张腾飞老师、sure electronics公司,以及所有曾经在我的毕业设计中帮助、支持过我的同学们表示诚挚的感谢!参考文献1 佚名. led的应用及发展状况. eb/ol. 2010-05-28. /gxlx/20090430/1695185_1.html2 佚名. 几种常用的单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年hse管理体系培训试题培训及答案
- 冷作工技能鉴定考核试题库及答案
- 2026年甘州区上秦镇中心卫生院心电监护技术操作试题及答案
- 2027届安徽省安庆市名校数学七年级第一学期期末经典模拟试题含解析
- OSI七层模型高频面试题及详细答案(实战版)
- 建筑起重机械司机安全操作规程
- 人防地下室给排水防爆阀门安装方案
- 管廊支架安装及管线入廊方案
- 心房颤动导管消融围术期管理中国专家共识(2025版)
- 2026年幼师技能培训测试卷及答案
- 船舶船员心理卫生指南
- 宫颈癌疫苗接种知识培训课件
- 检验室现场管理制度
- 无锡邑文微电子科技股份有限公司12寸半导体刻蚀薄膜沉积专用设备研发及产业化项目环评资料环境影响
- DB32/T 4031-2021建筑垃圾填筑路基设计与施工技术规范
- 国际民航组织空域分类教程课件
- 临床技术操作规范麻醉学分册
- 《热学(第二版)》杨体强编-李椿 第7章 固体学习资料
- 电力建设工程监理表格全集文档
- 预防职务犯罪专题讲座
- 雪铁龙DS6保养手册
评论
0/150
提交评论