![[计算机硬件及网络]基于PC机控制的LED显示屏的设计-毕业论文.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-2/23/a1186240-0b21-4f9c-8ee5-c7d5ca64aadd/a1186240-0b21-4f9c-8ee5-c7d5ca64aadd1.gif)
![[计算机硬件及网络]基于PC机控制的LED显示屏的设计-毕业论文.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-2/23/a1186240-0b21-4f9c-8ee5-c7d5ca64aadd/a1186240-0b21-4f9c-8ee5-c7d5ca64aadd2.gif)
![[计算机硬件及网络]基于PC机控制的LED显示屏的设计-毕业论文.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-2/23/a1186240-0b21-4f9c-8ee5-c7d5ca64aadd/a1186240-0b21-4f9c-8ee5-c7d5ca64aadd3.gif)
![[计算机硬件及网络]基于PC机控制的LED显示屏的设计-毕业论文.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-2/23/a1186240-0b21-4f9c-8ee5-c7d5ca64aadd/a1186240-0b21-4f9c-8ee5-c7d5ca64aadd4.gif)
![[计算机硬件及网络]基于PC机控制的LED显示屏的设计-毕业论文.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-2/23/a1186240-0b21-4f9c-8ee5-c7d5ca64aadd/a1186240-0b21-4f9c-8ee5-c7d5ca64aadd5.gif)
已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VCSXC CS 毕业论文(设计)基于PC机控制的点阵显示屏设计学 生 姓 名: 李 航 指导教师: 张新颖 合作指导教师: 专业名称: 电子信息工程 所在学院: 信息工程学院 2012年6月目 录摘 要ABSTRACT第一章 绪 论11.1 课题背景11.2 研究现状及发展趋势1第二章 系统方案论证与选择32.1方案论证32.2 各模块方案选择与论证5第三章 系统硬件电路设计与实现- 4 -3.1 硬件电路设计- 4 -3.2 各单元电路说明- 4 -第四章 系统软件设计- 12 -4.1系统软件编译器介绍- 12 -4.2 软件的选择- 12 -4.3程序主系统及驱动系统- 13 -4.4串口通信设计- 14 -4.5上位机功能实现说明- 20 -第五章 系统调试及结果分析- 1 -5.1 系统调试- 1 -5.2 结果分析- 2 -第六章 总结- 1 -致 谢- 1 -参考文献- 1 -附录1 硬件电路图- 1 -附录2- 1 -摘 要本设计是一基于PC机控制的1616点阵LED汉字显示屏的设计。整机以AT89C51单片机为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。该系统通过RS232与上位机PC进行串行通信,采用计算机串口对其进行数据输入,能实现屏幕显示内容的实时采集;通过该芯片控制一个行驱动器 74HC154和十六个列驱动器74HC595来驱动显示屏显示。该电子显示屏可以显示各种文字,全屏能显示十六个汉字,采用4块88点阵LED显示模块来组成1616点阵显示模式。显示采用动态显示,使得文字能够实现静止、移入移出等多种显示方式。文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取,但此次设计我们采用从标准字库中提取。经实践证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。关键词:AT89S51单片机, LED点阵显示,动态显示,串行通信,汇编语言ABSTRACTThis design is a 16 16 lattice LED electron display monitor design basic on personal computer. The whole equipment is with the 40-pin AT89C521MCU (Micro Controller Unit) produced by the American ATMEL company at the core, introduced take it as the control system LED lattice electron display monitor dynamic design and the development process. The system through the RS232 and PC to PC serial communications, using its computer serial port for data input, to achieve real-time screen display the contents of the collection.Controls good driver 74HC154 and eight row driver 74HC595 through this chip actuates the display monitor demonstration. The electronic screen can show all kinds of written, sixteen full screen display Chinese characters, four pieces of 88 dot-matrix LED display modules to form the 1616 dot matrix display mode. Show dynamic show that makes static graphic or text can be achieved, shifted out of various formats. This paper describes the hardware design of the LED dot matrix display, and the principle function of the various parts of the circuit, the corresponding software program design and the use of some such. SCM process control system used for editing MCU assembly language, Programming control points indicated by the corresponding LED anode and overcast extreme level. We can effectively control the defense showed bright spots. The lattice data shows characters can prepare themselves (that is, direct lattice Painting), which can also be extracted from the standard font.but this time we adopt being extracted from the standard font. As the practice proves, the system possesses advantages in low shows errors, stable, rational structure and strong extensible abilities.Key words: AT89S51microcontroller,LED dot matrix display,Dynamic display, Serial port correspondence control system,Assembly languageVCSXC CS 第1章 绪 论1.1 课题背景在短短的十来年中,LED点阵显示屏就以亮度高、工作电压低、低功耗、小型化、寿命长、耐冲击和性能稳定的优点迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。LED显示屏应用在社会生活中都有,例如:(1)证券交易、金融信息显示。(2)机场航班动态信息显示。(3)港口、车站旅客引导信息显示。(4)体育场馆信息显示。(5)道路交通信息显示。(6)调度指挥中心信息显示。(7)邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。(8)广告媒体新产品等。1.2 研究现状及发展趋势1.2.1我国LED产业发展现状作为近年来最具有革命性意义的技术发明形成的产业,LED被称为继明火和白炽灯之后的第三次照明革命,有着广阔的发展前景。很多国家和地区相继出台各种政策扶持LED产业的发展,以期该产业能够成为国家重要产业的重要组成部分。目前,我国半导体LED作为节能、环保的主要技术,已被纳入国家中长期科技发展规划与“十一五”国家“863”高新技术产业化重大项目,并得到了大力支持。然而,我国目前LED产品开发应用领域依然存在许多不足。我国自主的LED芯片、外延片产量仍有限,产品以中、低档为主,与国外差距很大。产业化规模偏小,只能满足国内封装企业需求量的20%-30%,大部分高性能的LED和大功率LED产品均要依赖进口。此外,在LED的应用市场方面,也存在着由于产品种类、品种参差不齐问题而引起的制约,尤其是在通用照明领域,由于存在的技术不足,使其无法进行规模化普及应用。因此,推广对LED封装技术的发展力度,提升自身核心技术并实现规模量产是LED产业发展的最关键一步。1.2.2 LED显示屏的发展趋势现代信息社会中,作为人一机信息视觉传播媒体的显示产品和技术得到迅速发展,进入二十一世纪的显示技术将是平板显示的时代,LED显示屏作为平板显示的主导产品之一无疑会有更大的发展,并有可能成为二十一世纪平板显示的代表性主流产品。高亮度、全彩化蓝色及纯绿色LED产品自出现以来,成本逐年快速降低,已具备成熟的商业化条件。基础材料的产业化。使LED全彩色显示产品成本下降,应用加快。LED产品性能的提高,使全彩色显示屏的亮度、色彩、白平衡均达到比较理想的效果,完全可以满足户外全天候的环境条件要求,同时,由于全彩色显示屏价格性能比的优势,预计在未来几年的发展中,全彩色LED显示屏在户外广告媒体中会越来越多地代替传统的灯箱、霓红灯、磁翻板等产品,体育场馆的显示方面全彩色LED屏更会成为主流产品。全彩色LED显示屏的广泛应用会是LED显示屏产业发展的一个新的增长点。未来LED显示屏会向着标准化、规范化,产品结构多样化的方向发展。 1.2.3 本课题的主要特点和贡献 本课题主要以 - 6 -VC222222222SXC CS 第2章 系统方案论证与选择2.1方案论证从理论上说,不论显示图形还是文字,只要控制这些组成图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。1616的点阵共有256个发光二极管,显然单片机没有这么多端口,如果采用锁存器来扩展端口,按8位的锁存器来计算,1616的点阵需要256/8=32个锁存器。这个数字很大,因为仅仅是1616的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很大的数字。因此采用另一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。具体就1616的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭; 第十六行之后又重新点亮第一行,这样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示2。课题拟以AT89C51单片机为控制核心设计一个简单的数字时钟系统,用单片机、点阵显示屏等设计一个1616点阵LED电子显示屏的设计。系统可以分为电源模块、时钟信号电路、复位电路、驱动模块、单片机控制模块、显示模块等,其系统结构框图如下图2.1。 1616点阵 LED显示屏点阵显示器阳极驱动电路 单 片 机时钟电路复位电路 P C 图2.1系统结构框图2.2 各模块方案选择与论证2.2.1单片机控制模块采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,可多次擦写,而且与MCS-51系列单片机完全兼容。2.2.2 时钟信号电路直接采用普通晶体时钟源提供脉冲信号,此种方案能够减少芯片的使用,节约成本。2.2.3 复位电路方案一:采用按钮复位,通过按电路中的开关按钮使系统内部复位,按一次开关按钮系统复位一次,但是在点阵屏显示过程中不需要对系统进行复位,本方案与实际应用不相符合,所以不采取本方案。方案二:采用上电复位,电路第一次通电时对系统进行一次复位,而后系统执行。这个方案简单且符合实际设计,故采用本设计方案3。2.2.4 串口模块 方案一 采用RS485来进行长距离(1219M)的传输,RS-485总线通信模式由于具有结构简单、价格低廉、通信距离和数据传输速率(最大传输速率为10Mb/S)适当等特点而被广泛应用.但RS485总线存在自适应、自保护功能脆弱等缺点,如不注意一些细节的处理,常出现通信失败甚至系统瘫痪等故障而且总线本身存在许多的局限性,效率低,实时性差,通信的可靠性低,应用不灵活。方案二 采用MAX232来进行串行的传输, 用串行通讯的好处是简单,抗干扰性强.,因此不需要远距离传输,因此MAX232已经足够满足要求。并且可直接和PC机通信,不用外加协议转换电路。基于以上分析,我们选用方案二,选用芯片MAX232。 2.2.5 显示模块方案一:采用4块88点阵LED显示屏相连接构成一块1616点阵LED显示屏,但4块点阵屏连接起来面积较大,且需多根导线将其焊接,外观上较不美观。所以不采用本方案。方案二:采用1616点阵LED显示屏,1616点阵屏的功能与4块88点阵屏构成1616点阵屏功能相同,但是更为美观小巧美观,且单块1616点阵屏和4块88点阵屏价格相等。故本设计采用这种方案。2.2.6驱动模块方案一:采用静态锁存方式,将每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻接电源。这种方法可以直接驱动LED,原理简单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,只适合于较小的系统。方案二:采用动态扫描方式,通过三极管驱动并联在一起的LED发光管的一端(共阴或共阳),LED发光管的另一脚接通用I/O口,控制其亮灭。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。故采用本设计方案。列驱动电路由集成电路74HC595构成,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,达到重叠处理的目的4。行驱动电路主要是要实现译码功能,下面有2种方案供其选择:方案一:采用2块74LS138级联来实现4/16线译码功能,74LS138芯片本身具有3/8线译码功能,但是增加了芯片的使用数目,增加了连线及所占面积。所以不采用本方案。方案二:采用芯片74LS154,74LS154芯片本身具有4/16线译码功能,其功能与2块74LS138级联实现4/16译码一样,但是相比74LS138少用一片芯片。所以采用本方案。 第三章 系统硬件电路设计与实现3.1 硬件电路设计本电路是由AT89C51单片机为控制核心,低功耗;时钟源电路有很多种,比如阻容低速时钟源、普通晶体时钟源、带缓冲放大的晶体时钟源等等,考虑到电路稳定及材料选购等方面,决定采用普通晶体时钟源,其中晶体用12MHZ的石英晶振;复位电路结合实际应用功能的实现,采用上电复位;显示部分由1616点阵LED显示屏显示;行驱动电路采用74LS154,列驱动电路采用74LS595。3.2 各单元电路说明3.2.1单片机AT89C51AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4K bytes的可反复擦写的只读程序存储器和128的随机存取数据存储器,器件采用AEMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大,可灵活应用于各种控制领域5。图3.1为AT89C51外部封装。 图3-1 单片机AT89C51AT89C51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故6。 P3口也可作为AT89C51的一些特殊功能口,如下所示: P3.0RXD(串行输入口) P3.1TXD(串行输出口) P3.2/INT0(外部中断0) P3.3/INT1(外部中断1) P3.4T0(记时器0外部输入) P3.5T1(记时器1外部输入) P3.6/WR(外部数据存储器写选通) P3.7/RD(外部数据存储器读选通)AT89C51振荡器特性为:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度7。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,停止芯片其它功能直至硬件复位,直到下一个硬件复位为止。3.2.2单片机复位原理单片机刚上电时需要复位一次才能可靠工作,通过电容接VCC,是利用电容充电来提供2个周期的高电平时间让单片机复位,如此单片机可以正常工作。这之后又不要求单片机复位,所以通过8.2K左右的电阻下拉接地保证RESET脚维持在低电平状态(即不复位状态)8。如图3.2所示。 图3-2 单片机复位电路 3.2.2时钟电路单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,X1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,X2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出9。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。31引脚接电源端,如图3.3所示。 图3-3 单片机时钟电路3.2.3 1616点阵LED显示模块的设计一、LED点阵屏介绍组合型LED点阵显示器自八十年代开始出现,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED点阵有44、48、57、58、 88等多种。点阵显示屏有单色和双色两类,可显示红,黄,绿,橙等,本次设计选用单色点阵显示屏。2、 点阵LED显示屏的外观和引脚88点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。要实现显示图形或字体,只需考虑其显示方式,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。当采用按行扫描按列控制的驱动方式时,LED显示屏8行的同名列共用一套列驱动器。行驱动器一行的行线连接到电源的一端,列驱动器一列的列线连接到电源的另一端。应用时还应在各条行线或列线上接上限流电阻。扫描中控制电路将行线的1到 8轮流接通高电位,使连接到各该行的全部LED器件接通正电源,但具体那一个LED导通,还要看它的负电源是否接通,这就是列控制的任务了。当对应的某一列置0电平,则相应的二极管就亮;反之则不亮。例如:如果想使屏幕左上角LED点亮,左下角LED熄灭的话,在扫描到第一行时,第一列的电位就应该为低,而扫描到第八行时第一列的电位就应该为高。这样行线上只管一行一行的轮流导通,列线上进行通断控制,实现了行扫描列控制的驱动方式。以上就是1616点阵LED电子显示屏系统硬件部分的各功能模块分述,经过合理的设计论证后和就可以整体结合在一起,再根据设计配备好各元器件实物,通过组装后等在单片机的程序存储器里放入编制好的程序即可成为一个完整的应用系统。1616点阵LED显示屏由256个LED发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。它的外观形状如图3.4所示,内部结构如图3.5所示。且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮10。如第一列为高电平置1,第二列为低电平置0,第三列为高电平置1,P行为低电平置0,O行为高电平置1,则显示效果是P行上的第一个LED灯亮,第二个LED灯灭,第三个LED灯亮。第O行上的三个LED灯全灭,如图3.6所示。 图3-4 1616点阵LED显示屏实物照片 图3-5 1616点阵LED显示屏内部结构 图3-6 LED点阵亮灭示意图1616点阵LED显示屏的内部结构和外观引脚并不相对应,下面图3.7所示为点阵显示屏外观管,图3.8为个管教所对应的管教编号。 图3-7 1616点阵LED显示屏引脚分配表 图3-8 点阵显示屏各个管脚对应的管脚号3.2.4 驱动模块 该设计驱动模块为行驱动模块(1)74LS154介绍74LS154这种4线16线译码器非常适合用于高性能存储器的译码器。当两个选通输入G1 和G2 为低时, 它可将4 个二进制编码的输入译成16 个互相独立的输出之一。实现解调功能的办法是:用4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高。图3.11为编码器74LS154外形及内部逻辑结构。图3.12为其真值表12。 图3-9 74LS154 编码器外形及内部逻辑结构图3-10 74LS154 编码器真值表(2)8550三极管介绍三极管8550是一种常用的普通三极管,是一种低电压,大电流,小信号的PNP型硅三极管,其电流放大倍数为50-30013。图3.13为三极管分装。 1 发射极 2 基极 3 集电极图3-11 三极管8550(3)点阵行驱动模块单片机P1口低4位输出信号对16行点阵进行驱动,信号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。一条行线上要带动16列的LED进行显示,按每一个LED器件mA电流计算,16个LED同时发光时,需要16mA电流,选用三极管8550对电流进行放大从而满足需求。图3.14为行驱动模块。 图3.14 74LS154行驱动模块第四章 系统软件设计随着科技的发展,现代化的生产对智能化的要求越来越高,如何迅速获取现场数据以便及时对生产过程进行调控,是其关键所在。现在大量的智能仪器或数据采集模块都采用了RS232或485通讯接口,通过相应的通讯协议,将测试、采集的数据传输给上位机,以满足各种形式的数据处理的要。VisualBasic60(以下简VB)是许多工程技术人员熟悉和常用的应用程序开发软件,VB以其简单易学、32位面向对象的程序设计等特点,倍受广大计算机开发者的青睐,已广泛地应用于各个领域;如何用VB编写数据通讯程序,并进行数据处理,意义重大。 用VB开发串口通讯一般有两种方法:一是采用VB自身的标准控件MSComm来实现;另一种是利用windows的通讯API函数。在单片机系统中,硬件是系统的基础,软件则是在硬件的基础上对其合理的调配和使用,从而完成应用系统所要完成的任务。软件的设计是设计控制系统的应用程序。其任务是在总体设计和硬件设计的基础上,确定程序结构,分配内RAM资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整的应用程序。在进行系统总体设计时,曾经规划过软件结构,但由于硬件系统尚未仔细确定,软件结构框图十分粗糙,当硬件设计接口扩展及各功能模块与CPU连接关系确定后,就能够具体明确对软件设计的要求。本设计的LED显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。从有利于实现语言的直观,易于记忆和检查,可读性较好和使语言程序占用较少的单片机存储空间,实时处理系统可以快速的执行指令的角度考虑,本设计中显示屏程序采用汇编语言编写。4.1系统软件编译器介绍 使用C 语言肯定要使用到C 编译器,以便把写好的C 程序编译为机器码,这样单片机才能执行编写好的程序。 KEIL uVISION3 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持, PLM,汇编和C 语言的程序设计,它的界面和常用的微软VC+的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。4.2 软件的选择4.2.1单片机编程语言选择 方案一:采用汇编语言编程,由于汇编语言是比较低层的开发语言,它要求开发者非常熟悉单片机的硬件结构,存储器结构等等。加上汇编语言可读性差,一般人是很难看懂的。还有也是比较致命的一点,可移植性比较差,所以使用汇编语言编程将需要大量的时间用于软件的编写和调试。 方案二:采用C语言编程,它不要求开发者深入了解单片机和硬件接口的结构,编译器自动完成变量的存储单元的分配,可读性比较好,可移植性强,这是C语言最大的优势。而且现在很多编译器都能很好的支持C语言的编译和调试。基于以上分析,我们决定采用方案二。4.2.2上位机控制传输软件选择 方案一:采用网上下载的上位机控制传输软件,由于他人制作的上位机软件具有局限性,功能也达不到自己的要求,用起来也不方便。不能很好的体现系统的功能。 方案二:采用自己编写的上位机软件,不仅功能上可以满足系统控制需要,并且通信协议可以自己给定,能更好的完成信息的交换。 基于以上分析,我们决定采用方案二。4.3程序主系统及驱动系统4.3.1主系统系统主程序的总体结构如图4-1所示。系统的主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后LED显示屏进入开机状态,转入正常的显示。首先是向上滚动显示“单片机是工业中最基本的应用方式”15个汉字,每个字停留时间约1.6s;接着再向上滚动显示“我爱单片机”这5个汉字。由于单片机没有停机指令,所以可以设置系统程序不断地循环执行上述显示效果。系统程序结构属中断方式,绝大多数功能在中断服务子程序中完成。根据总体结构,可将程序划分为几个功能化模块:串行口中断服务程序、多字滚动显示子程序、单字显示子程序、扫描程序。各个模块可进行独立设计、调试和查错,最终再连接成一个整体。这样可方便程序调用,程序整体层次清晰,结构一目了然,方便阅读。4.3.2驱动系统图4-2为显示驱动程序(显示屏扫描函数)流程图。根据流程图可以编写出相应的显示程序。显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:刷新率(帧频)=T0溢出率 =其中f为晶振频率,t为定时器T0初值(工作在16位定时器模式)。T0初值=2其中N与工作方式有关,本设计定时/计数器工作于方式1,如图4-3所示,方式1构成一个16位定时计数器,即N=16。方式1最大计数值为216=65536 ,若fosc=12MHz,则定时时间范围为165536s。机周时间与主振频率有关,机器周期是时钟周期的12倍,因此,机周时间=12/ fosc。当fosc=12MHz时,1机周=1s。 图4-3 定时/计数器T0工作方式1逻辑电路结构图 然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。显示程序给出了各控制信号和显示数据,其作用及相互配合关系均已在硬件部分作过介绍,相应的程序部分在清单的注释区内分别进行了说明,在此不再一一详述。4.4串口通信设计4.4。1串口的定义串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS232口。同时,串口通信协议可以用于获取远程采集设备的数据。 4.4.2串口通信的原理串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:地线,发送,接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。 a波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 b数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。 c停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 d奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。4.4.3作用RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。 4.4.4奇偶校验位在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。 RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。 4.4.5上位机对单片机的通信协议主要任务是负责接收上位机控制命令和数据,同时也负责对单片机信息采集通过串口返回给上位机。本系统采用了MAX232电平转换电路实现了上位机的通信难题,MAX232具有短距离传输稳定行好的功能。MAX232是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。由于电脑串口RS232电平是-10V +10V,而一般的单片机应用系统的信号电压是TTL电平0 +5V,MAX232就是用来进行电平转换的,该器件包含2个驱动器、2个接收器和一个电压发生电路提供TIA/EIA-232-F电平。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。 MAX232是标准的串口通信接口,对于一般的双向通讯,只需要使用串行输入口RXD(第12脚)、串行输出TXD(第11脚)和地线(第10脚)。串行通讯的方式有异步通讯和同步通讯方式,这里简单介绍异步通信方式:异步通讯用一个起始位表示字符的开始,用停止位表示字符的结束。其每帧的格式如下: 在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(可以省略),最后是停止位1。用这种格式表示字符,则字符可以一个接一个地传送。一、上位机对单片机的通信协议上位机与主机的通信采用标准的RS232通信,我们设置波特率为9600b/s,一位停止位,一位起始位,无校验位等作为RS232协议。上位机通信数据帧格式,上位机在发送数据之间先发送命令字,如“设置时间”就会在时间前加上命令“ST”,在6位时间数据后面加上n,表示一帧数据信息发送结束, 命令和数据之间有空格,这在命令解析中很重要。单片机收到上位机发过来的数据,首先存储数据,直到收到n,将处理收到的数据,然后解析命令字,根据命令字调用相关处理函数。其他命令的处理基本类似,只是各命令都有自己独立的处理函数和不同的命令字。 图4-10 单片机接收命令流程图 图4-11 上位机接收信息流程图二、单片机对上位机的通信协议单片机对上位机的通信主要是要发送实时时间,日期,星期,温度等,以完成在上位机相应的显示。单片机对上位机通信协议,在发送数据之前会添加标示符,如时间数据的话用T做标示符,在数据后加上n,表示数据信息发送结束。上位机收到单片机发来的信息,首先存储数据,直到收到n, 将处理到的数据,然后判断标示符,根据标示符将数据显示到相应的对话框中。 图3-2 RS232串行通信系统硬件4.4.5 Mscomm通讯控件简介 Mscomm控件串口具有完善的串口数据的发送和接收功能。通过此控件,PC机可以利用串行口与其它设备实现轻松连接,简单高效地实现设备之间的通讯。此控件的事件响应有两种处理方式: 1)事件驱动方式:由MSCoMM控件的0nCoIm事件捕获并处理通讯错误及事件; 2)查询方式:通过检查CogMd:vent属性的值来判断事件和错误。一. MSComm控件的主要属性和方法: 1)CommPort:设置或返回串行端口号,其取值范围为199,缺省为1。 2)ettin8设置或返回串行端口的波特率、奇偶校验位、数据位数、停止位。如:Mscomm1.Setting=“9600, n, 8, 1”。 3)ortopen:打开或关闭串行端口。 4)RThreshold:该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生Mscomm1OnComm事件。 5)Input:从接收缓冲区移走一串字符。 6)0utput:向发送缓种区传送一字符串。二. CommEvent属性:如果在通讯过程中发生错误或事件,就会引发0nCoIm事件并由CoBndBvent 属性代码反映错误类型,可根据该属性值来执行不同的程序操作或数据处理。 1) ommEvent属性为通信事件或错误返回下列值之一: ComEventBreak:其值为1001,收到了断开信号。 ComEventCTSTO:其值为1002,Clear To Send Timeout。在发送字符时,在系统指定的事件内,CTS(Clear To Send)线是低电平。ComEventDSRTO:其值为1003,Data Set Ready Timeout。在发送字符时,在系统指定的事件内,DSR(Data Set Ready)线是低电平 ComEventFrame:其值为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆安全技术职业学院《中华射艺》2023-2024学年第二学期期末试卷
- 唐山职业技术学院《高级俄语》2023-2024学年第一学期期末试卷
- 辽宁机电职业技术学院《外国建筑史》2023-2024学年第二学期期末试卷
- 2025标准商铺租赁合同范本
- 烟台科技学院《体育社会组织建设与管理》2023-2024学年第一学期期末试卷
- 南京工业大学《轨道交通通信系统》2023-2024学年第二学期期末试卷
- 江西经济管理职业学院《波与成像》2023-2024学年第二学期期末试卷
- 2025塑料保护剂经销合同
- 吉利学院《Biochemistry》2023-2024学年第二学期期末试卷
- 2025至2031年中国大喷量实心锥喷嘴行业投资前景及策略咨询研究报告
- 2024届清华大学强基计划数学学科笔试试题(附答案)
- (必会)军队文职(数学1)近年考试真题题库(含答案解析)
- 全国统一规范电子税务局概况介绍及操作辅导
- 工商企业管理毕业论文范文(4篇)
- 浙江省杭州市(2024年-2025年小学三年级语文)人教版开学考试(上学期)试卷(含答案)
- 【贸易战背景下华为公司危机应对措施及其启示18000字(论文)】
- 【网络谣言型寻衅滋事罪的认定存在的争议探析8600字(论文)】
- 2024延迟退休政策详解
- 水泥标准培训考核2024
- 图书馆运营管理服务投标方案(技术方案)
- IC反应器的设计11
评论
0/150
提交评论