分享利用位移後, 檢查資料是否>4, 做為資料變更準則
high / low nibble 各別判斷
- Nov 03 Fri 2023 00:20
另外分享另一則將16進制轉BCD文
- Oct 20 Fri 2023 19:00
將FFFFFFh轉BCD
- Oct 20 Fri 2023 16:54
第一次寫部落格
首先我們必須了解8051硬體
在傳統 8051/52 架構中
1.
傳統 8051 指令為週期 12T 架構,
當指令輸入經 12 週期, 內部才會依指令工作
也就是工作頻率輸入 12MHz
內部只能 12MHz / 12 = 1MHz 工作輸出
(註, 指令分 1C / 2C / 4C)
現在巿場有多種 8051 變種晶片,
可達 4T / 2T / 1T 比傳統 8051 快多了
2.
傳統 8051 RAM 只有 128 bytes ( 00h ~ 7Fh )
特殊暫存器 SFC ( 80h ~ FFh )
甚實這兩個記憶體不是連續的, 但會讓初學者誤會
特殊暫存器 SFC 是獨立的記憶體
在 MOV 到記憶時, 沒什麼限制 (其實還是有)
但在 8052 及後期變種 8051 RAM 可能會超過 256 bytes
那怎麼使用??
MOV 位址 (可以使用 00h~7Fh + SFC 80h~FFh )
MOV @位址 (則可以使用 00h~FFh )
注意: @位址 只能適用 @Ri
指令表:
Ri = R0 or R1
Rn = R0 ~ R7
3.
位元定址
常看到類似命今
A.3
P0.5
是因為 A, P0, 都是在位元定址區內
所以可以不搬來搬去設定
那些是位元定址區??
記憶體區 20h~2Fh
SFC區
80h, 88h, 90h, 98h, A0h, A8h, B0h, B8h
C0h, C8h, D0h, D8h, E0h, E8h, F0h, F8h
由上可知, 這些位置可以位元定址
80h (P0)
88h (TCON)
90h (P1)
98h (SCON)
A0h (P2)
A8h (IE)
B0h (P3)
B8h (IP)
C0h
C8h (T2CON (8052))
D0h (PSW)
D8h
E0h (A, ACC)
E8h
F0h (B)
F8h