数码管和573锁存器的细节问题

今天在QQ群上一个初学单片机的人提了一个关于数码管的问题,主要是程序的问题,由于对基础知识掌握不够,花了比较长的时间才解决,现总结一下其中的细节。

 

电路中8位数码管是由两个74HC573锁存器分别控制位选和段选的。



原程序大致如下(省去了include和sbit定义),目的是要实现第一个数码管显示“1",但是后面有几个数码管也有显示:

程序1

void main()
{WELA=1;//1P1=0xFE;//2WELA=0;//3DULA=1;//4P1=0x06;//5DULA=0;//6
}

由于程序没有while(1)循环,导致单片机不断循环重新执行程序
执行1时,段选锁存器为0x06,P1为0x06,位选刚打开时,位选锁存器值为0x06,所以六个数码管显示数字“1”
执行2时,位选锁存器值变为0xFE,第一个数码管显示“1”
执行3时,位选值0xFE锁存起来,第一个数码管显示“1”
执行4时,位选锁存器为0xFE,P1为0xFE,段选刚打开时,段选锁存器值为0x06,所以第一个数码管显示如图1形状
执行5时,段选锁存器值变为0x06,第一个数码管显示“1”
执行6时,段选值0xFE锁存起来,第一个数码管显示“1”




我原本是想让他在程序结尾加一个while(1)空循环,结果加错了,成了这样:

程序2

