wordpress+技術(shù)類模板網(wǎng)站seo優(yōu)化有哪些方面
1、按鍵電路圖
定義四個(gè)按鍵引腳?
1、按鍵按下 為 輸入為低電平
2、按鍵不按下 IO有上拉電阻,為高電平
// 定義 按鍵的 管教
sbit KEY1 = P3^1;
sbit KEY2 = P3^0;
sbit KEY3 = P3^2;
sbit KEY4 = P3^3;
2、LED燈電路圖
LED 輸出高電平為亮
// 定義LED燈 管教
sbit LED1 = P2^0;
sbit LED2 = P2^1;
sbit LED3 = P2^2;
sbit LED4 = P2^3;
3、編程思想設(shè)計(jì)
1、定義按鍵管教
2、定義LED燈管教
3、定義按鍵的鍵值
4、定義一個(gè)函數(shù) 來判斷按鍵是否被按下
5、先判斷 按鍵是否被按下--> 在判斷沒有按下按鍵怎么樣-->否則返回 沒有按下
static u8 key =1; ?// 定義一個(gè)不被改變的u8 類型的 變量 key 賦值為1?
if(mode)key=1;?? ? ? // 連續(xù)掃描按鍵,這里給 是單詞掃描為0 ,多次掃描為1if(key=1 && (KEY1==0 || KEY2==0 || KEY3==0 || KEY4==0)) ?// key1 ==0 為按下, 為什么用 || 或運(yùn)算符 只有有一個(gè)為真,就是那個(gè)按鍵按下了
#include "reg52.h"// 重新命名類型
typedef unsigned char u8;
typedef unsigned int u16;// 定義 按鍵的 管教
sbit KEY1 = P3^1;
sbit KEY2 = P3^0;
sbit KEY3 = P3^2;
sbit KEY4 = P3^3;// 定義LED燈 管教
sbit LED1 = P2^0;
sbit LED2 = P2^1;
sbit LED3 = P2^2;
sbit LED4 = P2^3;// 使用宏定義獨(dú)立按鍵按下的鍵值
#define KEY1_PRESS 1
#define KEY2_PRESS 2
#define KEY3_PRESS 3
#define KEY4_PRESS 4
#define KEY_UNPRESS 0
// 延時(shí)函數(shù)
void delay_times(u16 times)
{while(times--);
}// 按鍵函數(shù)
u8 key_scan(u8 mode)
{static u8 key =1; // 定義一個(gè)不被改變的u8 類型的 變量 key 賦值為1 if(mode)key=1; // 連續(xù)掃描按鍵,這里給 是單詞掃描為0 ,多次掃描為1if(key=1 && (KEY1==0 || KEY2==0 || KEY3==0 || KEY4==0)) // key1 ==0 為按下, 為什么用 || 或運(yùn)算符 只有有一個(gè)為真,就是那個(gè)按鍵按下了{(lán)delay_times(1000); // 消抖 1000us = 10 mskey =0;if(KEY1 == 0){return KEY1_PRESS; }else if(KEY2 == 0){return KEY2_PRESS;}else if(KEY3 == 0){return KEY3_PRESS;}else if(KEY4 == 0){return KEY4_PRESS;}}else if(KEY1 ==1 && KEY2 ==1 && KEY3 == 1 && KEY4 ==1) // 這里是判斷 按鍵沒有被按下,為什么用 && 與運(yùn)算 只要條件都為真,那就都為真{key =1;}return KEY_UNPRESS;
}// 主函數(shù)
void main()
{u8 key=0;while(1){key=key_scan(1); // key_scan 有返回值需要被接收 if(key==KEY1_PRESS)LED1=~LED1; // LED1燈 取反 發(fā)光else if(key==KEY2_PRESS)LED2=~LED2;else if(key==KEY3_PRESS)LED3=~LED3;else if(key==KEY4_PRESS)LED4=~LED4; }
}