基于stc89c52的16χ16点阵屏设计-毕业设计内容摘要:

由特殊功能寄存器 TMOD的控制位 C/T进行选择, TMOD寄存器的各位信息如下表所列。 可以看出, 2个定时 /计数器有 4中操作模式,通过 TMOD的 M1和 M0选择。 2个定时 /计数器的模式 0、 1和 2都相同,模式 3不同,各模式下的功能如图 5所述: 图 5 定时 /计数器各模式功能 位 符号 功能 GATE ,置1时只有在 INIT0脚为高及 TR1控制位置1时才可打开定时器/计数器1 GATE 0,置 1时只有在 INIT1脚为高及 TR0控制位置 1才可打开定时器/计数器1 C/T 1用作定时器或计数器,清零则用作定时器(从内部系统时钟输入),置 1用作计数器(从T1/) C/T 0用作定时器或计数器,清零则用作定时器(从内部系统时钟输入),置 1用作计数器(从T0/) 0 0 13位定时器 /计数器,兼容 8048定时器模式, TL1只用低5位参与分频, TH1整个 8位全用 0 1 16位定时器 /计数器, TL TH1全用 1 0 8位自动重装载定时器,当溢出时将 TH1存放的值自动重装入 TL1 1 1 定时器 /计数器 1此时无效(停止计数) 0 0 13位定时器 /计数器,兼容 8048定时器模式, TL0只用低5位参与分频, TH1整个 8位全用 0 1 16位定时器 /计数器, TL0、 TH0全用 1 0 8位自动重装载定时器,当溢出时将 TH1存放的值自动重装入 TL0 1 1 定时器 0此时作为双 8位定时器 /计数器。 TL0作为一个 8位定时器 /计数器,通过标准定时器 0的控制位控制。 TH0仅作为一个 8位定时器,由定时器 1的控制位控制。 ( 1)模式 0 将定时器设置成模式 0时,类似 8048定时器,即 8位计数器带 32分频的预分频器。 下图所示为模式 0工作方式。 此模式下,定时器配置为 13位的计数器,由 TLn的低 5位和 THn的 8位所构成。 TLn 低 5 位溢出向 THn 进位, THn 计数溢出置为 TCON 中的溢出标志位 TFn( n=0,1)。 GATE=0时,如 TRn=1,则定时器计数。 GATE=1时,允许由外部输入 INIT1控制定时器 1, INIT0控制定时器 0,这样可实现脉宽测量。 图 6 定时器 /计数器 0和定时器 /计数器 1的模式 0 ( 2)模式 1 模式 1除了使用 THn及 TLn全部 16位外,其他与模式 0完全相同、 图 7定时器 /计数器 0和定时器 /计数器 1的模式 1 ( 3)模式 2 此模式下定时器 /计数器 0和 1作为可自动重装载的 8位计数器( TLn),如下图所示, TLn的溢出不仅置位 TFn,而且将 THn内容重新装入 TLn, THn内容由软件预置,重装时 THn内容不变,模式 2的操作对于定时器 0及定时器 1是相同的。 图 8 定时器 /计数器 0和 1的模式 2 ( 4)模式 3 对定时器 1,在模式 3时,定时器 1停止计数,效果与将 TR1设置为 0相同。 对定时器 0,此模式下定时器 0的 TL0及 TH0作为 2个独立的 8位计数器。 下图为模式 3时的定时器 0逻辑图。 TL0占用定时器 0的控制位: C/T、 GATE、 TR0、 INT0及 TF0。 TH0限定为定时器功能(计数器周期),占用定时器 1的 TR1及 TF1。 此时, TH0控制定时器 1中断。 模式 3是为了增加一个附加的 8位定时器 /计数器而提供的,使单片机具有三个定时器 /计数器。 模式 3只使用与定时器 /计数器 0,定时器 T1处于模式 3时相当于 TR1=0,停止计数(此时 T1可用来作串行口波特率发生器),而 T0可作为两个定时器用。 图 9 定时器 /计数器 0的模式 3 LED 点阵显示电路 本设计使用的是 4块 8*8单色点阵屏设计 16*16点阵屏,采用单色显示,进行显示所要显示的字符,通过 74LS154译码器来控制点阵的行方向的显示,而列方向的 16条线则由 74LS595的八位并行输出端控制。 74LS595的总体特点和工作原理 1)总体特点: 74LS595是 8位串行输入转并行输出移位寄存器,三态输出功能,具有数据存储寄存器,移位寄存器和存储器是分别的时钟。 数据在 SHcp的上升沿输入,在 STcp的上升沿进入的存储寄存器中去。 如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 在移位的过程中,输出端的数据可以保持不变。 这在串行速度慢的场合很有用处,数码管没有闪烁感。 其 DIP封装引脚图如图 7所示: 图 7 74LS595引脚图 各引脚及其功能: Q0~Q7 八位并行输出端 Ds 串行数据输入端 /OE 输出使能端 STcp 存储寄存器的时钟脉冲输入口 SHcp 移位寄存器的时钟脉冲输入口 /MR 芯片复位端 Q739。 并行数据输出口,即储寄存器的数据输出口 2)工作原理 每当 SHcp上升沿到来时 , Ds引脚当前电平值在移位寄存器中左移一位,在下一个上升沿到来时移位寄存器中的所有位都会向左移一位,同时 Q739。 也会串行输出移位寄存器中高位的值,这样连续进行 8次,就可以把数组中每一个数( 8位的数)送到移位寄存器;然后当 STcp上升沿到来时,移位寄存器的值将会被锁存到锁存器里,并从 Q1~7引脚输出。 74LS595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。 这在串行速度慢的场合很有用处,点阵没有闪烁感。 74HC595在 5V供电的时候能够达到 30MHz的时钟速度,每个并行输出端口均能承受 20mA的灌电流和拉电流。 这个特点保证了不用增加额外的扩流电路即可轻松的驱动 LED。 它输入端允许500nS的上升(下降)时间,对严重畸形的时钟脉冲仍能检测。 这样就可以容纳较大的传输线对地电容,使本设计的抗干扰能力增强。 74HC595并行输出端与 LED模块列线之间通过 20Ω 的电阻连接,这里电阻起到分压,去除红色 LED的并联嵌位作用。 使红绿两组 LED均能正常发光。 由于 LED显示屏的工作电流时刻在变化,造成了系统电压的波动。 这种电压波动有高频成分,也有低频成分。 轻则对周围无线电环境造成电磁污染,重则使系统时钟紊乱,逻辑错误。 为避免此,在每个 74HC595的电源 VCC和 GND旁边都并联了两个电容,用于滤波和退耦。 稳定系统电压,旁路掉电源中的高频脉动成份。 消除自激,减小对外杂散电磁辐射,提高 EMI电磁兼容性。 见 附录 1(电路原理图) 第 4 章 软件实现 概述 整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。 从软件的功能不同可分为两大类: 一是监控软件 (主程序) ,它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。 二是执行软件(子程序),它是用来完成各种实质性的功能。 每一个执行软件也就是一个小的功能执行模块。 这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。 各执行模块规划好后,就可以规划监控程序了。 首先要根据系统的总体功能选择一 种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。 系统程序主要包括了:主程序、点阵显示驱动程序。 主程序:主要控制整个显示部分的初始化,使系统在目测条件下 LED 显示屏各点亮度均匀、充足,可显示文字和数字,显示的文字和数字应稳定、清晰无串扰。 文字显示可以移入移出。 本设计的显示内容为“你好。 我是陆敏杰”实现向右移动功能。 下面是主程序部分: 程序中首先对各个变量进行初始化,并对 74HC595进行初始化,当时初始化过程完成后,开始显示处理。 //主函数 在主函数中完成函数的调用及字体的移动处理,所以使人们能看见可以移动字体显示。 分别能实现字体的上移、下移、左移、右移、逐个显示。 通过外部中断来实现各种方式的转移。 点阵显示驱动程序: 主要实现对 74ls595的驱动编写,已实现画面的动态刷新。 通过改变列值和行值来实现动态扫描。 根据电路行值为低电平,列值为高电平。 则对应的 led灯点亮,通过快速的扫描来实现扫描。 序设计 通过主程序对 74ls595的初始化和对子程序的调用完成单片屏幕的动态刷新以达到点阵的动态显示目的。 主程序流程图: 将各个功能程序以子程序的形式写好, 当写主程序的时候, 只需要调用子程序,然后在寄存器的分配上作一下调整,消除寄存器冲突和 I/O 冲突即可。 程序应该尽可能多的使用调用指令代替跳转指令。 因为跳转指令使得程序难以看懂各程序段之间的结构关系。 而调用指令则不同,调用指令使得程序结构清晰,无论是修改还是维护都比较方便。 将功能程序段写成子程序的形式,除了方便调用之外,还有一个好处那就是以后写程序的时候如果要用到,就可以直接调用这个单元功能模块。 下面对 LED点阵显示屏的显示部分流程图做介绍: 因为显示原理是视觉暂留原理需要有延时控制显示。 延时函数如下: //等待函数 void delay(uint z) { uint x,y。 for(x=z。 x0。 x) for(y=7。 y0。 y)。 } 通过单片机 IO口控制 74595来分别控制列选和行选,在进行行扫描时,将行值从第一位到第 16位逐行选通,同时将此时刻对应的列值送入。 在下一个扫描时刻将此行关闭,下一行行选打开,列值送入对应的数值,以此类推直到所有的行都扫描完毕,行扫描从第一行开始。 同理,列扫描也从第一列扫描到最后一列,在列选通的时候将对应的行值送入。 总 结 经过近两个月的努力,终于顺利完成了毕业设计。 在此 LED点阵显示系统中,由于我采用了 STC89C5单片机,并且采用串行移位寄存器 74HC595作列线驱动,使本设计的硬件成本大幅下降,而又提高了显示单元的可扩展性。 因为使用了高速单片机,使本系统的动态刷新率,移动速度等得到保障。 本设计充分利用了单片机的 E2PROM等片上资源,节约成本的同时使外围电路简洁美观,故障率降低。 总体的性能指标均达到或超过了题目的要求。 毕业设计是每个大学生必须面临的一项综合素质的考验,如果说在过去四年里,我们的学习是一个知识的积累过程,那么现在的毕业设计就是对过去所学知识的综合运用,是对理论进行深化和重新认识的时间活动。 在这 近两个月的毕业设 计中,我们有艰辛的付出,当然更多的是丰收的喜悦。 知识固然得到了巩固和提高,但我相信在实践中的切身体会将会使我在以后的工作和学习中终身受用。 首先,学习能力得到了提高。 在毕业设计中,自始至终独立完成硬件电路的设计、单片机软件编写等。 在这些过程中,遇到许多困难,但通过书籍或网络查阅了很多相关文章和向导师请教 后终于解决了。 通过这次毕业设计,我不仅对理论有了更深一步的认识,增强了和外界技术的沟通,还培养了自学能力和分析解决问题的能力,更重要的是,培养了克服困难的勇气和信心。 其次,培养了自己的市场观念。 一个商品是否能够抢占市场,除了必须的功能和质量要求外,其价格是最大的竞争优势。 如何在保证质量和完成同等功能的情况下,把产品的成本降到最低。 是每个设计人员在作出方案时首要考虑的因素。 再次,则是人际交流能力得到锻炼。 人非生而知之者。 人的学识总是不能面面俱到的,这就要求我们必须善于借鉴别人的成功经验或失败教训,使自己少 走弯路。 总之,毕业设计完成了,但又面临着工作。 我相信我会把自己的热情和所学奉献到自己的工作中,不断努力,不断进取。 参考文献 [1] 谭浩强 . C程序设计(第二版) [M]. 北京 :清华大学出版社 ,. [2] 彭为 .单片机典型系统设计实例精讲 [M].北京 :电子工业出版社 ,. [3] 李良荣 .现代电子设计技术 基于 Multisim7[M].北京 :机械工业出版社 ,. [4] 姜承昊 . 最新 LED驱动电路设计、应用与制造新技术新工艺实用手册 [M].北京 :中国科学技术文献出版 社 ,. [5] 魏洪兴 .嵌入式系统设计与实例开发实验教材 I[M].北京 :清华大学出版社 ,. [6] 童诗白 .模拟电子技术基础(第三版) [M].北京 :高等教育出版社 ,. [7] 阎石 .数字电子技术基础(第四版) [M].北京 :高等教育出版社 ,. [8] 中国集成电路大全编委会编 .《中国集成电路大全 —— CMOS集成电路》 [M]. 北京 :国防工业出版社 ,1985. 附录 1: 电路原理图 附录 2: LED点阵显示源程序 //宏定义 define uchar unsigned char define uint unsigned int //包含头文件 include include include uchar i,flag,X,j,k。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。