![]() |
發布時間: 2021-8-28 15:50
正文摘要:設計一模擬電話撥號時的電話鍵盤及顯示裝置,把電話鍵盤撥出的電話號碼及其他信息,顯示在LCD顯示屏上。電話鍵盤共12個鍵,除了0~9的10個數字鍵外,還有 “*”鍵用于刪除最后輸入的1位號碼的功能;“#”鍵用于清除 ... |
殤兩盞 發表于 2021-8-30 12:42 有點復雜 dat[]="1234567890 "//在第10位加空格(Space) tel里先放一堆10(對應dat[]里的空格) 每次按鍵,把對應鍵值(0~9)放進tel[N],并N++ 如果按鍵不是0~9, 就不要放進tel,不要動N 如果按鍵是11, 就tel[--N] = 10; 再顯示一遍tel[0]到tel[10] |
lkc8210 發表于 2021-8-29 16:38 請問如何改 |
殤兩盞 發表于 2021-8-28 16:57 對不起,沒看全你的代碼就回覆了 重看一次你的代碼 你的基本邏輯是按多下顯示多少位 退格這動作與你的基本邏輯有很大的沖突 如要加入退格就要大改你的代碼 |
樓主這個3*4矩陣鍵盤不可以按4*4矩陣鍵盤代碼套用,因為蜂鳴器占用了P1.5,所以讀P1矩陣鍵盤狀態時要把P1.5狀態屏蔽。否則會亂套。
![]() ![]() |
for (a = 0; a < 10; a++) tel[a] = tel[a+1] ; tel[10]='\0' |