该文档涉及的是一个基于单片机的12864LCD液晶显示系统的设计,主要讲述了如何用汇编语言编写程序来控制液晶显示器进行图形和字符的显示。12864指的是液晶显示器的分辨率,即128列×64行。
程序中定义了一些关键的内存地址(EQU):
1. LCD: 这是液晶显示器的基址,通过添加偏移量可以访问写命令(WRICODE)、写数据(WRDATA)、读状态(RDSTAT)和读数据(RDDATA)的地址。
2. LCD_X, LCD_Y, LCD_X1, LCD_Y1: 用于存储坐标信息,帮助确定显示的位置。
3. COUNT到COUNT3: 用于计数和循环控制。
4. LCD_DATA, LCD_DATA1, LCD_DATA2: 存储要发送到LCD的数据。
程序流程主要包括以下几个部分:
1. 初始化:设置堆栈指针SP,然后发送基本指令(30H),如清除显示、指定光标移动方向、开显示等。
2. 显示汉字和字符:通过MOV和MOVC指令从TAB1表中读取数据,然后调用SEND_D函数将数据写入LCD。
3. 显示点阵:通过改变LCD_DATA1和LCD_DATA2的值,调用LAT_DISP函数显示不同的点阵图案。
4. 更改显示模式并显示新的内容:如更改显示位置、显示不同点阵图案或图形,再次调用SEND_I和SEND_D函数。
5. 显示图形:使用PHO_DISP子程序,配合LCD_X和LCD_Y等变量,实现全屏图形的显示。
SEND_I和SEND_D函数很可能是发送指令和数据的关键函数,它们可能包含了与液晶控制器通信的具体步骤,比如写入命令或数据到指定的寄存器。DELAY2和DELAY3可能是延时子程序,用于确保液晶显示器正确处理输入。
这个程序展示了如何通过单片机控制12864LCD液晶显示屏进行图形和字符的显示,涉及到汇编语言编程、液晶显示控制、内存地址操作以及循环和条件判断等基本概念。通过这样的设计,可以实现定制化的显示效果。