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

標(biāo)題: 各位高手幫忙看看為什么單片機(jī)控制led不顯示 求幫助 [打印本頁]

作者: hzxyhjm    時(shí)間: 2019-6-30 18:10
標(biāo)題: 各位高手幫忙看看為什么單片機(jī)控制led不顯示 求幫助
單片機(jī)程序
#include <stc15.h>                        // 包含STC15的頭文件
#include <intrins.h>                // 包含intrins.h頭文件,以便延時(shí)函數(shù)中用
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
/*七段共陽極管顯示定義*/
uchar code dispcode[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共陽極數(shù)碼管顯示數(shù)字0~9
sbit CLK=P5^5; //74HC595的11引腳
sbit DAT=P5^4; //74HC595的14引腳
sbit RCLK=P3^6;  //74HC595的12引腳
sbit CS1=P1^0; //數(shù)碼管段位COM1(公共端)即數(shù)碼管的1腳
sbit CS2=P1^1; //數(shù)碼管段位COM2(公共端)即數(shù)碼管的2腳
sbit CS3=P1^2; //數(shù)碼管段位COM3(公共端)即數(shù)碼管的3腳
sbit CS4=P1^3; //數(shù)碼管段位COM4(公共端)即數(shù)碼管的4腳
sbit CS5=P1^4; //數(shù)碼管段位COM5(公共端)即數(shù)碼管的5腳
sbit CS6=P1^5; //數(shù)碼管段位COM6(公共端)即數(shù)碼管的6腳

/*定義并初始化變量*/
uchar seconde=0;
uchar minite=0;
uchar hour=12;
uchar mstcnt=0;
//uchar i=0;

sbit P1_0=P3^3;                 // second 調(diào)整定義k3
sbit P1_1=P3^1;                 //minite調(diào)整定義,k2
sbit P1_2=P3^2;                 //hour調(diào)整定義,k1
/*函數(shù)聲明*/
void delay(uchar k );      //延時(shí)子程序
void time_pro( );    //時(shí)間處理子程序
void write595(uchar word);  //寫595 ,顯示
void keyscan( );       //鍵盤掃描子程序
/*****************************/
/*延時(shí)子程序*/
/****************************/
void delay(uchar k)   //延時(shí)函數(shù)100us
{
uchar m=30;
_nop_();
_nop_();
  do
   {
    while(--m);
    }
        while(--k);
   }
//寫數(shù)碼管函數(shù)
void write595(uchar word)
{
        uchar num;
                  
                uchar c=0;  
                num=dispcode[word];
         for(c=0;c<8;c++)
        {
                   CLK=0;
           DAT=num&0x80;
           num=num<<1;
           CLK=1;
                                 
                 }
                  
            RCLK=0;
               _nop_();
               _nop_();
        RCLK=1;
               
}

void select1(void)
{ //第一位數(shù)碼管
        CS1=0;CS2=1;CS3=1;CS4=1;CS5=1;CS6=1;
}

void select2(void)
{ //第二位數(shù)碼管
        CS1=1;CS2=0;CS3=1;CS4=1;CS5=1;CS6=1;
}

void select3(void)
{ //第三位數(shù)碼管
        CS1=1;CS2=1;CS3=0;CS4=1;CS5=1;CS6=1;
}

void select4(void)
{ //第四位數(shù)碼管
        CS1=1;CS2=1;CS3=1;CS4=0;CS5=1;CS6=1;
}

void select5(void)
{ //第五位數(shù)碼管
        CS1=1;CS2=1;CS3=1;CS4=1;CS5=0;CS6=1;
}

void select6(void)
{ //第六位數(shù)碼管
        CS1=1;CS2=1;CS3=1;CS4=1;CS5=1;CS6=0;
}


/**************************/
/*時(shí)間處理子程序*/
/**************************/

void time_pro(void)
{
        if(seconde==60)                    //秒鐘設(shè)為60進(jìn)制
          { seconde=0;
            minite++;
           if( minite==60)              //分鐘設(shè)為60進(jìn)制
              { minite=0;
                hour++;
              if(hour==12)              //時(shí)鐘設(shè)為12進(jìn)制
                 {hour=0; }
              }
          }

}
/*******************************/
/*鍵盤掃描子程序*/
/*******************************/
void keyscan(void)
{
    if(P1_0==0)                     //按鍵3秒的調(diào)整
       {
           delay(30);
               if(P1_0==0)
                   {
                       seconde++;
                      if(seconde==60)
                        {seconde=0; }
                   }
       }
    if(P1_1==0)                    //按鍵2分的調(diào)整
       {
            delay(30);
               if(P1_1==0)
                 {
                    minite++;
                    if(minite==60)
                      {minite=0;}
       }
     }
    if(P1_2==0)                   //按鍵1小時(shí)的調(diào)整
       {
            delay(30);
               if(P1_2==0)
                   {
                       hour++;
                    if(hour==24)
                      {hour=0; }
                 }
       }
}
void time_0()interrupt 1 //定時(shí)器0 50ms
{
         TH0=0x4c;             //預(yù)置計(jì)數(shù)初值
     TL0=0x00;

        mstcnt++;
        if(mstcnt==20)
        {
            seconde++;
            mstcnt=0;    //注意點(diǎn)。對(duì)計(jì)數(shù)單元的清零十分的重要,本次調(diào)試中就是
        }               //因?yàn)楹雎粤诉@一點(diǎn),給我早成了很大的被動(dòng)。

}
/**************************/
/*主函數(shù)*/
/**************************/
void main(void)
{
P1=0xff;                //初始化p1口,全設(shè)為1
AUXR &= 0x7F;                //定時(shí)器時(shí)鐘12T模式
        TMOD &= 0xF0;                //設(shè)置定時(shí)器模式
        TL0 = 0x00;                //設(shè)置定時(shí)初值
        TH0 = 0x4C;
        EA=1;                //設(shè)置定時(shí)初值
        TF0 = 0;                //清除TF0標(biāo)志
        TR0 = 1;                //定時(shí)器0開始計(jì)時(shí)


    while (1)
{
         keyscan( );    //按鍵掃描
         time_pro( ); //時(shí)間處理
           write595(hour/10); //要寫的值         
           select1(); //顯示第一位數(shù)碼管  
           delay(1);
           write595(hour%10); //要寫的值
           select2(); //顯示第二位數(shù)碼管
           delay(1);  
           write595(minite/10); //要寫的值
           select3(); //顯示第三位數(shù)碼管
            delay(1);   
           write595(minite%10); //要寫的值
           select4(); //顯示第四位數(shù)碼管
           delay(1);   
           write595(seconde/10); //要寫的值
           select5(); //顯示第五位數(shù)碼管
            delay(1);   
           write595(seconde%10); //要寫的值
           select6(); //顯示第六位數(shù)碼管
            delay(1);

}
}

led.jpg (208.87 KB, 下載次數(shù): 23)

用人家的電路自己編程實(shí)現(xiàn)LED時(shí)鐘

用人家的電路自己編程實(shí)現(xiàn)LED時(shí)鐘

作者: hzxyhjm    時(shí)間: 2019-6-30 18:10
只是實(shí)現(xiàn)LED時(shí)鐘和調(diào)節(jié)時(shí)間功能




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 99久久亚洲 | 毛片免费观看 | 九色网址 | 国产成人综合亚洲欧美94在线 | 九九成人 | 操人网| 欧美不卡一区二区三区 | 国产精品成人一区二区三区 | 欧美激情在线一区二区三区 | 男女羞羞视频在线 | 国产精品久久久久一区二区 | 国产精品免费观看视频 | 国产日韩欧美 | 欧美aⅴ| 中文字幕91av | 日韩欧美在线免费 | 国产一级片一区二区 | 日韩av在线一区二区 | 欧美精品一区在线发布 | 久久这里只有精品首页 | 久久久久久久国产 | 亚洲精品视频在线播放 | 51ⅴ精品国产91久久久久久 | 性生生活大片免费看视频 | 一区视频在线播放 | 欧美性视频在线播放 | 亚洲综合一区二区三区 | 国产精品视频观看 | 男女激情网站免费 | 亚洲网站在线观看 | 四虎影院美女 | 青青青伊人| 黄瓜av | 一区二区久久 | 天天爽一爽 | 久久久久国产 | 国产伦精品一区二区三区四区视频 | 亚洲成人日韩 | 欧美亚洲第一区 | 欧美一区免费在线观看 | 很很干很很日 |