zoukankan      html  css  js  c++  java
  • 用Proteus学习51单片机之数码管

    最近刚做好一个站,基于rails 3,教程为主,大家捧场看看,谢谢!www.yo945.com

    今天去怀柔了,本想去爬一下野长城,没想到都4月份了,山中居然还下起了雪,对于我这个没有进过大山,没爬过雪山的人来说,真的是太激动了。当然,所谓乐极生悲,虽然悲是没有,不过跤实在是摔了有几个。

    晚上回来发现没网络,还好有一块3G网卡,和老婆利用代理,一起上了网。

    昨天有事没看书,今天继续。今天学的是数码管和锁存器的使用。用锁存器的目的,是为了减小IO口的使用,本来至少得用15根IO口的,用了锁存器后,只需要用10根IO口,若是继续增加数码管,IO口的增加也是一根根增加了。

    锁存器的作用,是把当然IO口的状态保存下来,具体由锁存器的LE脚控制,当LE脚为高电平时,锁存器的输出和输入一样,若LE脚为低电平时,则把LE脚电平改变前的输入脚的状态保存下来作为输出,此时不管输入怎么变,它的输出也不会变了。这样,就做到了单片机的1组输出脚,可以控制多个设备的目的。

    image

    原理图请见上图,在图中,可以看到导线很少,这是因为要连接的导线很多,如果直接用导线连接的话,会导致整个设计图乱成一片,根本看不清楚,所以,这里使用标号来连接,即线的标号名字一样的,会自动连接在一起,如D0会自动和所有名字叫D0的线连起来,这要整个界面就看起来清爽了很多。

    在这里再说个小技巧,为导线设计属性时,在Proteus里面,有一个挺方便的工具,叫“属性设置工具”,在工具菜单中间,可以用来批量给导线设置属性,比如给导线取标号是D0到D7,可以这样设置:

    image

    在字符串那里,填写NET=D#,表示标号的类型是D#这样的类型,而#会自动从下面的计数值开始,每次增加1.设置好以后,只要在要设置的线上面点击一下,就会自动把标号设置为D0,D1…。至于字符串中可以使用的属性,可以看右边的帮助,如给元件设置的话,可以是REF,VALUE,DEVICE,PINSWAP可以使用。

    数码管的连续显示,原理是先在第一个数码管显示一个数字,然后在很快的时候里设置第二个,第三个数码管的数字。由于切换的时间非常的短,这样利用了人眼的视频暂留原理,看起来就是完整的显示了。这个其实和以前的电视机原理差不多。不过在Proteus上,由于显示及计算等原因,并不能看到完全显示的效果.(经高手指导,我知道自己搞错了,Proteus是完全可以完美的显示的,修改了一下代码就好了,主要是延时要小,并且要把数码管在显示后关闭)

    代码及仿真下载:点击下载

  • 相关阅读:
    物联网相关期刊会议
    Java O O第十一天
    mac下安装伪分布hadoop2.6.0和hbase1.0.1.1
    Ubuntu下使用openssl为apache2配置ssl
    ubuntu下安装hadoop
    ubuntu 添加应用到Dash启动器
    Ubuntu12.04中安装Oracle JDK和NetBeans的方法
    Ubuntu12.04中在桌面建立指向网页的链接文件的方法
    Ubuntu12.04中Gvim无法固定到启动器的解决办法
    Ubuntu中apt-get安装或更新软件错误的解决办法
  • 原文地址:https://www.cnblogs.com/varlxj/p/1709845.html
Copyright © 2011-2022 走看看