娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

51單片機實現單鍵重復的按鍵檢測

發布者:rockstar7最新更新時間:2024-08-12 來源: cnblogs關鍵字:51單片機  按鍵檢測 手機看文章 掃描二維碼
隨時隨地手機看文章

/*****************************************************************************
Copyright: 2013-07-27.version1.0
File name: key.c
Description: 自己做的單鍵識別實現重復按鍵功能
Author:
Version: version1.0
Date: 2013.7.27
History: 無
*******************************************************/
#include
sbit key=P0^0;
int num=0;

/*************************************************
Function: delay_press()
Description: 鍵按下時的延時的功能
Calls: 無
Called By: key_test()
Table Accessed: 無
Table Updated: 無
Input: void
Output: 無
Return: 1->按下
     0->松開
Others: 無
*************************************************/
int  delay_press(void)
{
 int press=1;
 int i,j;
 for(i=0;i<255;i++)
  for(j=0;j<255;j++)
   press=1;
 press=0;
 return press;
}

/*************************************************
Function: delay()
Description: 延時的功能
Calls: 無
Called By: key_test()
Table Accessed: 無
Table Updated: 無
Input: void
Output: 無
Return: void
Others: 無
*************************************************/
void delay(void)
{
 int i,j;
 for(j=0;j<25;j++)
  for(i=0;i<25;i++);
}

/*************************************************
Function: key_test()
Description: 單鍵識別功能
Calls: delay()
Called By: main()
Table Accessed: 無
Table Updated: 無
Input: void
Output: num,按鍵按一次num自加一
Return: void
Others: 無
*************************************************/
void key_test(void)
{
 if(!key)
 {
  delay();
  if(!key)
  {
   num++;
   if(num>255)
   num=0; 
  }
 }while(delay_press()); 
}
/*************************************************
Function: main()
Description: 程序的主函數
Calls: key_test()
Called By: 無
Table Accessed: 無
Table Updated: 無
Input: void
Output: 無
Return: void
Others: 無
*************************************************/
void main(void)
{
 //int i;
 while(1)
 {
  key_test();
  P2=~num; 
 }
}


關鍵字:51單片機  按鍵檢測 引用地址:51單片機實現單鍵重復的按鍵檢測

上一篇:89C51單片機實現的流水燈
下一篇:點亮8個隔位的代碼——全點亮

推薦閱讀最新更新時間:2025-04-24 09:22

