就是按钮按一下,数码管从0开始加1,加到9,用c语言单片机编写并且要用计数器的方法编写.

2020-06-15 科技 196阅读
#include
#define uchar unsigned char
sbit P32=P3^2;
uchar num[10]={0xc0,0x5b};    
/*
具体值记不得了,可以百度,就是0-9,这里就写了俩还不一定是对的,就那意思
*/
void delay50us(void)
{
    uchar i,j;
    
    for(i=0;i<100;i++)
    {
        for(j=0;j<19;j++){;}
    }
}
void main(void)
{
    uchar s1;
    s1=0;P0=num[s1];
    while(1){
    if(P32==1)//如果p32是高电平
    {
        delay50us();//延时防抖动
        if(P32==1)
        {
            while(P32);
            /*
这是个很常用的处理方法,P32=1则会一直在循环里,P32=0则进行下一步,在串口双机通信实验里也许还能用上
            */
            if(s1==9){s1==0;}//如果是9就下一个显示0
            else{s1++;}//如果不是正常加一
        }
    }
    P0=num[s1];//刷新7seg值
}
}

这程序我刚打的,我也不知道能不能行,你看看吧,试试。能帮上点算点。


不好意思我没好好看清题目

!我没用计数器,sorry耽误你时间了

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com