找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1756|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)鍵盤、數(shù)碼塊實驗

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:761160 發(fā)表于 2020-5-26 11:02 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
一、實驗?zāi)康呐c要求

1、熟悉GPIO的使用方法,熟悉HAL固件庫中GPIO庫函數(shù)的使用方法

2、掌握矩陣鍵盤的掃描方法

3、掌握動態(tài)掃描數(shù)碼塊的方法

二、實驗設(shè)備

SUN ESMC01實驗儀(含STM32F407模塊)一套、ARM仿真器一套、PC機(jī)一臺

三、實驗內(nèi)容

1、編寫程序:掃描鍵盤,如有按鍵,鍵號顯示于數(shù)碼管。

2、連接線路,驗證實驗,掌握數(shù)碼管、矩陣鍵盤的掃描方法。

intcount0,count1,count2,a;

const uint8_tSegArray[]=

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};

void DIR(void);

uint8_t keyi(void);

  HAL_UART_Receive_IT(&huart1, (uint8_t *)RxBuffer,4);//啟動串口

while (1)

  {



int i;

for (i = 0; i < 8; i++)

RxBuffer[ i] = keyi();uint8_t keyi()
[ i]
{

uint8_t i,j;

GPIOA->ODR = (GPIOA->ODR & 0x00ff); //全"0"->掃描口



if (HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_11)&& HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_11))      //讀鍵狀態(tài)

a=0;

else

a=1;



while (1)

{

if (a == 0)     //調(diào)用判有無閉合鍵子程序

{

DIR();

continue;

}

i = 0xfe;

j = 0;

while(i != 0xff)

{

GPIOA->ODR = (GPIOA->ODR & 0x00ff)| (i << 8);   //鍵掃數(shù)據(jù)->KR_DIG_GPIO_Port PB15..8

if (HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_11) ==0)

{ //0行有鍵閉合

break;

}

else if (HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_12)== 0)

{//1行有鍵閉合

j += 8;

break;

}

j++;//列計數(shù)器加1

i = ((i<<1) | 1);

}

if (i == 0xff) //完成一次掃描,沒有鍵按下

continue;

do

{

DIR();

}while(a != 0); //判斷釋放否

return j; //鍵號

}

}





數(shù)碼管

while(1)

{

  uint8_ti = 0xfe;

  uint8_t*pBuffer = RxBuffer;

  while(i!= 0xff)

  {

GPIOB->ODR |= 0xffff;

GPIOC->ODR |= 0xffff;

GPIOB->ODR = (GPIOB->ODR & 0xff00)| SegArray[*pBuffer++];

GPIOC->ODR = (GPIOC->ODR & 0xff00)| i ;

HAL_Delay(1);                 / /延遲1ms

    i =((i << 1) | 0x1);

}

}

DYM516%KG289`X[$(XHOI`L.png (39.95 KB, 下載次數(shù): 45)

實驗原理圖

實驗原理圖
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:923780 發(fā)表于 2021-5-19 12:35 | 只看該作者
請問這些while循環(huán)是每個函數(shù)單獨的嗎
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表