国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

51單片機100例實例之13例

2021-01-21 14:18 作者:技術流阿宅  | 我要投稿

?//項目名稱:4只按鍵分組控制LED

//項目再創(chuàng)作者:科技小宅神

//完成時間:2021/01/21

//功能說明:每次按下K1逐次點亮LED,全亮時再次按下則循環(huán)開始

//K2按下,點亮上4只LED,K3按下,點亮下4只LED,K4按下關閉所有LED

proteus仿真圖


#include <reg52.h>

#define uchar unsigned char

#define uint unsigned int

//1毫秒延時子程序

void DelayMS(uint x)

{

? uchar t;

while(x--)

{

for(t=0;t<120;t--);

}

}

//主程序

void main()

{

? uchar k,t,Key_State;

P0 = 0xff;

P1 = 0xff;

while(1)//無限循環(huán)

{

t = P1;//令t=P1

{

DelayMS(10);

if(t != P1)

continue;

Key_State = ~t >> 4;//取得4位按鍵值,也就是讀取P1.0~P1.3的電位狀態(tài)。先取反后移位,位運算符優(yōu)先級~大于>>。

k = 0;

while(Key_State != 0)//即P1.0~P1.3的按鍵值不等于0x00時

{

k++;

Key_State >>= 1;//將Key_State向右移動1位,再賦值給Key_State。先運算再賦值。(復合賦值運算)注意是這里是算術右移!

}

switch(k)//根據(jù)按鍵號K進行4種處理

{

case 1: if(P0 == 0x00)//如果P0全部接低電平

P0 = 0xff;//那么P0全部1111 1111

P0 <<= 1;//將P0向左移動1位,再賦值給P0。先運算再賦值。(復合賦值運算)(逐增點亮)注意是這里是算術左移!

DelayMS(200);

break;//

case 2: P0 = 0xf0;//1111 0000 上四個點亮

break;

case 3: P0 = 0x0f;//0000 1111 下四個點亮

break;

case 4: P0 = 0xff;//1111 1111 全部關閉

}

}

}

}


51單片機100例實例之13例的評論 (共 條)

分享到微博請遵守國家法律
荆门市| 阳朔县| 靖江市| 北票市| 南召县| 汤阴县| 宜兴市| 昂仁县| 芦溪县| 施秉县| 德兴市| 栾城县| 波密县| 莱阳市| 柏乡县| 镇康县| 宣恩县| 平阳县| 布尔津县| 普宁市| 洪泽县| 榆中县| 夏津县| 梧州市| 定州市| 巢湖市| 嘉黎县| 庄河市| 石首市| 江城| 成都市| 出国| 井冈山市| 平罗县| 麻栗坡县| 东光县| 德安县| 合川市| 奇台县| 桂阳县| 册亨县|