① 單片機中38h看做無符號數的二進制碼怎麼寫
16進制轉換成2進制,把高、低兩位分別寫出:0011 1000。
② 單片機各個按鍵值的映射表如何得到的
這裡面的值是ascii碼。是規范
數組的排列順序應該是外圍的矩陣鍵盤的電路結構決定的
③ 51單片機1602液晶實驗時注釋了命令0x38來設置全顯示模式,發現原來在第二行顯示的內容跑到了第
0x38命令字代表:8位數據匯流排,2行5*7點陣顯示
02H命令字代表:<1> 把游標撤回到顯示器的左上方; <2> 把地址計數器(AC)的值設置為0; <3> 保持DDRAM的內容不變。
這里所謂的回車就是游標。
④ lcd_wcmd(0x38);
0x38= 0b 00111000
看前三位(DB7-DB5)是001,對應的是「function set」命令
function set命令的寫法是是(DB4-DB0):DL-N-F-*-*
DL: 0 for 4-bit; 1 for 8-bit;
N: 0 for 1-line; 1 for 2-line;
F: 0 for 5*7 dots; 1 for 5*10 dots;
*: 後兩位一般不用管, 設為0
所以0x38對應的DL和N是1,就是2行,8位數據,F為0,就是5*7點陣
說是16*2顯示是不準確的,我在20*4的LCD上也是用0x38的設置,只能說這樣的設置是給偶數行的LCD用的,而不僅僅是16*2
⑤ 51單片機DDS程序 (dds>>8)&0xFF 的意思
ww[5]={0x09,0x0E,0x38,0xE3,0x8E} 是在給數組定值,以後如果你要調用這些值的話直接調用數組就可以了,方便而且有比較好的移植性
&這符號是"與"運算,你可以把它理解為相乘,
ww[1]=(dds>>8)&0xFF 就是對數組ww里的第二個元素(數組下標最低為0),進行賦值,賦的值是將dds這個變數的值向右移8位,然後與0xFF相與(假如dds右移8位後的值為10101010,那麼與0xFF(11111111)相與後得到的值就是10101010,前面說過,&就是做相乘的動作,所以1*0=0,1*1則等於1)
這樣你理解了嗎?