OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 两位数码管单片机程序,个位数一直闪烁,求指导

共6条 1/1 1 跳转至

两位数码管单片机程序,个位数一直闪烁,求指导

助工
2020-06-13 22:22:57    评分

两位数码管单片机程序,个位数一直闪烁,求指导! 

我的源码如下:


#include "reg51.h"
unsigned char b[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
char i;
sbit key=P3^0;
sbit wei1=P2^0;
sbit wei2=P2^1;
void delay(int x)
{        
        int i,j;
        for (i=1;i<x;i++)        
        for (j=1;j<600;j++);
}        
void display(int tens,int ones)
{
        int i;
        for(i=20;i>0;i--)

        {
                wei1=0;
                wei2=1;
                P0=b[tens];
                delay(12);
                wei1=1;
                wei2=0;
                P0=b[ones];
                delay(10);
        }
}
void  main()
{
        int one=0,ten=0;
        P2=0x2f;
        
        while(key==0)
        {
        
                for(ten=0;ten>=0;ten--)
                {
                        for(one=9;one>=0;one--)
                        {
                                display(ten,one);
                        }
                }
                P2=0x8f;
                for(ten=0;ten>=0;ten--)
                {
                        for(one=9;one>=0;one--)
                        {
                                display(ten,one);
                        }
                }        
                P2=0X2f;
                break;
        }        
}


  • SV50BCOBF5`(FS7AZ_(SYDV.png



关键词: 数码管     LED数码管     驱动    

助工
2020-06-13 23:16:35    评分
2楼

闪烁是频率问题,频率问题调节延时。


助工
2020-06-13 23:21:09    评分
3楼

楼主要找一个成熟程序参考。这main()函数基本结构都不对,自己凭想象胡乱写的根本玩不转。除了重新写根本没法改。


助工
2020-06-13 23:24:37    评分
4楼

应该重新看下


助工
2020-06-13 23:26:17    评分
5楼

主函数需要加while(1){

}


助工
2020-06-22 23:48:30    评分
6楼

加个while函数就解决了


共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]