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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

stc15f104w單片機延時沒有反應,led燈不滅

查看數: 1470 | 評論數: 12 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2024-5-14 15:48

正文摘要:

led燈點亮后,k1鍵按下,k2k3不按,延時10s后關閉led燈,但是超過了幾分鐘也沒有關閉,delay函數也用過兩個for循環寫也不起作用,有木有大佬看一下 單片機源程序如下: include <STC15.h> #include <intri ...

回復

ID:1076567 發表于 2024-5-16 16:36
qq475878026 發表于 2024-5-16 13:53
uint 在不同平臺上代表的數據長度不一樣的,在STC15中uint最大就是65535,但是燈不滅可能還有其他原因, ...

嗷嗷好的 沒開看門狗 那是要打開嗎 還有一個問題想請教一下 這個stc芯片之前燒兩次程序就燒不進去了 好幾個都是這樣 后來換了一個原裝的燒錄器 也只燒了十幾次就燒不進去了 圖片我放到帖子里
ID:192020 發表于 2024-5-16 13:53
Dokkis 發表于 2024-5-16 09:18
晶振設的是12,12004就是1s吧,uint我查了百度范圍不是0~4294967295嗎,我試過200的,k1鍵撥下,按s1它就 ...

uint 在不同平臺上代表的數據長度不一樣的,在STC15中uint最大就是65535,但是燈不滅可能還有其他原因,看下燒錄時硬件看門狗開了嗎
ID:1076567 發表于 2024-5-16 09:38
lkc8210 發表于 2024-5-14 17:32
你這Delay K1按下才跳出啊~

嗷嗷是的,當時沒理好邏輯,但是改了之后也還是不行
ID:1076567 發表于 2024-5-16 09:21
yzwzfyz 發表于 2024-5-14 20:07
初學者常范的毛病是:直接寫程序!
記住:先理清邏輯關系!例如:
畫出邏輯流程,自己先走走,走退了再按 ...

嗯嗯好的,只有剛開始畫了個流程圖,以后會注意的
ID:1076567 發表于 2024-5-16 09:20
qq475878026 發表于 2024-5-15 18:21
沙發說的對,而且要K1一直按才能進入delay1s,不知道你開的是不是低電平中斷,是的話就一直進中斷,LED就一 ...

k1是撥碼開關,是一直按下的,是只有s1按下才會進中斷,s1是總開關,控制led亮滅的,k1只是用來延時的
ID:1076567 發表于 2024-5-16 09:18
本帖最后由 Dokkis 于 2024-5-16 10:56 編輯
xiaobendan001 發表于 2024-5-15 18:23
咋改的,貼出來看看啊
還有你那12004是啥意思?一個uint最大65535,你這12004*10也溢出了。
驗證有效性 ...

晶振設的是12,12004就是1s吧,uint我查了百度范圍不是0~4294967295嗎,我試過200的,k1鍵撥下,按s1它就是完全不亮了

#include <STC15.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char

        sbit s1 = P3^3;
        sbit k1 = P3^2;
        sbit k2 = P3^1;
        sbit k3 = P3^0;
        sbit led = P3^5;
        bit seyFlag=0;


        void Delay1s(int t)
                {
                        uint i;
                        i=12004*t;
                        while(1)
                        {
                                i--;  
                                if(seyFlag==1||i==0)
                                {return;}
                        }
                }
        void Int1_Routine(void) interrupt 2
                        {
                       led        = !led;
                        seyFlag=1;
                        }


        void main()
        {
                IT1 = 1;
                EX1 = 1;
                EA = 1;
           
                while(1)
                {
                  if(seyFlag        ==        1)
                        {      
                                seyFlag=0;
                                
                                if(led        ==        1)
                                {
                                        if(k1==0&&k2==1&&k3==1)
                                                {                                 
                                                         Delay1s(10);        
                                                         led=0;
                                                }
                                        }                        
                        }
                }
        }
ID:1109793 發表于 2024-5-15 18:23
Dokkis 發表于 2024-5-15 17:43
按這樣改了,但是還是不滅

咋改的,貼出來看看啊
還有你那12004是啥意思?一個uint最大65535,你這12004*10也溢出了。
驗證有效性可以把時間弄短一些試試嘛。
ID:192020 發表于 2024-5-15 18:21
沙發說的對,而且要K1一直按才能進入delay1s,不知道你開的是不是低電平中斷,是的話就一直進中斷,LED就一直翻轉
ID:1076567 發表于 2024-5-15 17:43
xiaobendan001 發表于 2024-5-14 18:51
每次循環I都被重新賦值,然后再減一,永遠都減不完啊,即使減到0了,也沒有任何動作啊,只有等待seyFlag= ...

按這樣改了,但是還是不滅
ID:123289 發表于 2024-5-14 20:07
初學者常范的毛病是:直接寫程序!
記住:先理清邏輯關系!例如:
畫出邏輯流程,自己先走走,走退了再按程序程寫程序。
至少用個EXCEL表,列出個12345……,再按12345寫程序。
ID:1109793 發表于 2024-5-14 18:51

每次循環I都被重新賦值,然后再減一,永遠都減不完啊,即使減到0了,也沒有任何動作啊,只有等待seyFlag==1之后才能跳出循環。
把i=12004*t;挪到while前邊。然后在 if(seyFlag==1)的括弧里面增加||i==0再試試
ID:161164 發表于 2024-5-14 17:32
你這Delay K1按下才跳出啊~

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区三区免费 | 国产在线a视频 | 草久久久 | 美女一级a毛片免费观看97 | 九九热在线视频免费观看 | 欧美成人h版在线观看 | 一级黄色毛片免费 | 欧美日韩中文国产一区发布 | 国产一区二区三区在线视频 | a在线视频 | 一级欧美黄色片 | 九九精品视频在线 | 国产真实乱全部视频 | 91精品国产综合久久久久久丝袜 | 亚洲美女在线视频 | 91精品在线播放 | 亚洲美女视频 | 国产一区二区三区在线 | 欧美国产91 | 国产蜜臀97一区二区三区 | 国产精品国产三级国产aⅴ无密码 | 国产精品一区二区久久精品爱微奶 | 亚洲a视频| 美女天堂在线 | 波多野结衣一区二区三区在线观看 | 先锋av资源在线 | 亚洲久久久 | 亚洲电影一区二区三区 | 日韩一区二区三区精品 | 91久久精品国产免费一区 | 毛片在线免费播放 | 精品国产一区二区在线 | 成人欧美一区二区三区在线观看 | 中文在线一区二区 | 视频一区在线 | 亚洲一一在线 | 91免费观看| 中文字幕av在线 | 日韩欧美国产精品 | 国产精品国产三级国产aⅴ无密码 | 亚洲欧美中文字幕在线观看 |