void main()
{while(1) {WELA=1;        //1P1=0xFE;        //2WELA=0;        //3DULA=1;        //4P1=0x06;        //5DULA=0;        //6}
}

程序2和1效果相近,由于while(1)的原因,切换更快,显示亮度更高



后来有人说中间加一个P1=0xFF,看上去好了一些,后面几个数码管不亮了,实际上第一个数码管显示不正常,还是没有完全解决问题:
程序3

void main()
{DULA=1;        //1P1=0x06;        //2DULA=0;        //3P1=0xFF;        //4WELA=1;        //5P1=0xFE;        //6WELA=0;        //7
}

执行1时,位选锁存器为0xFE,P1为0xFE,段选刚打开时,段选锁存器值为0xFF,所以第一个数码管显示如图1形状(时间很短,所以亮度低)
执行2时,段选锁存器值变为0x06,第一个数码管显示“1”
执行3时,段选值0xFE锁存起来,第一个数码管显示“1”
执行4时,P1变为0xFF
执行5时,段选锁存器为0x06,P1为0xFF,位选刚打开时,位选锁存器值为0xFF,所以八个数码管都不显示
执行6时,位选锁存器值变为0xFE,第一个数码管显示“1”
执行7时,位选值0xFE锁存起来,第一个数码管显示“1”



如果按照我原先的理解,结尾处加一个while(1)空循环,最后是可以正常显示的:

程序4

void main()
{WELA=1;        //1P1=0xFE;        //2WELA=0;        //3DULA=1;        //4P1=0x06;        //5DULA=0;        //6while(1);        //7
}

执行到3时,位选锁存器为0xFE
执行到6时,段选锁存器为0x06
执行到7时,锁存值不再改变,第一个数码管显示“1”,显示正确


为了使程序更加完善,以下写法更加可靠:

程序5

void main()
{P1=0xFE;        //1WELA=1;        //2WELA=0;        //3P1=0x06;        //4DULA=1;        //5DULA=0;        //6while(1);        //7
}

执行2、3时,位选锁存值为0xFE
执行5、6时,段选锁存值为0x06
执行到7时,锁存值不再改变,第一个数码管显示“1”


附注:
573的 LE锁存使能引脚 高电平时输出和输入相同,低电平时 输出不再改变,即下降沿锁存,也就是低电平锁存。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么银行大额存单没有4年期?想存4年期怎么办?

大额可以存四年吗?相信这个问题很多人都有类似的疑问,因为市场上目前没有4年期的存款期限。根据《大额存单管理暂行办法》大额存单期限包括1个月、3个月、6个月、9个月、1年、18个月、2年、3年和5年共9个品种,就是没有4年期的,普通…

STC单片机程序下载失败总结

STC单片机下载失败总结 ——PurpleSword STC为宏晶公司推出的国产51单片机,其优点在于价格低廉,功能强大,使用方便,尤其是其串口ISP下载程序的方式方便了大量用户,免去了购买昂贵的编程器,非常适合单片机…

我国经济最强的城市是哪个?北京、上海、还是深圳?

单论经济规模的话,最强的城市当属上海,若论经济质量的话,最强的是深圳市。目前上海是我国经济综合实力最强的。经济综合实力,可以从几个方面来评价,一个GDP规模,二个是财政收入,三个是进出口量&…

目前我国负债超过100万的大概有多少人?

说到负债,估计大家都不陌生,目前很多中国人都有负债,少的几千块钱,多的上千亿都有。目前我国居民负债比较高,而且增长较快十年前,如果说起家庭负债,人们往往用“美国老太太贷款买房提前享受、中…

拉5000万存款,银行客户经理能拿40万奖金?

我们都知道银行富得流油,在银行工作的人一般都是学历,高收入的人群,这是一份让很多人羡慕的工作。比如下图是2017年部分上市银行人均薪酬统计情况:从这个统计结果可以看出,银行薪酬是非常丰厚的,在26家上市…

正则表达式实例总结

(?<![a-z0-9章])\s([^a-z]*?)匹配前后都不是数字或字母的空格&#xff08;前面为第x章除外&#xff09;&#xff0c;用于删去文本中多余空格第一章 &#xff08;前面为"章"&#xff0c;此处空格不匹配&#xff09;大厅She &#xff08;前后为字母&#xff0c;此…

未来人口出现负增长后,我国的房价何去何从?

未来中国的房价会朝向哪里&#xff1f;是涨还是跌&#xff0c;这个都是很多人关心的问题&#xff0c;但是房价具体会怎么发展没人能给出一个准确的答案。但是你要是去问房地产界的人&#xff0c;很多都会给出这样的答案&#xff1a;短期看金融、中期看土地、长期看人口。也就是…

QQ在屏幕边缘自动隐藏不能正常显示

新安装的Win7系统&#xff0c;设置QQ在屏幕边缘自动隐藏&#xff0c;但是鼠标移到其附近时&#xff0c;窗口没有完全弹出&#xff0c;有时只显示一半&#xff0c;后来找到了解决办法 右击桌面-屏幕分辨率-高级设置-屏幕显示-取消勾选“启用自动滚屏”即可。

50万块钱,在哪个银行存钱最合适?

现在又到年底了&#xff0c;大家辛苦一年时间&#xff0c;该分红的分红&#xff0c;该领奖金的领奖金&#xff0c;所以大家的腰包都鼓起来了&#xff0c;腰包鼓起来之后&#xff0c;相信很多人想到的是去理财&#xff0c;而对于那些风险能力承受比较低的人来说把钱存进银行是最…

电脑入门学习最佳方法

看到不少刚入门的电脑刚入门者找不到适合自己的学习方法&#xff0c;到处碰壁&#xff0c;不但没了信心和兴趣&#xff0c;而且也耽误了不少宝贵的时间和金钱&#xff0c;做了许多无用功&#xff0c;到头来毫无收获。 因此我总结了一下我个人的一些学习方法与心得&#xff08;当…

Win7中的文件关联注册表

&#xff08;一&#xff09;在CMD中类似这样的命令assoc .txttxtfileftype txtfile...notepad.exe %1 // 如果是bat文件则为 ftype batfile"%1"%*作用于:[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.iso]"UltraISO"从.iso指向的UltraISO类型中获取默认图标、打…

信用卡超过还款日还款就算不良征信?这么做可以避免逾期!

小编有一个朋友&#xff0c;他的信用记录一直非常好&#xff0c;无论是贷款还是信用卡&#xff0c;一直都按时还款&#xff0c;而且每次都是提前好几天还&#xff0c;从来没有逾期过。不过元旦期间他去旅游&#xff0c;可能是玩的太嗨&#xff0c;忘记了1号是他的还款日&#x…

电子设计从零开始 第一章总结

电阻色环电阻阻值颜色 有效数字 倍率 误差 黑 0 10^0 棕 1 10^1 1% 红 2 10^2 2% 橙 3 10^3 黄 4 10^4 绿 5 10^5 5% 蓝 6 10^6 0.25% 紫 7 10^7 0.10% 灰 8 10^8 白 9 10^9 金 10^(-1) 银 10^(-2) 阻值、精度、功率、种类&#xff08;没有特殊说明&#xff…

支付宝18年账单已出,你消费了多少钱?

我2018年在支付宝上只消费了23678元&#xff0c;严重拖全国人民的后腿&#xff01;等了一个星期&#xff0c;支付宝2018年的年度账单终于出来的&#xff0c;2018支付宝年账单统计日期为2018年1月1日-2018年12月31日。账单首页显示2018年你在深夜打开支付宝的天数&#xff0c;向…

2019年最新银行存款利息,有的银行最高给到5.45%

2019年1月4日央行宣布降准1个百分点&#xff0c;15日降准0.5%&#xff0c;20日再降准0.5%。这个消息对于资本市场来说绝对是个利好消息&#xff0c;特别是对于股市和楼市更是利好&#xff0c;所以我们看到很多楼市、股市的从业人员都是一片欢呼。不过央行降准对于存款市场来说可…

单片机编程主函数的特点

在给一些单片机初学者解答问题的时候&#xff0c;我发现了一个现象&#xff0c;可能是因为受到电脑上学习C程序设计的影响&#xff0c;很多人会写出类似这样的程序&#xff1a; #include <reg52.h> void main() {P10x00; }或者是这样的程序 #include <reg52.h> int…

Best Free Network Performance Test tool – Iperf

According to wikipedia Iperf “is a commonly used network testing tool that can create TCP and UDP data streams and measure the throughput of a network that is carrying them. Iperf is a modern tool for network performance measurement written in C.” This t…

51单片机程序下载、ISP及串口基础知识

本文详细介绍了串口、51单片机的ISP下载等基础知识&#xff0c;已经学过单片机的也可以看看&#xff0c;加强一下对这方面的了解。串口串行接口简称串口&#xff0c;也称串行通信接口&#xff0c;是采用串行通信方式的扩展接口。我们比较熟悉的USB接口&#xff0c;全名通用串行…