[問題] 8051的一些小問題(修正)
最近開始在學習8051,現在有一些疑惑 希望有人可以幫我解答 感謝
前提 我的PORT一直在讀取一個變數 現在要輸出到LCD上
這個我都已經寫好了
但是怕誤差我想加上一個平均的寫法
假設15次平均後在輸出一次
問題一
考慮到溢位 我是想說把第一次的先存起來丟旁邊
再利用第二次輸入的與第一次輸入相減
第三次輸入的與第一次輸入相減...最後累加差值/15 在與第一次相加 可得平均數
可是我看了一下減法的程式跑法 SUBB 如果是負號他是利用CY來標記
那如果我把他們的差值移動到其他地方會不會系統就搞混?(是失真嗎?意思是差值變了
就是差值得正負在移動後會不會亂掉
我同學說會可是我感覺應該不會才對@@"
問題二
ADD,ADDC有人可以具體的描述他們的差異嗎
有方法可以讓我直接把數值拆開然後累加嗎
可是我考慮到累積15次...還是會有溢位的可能性
所以有人有更好的方法嗎?
能看到這行..真的感謝各位的幫忙..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.125.93.19
推
03/21 22:34, , 1F
03/21 22:34, 1F
→
03/21 22:43, , 2F
03/21 22:43, 2F
→
03/21 22:43, , 3F
03/21 22:43, 3F
→
03/22 00:00, , 4F
03/22 00:00, 4F
→
03/22 00:00, , 5F
03/22 00:00, 5F
→
03/22 00:01, , 6F
03/22 00:01, 6F
→
03/22 00:02, , 7F
03/22 00:02, 7F
→
03/22 00:02, , 8F
03/22 00:02, 8F
推
03/22 00:05, , 9F
03/22 00:05, 9F
→
03/22 00:06, , 10F
03/22 00:06, 10F
→
03/22 00:06, , 11F
03/22 00:06, 11F
→
03/22 00:07, , 12F
03/22 00:07, 12F
→
03/22 00:07, , 13F
03/22 00:07, 13F
推
03/22 01:45, , 14F
03/22 01:45, 14F
推
03/22 13:59, , 15F
03/22 13:59, 15F
→
03/22 14:01, , 16F
03/22 14:01, 16F
→
03/22 14:02, , 17F
03/22 14:02, 17F
感謝大家給我的想法
目前是利用
時脈一直讀取 A B C D E...一直跑N個
讀取A之後先存到一邊
B判斷 B>A B-A 得差值存到一邊(正)
B<A A-B 得差值存到一邊(數值為正,但意義上應該是負)
C D E..等等同B的計算方法
差值正的累加得到X
差值負的累加得到Y
再次判斷差值X>Y (X-Y)/N+A
X<Y A-(Y-X)/N
比大小是利用SUBB看CY是1或0來跑 利用JC決定放哪邊
有關2的N次方我之前有想過 可是我不會16BIT的加減法 有人要教我一下嗎
感覺利用16BIT的寫法會比較快一點
之前我是想說如果取2的一次方的數量 RR1次
2的二次方的數量 RR2次
2的三次方的數量 RR3次來計算平均
可是我只知道用ADD來計算 可是這樣會使A溢位
也想過利用類似邏設的半加法的方法..可是這樣要寫很多迴圈
16BIT是利用這樣寫嗎..?
應該不是吧...
※ 編輯: eternal1879 來自: 59.125.93.19 (03/22 16:09)
推
03/22 17:16, , 18F
03/22 17:16, 18F
推
03/23 01:56, , 19F
03/23 01:56, 19F
→
03/23 01:56, , 20F
03/23 01:56, 20F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 5 篇):
6
20
ASM 近期熱門文章
PTT數位生活區 即時熱門文章