/* ch4-3-3.c - 按鈕切換式控制實驗 */
//==宣告區=====================================
#include <reg51.h> // 包含8051暫存器之標頭檔
sbit PB=P3^7; // 宣告PB接至P3^7
sbit LED=P2^0; // 宣告LED接至P2^0
void debouncer(void); // 宣告防彈跳函數
//==主程式=====================================
main() // 主程式開始
{
LED=1; // 關閉LED
PB=1; // 規劃PB為輸入埠
while(1) // 無窮迴圈,程式一直跑
{ if (!PB) // 若按下PB
{
debouncer();// 呼叫防彈跳函數(按下時)
LED=!LED; // 切換LED為反相
while(!PB); // 若仍按住PB,繼續等
debouncer();// 呼叫防彈跳函數(放開時)
} // if敘述結束
} // while迴圈結束
} // 主程式結束
/* 防彈跳函數,延遲約20ms */
void debouncer(void) // 防彈跳函數開始
{
int i; // 宣告整數變數i
for(i=0;i<2400;i++);// 計數2400次,延遲約20ms
} // 防彈跳函數結束
2019年12月2日 星期一
訂閱:
張貼留言 (Atom)
algorithm
#include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv) { for(int j=2;j<=100;j++)//j...
-
本文旨在補充《 超圖解Arduino互動設計入門 》第18章「RFID無線識別裝置與問答遊戲製作」單元,書本採用的RFID讀卡機模組是採用9600bps, TTL序列通訊介面,RFID的通訊頻率為125KHz。這種模組的接線和程式都很簡單,每當感測到RFID卡,讀卡機就把...
-
3.Keil C 幫我們寫好 程式:#include <reg51.h> vs c語言 #include <stdio.h> //幫您宣告 P0=0x80 有相對的記憶體以十六進位表示,它定義定reg51.h,我們直接拿來用他的代碼即可 P1=0...
-
/* 多重按鈕開關 */ //==宣告區================================ #include // 定義8051暫存器之標頭檔,P2-17~19 #include "myio.h" // 自己寫的I/O程式庫 sbit PB...
沒有留言:
張貼留言