我安装了带有MSP430g2553的NHD-0216HZ-FSW-FBW-33V3C。我尝试用汇编语言将其初始化为4位模式,但仍然显示黑盒子,我认为初始化没有完成。
我的连接是:DB4-DB7 - >分别为P1.4-P1.7,RS-> P2.0,R / W - > P2.1,启用 - > P2.2
这是我的代码:
Init: bic.b #0xFF,P1OUT ;Clear P1, P1 = 0
bis.b #0x01,&P2OUT ;High RS = 1
bic.b #0x01,&P2OUT ;Clear RS = 0
call #Delay100ms
mov.b #0x30,&P1OUT
call #Nibble ;Wake up 1
call #Delay10ms
call #Nibble ;Wake up 2
call #Delay10ms
mov.b #0x20,P1OUT
call #Nibble ;Wake up 3
call #Command28
call #Command10
call #Command0F
call #Command06
ret
Nibble bis.b #0x04,&P2OUT ;Enable High
call #Delay1ms
bic.b #0x04,&P2OUT ;Clock Enable - Falling Edge
ret
Command28 mov.b #0x28,&P1OUT //Data in port
bic.b #1,&P2OUT //RS = 0 : Send Instruction
bic.b #0x02,&P2OUT //R/W = 0 : Write
call #Nibble //Send Lower 4 Bits
mov.b #0x28,R4
push R4
mov.b #4,R5 ;Rotate Left Counter
C28 rla.b R4
dec R5
jnz C28
mov.b R4,&P1OUT //put data in output port
call #Nibble //Send upper 4 bits
pop R4
and.b #0xF0,R4
mov.b R4,&P1OUT
ret
此代码遵循LCD Display Datasheet中的NHD-0216HZ-FSW-FBW-33V3C数据表中的代码。如果有人可以帮助我。