12864液晶显示程序:单片机与汉字显示

需积分: 1 0 下载量 86 浏览量 更新于2024-09-14 收藏 41KB DOC 举报
"该资源是关于使用单片机控制12864液晶显示屏的汇编语言程序,主要实现汉字显示功能,不依赖字库。程序包括初始化、设定起始行、写指令到液晶模块(LCM)、写数据到LCM以及设置XY坐标的子程序。" 这篇内容介绍了一个基于单片机的12864液晶显示时钟的汇编程序。12864液晶屏是指具有128列和64行的显示区域的图形液晶显示器。在这个程序中,液晶屏被分为左右两个部分,通过不同的片选信号(CS1 和 CS2)进行控制。此外,程序还定义了其他控制引脚,如数据输入/输出(DIBIT)、读写选择(RWBIT)、使能信号(EBIT)以及复位信号(RSTBIT)。 程序的主要功能包括: 1. **初始化**:`lcd_init`子程序负责初始化液晶屏,设置必要的参数以使能显示功能。 2. **设定起始行**:`set_startline`子程序允许用户指定显示的起始行,这在处理多行显示时非常有用。 3. **写指令到LCM**:`w_code`子程序用于将控制指令写入液晶模块。在调用此子程序前,需先设定片选信号,并将指令存储在累加器A中。 4. **写数据到LCM**:`w_data`子程序用于写入显示数据,同样需要预先设定片选信号,然后将数据放入累加器A。 5. **设置XY坐标**:`set_xy`子程序用来设置显示位置,接收X和Y坐标作为输入,转换后写入适当的地址,以便在指定位置显示数据。 在示例代码中,程序展示了如何在特定位置显示汉字,例如使用`disp_hz`子程序来显示汉字,并在不同位置交替显示来自`tab1`和`tab2`的数据显示缓冲区的内容。 值得注意的是,程序中没有提到具体的单片机型号,但通常这类应用会使用8位微控制器如8051系列。汇编语言是直接对硬件操作的低级语言,因此这种程序设计需要对单片机硬件有深入理解,包括其内存结构、I/O端口操作等。 此外,由于没有字库,程序可能采用了点阵编码的方式,即每个汉字由其点阵编码表示,直接存储在程序的表格中(如`tab1`和`tab2`),然后通过`disp_hz`子程序将这些编码转化为液晶屏上的图像。 总结起来,这个程序提供了一套基础的框架,可以用来扩展和实现更多基于12864液晶屏的单片机应用,如数字时钟、信息显示、简单图形界面等。对于学习单片机编程和液晶显示控制的初学者来说,这是一个很好的实践案例。