久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1461|回復: 3
打印 上一主題 下一主題
收起左側

單片機設計把led燈的代碼加到主函數后數碼管就不亮了

[復制鏈接]
跳轉到指定樓層
樓主
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
char s;
uchar num=0;
char time=20;
char datitime=30;
uint tt,t1;
bit flag,s_flag=1,b_flag,fall_flag,fw_flag;

sbit K0=P3^0;
sbit beep=P3^7;        

sbit K1=P1^0;       
sbit K2=P1^1;
sbit K3=P1^2;
sbit K4=P1^3;
sbit D1=P1^4;
sbit D2=P1^5;
sbit D3=P1^6;
sbit D4=P1^7;

sbit K_fw=P3^2;       
sbit K_Time=P3^5;
void delay(uchar ms)
{
        uchar y;
        for(;ms>0;ms--)
                for(y=120;y>0;y--);
}
uchar code tabledu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar code tablewe[]={0XFE,0XFD,0XFB,0XF7};
void T0_Init(void)
{
        TMOD=0X01;
        TH0=(65536-2000)/256;
        TL0=(65536-2000)%256;
        TH1=(65536-2000)/256;
        TL1=(65536-2000)%256;
        ET0=1;
        ET1=1;
        EX0=1;
        EA=1;
        IT0=1;
        P0=0;
}
void Key_Scan(void)       
{
        if(K0==0)
        {
                delay(10);
                if(K0==0)
                {
                        while(!K0);
                        TR0=1;
                        s=time;
                        tt=0;
                        flag=1;
                        s_flag=1;
                        b_flag=1;
                        num=0;
                        beep=1;
                        fall_flag=0;

                }
        }
}
void Scan(void)       
{
        if(K1==0)
        {
                delay(10);
                if(K1==0)
                {
                        while(!K1);
                        num=1;       
                        TR0=0;       
                        TR1=1;               
                        s_flag=0;
                }
        }
        if(K2==0)               
        {
                delay(10);
                if(K2==0)
                {
                        while(!K2);
                        num=2;               
                        TR0=0;
                        TR1=1;
                        s_flag=0;
                }
        }
        if(K3==0)
        {
                delay(10);
                if(K3==0)
                {
                        while(!K3);
                        num=3;
                        TR0=0;
                        TR1=1;
                        s_flag=0;
                }
        }
        if(K4==0)
        {
                delay(10);
                if(K4==0)
                {
                        while(!K4);
                        num=4;
                        TR0=0;
                        TR1=1;
                        s_flag=0;
                }
        }

}
void display(void)
{
        if(flag==1)               
        {
                if(num!=0)       
                {
                        P0=tabledu[num];       
                        P2=tablewe[0];
                        delay(2);
                        P0=0;
                        P2=0XFF;
                }
                else       
                {
                        P0=0;               
                        P2=0XFF;
                }
                P0=tabledu[s/10];               
                P2=tablewe[2];
                delay(2);
                P0=0;
                P2=0XFF;
                P0=tabledu[s%10];
                P2=tablewe[3];
                delay(2);
                P2=0XFF;
                P0=0;
        }
        else       
        {
                if(fall_flag==1)       
                {
                        if(num!=0)
                        {
                                P0=tabledu[num];       
                                P2=tablewe[0];
                                delay(2);
                                P0=0;
                                P2=0XFF;
                                P0=tabledu[15];       
                                P2=tablewe[2];
                                delay(2);
                                P0=0;       
                                P2=0XFF;
                                P0=tabledu[15];
                                P2=tablewe[3];
                                delay(2);
                                P0=0;
                                P2=0XFF;
                        }
                        else               
                        {
                                P0=0;               
                                P2=0XFF;
                        }
                }
                        else       
                        {
                                P0=tabledu[15];
                                P2=tablewe[0];
                                delay(2);
                                P0=0;
                                P0=tabledu[15];
                                P2=tablewe[2];
                                delay(2);
                                P0=0;       
                                P2=0XFF;
                                P0=tabledu[15];
                                P2=tablewe[3];
                                delay(2);
                                P0=0;
                                P2=0XFF;
                        }       
                }       
}


void main(void)
{
        T0_Init();
        while(1)
        {
           if(K0==0)
           {
              D1=0;
                }
        }
        {
                Key_Scan();       
                if((flag==0)&(s_flag==1))       

                if((flag==1)&(s_flag==0))
                {
                        if(K_Time==0)
                        {
                                delay(10);
                                if(K_Time==0)
                                {
                                        while(!K_Time);
                                        s=datitime;
                                        TR0=1;
                                        tt=0;
                                        TR1=1;
                                }
                        }
                }       
                if((flag==0)&(s_flag==1))
                {
                        Scan();
                        if(num!=0)               
                        {
                                fall_flag=1;

                        }
                }
                if((flag==1)&(s_flag==1))
                {
                        Scan();
                }       
                display();       
        }
}

