找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3444|回复: 8
打印 上一主题 下一主题
收起左侧

感觉板子出问题了

[复制链接]
跳转到指定楼层
楼主
/************************************************
跳线设置:双排针除PSEN外全部插上
硬件结构框架:
           1,八位八段数码管
                2,MCU  STC89C52
显示效果:
                   1,在数码管上循环显示0-9
相关知识点:
           1,数码管的驱动显示方式
************************************************/

先贴代码:
个人根据例程改的一段程序,预期效果是轮流显示0~7,然后是第1,3,5,7位和2,4,6,8位轮流显示。
结果只是最后两位一直在亮。
好头疼啊,用了光盘里的滚动例程,看到的也是最后两个亮,但是数字每次变,亮度也在变。
个人感觉是不是数码管哪里出问题了。
#include"AT89x52.h"
#include"math.h"
       
#define uint unsigned int
#define uchar unsigned char

sbit DUAN=P2^6;     //74HC573的LE端  U1  数码管LED的段选端
sbit WEI=P2^7;      //74HC573的LE端  U1  数码管LED的位选端
uchar Temp[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  //共阴显示字库

void delay(uint z)              //1ms延时
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}


main()
{
        uchar i;
        uchar f;
        f=0xAA;
       
        while(1)
        {
                for(i=0;i<8;i++)
                {
                                delay(500);  //延时
                                f = ~f;               
                               
                                WEI = 1;
                                P0 = f;
                                WEI = 0;

                                DUAN = 1;
                                P0 = Temp[i];          //送段码
                                DUAN = 0;
                }
        }       
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:7485 发表于 2013-7-19 17:55 | 只看该作者
什么板子?光你知道不行,让别人也知道,才可能帮你忙。
回复

使用道具 举报

板凳
ID:1 发表于 2013-7-19 20:50 | 只看该作者
出了是没问题 详细说明一下 看看我能不能帮你搞定
回复

使用道具 举报

地板
ID:1 发表于 2013-7-19 20:50 | 只看该作者
出了什么问题 详细说明一下 看看我能不能帮你搞定
回复

使用道具 举报

5#
ID:48079 发表于 2013-7-20 13:16 | 只看该作者
ahshmj 发表于 2013-7-19 17:55
什么板子?光你知道不行,让别人也知道,才可能帮你忙。

就是在51hei买的开发板
回复

使用道具 举报

6#
ID:48079 发表于 2013-7-20 13:52 | 只看该作者
本帖最后由 柳暗花明 于 2013-7-20 14:01 编辑
admin 发表于 2013-7-19 20:50
出了什么问题 详细说明一下 看看我能不能帮你搞定

用了光盘里的数码管滚动显示例程,看到的也是最后两个数码管亮,但是数字每次变,亮度也在变。个人感觉是不是数码管哪里出问题了。我不知道是程序的问题还是板子的问题。经过几次实验,我发现让先位选端直通,写入数据后,位选端锁存,锁存后再直通,再输入也改不了位选了。又调试了下,发现了一个让我很吃惊的规律:(笔误,不是图6,是图2)
这个是位选为0xAE的情况 ,图1:

这个是位选为0xAA的情况 图2:

我觉得好奇怪,为什么延迟一会儿就造成了这个差异呢,延迟时间短,位选就能改,延迟时间长,位选就改不了了呢?这个是板子或者数码管的问题,还是程序设计上还需要一些细节。

回复

使用道具 举报

7#
ID:1 发表于 2013-7-21 03:41 来自手机 | 只看该作者
液晶拔掉,问题解决
回复

使用道具 举报

8#
ID:1 发表于 2013-7-21 03:41 来自手机 | 只看该作者
液晶拔掉,问题解决
回复

使用道具 举报

9#
ID:1 发表于 2013-7-21 03:41 来自手机 | 只看该作者
液晶拔掉,问题解决
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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