字體:小 中 大 | |
|
|
2015/05/24 12:42:14瀏覽497|回應0|推薦0 | |
lcd_enc 為將temp(R16)中的內容送至SH1106 Command
lcd_end 為將temp(R16)中的內容送至SH1106 Data
使用暫存器:R16,R17
動作:旋轉temp,將C的內容依序(串行)送到SH1106的SDR腳
lcd_enc,lcd_end 差別為Command時 D/C 腳為 Low
Data 時 D/C 腳為 High
lcd_enc:
cbi oled,dc
ldi r17,$07 ;r17 設定8bit
lc1: lsl temp ;temp Bit7 => C
brcc lc3 ;c = 0 跳 lc3
rcall sdr_h ;c = 1 call d_hi
rjmp lc2
lc3: rcall sdr_l
lc2: cpi r17,0 ;r17 = 0 結束
breq lc4
dec r17
rjmp lc1
lc4:
ret
sdr_h:
sbi oled,sdr
sbi oled,scl
cbi oled,scl
ret
sdr_l:
cbi oled,sdr
sbi oled,scl
cbi oled,scl
ret
lcd_end:
sbi oled,dc
ldi r17,$07 ;r17 設定8bit
lc5: lsl temp ;temp Bit7 => C
brcc lc7 ;c = 0 跳 ds3
rcall sdr_h ;c = 1 call d_hi
rjmp lc6
lc7: rcall sdr_l
lc6: cpi r17,0 ;r17 = 0 結束
breq lc8
dec r17
rjmp lc5
lc8:
ret
|
|
( 不分類|不分類 ) |