proteus电路要用数码管英文在proteus显示生日 运行之后就只显示几个小数点,是程序的问题吗?

51proteus仿真:7段数码管显示小数
这个51单片机的proteus仿真实现无符号浮点数的显示。
具体说,显示个位和小数点后三位
数码管的显示一定要注意消隐的问题,每次显示数字之前要先关一次数码管。否则会出现显示混乱。
仿真电路图如下:
C程序如下:
#include&reg52.h&
#include&intrins.h&
sbit duan=P3^0;
sbit wei=P3^1;
unsigned char code table[] = {
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71 };
void delay(void)
unsigned char i,j;
for(i=0;i&10;i++)
for(j=0;j&110;j++);
void show6led(float num)
P2=table[i]+0x80; //显示个位和小数点
P2=0 //先关闭led
P2=0 //段选3
P3=0 //这两句非常重要,主要是清屏消隐
num=num-i;
num=num*10;
P2=table[i];
P2=0xf7; //段选4,十分位
num=num-i;
num=num*10;
P2=table[i];
P2=0 //段选5,百分位
num=num-i;
num=num*10;
P2=table[i];
P2=0 //段选6,千分位
number=3.718;
show6led(number);
原文链接:
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)利用proteus做51单片机的数码管动态显示_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
利用proteus做51单片机的数码管动态显示
&&本文用proteus对郭天祥老师的新概念51单片机教程上的第4章关于独立按键检测进行了修改,上传以供相互交流
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢求助谁有办法直接让7段数码管直接显示数字|我爱单片机 - 数码之家
查看完整版本: [--
赞助商链接
个人DIY用到,想直接显示数字 比如显示1接通b c&&、显示2接通a b g e d、显示3接通a b g c d、显示4接通f g b c ,本想直接焊接加装限流电阻即可实现,但是考虑到很多焊脚会重复焊接,特此发帖询问有没有较好的芯片,能够实现我这个功能(数码管只用与芯片连接abcdefg,芯片输入“1”与地通直接在数码管显示数字1 ,芯片输入“2”与地通直接在数码管显示数字2,等等)
赞助商链接
[attachment=2490877]
赞助商链接
有专用的数码管译码器,你到网上一查就有很多
三八译码器,你是如何输入1,2的呢?
应该可以的,用二极管组成门电路,有些脚得接好多二极管,占用的端口也多两个
查一下74ls48的用法
翻翻数电课本吧,编码器。
lz是想输入的“1”“2”等数字是什么编码的?什么协议的?是以什么形式发送给芯片接受显示的?这点要弄清楚。因为有10个数字,数据就有10种状态。
如果想用硬件开关来实现显示数字,那你需要7个开关,分别控制7个段,你把7个开关拍成“8”的形状,每个开关闭合,相应字段亮,这样想显示什么就闭合什么,这是最简单的方法了。如果用3-8译码器,那你只要3个开关,不过顺序可能容易搞乱。不如上面简单。 刚又认真看了一遍,原来你是要数码管与芯片连接,然后比如芯片的1脚接地,数码管显示1,9脚接地,数码管显示9,第10脚接地,显示0.差不多是这个意思吧? 那就用单片机吧,程序简单,接线简单。几个if就可以了。用28脚的足够了。
[attachment=2490926]
以共阴极为例,列举“1、2”接法,其余类推[attachment=2490937]
我记得以前的古董电视上有那种频道显示的数码管译码驱动块,我查查,恩,CH233,应该行,不过一般不好找,输入八条线,输出七段,每条输入线置高显示对应的数字,比如1接高电平数码管就显示1
呵呵,和你这个一个效果
74LS47/247/4511,输入BCD码,输出段码直接连接数码管,之前可以再接个译码器什么的
74LS247就可以撒,有四个输入端子,输入四位二进制编码,就可以让一位的数码管显示1、2、3、4、5、6、7、8、9、0,不过得共阳数码管。俺做了一个:[attachment=2491078][attachment=2491079]参考:[attachment=2491088]
[attachment=2491461]从0-9,打开哪个开关就显示哪个数字。
max7219就有这个功能
呵&&偶之前也做过一个纯模拟的,手动开关
如果用到的数字只是0-5,可以直接用摩托车档位显示。
CD4511不是也一样可以嘛
这图看得蛋疼 &&&&
最基本的都在我们曾经读的本本上,拿出来是那么的熟悉。
这个中学的时候搞过,记得那时没用编译码器,接了N多二极管。
要是同时打开多个开关,会如何??
自己用VHDL写一个,简直就是最最简单的入门级应用,最小规模的CPLD都能完成。
字数~字数~字数~
这个=740) window.open('http://img.mydigit.net/Mon_902_7ce08c.jpg?182');" style="max-width:100%;" onload="if(is_ie6&&this.offsetWidth>740)this.width=740;" >真是太好了 一定要试验一下
老兄,在下有个不情之请:可否传给在下这个的PROTEUS模拟文件呢?感谢先。
那就简单了,输入线一接俩2级管到BC输入线2接接5个二极管到abged......
当年学数字电路的时候用38译码器和几个门电路做了一个,好复杂的,好像有专门的芯片
查看完整版本: [--
Powered by
Time 0.126774 second(s),query:5 Gzip enabled}

我要回帖

更多关于 proteus数码管在哪 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信