12864液晶显示程序:单片机与汉字显示
需积分: 1 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液晶屏的单片机应用,如数字时钟、信息显示、简单图形界面等。对于学习单片机编程和液晶显示控制的初学者来说,这是一个很好的实践案例。
649 浏览量
832 浏览量
891 浏览量
2018-07-04 上传
341 浏览量
522 浏览量
107 浏览量
498 浏览量
2011-08-31 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
骄傲之罪
- 粉丝: 0
最新资源
- MATLAB实现BA无尺度模型仿真与调试
- PIL-1.1.7图像处理库32位与64位双版本发布
- Jacob项目1.18版本更新,发布M2版本压缩包
- RemapKey:永久重映射键盘按键,便捷后台设置
- Coursera上的Python数据科学入门指南
- C++实现常见排序算法,涵盖多种排序技巧
- 深入学习Webpack5:前端资源构建与模块打包
- SourceInsight颜色字体配置指南
- ECShop图片延时加载插件实现免费下载
- AWS无服务器计算演示与地理图案项目
- Minerva Chrome扩展程序的重新设计与优化
- Matlab例程:石墨烯电导率与介电常数的计算
- 专业演出音乐排序播放器,体育活动音效管理
- FMT star算法:利用Halton序列实现路径规划
- Delphi二维码生成与扫码Zxing源码解析
- GitHub Pages入门:如何维护和预览Markdown网站内容