矩陣鍵盤通過串列埠3輸出

2021-08-20 05:22:36 字數 2343 閱讀 5072

//配置串列埠usart3
gpio_inittypedef gpio_initstructure;

usart_inittypedef usart_initstructure;

//開啟系統和復用功能時鐘

rcc_apb2periphclockcmd(rcc_apb2periph_gpiob | rcc_apb2periph_afio,enable);

rcc_apb1periphclockcmd(rcc_apb1periph_usart3,enable);

//pb10配置為復用推挽式輸出

gpio_initstructure.gpio_pin = gpio_pin_10;

gpio_initstructure.gpio_speed = gpio_speed_10mhz;

gpio_initstructure.gpio_mode = gpio_mode_af_pp;

gpio_init(gpiob, &gpio_initstructure);

//pb11配置為浮空輸入

gpio_initstructure.gpio_pin = gpio_pin_11;

gpio_initstructure.gpio_speed = gpio_speed_10mhz;

gpio_initstructure.gpio_mode = gpio_mode_in_floating;

gpio_init(gpiob, &gpio_initstructure);

usart_initstructure.usart_baudrate = bound;

usart_initstructure.usart_wordlength = usart_wordlength_8b;

usart_initstructure.usart_stopbits = usart_stopbits_1;

usart_initstructure.usart_parity = usart_parity_no;

usart_initstructure.usart_hardwareflowcontrol = usart_hardwareflowcontrol_none;

usart_initstructure.usart_mode = usart_mode_tx | usart_mode_rx;

usart_init(usart3, &usart_initstructure);

usart_cmd(usart3,enable);

usart_clearflag(usart3,usart_flag_tc);

//定義按鍵對應的i/o口
#define h_1 paout(0)

#define h_2 paout(1)

#define h_3 paout(2)

#define h_4 paout(3)

#define l_1 pain(4)

#define l_2 pain(5)

#define l_3 pain(6)

#define l_4 pain(7)

pa0~pa3為推挽式輸出

//pa4~pa7為上拉式輸入

void  key44_init(void)

unsigned char key44_scan(void)

} if(l_2 == 0) }

if(l_3 == 0) }

if(l_4 == 0) }

h_1 = 1;

h_2 = 0;

h_3 = 1;

h_4 = 1;

if(l_1 == 0) }

if(l_2 == 0) }

if(l_3 == 0) }

if(l_4 == 0) }

h_1 = 1;

h_2 = 1;

h_3 = 0;

h_4 = 1;

if(l_1 == 0) }

if(l_2 == 0) }

if(l_3 == 0) }

if(l_4 == 0) }

h_1 = 1;

h_2 = 1;

h_3 = 1;

h_4 = 0;

if(l_1 == 0) }

if(l_2 == 0) }

if(l_3 == 0) }

if(l_4 == 0) }

return 0;

}

以下位依次按下按鍵的效果圖

矩陣橫向輸出 Python3演算法之八 矩陣螺旋遍歷

本文中所涉及的 在未特殊宣告的情況下,都是基於python3程式語言編寫的。如果您未掌握知識提要中的內容,建議您先掌握這些內容之後再閱讀本文。知識提要 0 列表乘法 list obj n 1 列表生成 exp for v in seq obj 0 問題描述 實現乙個函式,給定乙個m x n的矩陣ma...

通過外接矩陣鍵盤來實現對數碼管的顯示控制

功能 按鍵,在數碼管上顯示,無法顯示的字元不顯示 裝置準備 接到51微控制器p3口上 原理 講的鍵盤掃瞄原理部分很好,下文 採用逐行掃瞄 include define uchar unsigned char define uint unsigned int uchar code table 17 v...

微控制器 矩陣鍵盤實現列掃瞄,數碼管輸出0 F

列掃瞄法類似行掃瞄法 話不多說,如下!矩陣鍵盤如下圖 列掃瞄涉及到與運算 與運算符號為 計算規則是 有0全為0,全1才為1 如 1111 0000 和 1011 0000進行與運算 1111 0000 1011 0000 運算結果 1011 0000 行掃瞄法 假設按下的是3號鍵 第1步 識別鍵盤有...