PIC18F252
汇编:
从A / D转换开始,我在结果寄存器ADRESH和ADRESL中进行了左或右调整的10位结果。
从位5到TMR0L位4将这10位进入TMR0H的聪明方法是什么?
更具体地说,前面有两个11:
XXXX XXXX XX00 0000 ADRESH ADRESL =>
11XX XXXX XXXX 0000 TMR0H TMR0L
答案 0 :(得分:2)
没有经过测试......
bsf STATUS, _C ;Set Carry
rrcf ADRESH, f ;Do 16 bit shift right of ADRES
rrcf ADRESL, f
bsf STATUS, _C ;Set Carry
rrcf ADRESH, w ;Do high byte shift right
movwf TMR0H ;Copy WREG to destination
rrcf ADRESL, w ;Do low byte shift right
movwf TMR0L ;Copy WREG to destination
另请阅读数据表如何更新TMR0: 10.4 16位模式定时器读取和 写入强>