《基于单片机的LED点阵图文显示控制设计本科毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的LED点阵图文显示控制设计本科毕业论文.docx(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、装订线毕业设计(论文)报告纸毕 业 设 计课题名称基于单片机的LED点阵图文显示控制设计院/专 业 机械工程学院/ 机电一体化班 级 学 号学生姓名指导教师:2016年5月24日摘要LED的点阵图文显示目前被广泛应用于各个方面,尤其当LED点阵图文显示与功能强大且价格低廉的单片机,其化学效应异常剧烈,单片机不仅丰富了LED点阵图文显示的应用范围,也增强了其实用性。本次毕业设计就是针对STC89C52单片机作为驱动LED的图文显示控制的芯片,主要阐述了单片机的硬件结构,工作原理及方式,LED的工作方式及原理以及相关软件的运行。研究了单片机对LED点阵显示屏的控制技术。在以上理论为基础的前提下,我
2、设计了搭建基于单片机的LED图文点阵图文显示控制的电路,并用相关的元器件,在万用电路板上以焊接的形式,实现了单片机对LED点阵显示屏的图文控制,并最终达到预期设计要求。关键词:LED;单片机; 点阵控制 ABSTRACTLED lattice of graphic display has been widely applied in various aspects, especially when the LED dot-matrix graphic display and powerful and low cost of single chip microcomputer, the chem
3、ical effect unusually intense, single-chip microcomputer not only enriched the application range of the LED lattice graphic display, also enhanced its usefulness. This graduation design is aimed at the STC89C52 single-chip microcomputer as the drive LED graphic display control chip, mainly expounds
4、the hardware structure of single chip microcomputer, working principle and mode, working way and principle of the LED and the operation of relevant software.Studies the technique of single-chip microcomputer control of the LED dot matrix display screen. On the premise of theory on the basis of above
5、, I designed the building graphic dot-matrix LED graphic display based on MCU control circuit, and related components in universal circuit boards in the form of welding, implements the single-chip microcomputer control of LED dot matrix display screen shots, and ultimately achieve the design require
6、ments.Key Words: LED;Singlechip;Dot matrix controlII目录第一章绪论11.1 选题背景及研究意义11.2 单片机与LED图文显示的应用现状11.3 论文工作内容2第二章 设计原理与总体方案32.1 设计原理32.2 总体方案3第三章 相关理论技术与相关软件介绍53.1 什么是单片机53.2 单片机发展概况63.3 什么是POV63.4 LED相关技术73.5 TC89C52单片机介绍93.6 11.0592mhz晶振123.7 排阻133.8 USB接口143.9 锁存器74HC595143.10 KEIL软件163.11 Proteus软件1
7、63.12 字符代码生成器17第四章 系统硬件设计184.1 锁存器LED电路184.2 时钟脉冲电路184.3 复位电路19第五章 系统软件设计225.1 显示驱动程序225.2 系统主程序23第六章 软件仿真与硬件实现246.1 软件仿真246.2 程序下载256.3 硬件实现25第七章 总结26致谢27参考文献28附录29III第一章 绪论1.1 选题背景及研究意义近年来,随着单片机技术的迅猛发展,LED发光管的大量出现,使得电子广告屏的大屏化,高亮度化成为可能,与传统的霓虹灯广告相比,其优秀的色彩显示,独特的可修改性被发挥的淋漓尽致。目前,单片机趋于平民化,LED显示技术的不断创新提高
8、,使得具有高清晰高亮度的LED点阵广告牌与传统的霓虹灯广告牌成本日益接近。此外,SMT(表面贴装技术)技术的迅猛发展,开关电源的大规模使用,使其在与传统霓虹灯广告相比,无论在体积上,还是在可靠性上都展现出了无与伦比的优势,为其在某些特殊领域的应用奠定了基础。LED是继火,白炽灯,荧光灯后,人类照明文明的第四次革命,与前者相比,LED有着明显的优势,具体如下:LED的发光是由通过其的电流直接辐射电子发光,所以其效率保守估计是白炽灯的10倍之多,是荧光灯的2倍之后,同时,由于其独特的发光机制,使得其理论寿命更是高达10万小时。此外,LED防震动,高安全性,结实,环保的优势,被誉为21世纪的绿色照明
9、产品。目前,随着技术的不断进步,LED灯的发光效率的不断提高,成本的下降,使得其应用领域成倍数的增长。早期,LED还只能用在仪表指示,信号灯以及一些景观照明上,那时其作用还是很小的,但是现在,汽车照明,笔记本背光这些地方也都被LED所霸占,未来还将应用到大尺寸的液晶显示器上。 近年来,世界各国都在提倡环保,传统的白炽灯低效的照明必将被淘汰,也正是由于LED在环保上的优势,使得现在各国政府都支持LED相关产业,其生长土壤将是格外的肥沃。另外,目前,功能越来越强大的单片机,大存储,高速度,高兼容性,高稳定性等优点于一身,可以预见,LED配上功能越来越强大的单片机,其未来市场前景非常广阔。1.2 单
10、片机与LED图文显示的应用现状目前,国内经济处于快速发展时期,同时我国正面临着产业结构的整型与优化,同时我国的智能化建筑市场显现出巨大的潜力,而单片机在这两块都是核心,其未来市场可见一斑。现在,家庭信息网络,智能建筑,智能家居因为单片机的存在,使得他们的开发空间十分广阔。移动电子产品、家用电器正在像数字化和网络化发展,电视机,微波炉等都将会嵌入微处理器,然后与Internet连接。接入互联网,构成家庭信息网络,开启智慧时代。而这一切的一切都离不开单片机。比如:数字中断。我们现在智慧的生活,已经被单片机霸占了每一个角落,单片机其未来的市场将是无限大。有理由相信,未来的世界,因单片机而美好。最近这
11、几年,随着集成电路的迅猛发展,LED显示技术作为新兴的显示技术也得到了相应的快速提高。尤其在高灰度级别的显示屏,被广泛应用于很多场所,包括企业形象的宣传,公共场所的信息显示等。被国外称之为第五代的LED显示屏,伴随着计算机的发展,将更多的先进的技术融入进LED显示,第五代LED显示技术有了新的活力,展现出无限的未来市场。1.3 论文工作内容本篇毕业设计论文的主要工作是用文字的形式,介绍基于单片机的LED点阵图文显示控制设计理论部分,从硬件以及软件部分分别从整体和局部做了较为详细的介绍,使得读者能够较为轻松的理解这一毕设设计的工作原理,对读者理解本次设计有着很大的帮助。本文的结构划分比较简单,首
12、先主要阐述了本次毕业设计选题的背景和选题意义,简单阐述了本人选题的原因,然后简单的说说单片机的发展历程,让读者能够在整体上对单片机有一个比较简单的了解。接着,作者阐述了本次毕业设计的原理以及总体方案,让读者在整体上对本次设计有一个较为全面简单的了解,为下文的详细阐述做好铺垫。接着就是比较具体的来谈本次设计了。主要从硬件和软件两大块上进行的解释。硬件上包括单片机,LED和锁存器。结合本次毕业设计所设计到的一些硬件,解释了硬件的工作原理,在本次设计中所起的作用;软件部分主要包括一些仿真软件,包括程序仿真和电路仿真,程序编译软件,主要是讲解了一下软件的使用方法。第二章 设计原理与总体方案2.1 设计
13、原理发光而二极管具有单向导电性,通过其内部的电流直接辐射电子发光,电流智能从阳极流向阴极,(一般来说,拐角长为正,短为负),在设计中,我们使用锁存器将LED的阳极端处于高电平状态,用单片机去控制负极的电平状态,单片机输出低电平0,这样,在LED中就会有电流流过,电流辐射电子,LED便开始发光,当单片机输出一个高电平1时,LED两边的电压一样大,同为5V,LED两端无电压差,也就是没有电流流过,LED对外显示为不亮。而这次设计中,我们将4块8*8的LED灯组成16*16单色图文显示屏,将需要显示的文字和图形的显示编码的行列信号借助于单片机逐行扫描,来控制LED的点亮,同时我们保证扫描的速度大于2
14、4Hz,原理是借助于POV视觉暂留效应,便可以将图形或者文字按照我们的预期进行显现。2.2 总体方案整体电路图,如图2.1所示:图2.1 整体电路图使用的零件包括:单片机STC89C52与11.0592mhz晶振 ,四块LED显示屏,4个74HC595锁存器及排阻,LED指示灯,开关键,USB接口。在Keil上模拟整个程序,之后用Proteus对整个电路进行模拟仿真,完成确定电路及程序的正确性。在万用板上将零件按照之前模拟仿真的电路进行焊接,完成硬件的组装。将程序下载进单片机,对实物进行测试。16*16LED点阵的控制与显示模块框图,如图2.2所示:图2.2 16*16LED点阵的控制与显示模
15、块框图第三章 相关理论技术与相关软件介绍3.1 什么是单片机单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小然而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。可见,单片机有着微处理器所不具备的功能,它可单独地完成现代工业
16、控制所要求的智能化控制功能,这是单片机最大的特征。单片机与PC的最大区别在于,单片机属于芯片应用级别,用户需要掌握诸如单片机芯片结构、指令系统、集成电路相关的应用技术、系统设计相关理论技术此类的知识,唯有如此,用户设计出来的城西才能使单片机具有某一些预期的特定功能,完成用户所要完成的操作。目前,单片机的应用极为广泛,涉足领域包括智能仪器仪表、工业控制、计算机网络、通信等,甚至在医用设备等领域也有单片机的影子,正是因为其高性能、低价位的特点,不仅赢得了广阔的市场,还赢得了广大电子爱好者的喜爱。现在,单片机所带来的价值已经不能用经济效益来衡量了,其更大的价值在于,单片机改变了传统的控制方法和设计思
17、想,在某种程度上单片机代表了一次技术革命。单片机结构框图,如图3.1所示:图3.1 单片机结构图3.2 单片机发展概况上世纪70年代,单片机问世。受限于当时的微电子技术,并且集成电路发展也只是中期而已,新材料技术的不成熟,使得单片机的技术也只能在很简单的初期停留,那个时候的单片机功能简单简单到仅仅在芯片上集成了CPU和RAM,有的最多就是加上了I/O接口,此时的单片机还必须配上外围的其他处理电路才能构成完整的计算系统。1976年,真正的单片机问世,他就是Intel公司发明的MCS-48单片机,虽然只是简单的单片机,但是它却以小体积,较为丰富的功能,较低的价格,得到了人们的喜欢,被应用于众多的领
18、域,为单片机的发展奠定了坚实的基础。此后,各大公司都有研制自己的单片机,80年代初的时候,单片机的功能已经相对得到较大的提升,并且此时已经发展到几十个系列,三十多个品种,此时的单片机不仅包括了CPU、RAM、ROM、数目繁多的I/O接口,丰富的中断系统,连一些信号转换的A/D转换也集成到了单片机上,在某种程度上极大的丰富了单片机的功能。目前,单片机的应用已经渗透到我们世界的方方面面,几乎没有地方找不到单片机的影子,现在的单片机的技术也已经得到质的飞跃,从当初的8位到如今的32位,寻址能力强,预算速度快等优点使其进一步被应用到各种场合,可以预见,单片机还将必将对世界产生深远的影响。3.3 什么是
19、POVPOV即英文 Persistence of Vision一词的缩写,中文是”视觉暂留“的意思。每当人的眼睛在观察事物之后,物体的映像会在视网膜上保留一段很短的时间。在这短暂的时间里,当前的视觉形象还没有完全消退,新的视觉形象又继续产生时,就会在人的大脑里形成连贯的视觉错觉。进一步的研究发现,人的视觉暂留时间约为1/24 S,但是这个时间也会因观察者的个体差异和观察的物体的亮度及大小略有不同。现代电影就是依据这个事实,以每秒24格的速度进行拍摄和放映,让静止的画面变为连续变化的画面,POV效应使得人眼里产生的就是活动的错觉影像。3.4 LED相关技术3.4.1 LED点阵的显示原理图3.2
20、 点阵显示原理图本次设计中采用的是LED点阵的行线上加载选通信号,在列线上,我们定义为数据输入,当行线上出现了一个负脉冲选通信号的时候,列端四位数据中的发光二极管存在“1”的发光二极管点亮。本次设计中采用的扫描方式是逐行扫描的方式,数据连续不断的输入,行扫描按顺序进行逐行扫描,扫描的周期为4次,每完成一个周期扫描就会产生一帧画面。图3.3 8*8 LED点阵为单色行共阳模块图表3.1 对应电平1控制第五行显示接高9控制第一行显示接高2控制第七行显示接高10控制第四列显示接低3控制第二列显示接低11控制第六行显示接低4控制第三列显示接低12控制第四行显示接高5控制第八行显示接高13控制第一列显示
21、接低6控制第五列显示接低14控制第二行显示接高7控制第六行显示接高15控制第七列显示接低8控制第三行显示接高16控制第八行显示接低3.4.2 点阵屏原理由点阵的内部结构可知,8*8的点阵是由64个发光二极管组成,在行线与列线的交叉点上上放置一个发光二极管,如果要是某个发光二极管点亮,只需要使对应的行置为高电平1,使其对应的列置为低电平0即可;为了方便说明,我们举一个例子,如图3.4所示:图3.4 点阵屏原理现在我们需要将第一列最后一个发光二极管点亮,我们只需要将5脚置为高电平13脚置为低电平0;如果在我们将5脚置为高电平1的时候,将13、3、4、10、6、11、15、16这8个脚全部置为低电平
22、0的话,那么最后一行将全部被点亮;而如果在我们将13脚置为低电平0的时候,将9、14、8、12、1、7、2、5这8个全部置为1的话,那么第一列的二极管将全部被点亮。本次的毕业设计采用的是16*16的点阵宋体字库,16*16的意思是每显示的一个汉子都是在行、列各16个点的区域内显示的,而16*16的点阵是由4块8*8的点阵组成的。下面我们将来解释如何用16*16的点阵来显示字体。如图3.5:图3.5 “你”字位代码我们以“你”来举例:根据我们上文讲述的原理,如果要显示“你”,那么我们需要将其对应点亮的二极管的行脚置为高电平1,列脚置为低电平0。这边有一个问题就是,我们的点阵在列线上低电平有效,但
23、是在行线上面却是高电平有效,所以为了简单方便,我们代码信息需要做一个取反处理,即13到16的列脚置为1111011101111111,0xF7,0x7F,9行脚置为1,然后第一行全部置为0,接着再送第二行要显示的数据,以此类推,只要每一行显示的时间间隔足够短,利用POV原理的人眼视觉暂留原理,这样送16次数据,扫描完16行就会看到一个“你”字。3.5 TC89C52单片机介绍3.5.1 基本结构(1) 一个8位算术逻辑单元(2) 32个I/O口(4组8位端口),可单独寻址(3) 两个16位定时计数器(4) 全双工串行通信(5) 6个中断源,两个中断优先级(6) 128字节内置RAM(7) 独立
24、的64K字节可寻址数据和代码区单片机完成一个操作需要一个振荡周期,而每一个的STC89C52处理包括12个振荡周期。3.5.2 主要参数最高工作频率:25MHz50MHz。工作电压:3.8V5.5V。耗电情况:4mA7mA(正常工作模式);2mA(空闲模式);小于0.1A(掉电模式),外部中断可唤醒。工作温度:0 -75/ -40 -+85。STC89C52单片机引脚,如图3.6所示:图3.6 STC89C52单片机引脚图图3.7 STC89C52单片机外部电路图3.5.3 中断结构STC89C52支持中断源有:外部中断源2个,定时中断2个,计时器中断2个,串行口输入中断1个,串行口输出中断1
25、个。当中断发生的时候,处理器会自行跳转到刚才说的某一个中断入口处,读行,执行相应的中断程序。代码的最低地址处是中断向量,而中断向量作为中断源的识别标识,便顺理成当的成为中断程序的入口地址。STC89C52支持两个中断优先级,即高优先级和低优先级。高优先级的中断可以中断低优先级的中断,但是低优先级的中断不可以中断高优先级的中断。STC89C52中断向量如图3.5.3.1所示:表3.2 STC89C52中断向量中断源中断向量上电复位0000H外部中断00003H定时器0溢出000BH外部中断10013H定时器1溢出001BH串行口中断0023H定时器2溢出002BHSTC89C52的中断系统十分重
26、要,因为其允许你使用C语言来声明中断服务程序,中断过程的实现,主要依靠的是interrupt和中断号(031)来实现, 中断号告诉编译中的程序的入口地址,中断号对应着IE寄存器的使能位,即相应的IE寄存器中的0位对应着外部中断0,相应的外部中断号是0.下表反应了这种关系:表3.3 寄存器与外部中断的对应关系IE寄存器中的使能位和C中的中断号中断源0外部中断源01定时器0溢出2外部中断13定时器1溢出4串行口中断5定时器2溢出3.6 11.0592mhz晶振3.6.1 主要技术参数表3.4 11.0592mhz晶振参数表总频差45MHZ温度频差60MHZ输出阻抗60k调整频差30MHz基准温度5
27、0激励电平30Mw插入损耗60dB负载谐振电阻60标称频率11.0592MHz负载电容10pF输入阻抗30k阻带衰减20dB3.6.2 11.0592mhz晶振晶体,全称为晶体振荡器,单片机的功能实现是以晶振为基础的,所以每一个单片机系统里肯定都有晶振。单片机工作必须有时钟频率这个概念,而这个频率是由晶振与单片机的内部电路所共同产生的,晶振的时钟频率与单片机运行速度呈正相关,即,晶振的时钟频率越高,那么单片机的运行速度就越快。晶振是一种单频振荡,而且是一种稳定、精准的单频振荡,其工作方式是将电能和机械能相互转化。通常情况下,即使是普通的晶振频率,其绝对精度也可以达到50/10000000,高级
28、别的精度的晶振频率甚至能达到千万级。晶振一般采用下图所示的振荡电路,如图3.8所示:图3.8 晶振振荡电路图图中b是实际晶振交流等效电路,Cv: 用来微调振荡频率的电容,一般是用变容的二极管负载不同的反偏电压实现。图中c是把晶体的等效电路代替晶体,其中,CO、C1、L1、RR是晶体的等效电路。3.7 排阻排阻,即网络电阻器,简单说就是一排电阻。排阻是将若干个参数完全相同的电阻集中封装在一起,既然集中封装,那么他们就会有一个引脚是公用的,称之为公共引脚,即封装在一起的电阻共用一个公用引脚,还有自己的本身的一个引脚。如此,我们容易的得出一般规律,n个电阻组成的排阻,会有n+1个引脚,n是其本身一个
29、引脚,1是公用的引脚。一般说来,一个排阻的最左边的引脚是公用引脚,他在排阻上会用一个有色点标出,通常为黑色或者黄色。本次设计中使用的直插式排阻,如图3.9所示:图3.9 排阻图排阻的作用(1) 集成若干个电阻,在排阻内部,这些电阻的可以根据需要进行串联或者并联(2) 简化PCB板的设计,使得安装更加方便、简单,保证焊接质量,减小成套设备的体积。(3) 排阻具有方向性,因为是几个电阻集成装在一起的,所以看上去整齐,并且占空间也较少(4) 阻抗匹配,内容包括:(a) 阻抗匹配之后对本级信号几乎不会产生影响(b) 电阻和电抗在有向向量上的几何和是阻抗(c) 电源内部的阻抗与负载的阻抗是相互匹配的(d
30、) 传输线阻抗与负载阻抗是阻抗匹配的(e) 负载阻抗与信源内部的阻抗是匹配的(f) 满足高频电路的阻抗匹配(5) 辐角与模相等,在负载上,电压传输不会失真(6) 负载阻抗与电源内阻的共轭值相等,他们的模相等,辐角之和为0。最大功率存在于负载阻抗上,这就是所谓的共轭匹配。在本次毕业设计中,排阻的最大作用是增大驱动电流。3.8 USB接口USB接口是整个万用电路板的电源接入口,同时,也用于建立单片机与计算机的连接与程序下载。3.9 锁存器74HC59574HC595的数据端:QA=QH:八位并行输出端,可以接点阵的8列;QH:级联输出端。将其接下一个595的SIS端。SI:串行数据输入端。7459
31、5的控制端说明:SCLR(10脚):处于低电平0的时候,会将其移位寄存器的数据做清零操作,一般来说它接的是VCC,即电路的供电电压。SCK(11脚):上升沿时数据寄存器的数据位移。QA-QB-QC-QH;下降沿寄存器数据不变,(脉冲宽度:5V时,大于几十纳秒就可以,但是一般来说都是微秒级)RCK(12脚):上升沿时移位寄存器的数据会进入到数据存储器,下降沿的时候存储寄存器数据不变。一般来说,我们会将RCK置为低电平,当移位结束之后,在RCK端回产生一个正脉冲(5V时,大于几十纳秒就可以,和SCK一样,一般来说都是微秒级),更新显示数据。G(13脚):当处于高电平的时候,其处于高阻态,即禁止输出
32、。如果单片机的引脚数量充足,便可用一个引脚对其进行控制,控制闪烁、熄灭非常方便,相对于通过数据端的移位控制,省时省力。锁存器在这个设计中的作用是,让锁存器的锁寸端与LED的一端相连,且始终处于高电平状态,让LED随着单片机的输出口输出电平的变化而变化。本次设计中使用的锁存器就是74HC595型号。74HC595是一款漏极开路输出的CMOS移位寄存器,输出端口为可控的三态输出端,亦能串行输出控制下一级级联芯片。74HC595管脚,如图3.10所示:图3.10 74HC595管脚图管脚说明:表3.5 管脚说明管脚编号管脚名说明1、2、3、4、5、6、7、15QA-QH三态输出管脚8GND电源地9S
33、QH串行数据输出管脚10SCLR移位寄存器清零端11SCK数据输入时钟线12RCK输出存储器锁寸时钟线13OE输出使能14SI数据线15VCC电源线输出输入管脚电路图:图3.11 74HC595管脚图3.10 KEIL软件Keil软件由美国Keil Software公司出品,是一款C语言单片机软件开发系统。由于C语言相对于汇编语言,在功能性,结构性,可读性和可维护性上的优势,使得Keil成为单片机程序开发的主要开发环境。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部分组合在一起。目前的主流操作系统均
34、可运行Keil。而本次设计中使用的软件Keil Vision4版本,Keil Vision4作为目前单片机C语言的主要开发环境,因其支持了汇编语言和C语言,所以该软件可用于STC89C52单片机的开发。Keil Vision4不仅具有Keil所具有的一般功能,而且增加了灵活的窗口管理系统,使开发人员能够使用多台监视器。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。如何利用KEIL建立一个工程并创建新的文件:(1) 打开Keil窗口界面(2) 单击【Project】菜单中的【New Project】(3) 输入工程名并单机保存(4) 选择单片机
35、的型号(5) 单机【File】菜单中的【New 】,创建新的文件(6) 命名文件名,同时注意后缀设置为.C格式以C程序格式保存(7) 回到编辑界面,单机【Target】的+号。右击【Source Group】,选择【Add Files】(8) 选中刚才创建的程序,单机Add(9) 选择【Target】,勾选Create HEX File,单机Ok,因为单片机不能直接读取C文件,必须转化为HEX文件。3.11 Proteus软件Proteus软件是英国Lab Center Electronics公司开发的一款EDA工具软件,其不仅具备了普通的EDA软件的仿真功能,更是由于其可以仿真单片机,甚至能
36、够仿真单片机的外围电路,所以在单片机及其外围电路的仿真中被广泛的运用,而且其对单片机和单片机的外围电路的仿真效果很好。其处理器模型正好支持本次设计中的STC89C52单片机的模型,而且其能够与Keil软件很好的协同运行,所以,当仁不让的成为本次设计的仿真软件之一。其主要设置如图3.6所示:表3.6 Proteus软件设置F8全部显示 当前工作区全部显示F6放大以鼠标为中心放大F7缩小以鼠标为中心缩小G栅格开关栅格网格Ctrl+F1栅格宽度0.1mm 显示栅格为0.1mm,在pcb的时候很有用F2显示栅格为0.5mm,在pcb的时候很有用F3显示栅格为1mm,在pcb的时候很有用F4显示栅格为2
37、.5mm,在pcb的时候很有用Ctrl+s打开关闭磁吸 磁吸用于对准一些点的,如引脚等等x打开关闭定位坐标 显示一个大十字射线m显示单位切换 mm和th之间的单位切换,在右下角显示o重新设置原点 将鼠标指向的点设为原点u撤销键Pgdn改变图层Pgup改变图层Ctrl+Pgdn最底层Ctrl+pgup最顶层Ctrl+画线可以划曲线R刷新+ -旋转F5:重定位中心3.12 字符代码生成器图3.12 字符码生成器该生成器具有可以将要显示的图文或者文字转换为单片机电子电路能够识别的十六进制的数据代码,可以自动生成多种LED点阵单片机HEX机器码文件等功能,只需在文字预览框里输入要显示的字符,点击“旋转
38、点阵”并选择“C51”即可。第四章 系统硬件设计电路的设计主要是单片机为一个单位,锁存器和LED显示屏为一个单位,用元器件将两个电路进行有机的连接便可完成整体电路的设计。4.1 锁存器LED电路图4.1 锁存器电路图4.2 LED电路如图可知,将锁存器和排阻进行连接,每个锁存器都需要一个排阻,目的是增加驱动电流,之后再将LED显示屏和锁存器、排阻相连接。4.2 时钟脉冲电路单片机的心脏,由此可见,时钟电路对于单片机的重要性,时钟脉冲电路都单片机的工作节奏起着决定性作用。当一个单片机工作的时候,肯定由一个统一的时钟脉冲电路有序控制。单片机的时序就是CPU在执行我们给其编写的指令所需的控制信号的时
39、间顺序,简单说就是什么时间该干什么事。而为了单片机能够保证各部件之间的协调工作,所以单片机应该有且只有一个时钟信号。一般来说,时钟信号可以有两种方式产生,一种是内部式,即利用芯片内部本身的振荡电路产生;另外一种是外部式,顾名思义指那些由外部引入的时钟信号。由于STC89C52的最高时钟脉冲频率已经达到50MHz,所以STC89C52内部已经有了一个振荡电路,此内部振荡电路是由一个反相放大器构成。由下图可见,是XTAL1和XTAL2两个引脚作为放大器的输入输出端,与外部的晶振,电容构成了一个自激振荡器,即所谓的内部时钟式。当振荡器启动之后,XTAL2引脚会输出3V左右大小的正弦波,而其频率我们在
40、前文已经讲过,由晶振决定。在这个内部振荡电路中,两个陶瓷电容C1和C2所起的作用是帮助起振,即谐振。振荡频率在某种程度上也受其的影响,所以说,人们经常会用C1和C2的大小对整个频率进行微调,根据经验,我们在这里选用的是20pF的电容,C1和C2的电容容量一样大。图4.3 时钟脉冲电路4.3 复位电路单片机在上电之后,开始执行程序,但是单片机目前可能还处在上一个程序的运行中间状态,如果这样执行新的程序,肯定是会出错的,所以为了避免这样的错误,我们需要对单片机执行复位操作,可见,复位在很大程度上保证了单片机的正常运行。复位的目的是使得单片机的CPU、系统的部件恢复到初始状态,单片机之后的工作将从这
41、个初始状态开始,如果不恢复到初始状态,单片机之后的运行不知从何处开始,起始就不一样,导致的结果就是不能正常工作。还有一种情况就是,单片机在运行系统的中途出现异常情况,此时,也可以使用复位使得单片机恢复初始状态,解决异常的问题。由上可知,复位分为上电自动复位和人为复位。复位操作由外部复位电路实现,下面我们简单介绍一下。4.3.1 上电自动复位电路图4.4 上电自动复位电路所谓上电自动复位电路,即单片机上电之后自动实现复位操作。由图,在RST端和VCC之间接入一个电容,就构成了最简单的上电自动复位电路。刚上电的时候,电容C上没有电子,无储能,其两端的电压近乎为0,此时RST处于高电平状态,此时单片
42、机执行复位操作。随着时间的增加,电子往电容转移,电容开始充电,随着电容的充电,RST逐渐的从高电平变为低电平,当RST的引脚电压小于某一数值后,单片机脱离复位状态,进入到正常工作模式。注意,单片机的复位有一个要求就是,RST保持高电平的状态要持续一段时间,至少是两个周期。而如果上电复位不能正常运行,上电之后的CPU会从一个随机的状态开始工作,系统此时不能正常运行。所以复位操作是单片机正常运行的前提保障。4.3.2 人工复位电路图4.5 人工复位电路人工复位电路,即用按钮使单片机复位。按下复位键之后,电容C两边存在电势,由于电阻R2的存在,电容C可以放电,而放电之后 的RST的电平由R2和R1共
43、同决定。由图可知,R2=27,R1=8.2K,R2R1,所以,此时的RST处在高电平状态,单片机此时进入复位状态,松开复位键之后,RST的电平开始逐渐降低,经过一段时间后,RST处在低电平状态,单片机脱离恢复状态,开始正常的工作模式。第五章 系统软件设计5.1 显示驱动程序上电之后,驱动显示的程序会第一次进入中断,定时器T0立刻被重新赋予初值,如果不赋初值,显示屏的刷新频率会出现不稳定的情况,显示画面会抖动。查阅书籍可知,16行扫描格式的显示屏刷新率的计算公式如下:刷新率=116T0刷新率=116fosc12(65536-t0) (5.1)其中f为晶振频率;T为定时器T0初值(工作在116位定
44、时模式)当定时器T0的初值被重新赋值后。显示器驱动程序会开始查询当前点亮的是第几行,接着准备点亮下一行,即会从显示缓存区内开始读取下一行的显示数据,数据读完之后,将会通过串口将其发送给移位寄存器。在扫描的时候,因为会对显示数据执行切换行操作,可能会产生拖尾现象,所以为了避免拖尾现象,需要先执行“消隐”,即先关闭显示屏。关闭显示屏之后,如果显示的数据输入或输出锁存器并且在输出新的行号之后,显示屏就将被重新打开显示。显示驱动程序流程图:图5.1 显示驱动顺序图5.2 系统主程序上电,程序从系统主程序开始,系统环境开始被初始化,初始化操作包括对串口、定时器、中断、端口的初始化设置。当系统初始化完成后
45、,接着便按照设计要求开始显示文字。流程如下:图5.2 系统主程序顺序图第六章 软件仿真与硬件实现6.1 软件仿真6.1.1 电路仿真在本次毕业设计中,使用的核心单元是STC公司设计生产的单片机STC89C52型号,所以在对仿真软件的选择上,我们选择仿真软件Proteus7.5和Keil Vision4对整体设计进行软件仿真。在本次毕业设计的中,电路的仿真,我运行了Proteus中的ISIS模块对已经设计好的原理图进行了布图仿真,结果如下图所示。仿真时,点击Proteus软件左下角第一个开始按钮,整个电路图就会开始仿真运行;第二个按钮是步进,每按一次使得电路整体运行一下,可以清楚看出I/O端口的变化;第三个按钮是暂停;第四个按钮是复位。图6.1 Proteus7.5软件图6.1.2 程序仿真在程序仿真这里,我使用的是常用的KEIL的Vision4版本,我们将用VC编写的C程序复制到Keil的仿真开发环境里,运行调试,检测问题,确