1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3359|回復(fù): 5
收起左側(cè)

單片機(jī)按鍵控制數(shù)碼管倒計(jì)時(shí)程序錯(cuò)誤

[復(fù)制鏈接]
ID:704483 發(fā)表于 2020-5-27 21:27 | 顯示全部樓層 |閱讀模式
100黑幣
請教大神。實(shí)現(xiàn)利用按鍵K1控制數(shù)碼管DS6顯示9~0的倒計(jì)時(shí),按鍵每按下一次,數(shù)字減一。只顯示0,請大神幫我指指錯(cuò)誤,下面是我的代碼:
#include <reg52.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
sbit K1  = P2^4;

unsigned char code LedChar[] = {
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};

void delay();
void main()
{
bit keybuf = 1; //按鍵值暫存,臨時(shí)保存按鍵的掃描值
bit backup = 1; //按鍵值備份,保存前一次的掃描值
unsigned char cnt = 0; //按鍵計(jì)數(shù),記錄按鍵按下的次數(shù)
unsigned  int  j;

ENLED = 0; //選擇數(shù)碼管 DS6進(jìn)行顯示
ADDR3 = 1;
ADDR2 = 1;
ADDR1 = 0;
ADDR0 = 1;
P2 = 0xF7; //P2.3 置 0,即 KeyOut1 輸出低電平
P0 = LedChar[j]; //顯示值

while (1)
{
keybuf = j; //把當(dāng)前掃描值暫存
if (keybuf != backup) //當(dāng)前值與前次值不相等說明此時(shí)按鍵有動(dòng)作
{
delay(); //延時(shí)大約 10ms
if (keybuf == j) //判斷掃描值有沒有發(fā)生改變,即按鍵抖動(dòng)
{
if (backup == 0) //如果前次值為 0,則說明當(dāng)前是彈起動(dòng)作
{
cnt++; //按鍵次數(shù)+1
  j--;
if (cnt >= 9)
{ //只用 1 個(gè)數(shù)碼管顯示,所以加到 10 就清零重新開始
cnt = 0;
j   = 9;
}
P0 = LedChar[j]; //計(jì)數(shù)值顯示到數(shù)碼管上
}
backup = keybuf; //更新備份為當(dāng)前值,以備進(jìn)行下次比較
}
}
} }
/* 軟件延時(shí)函數(shù),延時(shí)約 10ms */
void delay()
{
unsigned int i = 1000;
while (i--);
}


仿真結(jié)果.png
回復(fù)

使用道具 舉報(bào)

ID:682488 發(fā)表于 2020-5-28 09:19 | 顯示全部樓層
沒看懂啥意思看,詳細(xì)的描述下
回復(fù)

使用道具 舉報(bào)

ID:763141 發(fā)表于 2020-5-28 10:02 | 顯示全部樓層
主循環(huán)內(nèi)有讀取按鍵值的部分嗎,怎么沒看到讀K1狀態(tài)的
回復(fù)

使用道具 舉報(bào)

ID:763141 發(fā)表于 2020-5-28 10:04 | 顯示全部樓層
沒看到主循環(huán)中檢測K1狀態(tài)的代碼
回復(fù)

使用道具 舉報(bào)

ID:704483 發(fā)表于 2020-5-28 13:53 | 顯示全部樓層
大長蟲 發(fā)表于 2020-5-28 09:19
沒看懂啥意思看,詳細(xì)的描述下

就是想讓數(shù)碼管受按鍵控制進(jìn)行倒計(jì)時(shí),但是我寫的代碼只能在仿真中顯示0
回復(fù)

使用道具 舉報(bào)

ID:415088 發(fā)表于 2020-5-28 19:30 | 顯示全部樓層
你按鍵狀態(tài)沒有做判斷,怎么區(qū)分按鍵是否按下
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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