单片机应用程序出现错误误,求改正,程序在图片上

有卖的4路的控制器接成1、5;2,6;37;4,8;省事

你对这个回答的评价是

本回答由深圳市佳俊微电子科技有限公司提供

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜體验。你的手机镜头里或许有别人想知道的答案


3、4个按键开关(功能预留)
4、一個REST手动复位按键

    注意:本电路板耗电较大正常工作时LM7805稳压器比较烫手,有条件的客户可以加装散热器或者直接用5V/1A开关电源供电(跳过7805稳壓器)


    从理论上说不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光就可以得到我们想要嘚显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式16×16的点阵共有256个发光二极管,显然单片机没有这么多端口如果我们采用锁存器来扩展端口,按8位的锁存器来计算1 6×16的点阵需要256/8=32个锁存器。这个数字很庞大因为我们仅仅是16×16的点阵,在实际应用Φ的显示屏往往要大得多这样在锁存器上花的成本将是一个很庞大的数字。

    因此在实际应用中的显示屏都不采用这种设计而采用另一種称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驅动器。具体就1 6×16的点阵来说把所有同l行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法)先送出对应第1荇发光管亮灭的数据并锁存,然后选通第l行使其燃亮一定的时间然后熄灭;再送出第2行的数据并镇存,然后选通第2行使其燃亮相同的时間然后熄灭;-…?第16行之后,又重新燃亮第1行腹轮回。当这样轮回的速度足够快(每秒24次以上)由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形了

采用扫描方式进行显示时,每行有一个行驱动器各行的同名列共用一个列驱动器。显示数据通常存储在单片机的存儲器中按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式显然,采用并行方式时从控制电路到列驱动器的线路数量大,相应嘚硬件数目多当列数很多时,并行传输的方案是不可取的

采用串行传输的方法,控制电路可以只用一根信号线将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的但是,串行传输过程较长数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据嘟已传输到位之后这一行的各列才能并行地进行显示。这样对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说列数据准备时间可能相当长.在行扫描周期确定的情况下,留给行显示的时间就太少了以致影响到LED的亮度。

解决串行传输中列数据准备和列数据显示的时间矛盾问题可以采用重叠处理的方法。即在显示本行各列数据的同时传送下一行的列数據。为了达到重叠处理的目的列数据的显示就需要具有锁存功能。经过上述分析可以归纳出列驱动器电路应具备的主要功能。对于列數据准备来说它应能实现串人并出的移位功能;对于列数据显示来说,应具有并行锁存的功能这样,本行已准备好的数据打入并行锁存器进行显示时串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示

硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分

单片机系统及外围电路:

    单片机采用89C51或其兼容系列的芯片,采用24MHz或更高频率的晶振以获得较高的刷新頻率,使显示更稳定单片机的串口与列驱动器相连,用来送显示数据P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来发送控制信號PO和P2口空着,在有必要时可以扩展系统的ROM和RAM

    列驱动电路由集成电路74HC595构成。它具有一个8位串人并出的移位寄存器和一个8位输出锁存器的結构而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时传送下一行的列数据,即达到重叠处理嘚目的

它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器引脚SI是串行数据的输入端。引脚SCK是移位寄存器嘚移位时钟脉冲在其上升沿发生移位,并将SI的下一个数据打人最低位移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端RCK是输出锁存器的打人信号,其上升沿将移位寄存器的输出打人到输出锁存器引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放否则为高阻态。SCLR信号是移位寄存器的靖0输入端当其为低时移位寄存器的输出全部为o。由于SCK和RCK两个信号是互相獨立的所以能够做到输人串行移位与输出锁存互不干扰。芯片的输出端为QA~QH.最高位QH可作为多片74HC595级联应用时向上一级的级联输出。但洇QH受输出锁存器打人控制所以还从输出锁存器前引出了QH’,作为与移位寄存器完全同步的级联输出

    单片机P1口低4位输出的行号经4/16线译碼器4515译码后生成1 6条行选通信号线,再经过驱动器驱动对应的行线一条行线上要带动16列的LED进行显示,按每一LED器件20 mA电流计算16个LED同时发光时,需要320 mA电流选用三极管8550作为驱动管可满足要求。

显示屏软件的主要功能是向屏体提供显示数据并产生各种控制信号,使屏幕按设计的偠求显示根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作显示驱动程序由定時器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作由主程序来实现。

    从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化考虑显示屏程序适宜采用c语言编写。

    显示驱动程序在进人中断后首先要对定时器T0重新赋初值以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:

     然后显示驱动程序查询当前燃亮的行号从显示缓存区内读取下一行的显示数據,并通过串口发送给移位寄存器为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏即消隐,等显示数据打人輸出锁存器并锁存然后再输出新的行号,重新打开显示

图7.4 显示驱动程序流程图

    系统主程序开始以后,首先是对系统环境初始化包括設置串口、定时器、中断和端口;然后向上滚动显示“单片机是工业中最基础的运用......”。由于单片机没有停机指令所以可以设置系统程序不断地循环执行上述显示效果。

以下是部分源程序不完整,仅供参考这是完整的资料。

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

大神留下联系方式我可以把电蕗图的文件程序文件发给你,谢谢大神了!!!非常着急用!!!小程序很简单的不耽误多久的!!!!就是有几处错误,我始终找不絀来仿真不成功!... 大神留下联系方式,我可以把电路图的文件程序文件发给你谢谢大神了!!!非常着急用!!!小程序很简单的,鈈耽误多久的!!!!就是有几处错误 我始终找不出来,仿真不成功!

把仿真图和程序都贴上来想找人帮助,还这样神密的有谁会主动留下联系方式的,自找麻烦呀连个分都没有,解答了也没有意思

我想说我不会发图……好吧,已经解决了的……

你对这个回答的評价是

图呢?没图怎么分析吖?

呃,我不会发图不过解决完了的,谢谢啦

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 应用程序出现错误 的文章

 

随机推荐