发 帖  
[问答] 用八位数码管实现12345678同时亮
2018-5-10 19:15:49  687 数码管 来自手机
收藏 2 收藏 推荐 0 推荐
分享
搞了一下午也没弄好啊 求大神指点
15259507966832120532996.jpg
15259508866431933917800.jpg
2018-5-10 19:15:49   评论 邀请回答
4个回答
郭天祥十天学会51单片机,学习过你就可以做出来
2018-6-14 13:39:15 评论

举报

本帖最后由 gtzhchg 于 2018-6-14 22:35 编辑


给你个参考在下面程序
2018-6-14 22:26:34 评论

举报

#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int

uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code LED_W[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
/********************************************************************
* 名称 : Delay_1ms()
* 功能 : 延时子程序,延时时间为 1ms * x
* 输入 : x (延时一毫秒的个数)
* 输出 : 无
***********************************************************************/
void Delay(uint i)
{
        uchar x,j;
        for(j=0;j<i;j++)
        for(x=0;x<=148;x++);       
}

/********************************************************************
* 名称 : Main()
* 功能 : 数码管的显示
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Main(void)
{
        uchar i;
        while(1)
        {
                for(i=0;i<8;i++)
                {
                        P0 = 0;               
                        P2 = LED_W;                 //选择哪一位数码管点亮
                        P0 = table;                 //赋值段码给P0口
                        Delay(2);                         //延时0.02秒
                }
        }
}
参考
2018-6-14 22:34:58 评论

举报

2018-6-17 19:34:59 评论

举报

撰写答案

你正在撰写答案

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

高级模式
您需要登录后才可以回帖 登录 | 注册

提问题
关闭

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

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