從IO口講起__HCS12學習筆記(1)
A、B、E、K可以通過寄存器控制是否上拉電阻,他們共用一個使能位PUCR。
H、J、M、P、S、T也可做普通IO口,基本與A口類似。
1.1 輸出
程序用到了,PORTB口的輸出,控制小燈的亮和暗,設置DDRB都為高位,就可以使得B口輸出,也就是IO口的初始化,PORTB的值用來控制小燈的初始亮和滅。
通過軟件就可以控制小燈的亮的順序等等功能。
1.2 輸入
同上,DDR變成低位就是輸入,這里為了實現(xiàn)鍵盤,IO口設置其上拉,在空接時為高電平。IO口還可以設置中斷,這里沒有用到,也沒有查到相關資料,先空著。
通用寄存器表,以H口為例:
數(shù)據(jù)方向寄存器 DDRH
IO口寄存器 PTH
輸入寄存器 PTIH 引腳為輸入時,值為對應電平,輸出時,監(jiān)視引腳是否超載或短路,是為1.
低功耗驅(qū)動寄存器 RDRH
上拉下拉使能寄存器 PERH
上拉下拉選擇寄存器 PPSH 0為上拉,1為下拉
初始對于嵌入式的了解也需要從最簡單的例子開始,比如小燈和鍵盤,我使用的開發(fā)板是摩托羅拉公司的HCS12dp256b的demo板子,鍵盤只有H口對應的八位開關,LED燈也是最簡單的,對應了B口,一開始容易弄錯的是硬件上,燈是1亮還是0亮,或者開關方向開的時候是1還是關的時候是1.我的板子,開關是閉合為0,一開始總沒有弄對,也是這方面沒有搞清楚,最后將開關口(H)上拉后,問題迎刃而解。
評論