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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機數(shù)碼時鐘調(diào)節(jié)時分秒的時候怎么讓調(diào)節(jié)位閃爍?求大佬指點

查看數(shù): 3887 | 評論數(shù): 5 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2019-7-4 10:58

正文摘要:

#include<reg51.h> sbit key_1=P1^0        ;  //秒、分、時間的切換鍵 sbit key_2=P1^1        ;  //加1 sbit key_3=P1^ ...

回復

ID:105364 發(fā)表于 2019-7-7 12:04

ID:105364 發(fā)表于 2019-7-6 22:08
P0=table1[sec/10];                   //顯示秒十位數(shù)
                                                if( count1==1&&flag_flash==1)
                                                        P2=0x00;
                                                else

                           
                        P2=table2[6];                        
                        delay_5ms();            
                        P0=0xff;

                                                P0=table1[sec%10];                  //顯示秒個位數(shù)      
                        if( count1==1&&flag_flash==1)
                                                        P2=0x00;
                                                else  
                        

                        P2=table2[7];                        
                        delay_5ms();         
                        P0=0xff;
ID:105364 發(fā)表于 2019-7-6 22:07
一、設個閃爍的標志,開定時中斷T1,0.5秒求反一次。
void  T1_500ms(void) interrupt 3               
{
    static unsigned char count2 = 0;
    TR1 = 0;
    TH1 = (65536 - 50000 ) / 256;         //設置T1初始值為:15536
    TL1 = (65536 - 50000 ) % 256;         //記數(shù)為50000次//50000*1us=50ms
    TR1 = 1;
    count2++;
    if(count2 == 10)                 
    {
                count2 = 0;
                flag_flash=!flag_flash;// 調(diào)整時的閃爍標志
        }
}

二、顯示函數(shù)里根據(jù)調(diào)秒和閃爍標志,控制顯示和熄滅(這里僅以秒的閃爍為例)
P0=table1[sec/10];                   //顯示秒十位數(shù)
if( count1==1&&flag_flash==1)
P2=0x00;
else
                           
                        P2=table2[6];                        
                        delay_5ms();            
                        P0=0xff;

                                                P0=table1[sec%10];                  //顯示秒個位數(shù)      
                        if( count1==1&&flag_flash==1)
                                                        P2=0x00;
                                                else  
                        
                        P2=table2[7];                        
                        delay_5ms();         
                        P0=0xff;
ID:105364 發(fā)表于 2019-7-6 14:25
hhh402 發(fā)表于 2019-7-6 00:50
你的程序直接用學習板的程序是不行的,單片機學習板的程序只是為了說明單片機原理,真正的程序要多用中斷, ...

“你這個程序只要一按按鍵數(shù)碼管顯示就混亂。因為你的按鍵程序有待按鍵釋放,按鍵后就不運行數(shù)碼管顯示程序了。”


while(key_1==0)                 disp_led(); //等待按鍵釋放,并且調(diào)用顯示程序
沒問題
ID:491577 發(fā)表于 2019-7-6 00:50
你的程序直接用學習板的程序是不行的,單片機學習板的程序只是為了說明單片機原理,真正的程序要多用中斷,少用延時,這種語句 while(key_2==0)基本不用。實際按鍵程序不需要按鍵消抖,不需要等,實際按鍵程序需要放在約10-20ms中斷中執(zhí)行,數(shù)碼管顯示程序也是放在中斷中執(zhí)行的。你這個程序只要一按按鍵數(shù)碼管顯示就混亂。因為你的按鍵程序有待按鍵釋放,按鍵后就不運行數(shù)碼管顯示程序了。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表