91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

51單片機的按鍵控燈程序,可以作為參考

資源截圖

代碼片段和文件信息

/*******************************************************************************
*?????????????????
*????????????????? ???????普中科技
--------------------------------------------------------------------------------
*?實?驗?名 ?:?獨立按鍵控制LED實驗
*?實驗說明???????:?每個按鍵控制一個LED
*?連接方式???????:?見接線圖
*?注????意 ?:?
*******************************************************************************/

//--包含你要使用的頭文件--//
#include? ???//此文件中定義了51的一些特殊功能寄存器
#include?

//--定義要使用的IO口--//
#define??GPIO_KEY?P1??//獨立鍵盤用P1口
#define??GPIO_LED?P0??//led使用P0口

//--聲明全局函數--//
void?Delay10ms(unsigned?int?c);???//延時10ms
unsigned?char?Key_Scan();

/*******************************************************************************
*?函?數?名?????????:?main
*?函數功能 ???:?主函數
*?輸????入?????????:?無
*?輸????出?????????:?無
*******************************************************************************/
void?main(void)
{
unsigned?char?ledValue?keyNum;

ledValue?=?0x01;

while?(1)
{
keyNum?=?Key_Scan();??//掃描鍵盤

switch?(keyNum)
{
case(0xFE)?: ??//返回按鍵K1的數據
ledValue?=?0x01;
break;
case(0xFD)?: ??//返回按鍵K2的數據
ledValue?=?0x02;
break;
case(0xFB)?: ??//返回按鍵K3的數據
ledValue?=?0x04;
break;
case(0xF7)?: ??//返回按鍵K4的數據
ledValue?=?0x08;
break;
case(0xEF)?: ??//返回按鍵K5的數據
ledValue?=?0x10;
break;
case(0xDF)?: ??//返回按鍵K6的數據
ledValue?=?0x20;
break;
case(0xBF)?: ??//返回按鍵K7的數據
ledValue?=?0x40;
break;
case(0x7F)?: ??//返回按鍵K8的數據
ledValue?=?0x80;
break;
default:
break;
}

GPIO_LED?=?ledValue;//點亮LED燈
}
}

/*******************************************************************************
*?函?數?名?????????:?Key_Scan()
*?函數功能 ???:?掃描鍵盤
*?輸????入?????????:?無
*?輸????出?????????:?讀取到的鍵值
*******************************************************************************/

unsigned?char?Key_Scan()
{
unsigned?char?keyValue?=?0??i;?//保存鍵值

//--檢測按鍵1--//
if?(GPIO_KEY?!=?0xFF) //檢測按鍵K1是否按下
{
Delay10ms(1); //消除抖動

if?(GPIO_KEY?!=?0xFF) //再次檢測按鍵是否按下
{
keyValue?=?GPIO_KEY;
i?=?0;
while?((i<50)?&&?(GPIO_KEY?!=?0xFF)) ?//檢測按鍵是否松開
{
Delay10ms(1);
i++;
}
}
}

return?keyValue;???//將讀取到鍵值的值返回
}

/*******************************************************************************
*?函?數?名?????????:?Delay10ms
*?函數功能 ???:?延時函數,延時10ms
*?輸????入?????????:?無
*?輸????出?????????:?無
*******************************************************************************/

void?Delay10ms(unsigned?int?c)???//誤差?0us
{
????unsigned?char?a?b;

//--c已經在傳遞過來的時候已經賦值了,所以在for語句第一句就不用賦值了--//
????for?(;c>0;c--)
{
for?(b=38;b>0;b--)
{
for?(a=130;a>0;a--);
}
???????????
}???????
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3079??2015-11-12?11:09??8個按鍵控制8個LED燈\main.c

?????文件???????3498??2015-11-12?11:09??8個按鍵控制8個LED燈\pro

?????文件????????563??2015-11-12?11:09??8個按鍵控制8個LED燈\pro.hex

?????文件???????6952??2015-11-12?11:09??8個按鍵控制8個LED燈\pro.M51

?????文件?????141959??2015-11-12?11:09??8個按鍵控制8個LED燈\pro.uvopt

?????文件??????13395??2015-11-12?11:09??8個按鍵控制8個LED燈\pro.uvproj

?????文件???????6376??2015-11-12?11:09??8個按鍵控制8個LED燈\STARTUP.A51

?????目錄??????????0??2016-03-01?19:36??8個按鍵控制8個LED燈

-----------?---------??----------?-----??----

???????????????175822????????????????????8


評論

共有 條評論