多个16×16LED点阵动态显示系统设计 本科毕业论文_第1页
多个16×16LED点阵动态显示系统设计 本科毕业论文_第2页
多个16×16LED点阵动态显示系统设计 本科毕业论文_第3页
多个16×16LED点阵动态显示系统设计 本科毕业论文_第4页
多个16×16LED点阵动态显示系统设计 本科毕业论文_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

常州工学院毕业设计论文KC021-1CHANGZHOU INSTITUTE OF TECHNOLOGY毕 业 设 计 说 明 书题目: 多个1616LED点阵动态显示系统设计 二级学院(直属学部): 延陵学院 专 业: 自动化 班级: 07自Y 学生姓名: 陆荣生 学号: 07121216 指导教师姓名: 马金祥 职称: 讲师 评阅教师姓名: 职称: 2011年6月摘 要LED显示屏因其发光效率高、信息显示量大、使用寿命长、功耗小、重量轻、空间尺寸小、造价低、组装灵活、色彩艳丽特别是远距离视觉效果好而被广泛应用于公共场所。在一些信息发布,广告宣传比较多的地方如车站、码头、商店、银行、商业街、证券交易所、大型户外广场等随处都可以见到LED显示屏的应用。特别是在这个信息化程度极高的现代都市生活中,人们对信息的传达和需求与日俱增,点阵式LED显示屏也成为重要的传播工具。因此,点阵式LED显示屏的研发、设计、生产也获得迅速的发展与提升,并且成为了一个产业。点阵式LED显示屏的显示效果、功耗、环保、驱动等方面也不断得到优化。本设计通过使用单片机作为控制核心,设计一款小型的点阵式LED显示屏。同时,使用计算机VB编写的上位机通过串口通信对点阵显示屏的信息更新、显示速度控制等。设计分为硬件和软件两部分,软件又分为上位机软件和下位机软件两部分。使用者可以轻松的通过上位机软件的对话窗口对新的信息内容进行编写更新,通过硬件的LED显示屏对外进行发布。极大地简化了信息发布的工作流程。关键词: LED显示屏、单片机、VB软件、上位机 AbstractLED display because of its high luminous efficiency, information display large, long life, low power consumption, light weight, space small size, low cost, flexible assembly and bright colors especially long-distance visual effects has been widely used in public places.In a number of information dissemination, advertising more places like railway stations, wharves, shops, banks, commercial street, stock exchange, a large outdoor plaza LED display applications can be seen everywhere. Especially in the high level of information technology in modern urban life, people communicate information and the increasing demand for LED dot matrix display has become an important communication tool. Therefore, the dot matrix LED display R & D, design, production also been rapid development and promotion, and became an industry. LED dot matrix display screen, power consumption, environmental protection, driving, it is also been optimized.The design of the control by using the microcontroller as the core, design a small dot-matrix LED display. At the same time, the use of VB, PC computer through the serial port communication on the dot matrix display update, display speed control. Hardware and software design is divided into two parts, the software is also divided into upper software and lower software two parts. Users can easily through the upper software of the dialog window for the preparation of the information content of the new update and through the Hardware LED display in foreign release. Greatly simplifies the workflow of information dissemination.Key Words: LED Screen、MCU、VB Software、Upper computer目录摘 要II第一章 绪 论11.1点阵屏发展的简单介绍11.2课题的来源与主要内容11.3设计需实现的功能21.4本章小结2第二章 总体方案的选择与分析32.1点阵屏显示方式的选择32.2点阵数据的存储方式的选择42.3 单片机的选用52.3.1 51单片机的认识52.3.2 单片机的选型62.3.3 STC12C5A60S2系列单片机简介82.4 本章小结9第三章 硬件电路设计103.1单片机最小系统103.1.1 单片机电源电路113.1.2 单片机时钟电路的设计123.2 LED点阵屏显示及驱动电路133.2.1 LED点阵屏133.2.2 驱动点阵屏芯片143.3 串口通信电路设计183.3.1 CH341T芯片介绍183.3.2 USB转串口通信硬件电路设计203.4本章小结22第四章 软件程序设计234.1下位机程序234.1.1 单片机系统程序234.1.2 驱动芯片的控制程序244.1.3 点阵屏显示的移动算法254.1.4 串口通信程序设计274.1.5 控制函数程序设计304.2 VB上位机软件设计314.2.1 界面的设计314.2.2 字模转换程序324.2.3 串口传输程序334.2.4 控制按钮程序344.2.5 上位机软件使用说明364.3本章小结36第五章 设计仿真375.1 Proteus仿真软件的使用375.2 Proteus仿真过程375.3本章小结39第六章 总结406.1工作总结406.2个人收获40参考文献41致 谢43附录A44附录B51附录C58-V-第一章 绪 论1.1点阵屏发展的简单介绍LED点阵屏的发展可分为以下几个阶段:第一阶段为1990年到1995年,主要是单色和16级双色图文屏。用于显示文字和简单图片,主要用在车站、金融证券、银行、邮局等公共场所,作为公共信息显示工具。 第二阶段是1995年到1999年,出现了64级、256级灰度的双基色视频屏。视频控制技术、图像处理技术、光纤通信技术等的应用将LED点阵屏提升到了一个新的台阶。LED点阵屏控制专用大规模集成电路芯片也在此时由国内企业开发出来并得以应用。 第三阶段从1999年开始,红、绿、蓝LED管大量涌入中国,同时国内企业进行了深入的研发工作,使用红、绿、蓝三原色LED生产的全彩色显示屏被广泛应用,大量进入体育 场馆、会展中心、广场等公共场所,从而将国内的大屏幕带入全彩时代。今天我们在LED市场上能看到许多新奇的颜色,如浅绿色和粉红色。目前应用最多的是红色、绿色、黄色。而蓝色和纯绿色LED的开发也已经达到了实用阶段。随着人类在LED超亮度的领域的技术进步,LED在消费电子的运用也将越来越广泛。1.2课题的来源与主要内容LED点阵屏是重要的信息传递工具,在许多行业领域都得到很好的应用。如车票销售大厅里的显示屏、候车大厅班车信息显示、商业广告显示等。LED点阵屏的结构形式也是多种多样,最常见的是把所有的显示信息都固化在硬件中,当该屏幕出售后用户就比较难对屏幕信息再次进行更改。这种点阵屏的好处在于设计简单,当然价格也相对较低。也有的点阵屏内置字库,生产商无需预先写入信息,用户在购买后能通过上位机软件方便地向屏幕写入显示信息。这种屏幕可以有效提高点阵屏的利用率,让屏幕具有使用的通用性。本论文就是基于51单片机的基础上,配合VB编写的简单上位机软件来实现LED显示屏的控制原理及方法。1.3设计需实现的功能本设计完成4个1616点阵汉字的显示屏,处于静态显示状态时,最多能显示四个完整的汉字。动态滚动显示的能力则可以显示一组汉字,其显示能力可以根据单片机的RAM容量而定。一个字节是8bit,即表示8个点,一个1616汉字点阵共256个点,所以换算成字节就是32 bit(16168=32)。本设计使用的单片机RAM高达1280Byte,因此在理想情况下可以40个汉字为一组显示。点阵屏可通过VB编写的上位机更新信息,并且可以控制LED点阵屏的滚动显示速度以及LED屏幕开始/停止滚动效果。主要完成上位机和下位机之间的串行通信,上位机通信界面的应用和设计,下位机点阵屏动态显示电路的设计和制作。1.4本章小结本章主要介绍了led点阵屏的发展过程课题的来源、应用领域以及论文主要内容,介绍了本课题要完成的主要工作任务,和设计需要实现的功能及总体要求等。第二章 总体方案的选择与分析2.1点阵屏显示方式的选择驱动LED显示屏通常有两种方式:方案一:采用静态锁存方式,从理论上讲,不管图形还是文字只要将图形或文字对应的每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻接电源,就可得到想要的结果。这种方法可以直接驱动LED,原理简单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,以1616LED点阵为例,每个1616点阵共有256个发光二极管,显然单片机没有这么多的端口,所以静态驱动显示只适用于较小的点阵系统。方案二:采用动态扫描方式,简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共享一套驱动器上。如通过三极管驱动并联在一起的LED发光管的一端(共阴或共阳端),LED发光管的另一脚接通用I/O口,控制其亮灭。只要轮回速度足够快(每秒24次以上)时,由于人眼的视觉暂留现象,就能看到显示屏稳定的图形。该方法能驱动较多的LED,控制方式较灵活,而且大大节省单片机的资源。比较以上两种方案,系统在设计中采用方案二,即动态扫描方式。现以88点阵模块为例,说明一下数据扫描的过程。图2-1是88led点阵俯视图,图2-2是其内部结够连接图。 图2-1 88led点阵俯视图 图2-2内部结构图 根据led显示原理,当行1接高电平任意一列接低电平时,则所对应的那一列的最上面一行被点亮,点亮其它的点依此类推。要在点阵上显示字符首先就要将字符按每行拆解成多组显示信号 。对于一个88LED点阵 ,若要显示一个“公”字,则可以先用汉字取模软件或手工取模法将各行显示数据列出并依次编码,然后LED数组就可以按照数据编码的顺序,一行一行地显示。以显示“公”为例,若要显示第一行,则先将第一行显示数据(11110111)送给LED数组的列引脚,再将“10000000”扫描信号送至LED数组的行引脚,即可显示第一行,此时其它行并不显示。同样地,其它的行显示也是同样的原理。整个扫描下来就会如图2-3所示出现一个“公”字。图2-3 用动态扫描显示汉字字符“公”的过程每行的显示时间约为4毫秒,由于人类视觉瞬时现象,将感觉到8行LED是同时显示的。若显示时间太短,则亮度不够;若显示时间太长,则会感觉到闪烁。2.2点阵数据的存储方式的选择点阵屏在数据存储方式上通常有以下几种方法:方法一:采用ROM存储LED显示屏要显示的信息,采用ROM芯片可以长时间的存储信息,而且掉电数据不丢失,但只适合于存储数据不变的,限制了其通用性,而且ROM一般都用来存储运行的程序,不作为数据存储器。方法二:采用RAM存储显示屏的显示内容,常用的普通8051单片机其容量为几十字节至几千字节,静态数据存储器容量小,存储的数据掉电后会消失,不适合存储长时间不变的数据。方法三:采用串行E2PROM(如24C256等)存储LED显示屏要显示的信息。串行E2PROM技术是一种非易失性存储技术,它几乎具有所有类型内存的优点,但是此种方法,需要在单片机外部扩展大容量的E2PROM,不仅增加硬件成本,在编写程序代码时也需要把它考虑进去。 方法四:使用专用的点阵字库芯片,内含各种点阵规格的GB2312、ASCII等标准字库,不仅节省了控制器的I/O口,而且简化了上位机软件的代码的编写但与方法三相似,不仅增加了硬件成本而且复杂了硬件电路,而且一块点阵字库芯片也不便宜。综合考虑到本设计的实际要求和要达到的目的采用方法一和方法二相结合的办法,即在单片机的ROM里存放主程序,在RAM内存里存放要显示的数据内容。这样一来只要选用一片芯片不需要外接辅助的硬件即可以完成要求,为此选用合适的单片机很关键。2.3 单片机的选用设计中采用51系列单片机为核心控制器,51型单片机是指由美国Intel公司生产的一系列单片机的总称,这一系列单片机包括了很多种类,如8031、8051、8751、8951、8032、8052和8952等,其中8051是最早,最典型的产品。目前所采用的8051并不限于Inter公司所生产的芯片,各大芯片生产厂商所推出的兼容芯片也很多,如Amtel公司的89C51,STC公司的89S51等。2.3.1 51单片机的认识51单片机的CPU实现了冯诺依曼所设想的计算机中的运算器和控制器的功能,是单片机最核心的部件。CPU包含:算术逻辑单元(ALU)、定时控制器、专用寄存器组。单片机的内存特点之一就是将程序内存和数据存储器分开,并有各自的寻址方式和寻址单元,这种结构叫做哈佛结构。与通用微机的存储结构不同,一般微机只有一个地址空间,可以随意安排ROM和RAM,访问数据段和代码段时采用同样的指令,这种传统的是内存结构称之为普林顿斯结构。内存空间分布图如图2-4所示。60KB外部ROM4KB内部EA=14KB外部EA=0特殊功能寄存器内部RAM64KB外部RAMFFFFH1000H0FFFH0000HFFH80H7FH00H程序内存内部数据存储器外部数据存储器图2-4 8051内存的空间分布图存储器主要包括:程序内存ROM,单片机之所有强大的处理功能,就是需要软件程序的支持,而程序员将设计好程序经过编译后写入ROM,当单片机开始运行时,CPU就对ROM里面的指令进行调用,从而实现预期中的功能;片内RAM,虽然51单片机内设的RAM字节并不是很多,但却起着十分重要的作用。RAM又可以分为3个区域:工作寄存器区、位寻址区和便笺区(用户区)。51系列单片机拥有4个并行I/O端口,分别为P0、P1、P2和P3,每个端口都是双向功能,即能够从端口输入数据和输出数据。51单片机还有定时器/计数器结构,中断系统。这两个功能在本系统中极为重要,定时器/计数器通过程控辅助数码管的倒计时显示;中断系统的外部中断接收红外对管的信号,响应中断处理程序。51单片机还具有一个全双工的可编程串行口,可以实现8位数据的发送和接受。它有两个在物理结构上独立的发送接受寄存器,同时具备发送接收功能,但在本设计中不是主要说明对象,所以不作详细介绍。2.3.2 单片机的选型在实物的实际焊接制作过程中,考虑到焊接的方便制作电路简单和设计的要求所在,所以本设计采用STC12C系列的STC12C5A60S2单片机作为主控芯片,其内部结构如图2-5所示,外部引脚如图2-6所示。 图2-5 STC12C5A60S2系列内部结构框图图2-6 STC12C5A60S2外部引脚图此单片机内部集成了1280字节的RAM(内部RAM(256字节)和内部扩张RAM(1024字节)),针对本设计的实际需要由于是小型的点阵屏设计,一个1616点阵共256个点,换算成字节就是32 bit每个字按32bit计算1280字节的容量可以存储40个字的数据,足以完成本设计的要求。60K的Flash用于程序的存储,对于本毕业设计的程序代码来说绰绰有余。选用此单片机主要还是考虑到与上位机联机时接收到的数据比较大,需要的RAM空间大所致。而且STC单片机是深圳宏晶科技的IC产品价格也很便宜(7-8元)。STC单片机完全兼容传统51内核,因此使用的编译器和指令代码都和传统51单片机完全相同。2.3.3 STC12C5A60S2系列单片机简介STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速低功耗超强抗干扰的新一代8051单片机,指令代码不仅完全兼容传统8051,而且速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,抗强干扰强。1. 工作电压:STC12C5A60S2 系列工作电压:5.5V-3.5V(5V单片机)STC12LE5A60S2 系列工作电压:3.6V-2.2V(3V单片机)2. 工作频率范围:035MHz,相当于普通8051的0420 MHz3. 通用I/O口,每个I/O口驱动能力均可以达到20mA,但整个芯片最大不要超过120mA4. ISP(在系统可编程)/IAP(在应用可编程),无需专用编写器无需专用仿真器可通过串口(P3.0/ P3.1)直接下载用户程序,数秒即可完成一片5. 工作温度范围:-40+85(工业级)/0+75(商业级)6. 用户应用程序空间60K,片上集成1280字节RAM7. 加密性强,难解密8. 超强抗干扰能力综上所述,采用STC12C5A60S2系列单片机完全可以满足本设计的要求。2.4 本章小结本章主要介绍了总体设计方案的选择与分析,包括驱动LED显示屏方法的选择;点阵屏在数据存储方式上的选择,以及对完成本设计要求关键部件单片机合理选择的一个的说明与分析。第三章 硬件电路设计本设计的硬件电路包括单片机最小系统电路、LED点阵屏的驱动电路和USB串口通信电路。它们之间的联系图可以表示为如图3-1所示:单片机最小系统LED点阵屏PC机USB转 串口通讯驱动模块图3-1 总体硬件组成框图3.1单片机最小系统何谓单片机最小系统?就是以最少的外围电路搭成能让单片机正常工作运转起来,这样的电路就是单片机最小电路系统。一般情况下,单片机的最小系统由:电源、复位电路、晶振电路(时钟脉冲)以及程序存储器的选择四部分组成。单片机最小系统结构图如图3-2所示。图3-2 单片机最小系统3.1.1 单片机电源电路电源电路不单单是为单片机运行提供工作电压,还需要对单片机的外围电路提供工作电源。这里提供3种电源供电方案:1)USB接口供电具有USB接口的设备一般工作电压都为5V。计算机上的USB接口可以输出稳定的+5V电压,最大额定电流为500mA。这样的电压、电流给单片机供电是完全够用的,而外围电路需要的电流很大所以不可以用USB接口供电。如图3-3所示,在焊接的时候需要注意接电源的为四只引脚最旁边的两个,中间的两个引脚是USB的差分数据线。接的时候要分清正负不能出现短路,以免损坏了计算机。 图3-3 USB接口 图3-4 DC插口 2) 稳压直流供电这种供电方式用的是电子市场上常见的220V转5V的稳压直流电源,同时在焊接板子的时候焊接上一个与之相配对大小的如图3-4 所示的DC插口即可。采用这种接口可以不必担心短路烧坏计算机的问题,直接采用室内220V电压通过稳压直流供电器供电。这种供电方式提供的电流可以很大由于本设计的外围电路需要的电流很大,所以采用这种方法为外围电路供电是可行的。3) 7805稳压管电路电源电路的设计也可使用图3-5所示的7805稳压三极管IC,该IC只有三图3-5 7805稳压管电路图条引脚,分别是输入端、接地端和输出端。电源所需的外围组件少,电路内部还有过流、过热及调整管的保护电路。但需要注意以下几点:l 输入到7805的电压范围应在9V18V的直流电压。l 7805输入输出端需加上滤波电容,确保系统运行的稳定性。l 系统功率较大时,7805需加装散热片,以免稳压管温度过高时,稳压性能将变差,甚至损坏。7805稳压管电路虽然在散热、稳定性方面都比较突出,但是它的输入电源是9V18V的直流电压,很难找到合适的电源,所以不采用这种方式。综合考虑三种电源的优缺点后,设计中使用USB接口给单片机运行提供工作电压,采用稳压直流电源的方式给外围电路供电。3.1.2 单片机时钟电路的设计单片机的运行需要一个时钟频率,类似我们的计算机的CPU主频的高低,现在计算机的CPU一般用GHz来做单位。而我们所用的51单片机常用的时钟频率有6MHz,11.0592MHz,12MHz,这些时钟频率都是依靠外部晶振产生的。晶振连接到单片机的XTAL1、XTAL2引脚处。电路上的晶振旁有两个无极性电容,电容的容量一般取30pF左右。这两个电容称晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮发,它会影响到晶振的谐振频率和输出幅度。设计时考虑到串行通信的使用,为了减少误码率提高通信的质量,因此选用11.0592MHz晶振,其电路接法如图3-6所示。图3-6 时钟电路3.2 LED点阵屏显示及驱动电路本设计要求屏幕需要有1664的分辨率,而电子市场上没有卖1616的点阵,所以需要用88的点阵模块先组合成1616的,再把1616的组合成6416的点阵。总共需要使用16块88的点阵,每一块点阵屏有16根引脚,16个点阵模块共有256根引脚。可想而知这么多线只用手工焊接的复杂程度。为了便于实际操作我们选用市场能够见到的最大的万能版,型号:18cm30cm。并且独立焊接每一部分即显示电路和驱动电路分开来焊接,最后用杜邦线连接。3.2.1 LED点阵屏88的点阵屏有两种,一种是共阴的一种是共阳的如图3-7和3-8所示。从图中可以看出:共阴即每一列LED的阴极都连接在一起,共阳即每一列LED的阳极都连接在一起。本设计所使用的型号为LG12088BH的共阴型LED点阵屏,其内 图3-7共阴型(单色)管脚图 图3-8共阳型(单色)管脚图 部连接方式和图3-7一致,图3-9是它的实物图,实物管脚与图2-1管脚标注是一致的。从图3-7和图2-1的管脚排列中可以看出LED点阵屏的实物封装所对应的引脚和理论上的行列管脚排列是完全不同的,所以在焊接的时候要特别的小心。依据实物图的管脚序号对照上图3-7的共阴型(单色)管脚图序列号,先连接如图3-10所示的单个的1616LED点阵屏,再连接如图3-11所示的4个的1616LED点阵屏。 图3-9 LG12088BH点阵屏实物图 图3-10单个1616LED点阵屏 图3-11 4个1616LED点阵屏硬件连接图3.2.2 驱动点阵屏芯片单片机的I/O口总共加起来才32个,如果直接去控制外围电路16行64列电路根本无法做到,而驱动芯片则扩展了单片机的I/O口,同时为点阵屏提供工作电流。本设计选用一片74HC154作为点阵屏的行控制,使用8片74HC595作为点阵屏的列控制。下面对这两款74系列芯片作一下介绍:l 行驱动器由于本设计为1664点阵屏,有16行和64列,为了充分利用单片机的接口,行驱动选用74HC154接到点阵屏的16条行线上,其引脚图和内部连接图见图3-12。单片机P2口低4位输出的行号经4-16线译码器74HC154解码后生成16条低态行选通信号线,再经过驱动电路驱动对应的行线如图3-13所示,每条行线出来再接到图3-11右边所对应的行1至行16引脚上去。图3-12 74HC154引脚图及内部逻辑连接图74HC154这种单片4 线16 线译码器非常适合做高性能存储器的译码器。当两个选通输入E1 和E2 为低时, 它可以将4个二进制编码的输入译成16个互相独立的输出之一。实现解调功能的办法是:用4个输入线写出输出线的地址,使得在一个选通输入为低时,数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高,译码器74HC154也就失去了译码功能。74HC154引脚说明如表3-1所示表3-1 74HC154各引脚说明符号引脚描述Y0Y15111和1317输出低电平E1,E218,19使能输入(低电平)A0A323,22,21,20地址输入GND12接地VCC24电源电压74HC154译码器真值表如表3-2所示:表3-2 74HC154真值表图3-13 行驱动电路图一条行线要带动16列4即64个LED进行显示,按每个LED器件5mA电流计算,64个LED同时发光时,需要320mA的电流,选用三极管8550作为驱动管可满足要求。l 列驱动器从附录C的硬件电路图中可以看出,本设计中每个1616点阵的列驱动电路都由两个串联的8位移位锁存器74HC595构成。74HC595,是为Motorola的SPI总线开发的一款串并转换芯片。由于74HC595的输入输出电平兼容LSTTL,NMOS,CMOS电平,且具有较强的输出负载能力,而被广泛地运用于MCU(微控制器)、MPU(微处理器)的I/O口扩展。74HC595的管脚如图3-14。它具有一个8位的串入并出移位寄存器和一个8位三态输出锁存器。且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。图3-14 74HC595引脚图寄存器和锁存器分别有各自的时钟输入(SRCLK和RCLK) ,都是上升沿有效。当SRCLK从低到高电平跳变时,串行输入数据移入寄存器;当RCLK从低到高电平跳变时,寄存器的资料置入锁存器。主复位(Reset) 的低电平只对寄存器复位,而对8位锁存器无影响。当锁存器输出允许控制() 为高电平时,并行输出(Q0Q7) 为高阻态,而串行输出(SQH) 不受影响。74HC595 最多需要5 根控制线, 即SER、RCLK、SRCLK、Reset 和。其中第13引脚()连接到电源地,第10引脚(Reset)连接电源正极。把其余三根线和单片机的I/ O 相接。74HC595 引脚说明如表3-3所示:表3-3 74HC595各引脚说明符号引脚管脚功能描述Q0Q717,15锁存器输出,三态GND8接地SQH9串行输出,用于级联,无三态输出功能Reset10主复位(低电平有效)SRCLK11移位寄存器时钟输入RCLK12锁存时钟输入13锁存器输出(低电平有效)A(SER)14串行数据输入Vcc16接电源74HC595控制端的说明:Reset (10脚):低电平时将移位寄存器的数据清零,通常我将它接Vcc。SRCLK(11脚):上升沿时把14脚(SER)上的数据移入到内部寄存器,下降沿时移位寄存器内数据不变。RCLK(12脚):上升沿时把内部移位寄存器的数据锁存起来,下降沿时内部寄存器数据不变。(13脚):高电平时禁止输出(高阻态,本芯片的串行输出无效),低电平有效,将锁存器的输出映射到输出并行口(QA-QH)上,常直接将13引脚接到电源地。 实际使用过程要注意以下几点:1)74HC164和74HC595功能相仿,都是8位串行输入转并行输出移位寄存器。74HC164的驱动电流(25mA)比74HC595(35mA)的要小,14脚封装,体积也小一些。2)74HC595的主要优点是具有资料存储寄存器,在移位元的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。3)74HC595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,在正常使用时SRCLR为高电平,为低电平。从SER脚要输入一位数据,串行输入时钟SRCLR上升沿就要有效一次,直到八位数据输入完毕;当输出时钟上升沿有效一次,输入的数据就会被送到输出端。4)使用74HC595要分为下面三步:第一步:将要准备输入的位数据移入74HC595数据输入端上。第二步:将位数据逐位移入74HC595,即数据串入。第三步:并行输出数据,即数据并出。3.3 串口通信电路设计上位机与下位机通信有并行和串行两种通信方式,一般都采用串行通信技术,常用的有RS-232接口及RS-422和RS-485接口。且计算机上的串行通信端口(RS-232C)是标准配置端口,也已经得到广泛应用,计算机上一般都会有12个标准RS-232C串口,即通道COM1和COM2。然而电脑更新换代快,目前许多笔记本电脑都不带有9针串口,故本设计采用USB转串口通信方式,要求计算机与单片机之间实现互相通信,把我们想要显示的字符通过上位机传送到单片机里再由单片机控制显示出来。串口通信是单片机设计开发中最常用的通信接口。单片机内置UART串口通信控制器,因此可以通过串口方便的与计算机进行数据的交换。3.3.1 CH341T芯片介绍一提到串行通信,很多人会选用RS-232接口进行上位机与下位机之间的通信,这种接口在台式机上很常见。随着电脑技术的发展,和携带的方便性,大家用的最多还是笔记本电脑。而笔记本电脑都没有这样的串口,取而代之的则是USB接口。为此本设计的串行通信采用目前用的较多的USB转串口通信方式,它的核心是国产的CH341T芯片如图3-15所示。CH341T是一个 USB总线的转接芯片,通过USB总线提供异步串口、打印口、并口以及常用的2线和4线等同步串行接口。图3-15 CH341T引脚图CH341T芯片特点如下: 全速USB设备接口,兼容USB V2.0,外围元器件只需要晶体和电容。 可选:通过外部的低成本串行EEPROM 定义厂商ID、产品 ID、序列号等。 支持5V 电源电压和3.3V电源电压。 低成本,直接转换原串口外围设备、原并口打印机、原并口外围设备。 提供SOP-28、SSOP-20 两种无铅封装,兼容 RoHS。 由于是通过USB转换的接口,所以只能做到应用层兼容,而无法绝对相同。CH341T异步串口特点如下: 仿真标准串口,用于升级原串口外围设备,或者通过USB 增加额外串口。 计算机端Windows操作系统下的串口应用程序完全兼容,无需修改。 硬件全双工串口,内置收发缓冲区,支持通讯波特率 50bps2Mbps。 支持5、6、7或者8个数据位,支持奇(偶)校验、空白、标志以及无校验。 支持串口发送使能、串口接收就绪等传输速率控制信号和MODEM 联络信号。 通过外加电平转换器件,提供 RS232、RS485、RS422 等接口。 支持以标准的串口通讯方式间接地访问 CH341T 外挂的串行 EEPROM 存储器。CH341T芯片功能比较多,下面只介绍它作为USB转串口电路的用法。3.3.2 USB转串口通信硬件电路设计CH341T芯片的部分引脚具有多个功能,所以在芯片复位期间与复位完成后的正常工作状态下具有不同的特性。所有类型为三态输出的引脚,都内置了上拉电阻。CH341T芯片正常工作时需要外部向XI 引脚提供12MHz的时钟信号,外围电路只需要在 XI 和 XO引脚之间连接一个 12MHz的晶振,并且分别为XI 和XO引脚对地连接振荡电容即可。CH341T芯片支持 5V电源电压或者 3.3V电源电压。当使用 5V 工作电压时,CH341T芯片的 VCC引脚输入外部 5V 电源,并且 V3 引脚应该外接容量为 4700pF 或者 0.01uF 的电容。其硬件连接电路如图3-16所示,图3-17是USB串口转换器实物图。图3-16 USB转串口通信硬件电路图由于我们所用的多是笔记本电脑,缺少串口多的是USB口,因此选用USB串口转换器作为通信硬件比较实际,而且电子市场厂和网上都有的卖。 图3-17 USB串口转换器 图3-18 USB驱动光盘USB串口转换器有4个接口,一个USB口插到计算机上,另外3个接线柱分别是TXD、RXD和GND,用杜邦线将USB串口转换器上的TXD接到单片机上的RXD端,USB串口转换器上的RXD接到单片机上的TXD端,GND直接接地即可。如图3-19所示,PC机的串口其实是由USB口模拟的,经CH341T转换后得到的串口信号是TTL电平,所以单片机的TXD、RXD无需经过RS232电平转换直接可以接到单片机上去。图3-19 PC机与单片机串口通信USB串口转换器接口在第一次使用时会提你安装相关的驱动,这个在购买USB串口转换器时老板会附送一张驱动光盘如图3-18所示,或者根据自己买的USB串口转换器型号到网上下载相关的驱动并安装到电脑上。安装完驱动之后再次插入USB转换器,右击桌面我的电脑依次打开属性硬件设备管理器端口(COM和LPT)项,会出现图3-20所示的COM几的选项,右击这一选项打开属性,点击端口设置可以重新更改设置COM端口,以符合上位机要求的COM端口。图3-20 新增USB转串口编号3.4本章小结本章主要介绍了课题硬件电路设计的各模块部分,包括了最小单片机系统的建立,外围led电路的焊接组合,驱动电路的匹配,串口通信硬件电路的设计说明以及USB串口转换器的使用和COM端口选择的相关介绍。通过对相关芯片的介绍,了解和掌握了常用芯片的使用方法和电路设计思路。对如何组装led显示屏介绍的同时,也涉及了常用led显示屏行列驱动芯片的应用等。第四章 软件程序设计本设计的系统程序分为上位机软件程序和下位机程序两部分。上位机程序作用可以在软件里输入要显示的内容通过串口通信将显示内容下载到下位机中再由单片机控制显示内容;下位机程序其功能是向显示屏提供显示数据,并产生各种控制信号,使屏幕按设计要求来显示。4.1下位机程序下位机程序包括:单片机系统主程序、74系列芯片的控制程序点阵、点阵屏显示的算法、串口通信程序和控制函数程序设计。4.1.1 单片机系统程序本系统中下位机(单片机STC12C5A60S2)的主要功能就是实现LED显示屏上字符的移位、显示、数据的读取等功能。其主程序流程如下图4-1所示。系统初始化否是送显读取显示内容等待并接收串口数据是否开机判断是否处于通信状态?判断是否有中断标志?4-1主程序流程图系统开机之后首先进行初始化,然后判读是否要接收新的数据。如果没有,直接读取已经嵌入在程序中的显示内容并将其显示在LED显示屏幕上;如果有,主程序会等待新的显示内容的输入,并将新的数据内容存放在单片机的RAM存储区内,一旦接收完毕主程序会调用RAM存储器内的显示内容并将其显示在LED显示屏幕上。在显示内容的同时,主程序会不间断的判断中断标志以确保是否有新的显示内容要进行通信接收。4.1.2 驱动芯片的控制程序8位数据从SER 口送入74HC595 ,在每个SRCLK的上升沿,SER 口上的数据移入寄存器。在SRCLK经过第9个上升沿, 数据开始从SQH 移出。如果把第一个74HC595 的SQH 和第二个74HC595的SER脚相接,数据即移入第二个74HC595 中,按照如此规律,数据会一个接一个的传下去。当数据全部按照移位送完后,给RCLK 一个上升沿,寄存器中的数据即置入锁存器。此时如果 为低电平,8位数据从Q0Q7 输出,把Q0Q7 与LED点阵的列项连接,当某行为低电平时,该行的LED就会按照输出电平点亮。程序流程图如下:SRCLK置为低电平开始移位数据从SER输入SRCLK置为高电平8位数据是否全部移动完毕?结束NY图4-2 74HC595驱动芯片程序流程图程序设计如下:/*/发送以字节数据到74HC595函数/入口函数:content为发送的数据内容/*/void SendByte(uchar content) uchar byte,i; byte = content; for(i=0;i= 1;/移动一位 程序使用for循环8次,将1字节数据按照从低位到高位输出。开始将同步移位时钟置为低电平,向数据位输出1位数据,接着同步移位时钟置为高电平,对需要发送的位元组作右移位处理。经过8次移位过程,完成1字节的发送。4.1.3 点阵屏显示的移动算法本设计的LED点阵屏幕可以对信息实现动态显示,字符从右侧往左侧移动。/*/左移动函数/移动距离为一个点/*/void LeftDisplay(void) uchar i,j,k;uchar mov,smov;/mov为移动的次数,smov为剩余移动次数uchar scan;/扫面键盘的数值uchar count;/count表示有多少个汉字还没有显示出,这个设计的屏幕一开始就显示4个汉字注意:这里的英文、数字、符号都认为是汉字的格式。count = sizeof(display) / 32 - 4;/屏幕显示完整的4个汉字,计算剩余显示的字数移动演算法分析: 下面是四块点阵的数据移动示意图见图4-3所示:第一个char第三个char。第二个char。第十七个char。第十八个char。第三十二个char移动之前: 图4-3(A)1111000011110000。11110000。11110000。11110000。11110000。1111000011110000。11110000移动之后: 图4-3(B)11XXX1110

温馨提示

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

评论

0/150

提交评论