找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3440|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機獨立按鍵程序調(diào)試,不加消抖會導(dǎo)致結(jié)果不正確嗎?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:509995 發(fā)表于 2019-4-14 21:40 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
程序如圖:功能:按下獨立按鍵,led發(fā)光
現(xiàn)象:按下后led不亮

這里提出的問題有:
消抖不添加會導(dǎo)致實驗結(jié)果顯示不出來嗎?


主函數(shù)的P1和P3的定義是全局效果嗎?是因為這個全局定義導(dǎo)致的電視結(jié)果嗎?
led未加延時會不會導(dǎo)致看不到這個實驗現(xiàn)象?如果長按按鍵是否可以選擇不用延時使led常亮?
在這兒感謝各位大佬
程序如下方便各位調(diào)試:
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit d1=P1^1;
sbit dula=P2^6;
sbit wela=P2^7;
sbit key1=P3^4;
void main()
{
        P3=0xFF;
        P1=0x00;
        while(1)
        {
                if(key1==0)
                                d1=1;                        
                else
                                d1=0;        
        }         
}


QQ圖片20190414212423.png (13.19 KB, 下載次數(shù): 17)

QQ圖片20190414212423.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:94031 發(fā)表于 2019-4-15 10:09 | 只看該作者
首先, 消抖不添加不會導(dǎo)致實驗結(jié)果顯示不出來。再者可以確定,長按按鍵可以選擇不用延時使led常亮。led不亮不是程序原因,要找別的原因。
回復(fù)

使用道具 舉報

板凳
ID:487743 發(fā)表于 2019-4-15 15:09 | 只看該作者
消抖不添加不會導(dǎo)致實驗結(jié)果顯示不出來
回復(fù)

使用道具 舉報

地板
ID:513522 發(fā)表于 2019-4-16 13:00 | 只看該作者
消抖不添加不會導(dǎo)致實驗結(jié)果顯示不出來
回復(fù)

使用道具 舉報

5#
ID:401564 發(fā)表于 2019-4-16 15:53 | 只看該作者
你這個程序加不加都是一樣,不管是仿真還是實際電路,結(jié)果都會是你想要的樣子
抖動只是在接下按鍵到按鍵完全接觸這一段時間之內(nèi)產(chǎn)生的概率比較大,也不一定會有抖動的,大概也就是幾十mS左右.
你這個程序只是按下去之后就不亮而已,接的過程中可能抖動那么幾十下,但肉眼卻不出來,所以,結(jié)果肯定就是按下就滅燈,放開就亮燈
但如果是:按下就加1,中間沒有去抖動的,再按下又加1的話,結(jié)果就不是你想要的樣子了
回復(fù)

使用道具 舉報

6#
ID:516588 發(fā)表于 2019-4-24 18:45 來自觸屏版 | 只看該作者
難道不應(yīng)該是d1=0才亮嗎?來自小白的疑問
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表