秉火429筆記之六按鍵檢測
1. 按鍵概述 機械按鍵,觸點斷開和閉合時,因其觸點的彈性作用,按鍵開關不會馬上穩定接通或斷開,使用按鍵的時候會產生如下圖的帶紋波信號。 2. 消抖 軟件消抖 通過軟件濾波加延時的方式,消除抖動。 硬件消抖 通過硬件電容的充放電的延時,消除波紋,從而簡化軟件的處理,軟件只需要直接檢查引腳的電平即可。 3. 軟件實現 初始化系統時鐘 初始化相應GPIO時鐘 配置GPIO輸入檢查 根據按下/釋放亮滅燈
[單片機]
秉火429筆記之六<font color='red'>按鍵</font><font color='red'>檢測</font>
計數器(狀態機按鍵檢測)程序
狀態機是軟件編程中的重要概念,比這個概念更重要的是對它的靈活應用。在一個思路清晰而且高效的程序中,必然有狀態機的身影浮現。例如,一個按鍵命令解析程序就可以被看做狀態機:本來在A狀態下,觸發一個按鍵后切換到了B狀態;再觸發另一個鍵后切換到C狀態,或者返回到A狀態。這就是最簡單的按鍵狀態機的例子。實際的按鍵解析程序會比這更復雜,但這并不影響我們對狀態機的認識。 進一步看,擊鍵動作本身可以看做一個狀態機。一個擊鍵動作包含按下、抖動、釋放等狀態。其實狀態機的思想不單只是用在按鍵方面,數碼管顯示動態掃描、LED燈亮滅都存在狀態機的思想。使用狀態機思想進行單片機編程,比較通用的方法就是使用switch的選擇性分支語句來進行狀態跳
[單片機]
計數器(狀態機<font color='red'>按鍵</font><font color='red'>檢測</font>)程序
51單片機內部EEPROM讀寫
#include reg52.h #include intrins.h //定義類型,方便代碼移植 typedef unsigned char UINT8; typedef unsigned int UINT16; typedef unsigned long UINT32; typedef char INT8; typedef int INT16; typedef long INT32; static UINT8 i=0; /* 定義寄存器 ISP */ sfr ISP_DATA= 0xe2; // Flash數據寄存器 sfr ISP_ADDRH= 0xe3;// Flash高字節地址寄存器 sfr I
[單片機]
<font color='red'>51單片機</font>內部EEPROM讀寫
基于51單片機的正弦信號發生器的設計
正弦信號是電子電路設計中非常重要的信號之一。在很多電子設備和系統中,需要正弦信號作為輸入源。基于51單片機的正弦信號發生器設計是一種較為簡單且常見的方法。本文將詳細介紹如何設計一個基于51單片機的正弦信號發生器。 一、51單片機簡介 51單片機是以英特爾公司的MCS-51單片機為核心的一族單片機,主要用于嵌入式系統和電子設備上。51單片機內部集成了CPU、RAM、ROM、計時器、串行通信接口等功能模塊,具有較強的實時控制能力和通用性。 二、正弦信號的生成原理 正弦信號是一種周期性連續信號,可由諧振電路或數字信號處理的方法生成。在本文中,我們采用數字信號處理的方法來生成正弦信號。 數字信號的表示 在51單片機中,數字信號是
[單片機]
8051單片機進行8路LED模擬分支控制
一、設計題目 用8051的P1口作為輸入、P0口作為輸出,通過74LS244接8路LED模擬分支控制。 P1.0為低電平時,點亮一LED;P1.0為高電平、P1.1為低電平時點亮全部LED;當P1.0、P1.1都為高電平時,LED按四個一組,輪流反復點亮;P1.0、P1.1、P1.2都為高電平時,8LED逐一點亮并反復循環。 二、設計目的 1. 進一步熟悉和掌握單片機的結構及工作原理。 2. 掌握單片機的接口技術及相關外圍芯片的外特性,控制方法。 3. 通過課程設計,掌握以單片機核心的電路設計的基本方法和技術,了解表關電路參數 的計算方法。 4. 通過實際程序設計和調試,逐步掌握模塊化程序設計方法和調試技術。 5. 通過完成
[單片機]
80<font color='red'>51單片機</font>進行8路LED模擬分支控制
C51單片機指針變量的定義及應用
一。 指針變量的定義 指針變量定義與一般變量的定義類似,其形式如下: 數據類型 [存儲器類型1] * [存儲器類型2] 標識符; [存儲器類型1] 表示被定義為基于存儲器的指針。無此選項時,被定義為一般指針。這兩種指針的區別在于它們的存儲字節不同。一般指針在內存中占用三個字節,第一個字節存放該指針存儲器類型的編碼(由編譯時由編譯模式的默認值確定),第二和第三字節分別存放該指針的高位和低位地址偏移量。存儲器類型的編碼值如下: 存儲類型IIdata/data/bdataxdatapdataCode編碼值0x000x010xFE0xFF [存儲類型2]用于指定指針本身的存儲器空間。 1、 char * c_ptr; int *
[單片機]
C<font color='red'>51單片機</font>指針變量的定義及應用
怎么去設計一種基于51單片機的便攜式恒溫箱
一、功能簡介 本項目使用Proteus8.12仿真51單片機控制器,使用報警模塊、LCD1602顯示模塊、DS18B20溫度模塊、加熱制冷模塊、按鍵模塊、HC05藍牙模塊等。 主要功能: 系統運行后,LCD1602顯示傳感器檢測的溫度值; 可通過按鍵K3設置恒定溫度,K1和K2進行加減調節,恒定溫度范圍是0-10,設定好后可再次按下K3保存。系統會根據當前溫度與目標溫度比對,通過PID算法控制加熱或制冷工作。若溫度高于報警上限或低于報警下限值則蜂鳴器報警。檢測溫度會實時將數據通過串口傳輸到手機終端顯示。 主要功能如下: (1)溫度實時檢測; (2)LCD1602液晶顯示; (3)手機終端顯示; (4
[單片機]
怎么去設計一種基于<font color='red'>51單片機</font>的便攜式恒溫箱
在Linux下51單片機的開發環境搭建詳細程序編寫詳細概述
在Linux下沒有像keli那樣好用的IDE來開發51單片機,開發環境只能自己搭建了。 第一步:安裝交叉編譯工具 a) 安裝SDCC sudo apt-get install sdcc b)測試SDCC是否可用,這是個網上找的簡單的流水燈代碼 test.c, 用來測試 #include 8051.h #define uint unsigned int #define uchar unsigned char uchar tab = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; void Delay(uint xms) { uint i,j; for(i=xms;i 0;i--) for(j
[單片機]
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

更多開源項目推薦

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 克什克腾旗| 平凉市| 交口县| 德州市| 张家口市| 扎兰屯市| 彝良县| 临澧县| 察哈| 古丈县| 灌南县| 江西省| 澳门| 团风县| 乌拉特前旗| 临西县| 香港| 永新县| 鄱阳县| 嵊泗县| 凉山| 上林县| 屏东市| 连云港市| 鹤山市| 新和县| 乌海市| 蛟河市| 石家庄市| 隆尧县| 泉州市| 东丰县| 冀州市| 南昌县| 安康市| 玉门市| 昭平县| 昌江| 太白县| 临高县| 贵州省|