




免费预览已结束,剩余33页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
海南软件职业技术学院毕业设计(论文)目 录摘 要IAbstractII1 绪 论11.1 课题的提出11.2 系统设计要求22 摇摇棒的基本原理22.1 摇摇棒的基本原理22.2 设计思路22.3 系统总体设计方案比较及说明32.3.1 软件设计方案53 硬件电路53.1 LED的简介及显示原理53.1.1 LED的分类63.2 LED的显示原理73.3滚珠开关简介83.4 89c52的单片机简介103.4.1内部结构103.4.2 存储结构101.程序存储空间103.5 摇摇棒整体电路图184 软件设计184.1 Keil C51194.2 软件设计思路204.3 软件编程的语言简介204.4 软件设计的机构214.5 LED显示控制模块原理及实现方法224.6 图像点阵原理222海南软件职业技术学院毕业设计(论文)致 谢24参考文献25附录一27附录二332海南软件职业技术学院毕业设计(论文)摘 要随着科技的不断发展,社会的不断进步,人们娱乐的方式和工具不断的增多,摇摇棒也随之成为一个热点产品。本文详细介绍了一种基于AT89C52单片机控制的、16只高亮度的LED发光二极管构成的摇摇棒。配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。摇摇棒是利用人的眼睛存在视觉暂留现象,因为眼睛的反应迟钝,才丰富了人的视觉感受。摇摇棒就是很好的利用了人眼的视觉暂留特性。通过实验,表明各主要技术指标均达到设计要求。关键词:摇摇棒 ,LED,单片机 ,视觉暂留 AbstractWith the continuous development of science and technology, social progress, people and tools are constantly entertaining way the increase, and shook his stick also will become a hot product.This paper describes the AT89C52 Microcontroller based, 16 high-brightness light-emitting diode LED shook his stick form.About shaking hands with a complete picture can be presented to display the characters and pictures.Shook his stick is the use of the human eye there is the phenomenon of persistence of vision, slow reaction because of the eye, only enriches the human visual perception.Shook his stick is a good use of the temporary stay of human visual characteristics.Through the experiment, the major technical indicators that meet the design requirements.KEY WORDS:Shook , LED ,SCM,Persistence of vision33海南软件职业技术学院毕业设计(论文)1 绪 论1.1 课题的提出现在大家的物质生活水平的不断提高,人们对精神生活的追求也是愈来愈强烈。对信息的渴求已成为了人们必不可少的需要,更加简捷的和新颖的信息传递方式无疑会给人们带来耳目一新的感受。而现代工具务求简捷化,便携化。所以,摇动显示的到来必将会给人们带来一种新的方便的文化传递方式。让你的心声闪烁在夜空,LED摇摇棒就这样应运而生。LED摇摇棒又叫摇摇棒,魔棒,闪光棒,闪字棒,闪图棒,星光棒。LED摇摇棒的诞生时闪光系列产品中的一大革命,它最大的神奇之处是在手中左右摇晃LED摇摇棒,就会字啊摇摇棒划过的轨迹上留下清晰的文字或者图案。目前市场上,这是最新,价格最低,可远距离观看的一款电子产品。设计具有市场前的,可满足大型演出、集会、游行等宣传需要,为人们的生活提供了便利和乐趣。目前LED摇摇棒的优势。LED摇摇棒可显示内容有:中文、英文、日文、韩文、图案等。显示的内容可设计成单色显示,双基色显示。一个摇摇棒可存储、显示多幅文字或者图案。目前研发生产的LED摇摇棒具有优势如下:1 在控制模块上,设计了USB接口。2 LED摇摇棒,采用专利驱动技术,具有摇晃速度自适应系统。根据使用者摇动速度自动调整显示速度,不论摇晃的速度快或慢,图像始终稳定的显示。3 在LED摇摇棒的手握部分,设计成手柄。更人性化,而且使得摇晃过程中,显示内容的定位更准确。4 这种设计的软件可拓展性能强大,现今拓展了可通过USB接口连线对显示内容进行编辑和更换的功能。未来,将可能实现图像与音乐自主相结合等等。 1.2 系统设计要求设计并制作一个依靠摇动能显示字符,图形的LED显示棒。系统设计的基本要求:设计一个基于LED显示棒,其中LED灯必须呈线状排列,显示部分使用16只高亮度的LED灯。系统采用电池供电,摇动时显示的亮灯成扇区域能让人分辨出字符,文字,一些简单的图案。系统设计的发挥部分:摇动显示棒形成的亮灯区域能让人清楚的分辨出汉字词组,并可适当的增加设计特色与创新。2 摇摇棒的基本原理本章主要介绍了摇摇棒的基本原理以及总体设计方案等内容。2.1 摇摇棒的基本原理该LED摇摇棒摇动时显现的字符或者图形由LED灯显示,LED灯成线状排列,每个瞬间线阵只能显示数字编码后的文字或者图形的一列。利用人眼的视觉暂留原理,将需要显示的字符或者图形分成N列(N16),一般人手左右摆动的频率为几赫兹到几十赫兹左右。因此,同多单片机控制LED线阵以较低的频率扫描显示字符或者图形的每一列,摆动摇摇棒即可以因视觉暂留看出显示的字符或者图形。左右摆动一次通过端口电平变化,调用相应的显示子程序,字符切换通过外部中断实现。具体的说,已知摇摇棒从一侧摆动到另一侧所需要的时间是0.8秒,把0.8秒分成64份,则每一列的图形显示时间就是0.125秒。每一列对应两个八位的字节,16位字节对应16个LED发光二极管,然后在这每一份的时间里显示图形的相应一列,则可以得到完整的图形显示。2.2 设计思路本系统要求设计一个LED显示摇摇棒,它主要是由电源按键,中央控制部分、LED显示部分及电源部分组成,如图11所示:单片机将提取的字模进行存储,当电源接通,单片机中的字模代码就通过端口输出,是LED点亮,利用视觉暂留原理使图案最终完整的显示在摆动的显示屏中。本题的难点是送数据的时间间隔以及较长画面或文字的完整显示。以下将对各模块的方案进行论证与比较: 干电池电源 单片机控制系统 单片机控制系统 图11:LED显示摇摇棒系统图2.3 系统总体设计方案比较及说明方案一:选用单片机AT89C51作为扫描显示控制核心,由其直接控制LED线阵的显示,并外加扫描控制开关控制字符或图形的扫描显示,原理框图如图21所示。 电源(干电池)单片机AT89C52 单片机AT89C52 LED驱动电路LED线阵显示 如图21:方案一原理框架图 该方案线路简单,扫描控制开光可选择机械开关或编码开关或滚珠开关,在显示摇摇棒时接通线路控制单片机扫描输出文字或图形的列码信号;另接有中断控制按钮用以切换不同字符或者图形的显示,LED线阵采用普通三极管驱动,采用三节干电池供电。此方案的优点是:单片机C51的端口较多,可实现的显示数据并行传输,速度较快,且外围电路简单,调试方便。缺点是:为了显示清晰度,取出可能由背景LED灯占用的端口外,单片机剩余端口无法使线阵中的LED灯的数量扩展至24只以上;单片机实用的是晶振频率较大,软件方面不易实现对计数的控制。方案二:由AT89C51最小系统,寄存器组,驱动电路、LED线阵和电源部分组成,原理方框如题22所示。该方案通过短片集将列编码输入寄存器,通过寄存器组移位功能实现字符图像的扫描输出。与方案一比较,方案二中单片机所需输出端口很少,可选用单片机AT89C51,功能强,价位比较低,其数据输出串口输出方式,所需端口较少,编程同C51兼容,总体线路较简单,电路板占用面积较小;利用寄存器移位功能可轻易实现显示LED灯数量的扩展,不仅具备方案一的大部分优点,而且外围器件更少,能耗更低,电路调试简单,所以我们选择方案二。驱动电路单片机最小系统驱动电路LED线阵显示电源 如图22:方案二原理框架图 LED灯的选择方案一:传统的LED发光二极管。颜色多样,在可以同样显示图案的前提下,实用它更为紧急,但是颜色较为暗淡,不鲜亮。方案二:高亮LED发光二极管。正如其名,它的亮度比较传动二极管要亮,而且同样也有很多的颜色可以选择,但是高亮度的LED的工作电流也要大于传统的二极管。为了使显示的图案清晰、明了,我们选择方案二,经过比较,实用红色的LED使得显示画面更为明显、突出,使用3节1.5V电池为其供电,提供足够的电流。2.3.1 软件设计方案软件由函数声明部分、延时子程序部分、中断服务程序部分、显示子程序部分、主函数部分构成。3 硬件电路本章主要介绍了摇摇棒硬件电路的设计和实现,以及使用到的硬件的介绍等。AT89C52单片机结构与原理,以及作品的整体电路,高亮度LED发光二极管等相关的器件做了较为详细的介绍。3.1 LED的简介及显示原理发光二极管发光二极管它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。发光二极管发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。限流电阻R可用下式计算: R(EUF)IF 式中E为电源电压,UF为LED的正向压降,IF为LED的一般工作电流 公式中E为电源电压,UF为LED的正向压降,IF为LED的一般工作电流。发光二极管的两根引线中较长的一根为正极,应按电源正极。有的发光二极管的两根引线一样长,但管壳上有一凸起的小舌,靠近小舌的引线是正极。 与小白炽灯泡和氖灯相比,发光二极管的特点是:工作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。把它的管心做成条状,用7条条状的发光管组成7段式半导体数码管,每个数码管可显示09十个数目字。发光原理 50年前人们已经了解半导体材料可产生光线的基本知识,第一个商用二极管产生于1960年。LED是英文light emitting diode(发光二极管)的缩写, 发光二极管它的基本结构是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧树脂密封,起到保护内部芯线的作用,所以LED的抗震性能好。 发光二极管的核心部分是由P型半导体和N型半导体组成的晶片,在P型半导体和N型半导体之间有一个过渡层,称为PN结。在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。 当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有关。 发光二极管还可分为普通单色发光二极管、高亮度发光二极管、超高亮度发光二极管、变色发光二极管、闪烁发光二极管、电压控制型发光二极管、红外发光二极管和负阻发光二极管等。3.1.1 LED的分类普通单色发光二极管: 普通单色发光二极管具有体积小、工作电压低、工作电流小、发光均匀稳定、响应速度快、寿命长等优点,可用各种直流、交流、脉冲等电源驱动点亮。它属于电流控制型半导体器件,使用时需串接合适的限流电阻。 普通单色发光二极管的发光颜色与发光的波长有关,而发光的波长又取决于制造发光二极管所用的半导体材料。红色发光二极管的波长一般为650700nm,琥珀色发光二极管的波长一般为630650 nm ,橙色发光二极管的波长一般为610630 nm左右,黄色发光二极管的波长一般为585 nm左右,绿色发光二极管的波长一般为555570 nm。发光二极管常用的国产普通单色发光二极管有BT(厂标型号)系列、FG(部标型号)系列和2EF系列,见表4-26、表4-27和表4-28。常用的进口普通单色发光二极管有SLR系列和SLC系列等。高亮度单色发光二极管: 高亮度单色发光二极管和超高亮度单色发光二极管使用的半导体材料与普通单色发光二极管不同,所以发光的强度也不同。通常,高亮度单色发光二极管使用砷铝化镓(GaAlAs)等材料,超高亮度单色发光二极管使用磷铟砷化镓(GaAsInP)等材料,而普通单色发光二极管使用磷化镓(GaP)或磷砷化镓(GaAsP)等材料。 常用的高亮度红色发光二极管的主要参数见表4-29,常用的超高亮度单色发光二极管的主要参数见表4-30。变色发光二极管: 变色发光二极管是能变换发光颜色的发光二极管。变色发光二极管发光颜色种类可分为双色发光二极管、三色发光二极管和多色(有红、蓝、绿、白四种颜色)发光二极管。变色发光二极管按引脚数量可分为二端变色发光二极管、三端变色发光二极管、四端变色发光二极管和六端变色发光二极管常用的双色发光二极管有2EF系列和TB系列,常用的三色发光二极管有2EF302、2EF312、2EF322等型号。LED光源的特点:电压:LED使用低压电源,供电电压在6-24V之间,根据产品不同而异,所以它是一个比使用高压电源更安全的电源,特别适用于公共场所。效能:消耗能量较同光效的白炽灯减少80%适用性:很小,每个单元LED小片是3-5mm的正方形,所以可以制备成各种形状的器件,并且适合于易变的环境发光二极管稳定性。10万小时,光衰为初始的50%响应时间:其白炽灯的响应时间为毫秒级,LED灯的响应时间为纳秒级对环境污染:无有害金属汞颜色:发光二极管方便地通过化学修饰方法,调整材料的能带结构和禁带宽度,实现红黄绿蓝橙多色发光。红光管工作电压较小,颜色不同的红、橙、黄、绿、蓝的发光二极管的工作电压依次升高。3.2 LED的显示原理这种半导体组件一般是作为指示灯、显示板,它不但能够高效率地直接将电能转化为光能,而且拥有最长达数万小时10万小时的使用寿命,同时具备不若传统灯泡易碎,并能省电等优点。发光二极管的结构图3-1 发光二极管结构图当单片机的P1和P2的十六个口输出低电平时,LED灯的阴极就是低电平,在滚珠开关的作用下,5V的电压加到LED的阳极,LED就有电流通过,这样就能发光。当单片机的P1和P2口有高电平输出时,LED的两端就是高电平,虽然有小的电压差,但是小的电压差产生的电流是无法驱动LED灯发光的。一般LED的驱动电压要有1.5V以上,电流要在200mA以上,不同的LED的驱动电压和电流是不同的。3.3滚珠开关简介滚珠开关也叫钢珠开关,珠子开关,其实都是震动开关的一种只是叫法不一样是通过珠子滚动接触导针的原理来控制电路的接通或者断开的。如图32 。简单来说,就如同打开或关掉电灯一样,开关触碰里头的金属板电灯就亮,离开就关,滚珠开关也是利用类似的原理。利用开关中的小珠的滚动,制造与金属端子的触碰或改变光线行进的路线,就能产生导通或不导通的效果。 滚珠开关目前已有许多不同类型的产品,包括角度感应开关、震动感应开关、离心力感应开关、光电式滚珠开关。以往此类型开关以滚珠开关为主,把滚珠(汞)当作触击的元件,但自从各国政府陆续禁用滚珠后,触击元件就为滚珠所取代。滚珠开关运用层面极广,例如:如胎压监控系统(TPMS)、脚踏车灯、数位相框旋转、萤幕旋转、视讯镜头翻转、防盗系统等,举凡想侦测物体角度变化、倾倒、移动、震动、旋转的场合,滚珠开关皆适用2。 如图32 :结构图对应材质: a. 青铜盖 、 b. 青铜珠子-底层镀镍-表层镀金 、 c. 青铜管-底层镀镍-表层镀金 d. ABS胶座或PC胶座、 e. VC热缩套管 、 f. 硬青铜导针-底层镀镍-表层镀金 、g. 磷铜弹簧夹 LED显示部分由:16个高亮度的发光二极管,16个200欧姆的电阻以及滚珠开关组成。如图33。 16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。与LED点阵的显示有几分相仿。滚珠开关因为比较活跃,为了使字体能按照要求显示。所以将滚珠开关呈垂直放置,这样摇出来的字体就会不是反的。其中滚珠开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则滚珠开关会出现镜像字或镜像画面,所以通过接一只滚珠开关来控制,使摇摇棒从左向右摇动时将内容显示出来。高亮度LED200欧姆电阻 图3-3:滚珠开关连接示意图3.4 89c52的单片机简介3.4.1内部结构89C52的内部结构主要包括算术路基单元ALU、片内ROM、I/O端口、定时系统、中断系统等基本的功能单元。他们之间的关系如下图所示: 图3-4:内部结构关系图3.4.2 存储结构其中C52的存储结构分为两部分,程序存储器和数据存储器。他们使用独立的地址空间是单独编址的。1.程序存储空间其中程序存储空间通常是用ROM、EPROM或EEPROM实现。而程序存储器又可以分为两部分,片内存储区和片外存储区。C52的片内存储区大小为8KB如果程序超过8KB就需要从扩展片外程序存储器。由于C52的程序计数器PC是16为寄存器,使用最大的程序存储空间是64KB。C52会根据引脚的电平决定从片内/片外程序存储器读取指令的顺序。=1,先执行片内存储的程序PC值大于0x1FFF时自动转入外程序存储器。=0,将会直接充外存储器读取指令。其中,程序存储空间的0x0000H0x0032H是被保留的。功能如下表:地址作用0x00000x0002复位程序入口地址0x00030x000A外部中断0服务程序入口地址0x000B0x0012定时/计数器0溢出中断服务程序入口地址0x00130x001A外部中断1服务程序入口地址0x001B0x0022定时/计数器1溢出中断服务程序入口地址0x00230x002A串行口中断服务程序入口地址0x002B0x0032T2服务程序入口地址表3-5:程序存储空间2.数据存储空数据存储空间也是由片内和片外两个存储空间组成。但是与程序存储空间不同,这两个空间是独立编址的,使用不同的指令访问。而且内部数据存储器也分为两部分,片内RAM块和特殊功能寄存器(SFR)块。C52的片内RAM是256B的,编址是0x000xFF,其中后128B地址空间是与SFR块重合,但由于其访问指令不同,不会引起逻辑混乱。数据存储空间的片内RAM区又可以分为三个部分,工作寄存器去(0x000x1F)、位寻址区(0x200x2F)、数据缓冲区(0x300xFF)。其中的工作寄存器区时与处理器通用寄存器对应的,分别为R0R7共有4组。他们的关系如下:表3-6:工作寄存器区时与处理器通用寄存器对应关系四组工作寄存器并不是同时在工作的,是需要根据程序状态字(PSW)中的RS0和RS1两个来决定。只需要修改这两位的值就可以快速的切换工作区,达到快速保护现场的目的。其中RS1和RS0的值对应的工作区为 00-工作区0,01-工作区1,10-工作区2,11-工作区3.第二部分是位寻址区,在这个区域内的16个单元的每一位都被分配了一个单独的地址,从0x00到0x7F,其中对位寻址是使用特定的指令。位寻址的每一位都可以作为软件触发器,由程序直接进行位处理。第三部分是数据缓冲区,可以作为用户RAM使用。这部分空间多用于堆栈的数据空间,堆栈的栈顶是通过SP指定的,SP的初值是0x07通常会将其初始化为0x20,以避开工作寄存器空间。3. 特殊功能寄存器又称为专用寄存器区,是用来对片内的定时控制、中断控制、串行接口等内部功能单元进行管理、控制、监控的一组特殊功能的RAM区。C52共有26个寄存器,离散的分布在0x800xFF的地址空间内。其中12个是8的整数倍的寄存器是可以位寻址的,位寻址空间接在上面说的位寻址区的寻址空间之后为0x800xFF。其映射表如下: 表3-6: 特殊功能寄存器地址映射表 表3-7:特殊功能寄存器各位位地址及位功能表这些特殊寄存器的特殊功能如下:l PC:程序计数器用于保存下一条执行指令的地址,每取一条指令PC自动加1。PC长16位,最大寻址空间是64KB。在硬件上PC是独立的,不在SFR之内。l SP:栈指针,是8为的特殊功能寄存器,用于指示栈顶位置。l DPTR:数据指针,是一个16为的特殊功能寄存器,高位字节用DPH表示,地位用DPL表示。l ACC:累加器,大部分的单操作数指令均以ACC作为其操作数,多数双操作数指令的第一个操作数也取自ACC。此为,各种运算的结构一般也保持在ACC中。l B:寄存器B主要用于乘、除等操作,作为运算的第二个操作数,也用于保存运算的结果。l P0:P0口锁存器,允许进行位寻址操作,对其赋值就相当于操作P0 I/O口上个引脚的电平。l P1:P1口锁存器,允许进行位寻址操作,对其赋值就相当于操作P0 I/O口上个引脚的电平。l P2:P2口锁存器,允许进行位寻址操作,对其赋值就相当于操作P0 I/O口上个引脚的电平。l P3:P3口锁存器,允许进行位寻址操作,对其赋值就相当于操作P0 I/O口上个引脚的电平。l T0、T1:是单片机中两个16位定时/计数器的两个16为寄存器。有4个8位寄存器组成,分别为TH0、TL0、TH1、TL1。程序可以对这4个8位寄存器寻址,但不能将T0、T1作为独立的16为寄存器访问。l TMOD:用于控制定时/计数器的工作方式及4中工作模式,其中低4位为定时器T0的方式控制字,高4为为定时器T1的方式控制字。l TCON:高4位为定时器T0、T1的控制寄存器和定时/计数溢出中断标志。低4位为控制外部中断1和外部中断0的中断触发方式选择和中断产生标志。l IE:用于开放或屏蔽单片机的各个中断源。l IP:可以通过设置IP寄存器的相应位对各中断源的中断优先级进行独立控制。l SCON:用于设置串行口的工作方式和查询接收、发送中断产生标志。l SBUF:串行数据缓冲器,用于存放串口中欲发送或已接受的数据,是由两个独立的寄存器构成,一个是发送缓冲器,一个是接受缓冲器,他们公用一个地址。l PSW:程序状态字对应位如下:D7D6D5D4D3D2D1D0CYACF0RS1RS0OVP各个位的功能如下:CY:进位标志位,表示在字节运算时发生进位或借位。AC:辅助进位标志位,当ACC低4为发生进位时置位该标志位。F0:通用标志位,由用户定义。RS1、RS0:工作寄存器组选择位。OV:溢出标志位,表示运算式发生溢出。P:奇偶校验位。(三)、定时系统C52有三个16位的定时/计数器T0,T1,T2。他们的工作实质就是加1计数器,每次脉冲都会自动加1,直到寄存器溢出,会像处理器发出中断请求。T1和T0定时器与C51的操作方式相同,有两种工作方式和四种工作模式。两种工作方式是定时器和计数器,定时器就是接入定时器的脉冲源始单片机的机器周期,计数器的脉冲源是来自于单片机外部(通过P3.4和P3.5输入脉冲)。四种工作模式分别是,13位计数/定时器、16位计数/定时器、常数自动装入的定时/计数器和8位定时/计数器(这时只是T0有效,T1停止计数)。对计数器的控制是由两个寄存器完成的。分别是TMOD和TCON。TMOD的对应位如下:D7D6D5D4D3D2D1D0T1T2GATEM1M0GATEM1M0l GATE位是用设置定时器的启动是否要受到外部中断请求信号的控制,当GATE=1是,T0和T1的启动收到(P3.2)和(P3.3)的控制,也就是说这时要用软件使TR0或TR1为1,同时外部中断引脚也为高电平时,才能启动定时/计数器工作定时器。当GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作。l =1,以计数方式工作。=0以定时方式工作。l M1和M0,用于设定定时/计数器的4种工作模式。00对应13位模式,01对应16为模式,10对应常数自动装入模式,11对应8位模式。TCON的对应位如下:D7D6D5D4D3D0TF1TR1TF0TR0l TF1/TF0:是定时器的溢出标志位,当T1/T0计数溢出是,该位置1,并在允许中断时,想处理器发出中断请求,当处理器相应中断后,该位自动清0(也可以由程序清0)。l TR1/TR0:是定时器的运行控制位,当TR1/TR0=1是,T1/T0启动开始计数。AT89C52除了有AT89C51所有的定时/计数器0、定时/计数器1外,还增加了一个定时/计数器2。定时/计数器2的控制和状态位位于T2CON和T2MOD,寄存器对(RCA02H、RCAP2L)是定时器2在16为捕获方式或16为自动重载方式下的捕获/自动重装载寄存器。表3-8:定时/计数器2控制器T2CON功能表定时器2是一个16为定时/计数器。它既可当定时器使用,也可以作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2位选择。定时器2有三种工作方式;捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式。 表3-9:定时器2工作方式 (4) 、中断中断是指通过硬件来改变CPU的运行方向。计算机在执行程序的过程中,外部设备向CPU发出中断请求信号,要求CPU暂时中断当前的执行而转去执行相应的处理程序,待处理程序执行完毕后,在继续执行原来被中断的程序。这种程序在执行过程中由于外界的原因而被中间中断的情况称为“中断”1 。C52有6个中断向量:两个外中断(INT0和INT1),3个定时器中断(定时器0、1、2)和串口中断。这些中断源可通过分别设置IE寄存器来控制每一个中断的允许或禁止。IE也有一个总禁止位EA,他能控制所有中断的允许或禁止。其中定时器2的中断是由T2CON中的TF2和EXT2逻辑或产生,当转向中断服务程序师,这些位不能被硬件清0,需要在中断服务程序中清除。定时器0和定时器1的标志位TF0和TF1在定时器溢出的那个机器周期的S5P2状态(第5个周期的第2个相位)置1,而会在下一个周期才查询该终端标志位。然而,定时器2的标志位TF2在定时器溢出的那个机器周期的S2P2状态置位,并在同一个机器周期内查询该标志(所以Timer2的实时性更好)。表3-10:IE的详细信息C52可以通过设置IP寄存器来实现优先级的变更,系统提供了两级中断优先级,对每一个中断请求源均可编程为高优先级中断和低优先级中断,允许实现两级中断嵌套(低优先级的中断可以被高优先级的中断所中的,高优先级的不会被低优先级或同级中断所中断)。D7D6D5D4D3D2D1D0PT2PSPT1PX1PT0PX0如表3-11:IP的详细信息3.5 摇摇棒整体电路图单片机的P0、P2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电平点亮。P0口的上拉电阻RA1不能少。串在LED公共端的二极管D1会产生一定的压降,用来保护LED,经实测LED点亮时两端电压为3V左右,在LED的安全承受范围。S1为滚珠开关。滚珠开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只滚珠开关来控制,使摇摇棒从左向右摇动时将内容显示出来。图3-12:摇摇棒电路图4 软件设计本章主要介绍软件设计的思想,以及软件的结构等,结合结合KEIL C51编程软件来取字模。4.1 Keil C51单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。如下图:图4-1: Keil C51界面KeilC51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4.2 软件设计思路在摇动摇摇棒的时候单片机必须单程送程序数据否则显示的图形会产生重影,影响视觉效果。因此当系统开始工作后通过惯性开关的位置来使单片机实现单程数据给摇摇棒。如果惯性开关位于上边,则进入外部中断T1将以变量置1。在变量为1期间让单片机以一定的频率将数据传给摇摇棒。如果关心开关位于下边,则进入外部中断T0并将变量置0,在这期间单片机不会是送数据给摇摇棒。在送数据完后应延时一段时间来使摇动时显示的每个字不会太拥挤。之后再立刻熄灭摇摇棒并开始重新判断惯性开关的位置。4.3 软件编程的语言简介摇摇棒的要实现其功能,除了硬件电路还需要软件程序的配合。软件即程序的编写,使用C语言进行编写的。C语言是一门极有生命力的程序设计语言。 C语言它用途广泛,语言简洁,几乎遍及了程序设计的各个领域,如系统程序的设计,字处理软件和电子表格软件的开发、信息管理、实时控制等方面。C语言是国际上流行的计算机高级语言,即可以用来写系统软件,也可用来写应用软件。3 另外,C语言简洁,为完成某一功能所写的源程序代码往往比用其他语言写得简短,使得程序输入工作量减少。C语言能直接访问物理地址和端口,并能进行位操作,因此能实现汇编语言的大部分功能,而且,由C语言生成的可执行代码内容量少,执行效率高。 因此,完成摇摇棒的软件设计,C语言成了首选。它的方便简洁给我们带来了不少益处。4.4 软件设计的机构 软件由函数声明部分、延时子程序部分、中断服务程序部分、显示子程序部分、主函数部分构成。按照数组内的16位字节,LED是否显示结束初始化否提取下一组数组点亮LED延时图4-2 软件流程图(1) 主函数部分:完成函数的初始化,运用while循环语句,对display1程序段进行若干次重复调用执行;(2) 函数声明部分:void display1(void);(3) 延时子程序部分:void DelayUs(uint N)ucharx;for(x=0; x=N;x+);一列显示结束后,延时500ms,再进行下一列的显示;(4) 中断服务程序部分:每个摇动来回滚珠开关会在摆幅两端分别产生下降沿中断,只提取其中一次(从左向右摇才显示);(5) 显示子程序部分:void display1(void) u char i;for(i=0;i64;i+) P1=diani*2;P2=diani*2+1; DelayUs(500);; LED摇摇棒显示的像素为16*64,也就是在函数里面显示的图像分成64列,每一列都是由两个8位字节构成的。P1=diani*2;P2=diani*2+1指的是一列显示结束后调用数组中的下一组进行LED显示;如果P1=diani;P2=i+1那么一列显示结束后,调用下一组数组的时候,会把前一列数组中的后一个字节继续调用并作为下一列的前一个字节,导致最终所需图像信息显示不出。4.5 LED显示控制模块原理及实现方法LED显示控制模块主要有单片机程序控制,在程序中主要是显示部分的函数,十六个灯分成十六个输出端口,有P1口和P2口的十六个口一一对应,其中P1口组成8位的字节,P2口也是8位字节。8位对应P1.0到P1.7分别是由低到高的排列,在函数里面显示的图像分成64段,那就是依次对每一列显示的16位字节编写,这每一列的16位都是由两个8位的字节构成,在初始化的时候就在数组里对这128个字节分别列出。在显示函数里分别对64列数显示,这64对数的显示是有先后顺序的,利用FOR函数对64对数依次显示,而每一列由两个8位字节构成显示,显示之后要对前列的显示进行500us的延时,在调用延时函数的时候要注意延时函数里面延时1us的函数使用。利用FOR函数延时进行设定。第一列显示完后,在对后面的63列数显示,这样结束FOR循环以后就结束了整幅图的显示。在摇摇棒摇动的瞬间,滚珠开关是起到很重要的作用。滚珠开关里的滚珠活跃,导致在接通时容易产生抖动,所以将滚珠开关倾斜90度角放置,靠滚珠自身的重力作用减少抖动。在摇动的过程中,滚珠开关保证是开的状态,这样才能确保5V的电压加到LED的阳极。当摇摇棒停止摇动的时候,滚珠由于重力作用,开关就处于关的状态。第二次摇的时候再次开启开关。为了让开关在摇动的时候才开,可以将滚珠开关的位置倾斜90度角放置,根据效果调整位置。4.6 图像点阵原理本文阐述的摇摇棒图像点阵显示是通过字模软件实现的。程序中“字符点阵数据表”中的数据是由字模软件生成的。该款字模软件是一款非常简洁的点阵、液晶字模工具软件。功能也很丰富,包括了横向、纵向取模方式,C51、A51取模方式,字符编码显示等功能。根据硬件电路,得知,AT89C52单片机作为控制器,在它的P1、P2口接有16只以共阳的方式连接的高亮度LED。因此,在字模选取的一些模式上要跟硬件电路保持一致。如下图是字模软件界面:图4-3 字模软件界面结束语我选的题目是基于单片机的16LED显示摇摇棒,选择这个题目的原因是摇摇棒是很不错的一个玩具,趣味性是很强的,这是我选择做摇摇棒的最大的动力。在做摇摇棒的时候我在网上和图书馆查找了很多资料。在曾老师的指导下,然后在网上买了相关的器材,结合了自己所学的专业方面的知识和曾老师的指导,焊接电路。在焊接电路过程中,也犯了不少的错误,有时候是因为数错引脚而把连接线焊错。总之经过了多次的失败后,终于把硬件方面焊接好了。在软件方面我们在网上查找和参考了很多的程序之后,我们把整体的程序框架写好了。然后用字模软件进行取字模。最后是烧录进单片机里面,在烧录进去以后摇出来的字发现是反的,和预想的不一样,而后经过曾老师的指导以及宿舍同学一起多次修改,终于把这方面的问题解决了。这次的毕业作品,从开始做到最后结束,无不凝聚着心血和汗水。虽然在设计到制作的过程中,犯了很多错误,也遇到了些困难。但是从这次的毕业设计当中学到了很多东西,对自己所学的知识的有了更深刻的理解,使我受益匪浅。当然此作品也存在一些不足之处,希望老师批评指正,我将不断的更正完善。 致 谢曾维鹏老师,您在毕业设计中给予我的悉心指导和严格要求,让我在遇到困难时让我不懈怠,不放弃,认真完成设计。在此,送上我诚挚的感谢!在此我要深深地感谢我的家人,正是他们在学习和生活中给予我的无尽关爱、指导和支持,让我时刻充满信心和勇气,去面对所遇到的所有困难和挫折,使我顺利的完成了学业。那些在学业上和平时生活上我遇到困难给我帮助的那些朋友和同学,在这里我对你们表示衷心的祝福和的最真诚的感谢。参考文献1 王静霞 .单片机应用技术(C语言版) 、电子工业出版社 、2009.5 、110-1112滚珠开关/view/4439343.htm3谭浩强. C语言程序设计、2001年1月第1版4周良权,傅恩锡,李世馨主编.模拟电子技术基础高等教育出版社,1993年1月.附录一:程序清单#include unsigned char disp = 0;unsigned char KY = 0;unsigned char code hanzi = /海, 0x10,0x04,0x22,0x04,0x64,0xFE,0x0C,0x01, 0x90,0x01,0x08,0x1F,0xF7,0x11,0x14,0x11, 0x34,0x13,0x54,0x15,0x14,0x51,0x14,0x91, 0xF6,0x7F,0x04,0x11,0x00,0x01,0x00,0x00,/南, 0x04,0x00,0xE4,0xFF,0x24,0x00,0x24,0x09, 0x64,0x09,0xA4,0x09,0x24,0x09,0x3F,0x7F, 0x24,0x09,0xA4,0x09,0x64,0x09,0x24,0x49, 0x24,0x80,0xF6,0x7F,0x24,0x00,0x00,0x00,/软, 0x08,0x08,0xC8,0x18,0xB8,0x08,0x8F,0x08, 0xE8,0xFF,0x8C,0x04,0x88,0x84,0x20,0x40, 0x10,0x30,0x0F,0x0C,0xC8,0x03,0x08,0x0C, 0x28,0x30,0x18,0xC0,0x00,0x40,0x00,0x00,/件, 0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x02, 0x80,0x02,0x60,0x02,0x1C,0x02,0x10,0x02, 0x10,0x02,0xFF,0xFF,0x10,0x02,0x10,0x02, 0x18,0x02,0x10,0x03,0x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 十九 图说“梅兰竹菊”说课稿-2023-2024学年小学信息技术(信息科技)三年级冀教版
- 2025年便携式手电筒行业研究报告及未来行业发展趋势预测
- 酶制剂制造工知识考核试卷及答案
- 2025年AI开放平台行业研究报告及未来行业发展趋势预测
- 宠物寄托服务中的用户体验优化-洞察及研究
- 2025年智慧物流背景下城市配送体系重构与末端效率研究报告
- 锅炉辅机检修工基础考核试卷及答案
- 风力发电项目委托代建与能源销售合同
- 第一节 认识物联网说课稿-2023-2024学年初中信息技术(信息科技)七年级上册甘教版
- 病案员作业指导书
- 心理学专业英语基础51057048
- (中职)电子技术基础与技能(电子信息类)教案
- 防高处坠落-物体打击专项施工方案
- 数据文化与我国时空大数据的发展
- 2021年中国华电集团公司组织架构和部门职能
- 现代生物技术教学课件
- 教科版八年级物理上册第4章第7节通过透镜看世界ppt课件
- 20-100t桥式行车拆除施工方案32
- 大洁王枪水MSDS
- 德国DVGW543标准
- 安全生产资金投入计划
评论
0/150
提交评论