[問題] 外部中斷 鍵盤掃描已刪文

看板ASM (組合語言)作者 (賽)時間5年前 (2019/06/02 17:02), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我使用的微控制器為ASAM128,裡面的晶片為ATmega128 我想使用中斷來進行鍵盤的掃描,鍵盤掃描也有輪詢法 不過輪詢法已經完成了,所以想試試看用外部中斷的方式 選用的中斷方式為低準位觸發 使用的鍵盤為4X4的鍵盤 我對於鍵盤的概念為,對於四個緯線全輸出高電位,然後依序緯線一條一條輸出低電位 若剛好按下的按鍵為在低電位的緯線上,則從經線讀取時會讀到低電位 如果我先全部輸出高電位 然後開始依序選一個輸出低電位,另外三個輸出高電位 此時若按的按鍵和低電位同一排,將會進入中斷 目前遇到的問題是 如果我"固定"某一緯線(例如第三條)輸出低電位,按到低電位的緯線時 可以順利進入中斷,放掉按鍵則不會進入中斷 但如果在while(1)裡面用for迴圈,依序對0-3條輸出低位電 其餘保持高電位,但此時我"沒按下"任何按鍵,卻會一直進入中斷的程序內 接線圖如附件所示 https://imgur.com/a/0KYS57t 有使用三個AND邏輯閘,這樣只要有任一按鍵被按下 就會進入中斷 我疑惑的點是,若固定某一腳位輸出低電位可以順利進入中斷 但用for迴圈,我沒按下任何按鍵,卻也一直進入中斷 想請問一下可能的原因為何? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.100.147 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1559466152.A.2CF.html
文章代碼(AID): #1Syv2eBF (ASM)
文章代碼(AID): #1Syv2eBF (ASM)