1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,液晶显示实验,实验目的,实验器材,硬件接线,VB,界面,软件功能,程序清单,备注说明,1.6,ms,16,CLR-LCD-2-MS:,;,延时,AIX#-1,CPHX#0,LDA#%00000110,;,输入方式设置:数据读写操作后,;,AC,自动增1,显示不动,光标左,JSR LCDCOMMAND,LDA#%00010100,;,光标移位设置:光标右移一个,;字符位,AC,自动加1,JSR LCDCOMMAND,LDA#%00001100,;,显示开关设置:开显示,;关光标显示,不闪烁,JSR L
2、CDCOMMAND,RTS,17,*-,LCDCOMMAND(LCD,命令执行子程序),-,*入口:,A,*,功能:对,A,中指令使用,PORTA,作为输出口,*到,LCD,进行命令执行或字符显示,*占用,CPU,内部寄存器:,A,*-,LCDCOMMAND:,PSHH,;,保护现场,PSHX,LDHX#$0020,;,等待40,us,DBNZX*,STA PTA,;,把指令码送到,A,口,18,NOP,NOP,BSET LCD-E,PTC,;LCD,开始接受数据,置使能位为1,NOP,NOP,BCLR LCD-E,PTC,;LCD,结束接受数据,置使能位为0,LDHX#$0020,;,等待4
3、0,us,DBNZX*,PULX,;,恢复现场,PULH,RTS,*,19,*-,SHOW-LCD-BUFFEER(LCD,显示子程序),-,*入口:内存,LCD-BUFFER,开始的16个地址中存放要显示的字符,*编码,*功能:显示内存,LCD-BUFFER,开始的16字节数据,*调用,:,LCDCOMMAND,子程序,*占用,CPU,内部寄存器:,A,HX,*-,SHOW-LCD-BUFFER:;,进行显示数据寄存器(,DD RAM),地址设置,BCLR LCD-RS,PTC,BCLR LCD-RW,PTC,;,设置前8个字符首,DD RAM,地址,LDA#%10000000,JSR LC
4、DCOMMAND,LDHX#$0,;,显示前8个字符,20,SHOW-FIRST-8BYTE:,BSET LCD-RS,PTC,;,令,LCD,的,RS=1,R/W=0,写入数,;据到,DD RAM,中,BCLR LCD-RW,PTC,LDA LCD-BUFFER,X,;,将,LCD-BUFFER+X,的数据,;放入,A,作为入口,JSR LCDCOMMAND,AIX#1,CPHX#$8,BNE SHOW-FIRST-8BYTE,21,LDA#%11000000,;,设置后8个字符首,DD RAM,地址,BCLR LCD-RS,PTC,BCLR LCD-RW,PTC,JSR LCDCOMMAN
5、D,LDHX#$08,;,显示后8个字符,SHOW-NEXT-8BYTE:,BSET LCD-RS,PTC,;,令,LCD,的,RS=1,R/W=0,;,写入数据到,DD RAM,中,BCLR LCD-RW,PTC,22,LDA LCD-BUFFER,X,;,将,LCD-BUFFER+X,的数据,;放入,A,作为入口,JSR LCDCOMMAND,AIX#1,CPHX#$10,BNE SHOW-NEXT-8BYTE,RTS,*-,中断矢量,-*,ORG$FFFE,;,复位向量,DW MAININIT,23,系统初始化,Init0:;,系统初始化,Init0,子程序,LDA#%00000001 ;,初始化,CONFIG2,STA$001E,LDA#%00111101 ;,初始化,CONFIG1,STA$001F,CLR$0036 ;,初始化,PTCL,MOV#$01,$0036,MOV#$01,$0038,MOV#$2C,$0039,MOV#$80,$003A,BSET 5,$0036,BSET 7,$0037,BSET 4,$0036,RTS,24,不使用,单片机串行外设接口(,SPI),和74,HC164(,移位寄存器),使用,A,口作为输出在,LCD,上显示。,备注说明:,25,