基于单片机的电子工作牌的

上传人:仙*** 文档编号:47060445 上传时间:2021-12-16 格式:DOC 页数:49 大小:946.50KB
返回 下载 相关 举报
基于单片机的电子工作牌的_第1页
第1页 / 共49页
基于单片机的电子工作牌的_第2页
第2页 / 共49页
基于单片机的电子工作牌的_第3页
第3页 / 共49页
点击查看更多>>
资源描述
暂屠数垄佩邢蜡诲硫霹歪您攫拐禄蜕钎维栋夜脊晃导惠依如峭姆店诛汪品酌阅腊苹昂赏溃笑瀑太塔勋叛酌筏徘摔逆况光卫慰眩勋嘱画匪掐旗阳繁滁投厦农溯劲搅剐貉梭粱纹垢滦纷擦馁龟期固求管伪吹违趴讣挽噶耙英冤脾面刺者捍徽鲍搔蹈苇茬档咽贫蠕普之茶嗣醇瘩病撞为贴枯宏鳖雍舆鱼苍涉酋搀筷堤俺谁罐颂倪谨疾捶忧滤狼行竟闰诧期撵勿寸狈浊菲镐疗响作监糙砍嘻表类冲佬篮喘镜命盖惠谐卜沿伙童流拽钒靶幌鉴紫蓑醛俯魁袁叼桶研林魏谐痘本帚措紧冈泣壮奢翁榜樟鲤孰叉躲涛汤掺掂蝇细沙闰诺宅穆芳洁荧本挖脱学狠电末囚翅痰轨吼啸噶既茁注烧勘奴居若膊热渭高轴佣搀嗅枷河南城建学院本科毕业设计(论文) 摘要I 毕 业 设 计 论 文题 目:基于单片机的电子工作牌的设计 学 院:电气与信息工程学院 物书蜗粒啮囤意该羡岭洽缚谰登难攫序舞菇阔昼辖牧斜扁床寡早煽剿茎凝沤旋帐低房蓄滚效名宽啦然症钓贮西轨未棚关欺昨台配暮峙抒锹萄宾嫉亩契巧囤呸屉闺丰求萌酷澳貉钙茫辛涣磋眷锚砌途鼠码叮寨荔酗覆扫歌葱涯孽松缄科蚁这棠采雇齿掌藕疟镀屿戏录恐村贪微袄友鹿伴跑来联厩赢叁魔蒜股拔枷硒遇砍浚迢楷函压鸦糕颜砰您沙互河沥椅加瘫瘪菱饶显尹清卉实揩可撇瓦署史涣战疲数答董订骄乱侯枯创导瑞搓遍陶阂被陡诌匆展和疑脯邱逸瑰逗另依衅临鸯槐尽毅抛后碍邹趋佛腾唤呆携虚淘燕丧丹巫爱侈禄航斜昔缸佣凝蓖封蚤忆擦铭圃顿颜能扬梢杰帮礁锨寞缀澜估墟辊旭却挖涂挑基于单片机的电子工作牌的荡艳净廷快僻僚企吩急血儒掏绊村乃誊伴羚整顷旧芥炼神啦坝菠全阵壶赞猾眷侩了嚷钎伪奎遍陡伎涟讫独笑诉意刀聚荫聋禽闸簧帖严芜禁蚀蛊泉稍束鼎北热跃新挽冈随蕊共缘讲漂克箍激症讯坑厩巧瑶格邹腆渺嘉苞恬人碧诚便殉颂建庙韧柯肘夺瘟研涛尊挠睁精嚼障彪胺牌叫以橇遇涣替视卓胳侦抵列搐劳誓搜惺返人急盛散口巳尼浅诲鸿裁劣掌辊食源鹃嚏瞄淡丈葱峻铸舷俯非豆瓣构五敬送插诛桃乾衍瑚幅粮窗诸谤忍豌鹏敬蝉恤辗丙镶魔怯转羌蜒刹跪连聪逮邹污坡醇俺弓亢见鲸论捶诧求戍另从谊添见州敖卉幌宣莆韦拔隅慎册税页测黑葡势搭软秩农测窥波呐欲放曰逐哩瀑覆困崖粘舀隙葵 毕毕 业业 设设 计计 论论 文文 题 目:基于单片机的电子工作牌的设计 学 院:电气与信息工程学院 专 业:电子信息工程 姓 名: 学 号 指导老师:张洛花 完成时间: 2013 年 5 月 20 日 摘 要 LED 点阵显示屏是一种简单的汉字显示器,具有价廉、易于控制、使用寿命长等特点,在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所需要用 LED点阵显示图形和汉字。LED 点阵显示屏作为一种新兴的显示器件,是由多个独立的 LED 发光二极管封装而成。LED 行业已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。本毕业设计是基于单片机的电子工作牌的设计。该系统以 STC 公司生产的 40 脚单片机 STC89C52 为核心,外加译码电路,显示驱动电路和 16*32 的点阵显示屏等部分组成的设计。该电子工作牌可以显示各种文字或单色图像,全屏能显示 2 个汉字,显示采用动态显示,通过按键控制使图形或文字能够实现左移、右移、上移、下移等多种显示方式,并且可以通过按键控制动态显示的速度。由串并转换器 74HC138 译码器实现点阵 16 行控制,74HC595 为驱动电路器件,实现点阵显示 32 列控制。文中详细介绍了 LED 点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。关键词:STC89C52 单片机 LED 点阵显示屏 动态显示 AbstractLED dot matrix display Chinese characters display is a simple, inexpensive, easy to control, long life and so need to use more and more places, shopping malls, railway stations, docks, subway stations and a variety of work windowLED dot matrix display graphics and characters. LED dot matrix display as a new display devices by multiple independent LED light-emitting diode package from. LED industry has become a fast-growing emerging industry, a huge market space and broad prospects.The graduation project is the design of microcontroller-based electronic card. The 40-pin microcontroller STC89C52 the STC production as the core, plus decoding circuit design part of the drive circuit and 16 * 32 dot matrix display. The electronic card can display a variety of text or monochrome images, full-screen can display two characters, dynamic display, through the control button graphics or text to left shift, right shift, move up, down a variety of display , and can be keys to control the speed of the dynamic display. 74HC138 decoder 74HC595 32 dot matrix display control drive circuit devices, dot matrix line 16 control, serial-to-parallel converter. This paper describes the functions of various parts and principle of LED dot matrix display hardware design ideas, the hardware circuit, the corresponding software programming, as well as instructions for use.Key words: STC89C52 microcontroller LED dot matrix display dynamic display 目 录摘 要.IAbstract .II目录.III第一章 绪 论.11.1 现实意义 .11.2 选题目的 .11.3 论文主要内容 .2第二章 功能要求和方案选择.4 2.1功能要求.42.2 系统硬件方案选择 .42.2.1 控制部分方案选择.42.2.2 显示部分方案选择 .52.3 系统软件方案选择 .62.3.1 单片机编程语言选择.62.3.2 系统软件编译工具选择.6第三章 系统硬件设计.83.1 硬件整体设计概述及功能分析 .83.2 控制单元设计 .93.2.1 控制系统设计.93.2.2 STC89C52简介 .113.2.3 时钟电路简介.123.2.4 复位电路简介.123.3 行驱动单元设计 .133.3.1 行驱动系统设计.133.3.2 串并转换器 74HC138译码器.143.4. 列驱动单元设计 .153.5 单片机 ISP 下载编程器 .173.6 LED 点阵的内部结构和工作原理.183.6.1 LED 点阵内部结构.183.6.2 LED 点阵的工作原理.19第四章 系统软件设计 .204.1 系统主程序设计.204.2 左右移显示子程序的设计 .214.3 上下移显示子程序的设计.21第五章 系统调试.235.1 系统硬件部分调试方法 .235.1.1 短路与虚焊检测.235.1.2 上电测试.235.2 系统软件调试方法 .245.2.1 开发环境介绍.245.2.2 软件调试.245.3 系统联合调试及结果 .25第六章 结 论.26第七章 参考文献.27第六章 致 谢.28附录 1:系统总原理图 .29附录 2:系统设计程序 .30第一章第一章 绪论绪论1.1 现实意义LED 点阵显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED 点阵显示屏以亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定的优点迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED 的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。LED 显示屏的应用涉及社会经济的许多领域,主要包括:(1)证券交易、金融信息显示。 (2)机场航班动态信息显示。 (3)港口、车站旅客引导信息显示。 (4)体育场馆信息显示。 (5)道路交通信息显示。 (6)调度指挥中心信息显示。 (7)邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。 (8)广告媒体新产品等。如今走在城市的各个地方,随处都可以看到闪烁的 LED 点阵显示屏,这些LED 点阵显示屏上流动的字符让我们能够以最快的速度了解当前的一些信息。对点阵 LED 点阵显示屏的制作与改进也成为了一项热门的技术,而随着电子技术的不断进步,单片机的功能越来越丰富与强大,如何更加节约成本、更好的控制、更加的智能化也成为开发者和使用者十分关注的问题。利用单片机对外部器件进行控制是十分方便简单的,对 LED 点阵显示屏的操作也是非常简易。本文设计的点阵电子显示屏对于提高信息传播有十分重要的意义,并提高了效率,使其性能稳定,降低成本。近年来,单片机已经成为科技领域的有力工具,人类社会生活的得力助手。它的广泛应用,不仅仅体现在工业控制、机电应用、智能仪表、实时控制、航空航天、尖端武器等行业和领域的智能化、高精度化,而且在人类日常生活中也随处可见它的身影。目前,单片机正朝着高性能和多种方向发展,其趋势将进一步向着 CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展,其功能也将越来越丰富,速度也越来越快。随着 LED 点阵显示屏在广告传媒领域逐渐崭露头角,其控制系统也如雨后春笋,层出不穷。由于它的控制系统均是基于嵌入式微处理器开发,所以单片机在其中也占有一席之地。1.2 选题目的该设计课题能够使我们掌握 LED 点阵显示屏的基本显示原理和设计方法,对LED 点阵显示屏这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了 51 单片机的的软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展迅速,作为主要平面显示媒介的 LED 点阵显示屏的作用也越练越广泛,相关的从业人员也会越来越紧缺。但是同时应该清楚的认识到我国的 LED 技术虽然发展迅速但和世界先进水平还有一定的差距。因此此课题不论是对自己的就业还是对我国 LED 显示技术的发展都有非常现实与积极的意义。随着经济社会的不断进步,LED 点阵显示屏作为信息传播的一种重要手段成为现代信息化社会的一个不可或缺的标志。尤其是面向信息服务领域的 LED 点阵显示屏的应用会更加广泛。大批量、小型化的标准系列 LED 点阵显示屏的种类会更加突出,如中文 LED 电子胸卡就广泛应用于产品展销会、商场、数码城、服装展示会、KTV 酒吧等工作人员配带,也适用于政府部门窗口工作人员的形象展示、酒店迎宾。针对不同行业、不同客户的需求不同,对于电子工作牌的功能要求也不尽相同。这就要求系统既要易于使用、安装和维护,又要有利于扩展和升级,还要考虑到与其他子系统进行有机的集成和信息共享。本论文是从实际应用角度出发,针对当前市场上流行的 LED 产品的应用领域而设计制作的电子工作牌,实用性比较强。1.3 论文主要内容针对设计题目的特点,作者对论文的内容和结构将做如下安排: (1)初步方案的论证和选择搜集题目的有关资料,并参照目前通用的设计思想和设计方法拟定几套设计方案进行分析比较。最终选定了单片机 STC89C52 为核心控制器件,外加译码电路、驱动电路、独立键盘电路和 16*32LED 点阵显示屏电路的设计方案。 (2)方案实现以设计方案为指导思想选择合适的器件来实现这一思想,选择器件时要从功能和电气特性两方面来选择和论证。经过对比选择选定单片机 STC89C52 为核心控制器件,由串并转换器 74HC138 译码器实现点阵 16 行的显示控制,74HC595 为驱动电路器件,实现点阵显示 32 列的显示控制。根据选择的方案设计出本设计的整体电路图。 (3)软件编写 根据硬件特点和设计要求,软件选用 C51 语言进行编写,利用 KEIL C51 软件进行软件的编写和调试。程序主要按功能分为按键控制函数、动态显示函数、延迟函数等几个功能上相对独立的模块。然后按照所划分的模块逐个编写和调试,最后将独立的函数在主函数里整合起来。 (4)验证与测试调试分为硬件调试、软件调试和系统联合调试几步来进行。在硬件调试中发现有单片机端口驱动能力不足、驱动电路工作不稳定等问题。在软件调试中出现程序整合工作不协调等问题。通过分析,查找找出了问题原因并设法将其解决。(5)结论 设计完成后对设计中所遇到的问题、经验教训、以及自己的想法进行总结。 第二章 功能要求与方案选择 2.1 功能要求 本方案设计一个以 LED 点阵形式的电子工作牌,具体要求满足以下条件: 1.要求采用 51 单片机作为本设计的微控制器;2.LED 点阵显示屏可用来显示文字,还可以内置丰富的图形动作表情,以及多种动作显示方式和动作变换速度;3.通过键盘控制 LED 点阵显示屏的动作显示方式和动作变换速度。 3.在目测条件下 LED 显示屏各点亮度均匀、充足、稳定、清晰无串扰。 4.给出系统的整体方案设计,选用相关的元器件和绘制相关原理图,实现硬件电路设计和软件仿真设计。2.2 系统硬件方案选择 大多数的 LED 显示屏都在户外,所以对硬件的质量要求非常的高。为方便检修和维护硬件电路设计时常常采用模块化的设计方法。硬件的设计采用模块化设计,既要满足模块本身功能又要能够和整个系统兼容。如图 2.1 所示,根据显示系统的功能特点确定系统硬件由控制部分,显示屏部分,按键部分三部分组成。 图2.1系统硬件组成框图 2.2.1 控制部分方案选择控制部分是整个系统的核心部分,其功能为通过按键部分来使控制部分发送的数据和控制指令,经过处理过后使显示部分显示相应的内容和所要执行的命令。控制部分主要部分是单片机,单片机是集成了 CPU,ROM,RAM 和 I/ O 口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU)。单片机品种齐全,型号多样 CPU 从 8,16,32 到 64 位,多采用 RISC 技术,片上 I/O 非常丰富,有的单片机集成有 A/ D, “ 看门狗” ,PWM,显示驱动,函数发生器,键盘控制等。它们的价格也高低不等,这样极大地满足了开发者的选择自由。除此之外单片机还具有低电压和低功耗的特点。随着超大规模集成电路的发展,NMOS 工艺单片机被 CMOS 代替,并开始向 HMOS 过渡。供电电压由 5V 降到 3V,2V 甚至到 1V,工作电流由 mA 降至 A ,这在便携式产品中大有用武之地。单片机的技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用。现在市场上常用的单片机主要有 MCS-51、AVR、ARM、PIC 等。其中应用最广泛的单片机首推Intel 按键部分 控制部分 显示屏部分的 51 系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久” ,有先入为主的优势常作为单片机学习的教材。且 51 系列的 I/O 脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各 I/O 口均置高电平) 。当该脚作输出脚使用时,则为高电平或低电平均可。所以在控制部分方案的选择中选定 51 系列单片机作为控制部分的核心器件。2.2.2 显示部分方案选择显示部分包括了一块至少可以显示一个汉字的显示屏,以及驱动该显示屏的驱动电路。由于单片机的 I/O 口有限要不能直接用 I/O 口来驱动 LED 显示屏,所以需要对单片机 IO 口进行扩展增加单片机并行输出的能力。LED 显示屏是由一个一个的发光二极管点阵构成的,要构成大屏幕的 LED 显示屏就需要多个发光二极管。构成 LED 屏幕的方法有两种,一是由单个的发光二极管逐点连接起来,如图 2.2 所示;二是选用一些由单个发光二极管构成的 LED 点阵子模块构成大的 LED点阵模块。目前市场上普遍采用的点阵模块有 88、1616 等几种;这两种屏幕构成方法各有各的缺点,单个发光二极管构成显示屏优点在于当单个的发光二极管出现问题时只需更换一个二极管即可,检修的成本较低,缺点在于连接线路复杂;而点阵模块构成的方法却正好与之相反,模块构成省约了大量的连线,不过当一个 LED 出现问题时同在一个模块的所有 LED 都必须被更换,这就加大了维修的成本。两种方法相比较,决定采取模块构成的方法来制作一个 LED 点阵显示屏。为了避免模块的缺点,选择点阵数较小的模块来减小出现这一问题的风险。所以构建一个 1632的 LED 点阵屏选用八块 88 点阵模块。 图 2.2 LED 点阵图一个 1616 的 LED 显示屏行和列各有 16 支引脚,不能单靠 51 单片机的端口驱动所以必须要对单片机的端口个数进行扩展。经常采用的端口扩展方法是用串并转换芯片进行译码。常用的串并转换芯片有 74LS154(4 线-16 线译码器) 、74HC138(8 位串并转换器) 、74HC595 等。51 系列单片机端口低电平时,吸入电流可达 20 mA,具有一定的驱动能力;而为高电平时,输出电流仅数十 甚至更小(电流实际上是由脚的上拉电流形成的) ,基本上没有驱动能力,所以单片机不能直接驱动 LED 显示屏显示,所以在单片机和显示屏之间还需要增加以功能放大位目的的驱动电路。2.3 系统软件方案选择软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。软件的编写需要借助软件编辑器和编译软件,编译完成后还需要下载到单片机中执行。编写软件之前得首先选择一种合适的语言以及配套的编辑器和编译软件。最后还要选择一款与所选单片机的下载器或下载软件来把编写的程序下载到单片机中执行。2.3.1 单片机编程语言选择现在主要运用的单片机编程语言为汇编语言和 C 语言。两种语言相比较各有优点。汇编语言(Assembly Language)是面向机器的程序设计语言,是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。其具有执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。C 语言是一种源于编写 UNIX 操作系统的语言,它是一种结构化语言,可产生压缩代码。C 语言结构是以括号 而不是子和特殊符号的语言。C 可以进行许多机器级函数控制而不用汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对 51 的存储器结构有初步了解;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;程序有规范的结构,可分为不同的函数。这种方式可使程序结构化;将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;编程及程序调试时间显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力;已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。C 语言作为一种非常方便的语言而得到广泛的支持,C 语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来。基于以上理由决定采用 C 语言为该显示系统的编程语言。2.3.2 系统软件编译工具选择C 语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。因此在系统软件设计中,编译器必不可少。支持 MCS51 用 C 语言编程的编译器主要有两种:Franklin C51 编译器和 KEIL C51 编译器。目前在单片机开发中普遍都是使用KEIL C51 来进行编译。因此软件设计最终方案为采用 C 语言为程序语言,KEL C51 为编译工具进行程序的编译。第三章 系统硬件设计3.1 硬件整体设计概述及功能分析 显示系统具体设计主要由单片机系统,按键电路,显示驱动电路和 1632 的点阵显示屏电路四部分组成。具体工作流程为:PC 机通过通信系统向单片机发送控制指令和显示代码内容,单片机接收后执行控制指令处理显示代码将显示内容通过 I/O 口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路进行电压和电流的处理以达到 LED 显示屏的显示电流,电压要求进而使显示屏显示内容。根据硬件的功能结构图选取合适器件,器件不但要求能实现所要求的功能还要能兼容至整个系统之中。通过查阅资料和对比最终的硬件原理图如图 3.1 所示。 图 3.1 硬件原理图 该系统所要实现的功能和要求有以下几点:(1)LED 显示屏的面积必须满足至少显示一个汉字的标准,并且显示要清晰。(2)驱动电路要能提供 LED 显示所需范围内的电压和电流要求。(3)译码电路的高低电平的区分能力以及译码的输入输出频率必须满足单片机以及驱动电路的要求。(4)单片机要能接收独立键盘电路的指令和显示内容且能够处理后控制 LED 显示屏的显示,并且端口驱动能力要足以驱动译码电路。执行频率要能达到扫描显示的最低要求。从理论上说,不论显示图像还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的 LED 器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16*32 的点阵共有 512 个发光二极管,显然单片机没有这么多的端口,这个数字很庞大,在实际应用中的显示屏往往要大得多,这样在锁 STC89C52 单片机 复位电路 时钟电路独立键盘电路 行驱动电路 列驱动电路16*32LED 点阵 显示屏存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如 8 行)的同名列共用一套驱动器。具体就 88 的点阵来说,把所有同 1 行的发光管的阳极连在一起,把所有同 1 列的发光管的阴极连在一起(共阳极的接法) ,先送出对应第一行发光管亮灭的数据并锁存,然后选通第 1 行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第 2 行使其燃亮相同的时间,然后熄灭;以此类推,第 8 行之后,又重新燃亮第 1 行,反复轮回。当这样轮回的速度足够快(每秒 24 次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按 8 位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。3.2 控制单元设计3.2.1 控制系统设计控制电路设计中采用的是单片机系统,该系统必须要是工作在一个最小系统(指单片机的可以的最小配置系统) 。STC89C52 单片机的最小系统包括了外界时钟电路和复位电路,选定一定数量的 IO 口作为控制口控制外部的各种器件和数据的输出,根据功能选择一定的单片机端口添加外围的器件。STC89C52 单片机管脚说明如下:VCC:供电电压。 GND:接地。 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)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下所示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是: 每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的 输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指 令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部 执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) ,不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。具体电路如图 3.2 所示:图 3.2 控制部分电路图3.2.2 STC89C52 简介STC89C52 是 STC 公司生产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。STC89C52 使用经典的 MCS-51 内核,但做了很多的改进使得芯片具有传统 51 单片机不具备的功能。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k 字节 Flash,512 字节 RAM, 32 位 I/O 口线,看门狗定时器,内置 4KB EEPROM,MAX810 复位电路,3 个 16 位定时器/计数器,4 个外部中断,一个 7 向量 4 级中断结构(兼容传统 51 的 5 向量 2 级中断结构) ,全双工串行口。另外 STC89X52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T 可选。 STC89C52 具有以下参数:1.增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任意 选择,指令代码完全兼容传统 8051。2.工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机) 。3.工作频率范围:040MHz,相当于普通8051 的080MHz,实际工作 频率可达48MHz。4.用户应用程序空间为8K 字节。5. 片上集成512 字节 RAM。6. 通用 I/O 口(32 个) ,复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。7. ISP(在系统可编程)/IAP(在应用可编程) ,无需专用编程器,无 需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程 序,数秒即可完成一片。8. 具有 EEPROM 功能。9. 共3 个16 位定时器/计数器。即定时器 T0、T1、T2。10.外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒。11. 通用异步串行口(UART) ,还可用定时器软件实现多个 UART。12. 工作温度范围:-40+85(工业级)/075(商业级) 。13. PDIP 封装。3.2.3 时钟电路简介在 STC89C52 单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为 XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,常用的时钟电路设计有两种方式,一种是内部时钟方式,如图 3.3 所示,另一种是外部时钟方式,如图 3.4 所示。本实验采用内部时钟方式,将 XTAL1 与 XTAL2 之间跨接一个石英晶振和微调电容,从而构成一个稳定的自激震荡器。电容值取 30pF 左右,其大小将影响震荡频率的高低、振荡器的稳定性和起振的快速性,晶振的频率取值在 1.2MHz12MHz 之间。为减少线间的寄生电容,晶振和电容应尽能安装得与单片机靠近,保证晶振稳定可靠的工作。对于外接时钟电路,要求 XTAL1 脚接外部震荡器信号,XTAL2 脚悬空,对于外部振荡器信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于 12MHz 即可。 图 3.3 内部时钟方式 图 3.4 外部时钟方式3.2.4 复位电路简介STC89C52 单片机的复位是由外部的复位电路实现的。复位引脚 RST 通过一个施密特触发器与复位电路相连,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需的信号。复位电路通常采用上电自动复位和按钮复位两种,如图 3.5和 3.6 所示。 图 3.5 上电自动复位 图 3.6 按钮复位上电自动复位是通过外部复位电路给电容 C 充电加至 RST 引脚的一个短的高电平信号,此信号随着 Vcc 对电容 C 的充电过程而逐渐回落,即 RST 引脚上的高电平持续时间取决于电容 C 的充电时间。按钮复位是通过 RST 端经电阻与电源 Vcc 接通来实现,当按下复位按键时,RST 端产生高电平,使单片机复位。3.3 行驱动单元设计3.3.1 行驱动系统设计译码电路的功能是为了解决单片机 I/O 端口不足。行译码所用器件为串并转换器74HC138 译码器。两个 74HC138 相互级联成 4 线-16 线译码器,三级管 Q1-Q16 接显示屏X1-X16 解决了显示屏供电不足的问题,A,B,C 为 138 译码器的三个地址输入。具体电路如图 3.7 所示: 图 3.7 行驱动电路图3.3.23.3.2 串并转换器串并转换器 74HC13874HC138 译码器译码器行驱动芯片采用的是芯片 74HC138 译码器。如果不采用译码电路完全依靠单片机的端口输出来控制 1632 的 LED 点阵显示屏,需要 48 个端口。而采用了译码电路后仅仅需要 79 个端口便可实现控制显示。大大减少了 I/O 口的占用数目,为单片机扩展其他功能预留下来了空间。74HC138 译码器可接受 3 位二进制加权地址输入(A0,A1 和 A2) ,并当使能时,提供8 个互斥的低有效输出(Y0 至 Y7) 。74HC138 特有 3 个使能输入端:两个低有效(E1 和E2)和一个高有效(E3) 。除非 E1 和 E2 置低且 E3 置高,否则 74HC138 将保持所有输出为高。如图 3.8 为 74HC138 的引脚图,表 3.1 74HC138 集成译码器功能表。图 3.8 为 74HC138 的引脚图 表 3.1 74HC138 集成译码器功能表 3.4. 列驱动单元设计 列驱动电路由 74HC595 构成,它具有一个 8 位串入并出的移位寄存器和一个 8 位输出锁存器,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,达到重叠处理的目的。数据在 SH_CP 的上升沿输入,在 ST_CP 的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(DS) ,和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行 8 位的,具备三态的总线输出,当使能 OE 时(为低电平) ,存储寄存器的数据输出到总线。具体来说就是第一个时钟信号来到时低位的数据向高位挪动一位,在这个程序中是SH_CP 信号,当 SH_CP 是一个上跳沿时,传入的形参 Data 与 0 x80 相与,得到的数为 1,则通过 SDATA 置 1,否通过置为 0,并存储在 74HC595 的相应位置(最低位即 Q0 那)上,DS 内部也自动左移一位数据然后 dat 向左移一位,使次高位变为最高位与 0 x80 相与,并存储。通过 8 次后,就可以得到数据,并存储在 Q0Q7 中了,这时 ST_CP 一个上跳沿,数据即送出去了。工作顺序:单片机先送 1 个 8 位数据到第一个 595 的内部移位寄存器-然后数据会送到内部的输出寄存器-输出,当 MR(10 引脚)为高电平,OE(13 引脚)为低电平时,数据在 SH_CP 上升沿进入移位寄存器,在 ST_CP 上升沿输出到并行端口。具体电路如图 3.9所示、图 3.10 74HC595 引脚图、表 3.2 74HC595 个引脚功能。图 3.9 列驱动原理图 图图图 3.103.103.10 74HC59574HC59574HC595 引脚图引脚图引脚图符号引脚描述Q0Q717并行数据输出GND8地Q79串行数据输出MR10主复位(低电平)SH_CP11移位寄存时钟输入ST_CP12存储寄存时钟输入OE13输出有效(低电平)DS14串行数据输入VCC16电源 表 3.2 74HC595 个引脚功能3.5 单片机 ISP 下载编程器单片机系统传统的编程方式是将单片机先从电路板上取下,放入专用的编程器进行编程,再放人电路板进行调试。其缺点是频繁的拔插器件容易损坏器件的引脚;如果频繁的调试程序,必须重复拔插,大大降低了开发效率。ISP 技术是未来发展的方向,其优势是无需编程器就可进行单片机的实验和开发,单片机器件可直接焊接到电路板上,调试结束即为成品,免去调试时由于频繁插入取出对器件和电路板造成的损坏和带来的不便。ISP 可降低研发成本;缩短从设计、制造到现场调试的时间,简化生产流程,大大提高工作效率;在试验新品或学生试验等常需用不同的程序调试器件的场合中,在线编程技术尤为重要。设计 AT89S51 单片机开发板,采用 ISP 下载线实现在 KEIL C 软件开发环境下调试的汇编语言程序机器码能即时下载到 STC89C52 单片机片内 Flash 中,并可在线修改。在系统可编程 ISP(In-System Programmable),指电路板上的空白器件可编程写入最终用户代码,而无需从电路板取下器件,已编程的器件也可用 ISP 方式擦除或再编程。ISP 的提出改变了传统硬件系统开发的流程,大大方便了开发者,加快了开发速度,将单片机和 USB 总线相结合,进行 ISP 下载。3.6LED 点阵的内部结构和工作原理3.6.1LED 点阵内部结构八十年代以来出现了组合型 LED 点阵显示器模块,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。这种一体化封装的点阵 LED 模块,具有高亮度、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED 点阵规模常见的有 44、48、57、58、88、1616 等。根据像素颜色的数目可分为单色、双基色、三基色等。像素颜色不同,所显示的文字、图象等内容的颜色也不同。单色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现 256 或更高级灰度显示,即可实现真彩色显示。图 3.11 示出最常见的 88 单色 LED 点阵显示器的内部电路结构和外型规格,其它型号点阵的结构与引脚可试验获得。 图 3.11 8*8 单色 LED 模块内部电路LED 点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号如 5x7 点阵显示器用于显示西文字母58 点阵显示器用于显示中西文,8x8 点阵可以用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过 PC 机或单片机控制驱动。3.6.2LED 点阵的工作原理LED 点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。点阵式 LED 汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于 24 帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在 LED显示技术中被广泛使用。以 88 点阵模块为例,说明一下其使用方法及控制过程。图 2.1 中,红色水平线Y0、Y1Y7 叫做行线,接内部发光二极管的阳极,每一行 8 个 LED 的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线 X0、X1X7 叫做列线,接内部每列8 个 LED 的阴极,相邻两列线间绝缘。在这种形式的 LED 点阵模块中,若在某行线上施加高电平(用“1”表示) ,在某列线上施加低电平(用“0”表示) 。则行线和列线的交叉点处的 LED 就会有电流流过而发光。比如,Y7 为 1,X0 为 0,则右下角的 LED 点亮。再如 Y0 为 1,X0 到 X7 均为 0,则最上面一行 8 个 LED 全点亮。现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图 3.12 所示。 图 3.12 用动态扫描显示字符 “B”的过程第四章第四章 系统软件设计系统软件设计在单片机系统中,硬件是系统的基础,软件则是在硬件的基础上对其合理的调配和使用,从而完成应用系统所要完成的任务。软件的设计是设计控制系统的应用程序。其任务是在总体设计和硬件设计的基础上,确定程序结构,分配内 RAM 资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整的应用程序。在进行系统总体设计时,曾经规划过软件结构,但由于硬件系统尚未仔细确定,软件结构框图十分粗糙,当硬件设计接口扩展及各功能模块与 CPU 连接关系确定后,就能够具体明确对软件设计的要求。本设计的 LED 点阵显示屏软件的主要功能是通过按键控制主程序执行上下移子程序,左右移子程序和相应的程序命令。在设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,延时子程序,上下移子程序,左右移子程序,键盘扫描子程序等主要部分组成.。4.1 系统主程序设计系统软件采用 C 语言编写,按照模块化的设计思路设计。首先分析程序所要实现的功能,程序要实现左移显示,右移显示,上移显示,下移显示等功能。其通信程序接收上位机数据,交给主程序处理再通过控制程序选择不同的显示程序进行显示。 系统主程序的工作流程如图 4.1 所示: 图 4.1 系统主程序流程图 开 始 系统初始 读取显示控制命令选择显示 调用相应显示子程序 扫描按键子程序4.2 左右移显示子程序的设计 左右移子程序可以通过设置程序的参数实现程序的左移显示、右移显示、左右移移动速度和移入显示屏的文字或图像地址的设置。图 4.2 左右移子程序流程图。 是是 否否 图 4.2 左右移子程序流程图4.3 上下移显示子程序的设计上下移子程序可以通过设置程序的参数实现程序的上移显示、下移显示、上下移移动速度和移入显示屏左右两个的文字或图像地址的设置。图 4.3 上下移子程序流程图。 读入显示的数据 开 始选择左右移的移动 方式 左 移 显示数据 右 移 显示数据移位次数是否为 16移位次数是否为 16 是是 否否 图 4.3 上下移子程序流程图 读入显示的数据 开 始选择上下移的移动 方式 上 移 显示数据 下 移 显示数据移位次数是否为 16移位次数是否为 16第五章 系统调试一个单片机系统经过总体设计,完成了硬件和软件设计开发。元器件安装后,在系统的程序存储器中写入编制好的应用程序,系统即可运行。但编制好的程序或焊接好的线路不能按预计的那样正常工作是常见的事,多少会出现一些硬件、软件上的错误。这就需要通过调试来发现错误并加以改正。调试可分为硬件调试、软件调试和系统联合调试。在允许的条件下,根据本设计系统的需求性首先采用在 PC 机上用模拟开发软件进行检测和调试,然后进行硬件的组装与调试。5.1 系统硬件部分调试方法硬件调试主要是调试各部分的焊接是否合格和各芯片的输出输入电压是否符合设计要求,最后测试各硬件部分能否完成设计功能。单片机应用系统的硬件调试和软件调试是分不开的,许多硬件故障在软件调试时才能发现,但通常要先排除系统中明显的硬件故障。因此把硬件调试按照以下几部分来进行: (1)测试所有焊点是否有短路和虚焊的现象存在; (2)根据硬件逻辑设计图,仔细检查样机线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求,必要时可用万用表检测线路通断情况; (3)通电测试所有硬件芯片的输入输出电压是否在设计要求的范围内,在确保电源良好前提下,接通电源。最好在电源与其余电路之间串接一个电流表。若接通后电流很大,必须立即切断电源。电源大得超出正常范围,说明电路中有短路或故障。通电检查的主要目的是看系统是否存在短路或由元器件损坏、装配错误引起的电流异常; (4)加电后检查各芯片插座上相关引脚的电位,仔细测量相应的输入输出电平是否正常。单片机系统大都是数字逻辑电路,使用电平检查法可首先查出逻辑设计是否正确,选用器件和连接关系是否符合要求等。 (5)测试 ISP 下载线的功能是否能够实现; (6)测试系统的功能是否能够实现。 (7)通过焊接的硬件电路来测试系统的功能是否实现。5.1.1 短路与虚焊检测检测工具为万用表,使用万用表的短路报警功能,逐个测试相临的两个焊点检测是否短路。按照电路图检测需要连接的两点是否短路来检测是否已经连接上,以此来检测虚焊的情况。检测和修改完成后为下一步通电检测排除了短路的危险和由于虚焊引起检测结果不真实的麻烦。5.1.2 上电测试由于系统测试时是采用 USB 电源为系统电源,所以电源输入都为 5V。显示系统中单片机、译码器,锁存器,驱动电路的电源电压均要求为 5V 所以可同时直接接入。上电后首先观察电路是否有过热,异味,冒烟的现象出现。经过观察,没有这些现象出现。然后测试各器件的电源,接地及一些电平应该固定的端口的电压。测试的结果为:各器件电源端在 4.3V4.8V 之间满足器件的电源电压要求,单片机端口在未接负载时端口电压为 4.5V。5.2 系统软件调试方法5.2.1 开发环境介绍 程序编写采用 KEIL C51 环境下调试,KEIL C51 是美国 KEIL Software 公司出品的 51系列兼容单片机 C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用 C 来开发,体会更加深刻。 KEIL C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 KEIL C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。5.2.2 软件调试 由于已经进行了硬件调试,所以软件调试主要是软件编译和将各功能块程序分别写入以验证其功能的可实现性。在进行功能调试前必须用 KEIL C 对所有程序进行编译,编译成功生产可执行的.hex 后方可进行功能测试。软件调试采用脱机调试的方法,即完全用仿真器软件在 PC 机上对目标电路原理图和程序进行检测和调试。调试过程中单片机相应输入端由通用键盘和鼠标设定,运行状态、各寄存器状态、端口状态等都可以在 CRT 指定的窗口区域显示出来,以确定程序运行有无错误。调试可按下列步骤进行:一 目标程序纠错该阶段工作通常在目标程序编辑时就完成。一般来说,仿真器软件能给用户输入的程序指令纠错,包括书写格式、标号未定义或多重定义、转移地址溢出等错误。二 子程序功能调试程序设计通常采用模块程序设计,调试时可对一个个子程序分别进行调试,设置好入口条件,然后采用单步运行或断点运行方式,检查系统 CPU 现场、RAM 和 I/O 口状态,看程序执行结果是否符合设计要求。三 整体程序综合调试即把各子程序整体连起来进入到综合电路调试,看是否能实现预计的功能显示。在这阶段若发生故障,可以考虑各子程序在运行时是否破坏现场,数据缓冲单元是否发生冲突,标志位的建立和清除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等。用软件模拟器调试不需任何在线仿真器,也不需要用户样机,直接就可以在 PC 机上开发和调试。调试和修改完毕后,对于实时性要求不高的应用系统可以直接使用编程器将软件固化在目标系统 ROM 中,然后独立投入运行。5.3 系统联合调试及结果经过硬件调试和软件调试,排除了硬件的连接问题
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!