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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

請教大俠們仿制ID95809大俠制做的STC15計數器為什么不能計數

查看數: 1888 | 評論數: 35 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2024-9-13 17:55

正文摘要:

仿制了ID95809大俠制做的STC15計數器,數碼管可以正常顯示,但是按按鍵無法計數沒有反應,要把程序里的K3按鍵程刪除才能正常計數,各位大俠們幫忙看下程序是哪里的問題單片機源程序如下:     #include < ...

回復

ID:352736 發表于 2024-9-23 00:44
wl20020807 發表于 2024-9-21 18:59
void keyscan()
{
        if(K1==0)

程序這樣改了可以正常計數了
ID:352736 發表于 2024-9-23 00:43
wl20020807 發表于 2024-9-21 19:09
while(1)
        {
                display();

各位大師幫忙看下這個蜂鳴器程序怎么改下讓計數器只是每計滿100的整數時蜂鳴器響一次 ,加減計數都一樣。
ID:352736 發表于 2024-9-21 19:09
  while(1)
        {
                display();
                keyscan();
                delay_ms(10);
                if(Num>=100)
                {
                        FMQ=0;
                }
                if(Num>=101)
                {
                        FMQ=1;
                }
        }
}
ID:352736 發表于 2024-9-21 18:59
void keyscan()
{
        if(K1==0)
        {
                if(flag_KEY==1)//?????1?
                {
                        flag_KEY=0;

                       {if(Num==9999)Num=0;}
                        {
                                Num++;
                        }
                }
        }
        else if(K2==0)
        {
                if(flag_KEY==1)//?????1?
                {
                        flag_KEY=0;

                       {if(Num==0)Num=9999;}
                        {
                                Num--;
                        }
                }
        }
                                 else if(K3==0)
            {
                    if(flag_KEY==1)//?????1?
                    {
                            flag_KEY=0;

                            {
                                    Num=0;
                            }
                    }
            }
                                 
                        
                                 
  else//????
  {      
          flag_KEY=1;
  }
}
ID:352736 發表于 2024-9-21 11:13
xiaobendan001 發表于 2024-9-19 06:54
給他加個上拉電阻怎樣?

加了也一樣,還是一樣沒有反應
ID:1109793 發表于 2024-9-19 06:54
wl20020807 發表于 2024-9-18 22:45
對 ,加了k3這段程序,k2 (減健)就是低壓平了,

給他加個上拉電阻怎樣?
ID:352736 發表于 2024-9-18 23:06
老董 發表于 2024-9-17 17:19
不信邪的我用搭載stc15的板子測試也可以運行啊 你再查查硬件吧

大師你的stc15芯片的晶振設置的多少?我設置的11.0592MHZ
ID:352736 發表于 2024-9-18 22:55
老董 發表于 2024-9-17 17:19
不信邪的我用搭載stc15的板子測試也可以運行啊 你再查查硬件吧

大師有電路圖嗎?我也是用的stc15w408as搭載的板子但是它就是無法運行
ID:352736 發表于 2024-9-18 22:45
xiaobendan001 發表于 2024-9-18 07:44
你的意思是加了這段代碼,K2就等于一直按著了?

對 ,加了k3這段程序,k2 (減健)就是低壓平了,
ID:1109793 發表于 2024-9-18 07:44
wl20020807 發表于 2024-9-17 18:48
只要加了K3這段程序,K1(加鍵)為高電平,K2(減鍵)為低電平,KI K2按鍵都沒有反應,把K3這段程序刪了 ...

你的意思是加了這段代碼,K2就等于一直按著了?
ID:352736 發表于 2024-9-17 18:48

只要加了K3這段程序,K1(加鍵)為高電平,K2(減鍵)為低電平,KI K2按鍵都沒有反應,把K3這段程序刪了,K1 K2 都為高電平了,K1 K2按鍵都正常可以計數,不知程序是那里出錯了
ID:849913 發表于 2024-9-17 17:19
不信邪的我用搭載stc15的板子測試也可以運行啊 你再查查硬件吧
ID:1109793 發表于 2024-9-17 15:21
wl20020807 發表于 2024-9-17 13:24
原程序K1和K3定義在一個IO口了,我把K1改在另外的IO口把K3這段程序刪了加減按鍵計數都是正常的,把K3的這 ...

你可以嘗試在main開始的地方加上一個num = 50;然后運行看看實際上顯示多少,如果是0,說明你的key3的部分代碼是有作用的。
ID:161164 發表于 2024-9-17 15:03
wl20020807 發表于 2024-9-17 13:34
大師這個是原代碼我直接貼出來的,實際我改了IO口的,把K1改在P3^4   K3還是在原來的P3^2
FMQ改在P3^7, ...

量一下K3的電壓
ID:965189 發表于 2024-9-17 13:59
除了改代碼,實際電路也要改到相應的端口上。
ID:352736 發表于 2024-9-17 13:34
君工創 發表于 2024-9-17 12:35
不好意思,沒詳細看。按鍵加和復位鍵不能共用。重新定義這兩個鍵的其中一個到其它端口就不用改代碼。

大師這個是原代碼我直接貼出來的,實際我改了IO口的,把K1改在P3^4   K3還是在原來的P3^2
FMQ改在P3^7,因為蜂鳴器沒有用就隨便改了個IO口
ID:352736 發表于 2024-9-17 13:24
xiaobendan001 發表于 2024-9-17 10:46
人家前邊有條件的。
不過實際上這個復位按鍵就是清零按鍵。這個if是多此一舉的,直接num = 0;就好了嘛。 ...

原程序K1和K3定義在一個IO口了,我把K1改在另外的IO口把K3這段程序刪了加減按鍵計數都是正常的,把K3的這段程序加入就不正常了,加減按鍵都沒有反應K3還是定義在原來的p3^2
ID:965189 發表于 2024-9-17 12:35
不好意思,沒詳細看。按鍵加和復位鍵不能共用。重新定義這兩個鍵的其中一個到其它端口就不用改代碼。
ID:965189 發表于 2024-9-17 12:02
把第三個按鍵這里改一下,

if(Num>9999);
{
  Num=0;
}
ID:352736 發表于 2024-9-17 11:42
君工創 發表于 2024-9-17 08:41
if(Num>0);{Num=0;} 這里就是要Num永遠等于0。

這個K3是復位按鍵則斷程序不知要怎么該了,大師麻煩指點一下!
ID:352736 發表于 2024-9-17 11:36
老董 發表于 2024-9-16 23:16
else if(K3==0)
            {
                    if(flag_KEY==1)//按鍵只響應1次

檢查了沒有漏電,現在把單片機的引腳懸空都是一樣的結果
ID:1109793 發表于 2024-9-17 10:46
君工創 發表于 2024-9-17 08:41
if(Num>0);{Num=0;} 這里就是要Num永遠等于0。

人家前邊有條件的。
不過實際上這個復位按鍵就是清零按鍵。這個if是多此一舉的,直接num = 0;就好了嘛。
不過就算有if(num>0)這個脫褲子放屁的舉動,也不影響結果,軟件仿真是對的。
如12樓所說倒是有可能,但是有個問題,樓主剛開始是把K1和K3定義在一個IO上面了,這樣這個說法似乎就不成立了。
ID:965189 發表于 2024-9-17 08:41
if(Num>0);{Num=0;} 這里就是要Num永遠等于0。
ID:849913 發表于 2024-9-16 23:16
else if(K3==0)
            {
                    if(flag_KEY==1)//按鍵只響應1次
                    {
                            flag_KEY=0;
                            if(Num>0)
                            {
                                    Num=0;
                            }
                    }
            }
你的程序沒問題 檢查一下硬件 是不是這個按鍵漏電了 程序一直認為你是按住了K3 這樣flag_KEY==1的機會就沒有了 你可以用萬用表測一下K3的電壓和K1 K2是不是一樣 就可以判斷出來
ID:352736 發表于 2024-9-16 12:02
xiaobendan001 發表于 2024-9-15 14:35
軟件模擬了一下,不用刪除,也好用啊,話說你這都沒有消斗,是不是和按鍵抖動有關?

大師程序需要改那里?麻煩指點一下!
ID:352736 發表于 2024-9-16 10:04
xiaobendan001 發表于 2024-9-15 14:35
軟件模擬了一下,不用刪除,也好用啊,話說你這都沒有消斗,是不是和按鍵抖動有關?

不刪除的話按k1和k2計數按鍵沒反應,要把k3按鍵這段程序刪除按k1和k2計數按鍵才能正常計數,k3按鍵原程序是復位按鍵
ID:1109793 發表于 2024-9-16 08:40
老董 發表于 2024-9-15 20:09
P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;

他包含的是STC15,默認好像就標準IO的吧
ID:849913 發表于 2024-9-15 20:09

        P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;
   P3口沒設置 設置一下試試
ID:849913 發表于 2024-9-15 20:08
#在         P0M0 = 0x00;     P0M1 = 0x00;     P1M0 = 0x00;     P1M1 = 0x00;     P2M0 = 0x00;     P2M1 = 0x00;     P3M0 = 0x00;     P3M1 = 0x00;     P5M0 = 0x00;     P5M1 = 0x00;    這里快速回復#
ID:1109793 發表于 2024-9-15 14:35
軟件模擬了一下,不用刪除,也好用啊,話說你這都沒有消斗,是不是和按鍵抖動有關?
ID:352736 發表于 2024-9-15 07:22
wpppmlah 發表于 2024-9-14 08:18
key1 和 key3 都定義成了P32,是不是這個原因呢?

改了還是一樣,要把k3的那段程序刪了才能計數,不刪的話按鍵沒反應
ID:1109793 發表于 2024-9-14 09:31
wpppmlah 發表于 2024-9-14 08:18
key1 和 key3 都定義成了P32,是不是這個原因呢?

就算一樣,也只是只執行KEY1的部分吧。
ID:68189 發表于 2024-9-14 08:18
key1 和 key3 都定義成了P32,是不是這個原因呢?
ID:352736 發表于 2024-9-13 17:58
要將這段程序刪了才能正常計數,麻煩大俠們幫忙改下
  else if(K3==0)
        {
                if(flag_KEY==1)//按鍵只響應1次
                {
                        flag_KEY=0;
                        
                        if(Num>0)
                        {
                                Num=0;
                        }
                }
        }

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品播放 | 亚洲第一伊人 | 天天干天天曰 | 91亚洲精品在线 | 成人三级在线观看 | 国产麻豆一区二区 | 午夜无遮挡 | 成人国产精品一区二区 | 欧美一区二区三区视频 | 亚洲欧美在线播放 | 天天干天天干天天干 | 亚洲视频免费观看 | 日韩三级精品 | 欧美视频在线观看免费 | 久久一区视频 | 久操伊人| 欧美黄色网 | 亚洲一区二区av | 亚洲精品区 | 一级毛片在线免费观看 | 天天干夜夜操 | 欧美一区二区三区视频 | 欧美极品一区 | 国产精品一区二区三区免费 | 久久精品一区二区三区四区 | 欧美成人精品一区二区三区 | av黄 | 亚洲激情五月 | 久久黄网 | 亚洲福利网 | 日韩视频在线播放 | 欧美日韩国产片 | 五月婷婷丁香 | 国产精品第一 | 国产美女一区二区三区 | 超碰人人人人 | 国产精品网站在线观看 | 亚洲视频在线观看 | 亚洲国产精品suv | 成人自拍视频在线观看 | 麻豆视频一区二区 |