发 帖  
[问答]

数码管动态扫描

1558 数码管
已退回5积分
2020-9-2 00:15:58   1 评论 分享淘帖 邀请回答 举报
1 条评论
  • 2020-9-2 11:00

    代码太乱,给你整理一下。适合共阴数码管通过74HC573复用P0口
    #include<reg52.h>
    #define uint unsigned int
    #define uchar unsigned char
    sbit dula=P2^6;
    sbit wela=P2^7;
    uchar code tabLEDu[]={
            0x3f,0x06,0x5b,0x4f,0x66,
            0x6d,0x7d,0x07,0x7f,0x6f};
    uchar numdu;

    void main()
    {
            numdu=0;
            TMOD= 0x01;                //设置定时器模式
            TL0 = 0x18;                //设置定时初值1ms
            TH0 = 0xFC;                //设置定时初值1ms
            TF0 = 0;                //清除TF0标志
            TR0 = 1;                //定时器0开始计时
            while(1)
            {
                    if(TF0==1)//定时器溢出标志=1
                    {
                            TF0=0;//定时器溢出标志清0
                            TL0 = 0x18;                //重装初值
                            TH0 = 0xFC;                //重装初值
                            P0&=0x00;                //数码管消隐
                            dula=1;                        //段码锁存
                            dula=0;
                            P0|=~(0x01<<numdu);//送位码
                            wela=1;                        //位码锁存
                            wela=0;
                            P0=tabLEDu[numdu+1];//送段码
                            dula=1;                        //段码锁存
                            dula=0;
                            numdu++;                        //动态显示计数
                            if(numdu==6)
                                    numdu=0;
                    }
            }
    }

3个回答
2020-9-2 09:40:53 评论

举报

2020-9-2 11:08:03 评论

举报

2020-9-11 11:48:20 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

您需要登录后才可以回帖 登录/注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@huaqiu.com
关闭

站长推荐 上一条 /6 下一条

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