找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3590|回复: 15
收起左侧

八位数码管静态显示 按书上的程序烧录后 数码管并没有亮

  [复制链接]
ID:164499 发表于 2017-3-12 12:51 | 显示全部楼层 |阅读模式
#include<reg52.h>
sbit dula=P2^6;
sbit wela=P2^7;
void main()
{
wela=1;
P0=0xFE;
wela=0;
dula=1;
P0=0x7F;
dula=0;
while(1);
}八位数码管 程序   按书上的程序烧录后  数码管并没有亮 求大神指点  困惑了好久了
回复

使用道具 举报

ID:111634 发表于 2017-3-12 19:48 | 显示全部楼层
程序应与电路对应。
回复

使用道具 举报

ID:165046 发表于 2017-3-12 19:53 | 显示全部楼层
对,再检查一下你的电路,还有你的数码管是共阳极还是共阴极!
回复

使用道具 举报

ID:164499 发表于 2017-3-12 22:45 | 显示全部楼层
zl2168 发表于 2017-3-12 19:48
程序应与电路对应。

可以具体点吗
回复

使用道具 举报

ID:151348 发表于 2017-3-13 10:41 | 显示全部楼层
P0口加上拉电阻了吗,没加的话记得加上,10k的电阻就行
回复

使用道具 举报

ID:99130 发表于 2017-3-14 16:20 | 显示全部楼层
共阳共阴,每一段接的位置,上拉电阻,单片机IO口的好坏等
回复

使用道具 举报

ID:108715 发表于 2017-3-17 08:19 来自手机 | 显示全部楼层
你把主函数里到while(1)之前的所有内容全部放到while(1)  
回复

使用道具 举报

ID:108715 发表于 2017-3-17 08:22 来自手机 | 显示全部楼层
之前那个回复点错了。你把while循环之前的程序写入循环里,因为程序开始就显示,等到执行到while时就结束了,这一段执行显示的时间大概也就几微秒。所以放入循环中让它一直执行显示程序。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:108715 发表于 2017-3-17 08:23 来自手机 | 显示全部楼层
之前那个回复点错了。你把while循环之前的程序写入循环里,因为程序开始就显示,等到执行到while时就结束了,这一段执行显示的时间大概也就几微秒。所以放入循环中让它一直执行显示程序。
回复

使用道具 举报

ID:108715 发表于 2017-3-17 08:24 来自手机 | 显示全部楼层
void main()
回复

使用道具 举报

ID:108715 发表于 2017-3-17 08:26 来自手机 | 显示全部楼层
把程序写在循环里,不然只执行一次,也就执行几微秒就结束了。多的不说了,字多了发不出来
回复

使用道具 举报

ID:856466 发表于 2020-12-8 00:13 | 显示全部楼层
想问一下楼主的问题有没有解决啊,孩子现在也碰到了同样的问题
回复

使用道具 举报

ID:387200 发表于 2020-12-9 14:13 | 显示全部楼层
你的while(1);里面并没有具体运行的程序内容,只执行一次,是没法初现效果的。你得将你的程序全部放到while循环里面去
回复

使用道具 举报

ID:844772 发表于 2020-12-9 14:29 | 显示全部楼层
删除 while(1); 就应该能亮,但会比较乱,因为没延时,一般延时3ms,

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:160500 发表于 2020-12-9 14:29 | 显示全部楼层
看你这程序不像静态显示,是动态扫描显示吧?静态显示要有锁存器,动态要不停扫描各个LED数码管,并且要有一定的延时

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:851329 发表于 2020-12-16 16:49 | 显示全部楼层
你可能就是没有连好电路, 这个得好好检查一下了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表