欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: STC15W408AS單片機四位數碼管+1307程序 [打印本頁]

作者: 3花木城    時間: 2022-2-16 22:32
標題: STC15W408AS單片機四位數碼管+1307程序
數碼管的程序用了之前網友發的代碼
說明:上電數碼管流水,2秒后顯示1307的時間,顯示時間時,按鍵1,切換數碼管流水-計時器-顯示時間,按鍵2,切換要調整的時,分值
每5分鐘,蜂鳴器響2秒
有一個問題不會,調整1307的值時,是以16進制的方式調,10再往上就出現字母了,下次再解決吧。
單片機代碼只上傳了C文件的,其他文件在壓縮包里

#include<STC15W.H>
#include<LED.h>          //   定義了LED黃燈   定義了 時鐘的一個標志位ds1307flag,
#include<SMG.h>           //   
#include<T2.h> //   定時器2   用于數碼管  計時
#include<FMQ.h>                 //
#include<KEY.h>                   //
#include<DS1307.h>                 //
//#include<T0.h>  //   定時器0  用于FMQ

void main()
{
        Timer2Init();  // 定時器2初始化
//        Timer0Init();   // 定時器0初始化
        fmqinit();   // 蜂鳴器 初始化
        smgioinit();   // 數碼管 位選 推挽
        //write(0xd0,0x01,minute); //  分   手動輸入時間
//        write(0xd0,0x02,0x22);        //   時           手動輸入時間
        while(1)
        {
                if(xx1==0)          //  上電 數碼管動態流動           2秒后,XX1=1;顯示時間
                {
                         smginit_2();
                }

                if(xx1==1)          //  
                {
                 ds1307dis();  //顯示1307  時間
                         Key_Scan();   // // 按鍵4 切換     
                        Key_Scan2();  // 按鍵1 切換  
                        Key_Scan3();  // 按鍵2
                        Key_Scan4();  // 按鍵3
                }

                if(xx1==2)          //  
                {
                 SMGdisplay_zjs();  // 數碼管 正計時
                }
        

                                                                  
                        Key_Scan();   // // 按鍵4 切換     
                        Key_Scan2();  // 按鍵1 切換  
                        Key_Scan3();  // 按鍵2
                        Key_Scan4();  // 按鍵3
        
               

        }
}



Keil代碼下載: 1 - 優化-加入有初始化時間 調整 時間仍沒有解決進制轉換.rar (48.53 KB, 下載次數: 55)

作者: 3花木城    時間: 2022-2-17 17:27
  item=((read_clock(address+1))/16)*10 + (read_clock(address+1))%16;
  write_clock(address,(item/10)*16+item%10);
親測可用,以上兩個函數可以10,16進制互轉。修改后即為:
minute=((minute/16)*10 + (minute%16));   //轉換為10進制
minute=((minute/10)*16+(minute%10));//轉換成16進制寫入
作者: GEECGYJ    時間: 2022-2-17 20:07
這個開機效果不錯!!
作者: cooleaf    時間: 2022-3-20 11:56
這個開機效果不錯!!




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1