找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

按鍵次數(shù)利用單片機(jī)C怎么寫 求幫助

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:364272 發(fā)表于 2018-7-3 19:26 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
按鍵次數(shù)利用單片機(jī)C怎么寫
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:174087 發(fā)表于 2018-7-3 19:54 | 只看該作者
定義一個(gè)變量 每檢測(cè)到一次按鍵按下 變量加一不就好了
回復(fù)

使用道具 舉報(bào)

板凳
ID:166089 發(fā)表于 2018-7-3 20:34 | 只看該作者
先定義一個(gè)變量并初始化為Count=0;再在每次按鍵按下時(shí)處理Count++;這是利用中斷方式檢測(cè)按鍵次數(shù)的例子:http://www.torrancerestoration.com/bbs/dpj-97675-1.html

評(píng)分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:94031 發(fā)表于 2018-7-3 20:53 | 只看該作者
本帖最后由 xuyaqi 于 2018-7-3 21:14 編輯

while(key==0)
{
  if(key==1)
  {
    key_cs++;//按鍵次數(shù)    break;
  }
}
回復(fù)

使用道具 舉報(bào)

5#
ID:326451 發(fā)表于 2018-7-3 22:20 | 只看該作者
按一次i++
回復(fù)

使用道具 舉報(bào)

6#
ID:364396 發(fā)表于 2018-7-3 22:42 | 只看該作者
我也糾結(jié)這個(gè)好久了,單片機(jī)小白
回復(fù)

使用道具 舉報(bào)

7#
ID:364403 發(fā)表于 2018-7-3 22:53 來(lái)自觸屏版 | 只看該作者
#include <reg51.h>  #define uchar unsigned char  #define uint unsigned int   sbit led1 = P2^0;//定義管腳;  sbit led2 = P2^1;  sbit led3 = P2^2;  sbit led4 = P2^3;  sbit led5 = P2^4;  sbit led6 = P2^5;  sbit key  = P1^0;   uchar tcount=0,count=0;//定義時(shí)間變量和按鍵計(jì)數(shù)變量;   void Delay(uchar i)//機(jī)械延時(shí);  {  while(--i);  }   void LedLight(void)//LED控制函數(shù);  {  switch(count)  {  case 3 : led1 = 0;break;//3下時(shí),LED1亮;  case 5 : led2 = 0;break;//5下時(shí),LED2亮;  case 7 : led3 = 0;break;//7下時(shí),LED3亮;  case 9 : led4 = 0;break;//9下時(shí),LED4亮;  case 11: led5 = 0;break;//11下時(shí),LED5亮;  case 13: led6 = 0;break;//13下時(shí),LED6亮;  default: P2   = 0xff;break;//其余的都不亮;  }  }   void InitTimer0(void)//定時(shí)器0初始化;  {  TMOD = 0x00;  TH0 = (65536-50000)/256;  TL0 = (65536-50000)%256;  TR0 = 1;  }   void main(void)//主函數(shù)  {  InitTimer0();  while(1)//無(wú)限循環(huán);  {  if(key==0)//檢查按鍵是否按下;  {  Delay(10);//機(jī)械延時(shí);  if(key==0){count++;}//按鍵計(jì)數(shù);  while(key==0);  }  if(TF0==1)//復(fù)位定時(shí)器0;  {  TF0=0;  TH0 = (65536-50000)/256;  TL0 = (65536-50000)%256;  tcount++;  if(tcount==20)//1秒的時(shí)間;  {  LedLight();  Delay(100);  count=0;//復(fù)位按鍵計(jì)數(shù)變量;  }  }  }  }
回復(fù)

使用道具 舉報(bào)

8#
ID:365042 發(fā)表于 2018-7-4 17:47 | 只看該作者
no1xijin 發(fā)表于 2018-7-3 20:34
先定義一個(gè)變量并初始化為Count=0;再在每次按鍵按下時(shí)處理Count++;這是利用中斷方式檢測(cè)按鍵次數(shù)的例子:h ...

沒(méi)有問(wèn)題
回復(fù)

使用道具 舉報(bào)

9#
ID:130135 發(fā)表于 2018-7-4 20:06 | 只看該作者

問(wèn)的問(wèn)題太大,定義一個(gè)變量 每檢測(cè)到一次按鍵按下 變量加一不就好了
回復(fù)

使用道具 舉報(bào)

10#
ID:365098 發(fā)表于 2018-7-4 20:46 | 只看該作者
先根據(jù)你要顯示數(shù)字的個(gè)數(shù)定義一個(gè)unsigned char型的字符數(shù)組,調(diào)用掃描鍵盤函數(shù),掃描到哪個(gè)鍵被按下的同時(shí)將鍵值存進(jìn)對(duì)應(yīng)的數(shù)組元素中,再調(diào)用液晶顯示程序顯示,液晶顯示程序中顯示的位數(shù)可變,可以
回復(fù)

使用道具 舉報(bào)

11#
ID:362432 發(fā)表于 2018-7-4 21:29 | 只看該作者
設(shè)個(gè)變量,寫個(gè)檢測(cè)按鍵的掃描函數(shù) ,按鍵按下 變量加一下。
回復(fù)

使用道具 舉報(bào)

12#
ID:347260 發(fā)表于 2018-7-4 22:13 | 只看該作者
采取標(biāo)志位 ,每進(jìn)入一次標(biāo)志位加1,進(jìn)行計(jì)數(shù)操作
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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