void int0(void) interrupt 0
{
        if(K_fw==0)
        {       
        while(!K_fw)
        {
                   while(K0==1)
                {P0=tabledu[15];
                P2=tablewe[0];
                delay(2);
                P0=0;
                P0=tabledu[15];
                P2=tablewe[2];
                delay(2);
                P0=0;
                P2=0xFF;
                P0=tabledu[15];
                P2=tablewe[3];
                delay(2);
                P0=0;
                P2=0xFF;}       
        }
        }
}
void timer0(void) interrupt 1
{
        TH0=(65536-2000)/256;        //2ms
        TL0=(65536-2000)%256;
        if(b_flag)
        {
                beep=~beep;
        }
        else
        beep=1;
        if(s<5)       
        {
                if(s%2==0)
                {
                        b_flag=1;
       
                }
                else
                {
                        b_flag=0;

                }
        }
        tt++;       
        if(tt==500)               
        {
                tt=0;
                s--;
                b_flag=0;
                if(s==-1)
                {
                        s=20;       
                        TR0=0;
                        flag=0;       
                        s_flag=1;
                        num=0;

                }
        }
}
void timer1(void) interrupt 3       
{
        TH1=(65536-2000)/256;
        TL1=(65536-2000)%256;
        beep=~beep;
        t1++;
        if(t1==500)
        {
                t1=0;
                TR1=0;
        }
}
單片機設計把led燈的代碼加到主函數后數碼管就不亮了,但是把led燈的拿掉后又出來了.

{)8{`A0WIR3NAU$CK5`V52E.png (59.32 KB, 下載次數: 18)

{)8{`A0WIR3NAU$CK5`V52E.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:161164 發表于 2022-6-2 09:23 | 只看該作者
這是什么縫合怪代碼?
如果你說的led燈代碼是下面箭嘴所指的那段
你的C 語言要補一補課了
  1. void main(void)
  2. {
  3.         T0_Init();
  4.         while(1)
  5.         {//<<<<<<<<<<<<<<<
  6.                 if(K0==0)
  7.                 {
  8.                         D1=0;
  9.                 }
  10.         }//<<<<<<<<<<<<<<<
  11.         {
  12.                 Key_Scan();
  13.                 if((flag==0)&(s_flag==1))

  14.                         if((flag==1)&(s_flag==0))
  15.                         {
  16.                                 if(K_Time==0)
  17.                                 {
  18.                                         delay(10);
  19.                                         if(K_Time==0)
  20.                                         {
  21.                                                 while(!K_Time);
  22.                                                 s=datitime;
  23.                                                 TR0=1;
  24.                                                 tt=0;
  25.                                                 TR1=1;
  26.                                         }
  27.                                 }
  28.                         }
  29.                 if((flag==0)&(s_flag==1))
  30.                 {
  31.                         Scan();
  32.                         if(num!=0)
  33.                         {
  34.                                 fall_flag=1;

  35.                         }
  36.                 }
  37.                 if((flag==1)&(s_flag==1))
  38.                 {
  39.                         Scan();
  40.                 }
  41.                 display();
  42.         }
  43. }
復制代碼
回復

使用道具 舉報

板凳
ID:979299 發表于 2022-6-2 10:38 | 只看該作者
void main(void)
{
         T0_Init();
         while(1)
         {
            if(K0==0)
            {
               D1=0;
                 }
         }《《《《《《《《《《程序到此不再往下,要么改復合方式,要么加控制語句,要看你想要同時運行還是分時運行
         {
                 Key_Scan();        
回復

使用道具 舉報

地板
ID:735831 發表于 2022-6-2 11:44 | 只看該作者
死循環,跑不出去理所應當,不跑出去哪來的數碼管亮滅
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人免费视频网站在线看 | 精品国模一区二区三区欧美 | 国产二区视频 | 亚洲免费在线 | 国产精品亚洲二区 | 久久性av| 狠狠av| av福利网| 日韩一| 羞羞视频免费观 | 日韩av第一页 | 欧美精品一区二区三区在线 | 韩日精品一区 | 亚洲欧美一区在线 | 亚洲一区在线免费观看 | 久久激情网 | 欧美伊人久久久久久久久影院 | 91精品国产乱码久久久久久久久 | 天天拍天天操 | 欧美日韩黄色一级片 | 日韩在线不卡 | 国产精品久久久久久久久久久久久 | 日本大香伊一区二区三区 | 久久久亚洲 | 国产精品久久久久久久久免费樱桃 | 狠狠色香婷婷久久亚洲精品 | 一本岛道一二三不卡区 | www.国产一区 | 亚洲欧美一区在线 | 欧美日韩高清在线观看 | 一级黄色毛片子 | 国产日韩视频在线 | 欧美激情在线精品一区二区三区 | 国产伊人久久久 | 日韩手机在线看片 | 欧美视频免费在线 | 欧美在线一区二区三区四区 | 久久成人国产精品 | 国产午夜精品一区二区三区嫩草 | 国产成人综合网 | 欧美在线一区二区三区 |