AVR Atmega16控制1602液晶自编字符编程教程
5星 · 超过95%的资源 需积分: 9 22 浏览量
更新于2024-09-28
收藏 51KB PDF 举报
本资源主要介绍的是在AVR Atmega16控制器下如何通过ICC编译器使用1602液晶显示器进行自编字符显示的过程。1602液晶显示器具有两个主要的存储区域:CGRAM(Character Generator RAM)和DDRAM(Display Data RAM)。CGRAM用于存储用户自定义的字符图形,而DDRAM则负责实际的字符显示。
在编程中,首先需要包含相关的头文件`<iom16v.h>`和`<mascros.h>`。`write_data`函数用于将数据写入存储器,`show_1602()`函数负责整体的字符显示流程。在`main()`函数中,程序会执行一系列操作:
1. 访问CGRAM:通过调用`write_com(0x04)`设置命令,然后使用`write_data()`函数逐行列存入自编字符的点阵数据。CGRAM的地址由DDRAM的地址的低三位映射而来,并且行地址与列地址在CGRAM中的排列规则决定了字符点阵的构建。
2. 编辑字符:通过循环遍历数组`chara[]`,数组中的每个元素表示一个字符的点阵数据,一行一个字符。用户需要根据字符手册确定每个字符的点阵布局,然后将相应的点阵编码写入CGRAM。
3. 存储字符:由于1602液晶最多只能存储8个自编字符,所以当需要显示第二个字符时,可以通过调整DDRAM的地址来扩展存储空间,例如`write_com(0x40 + j * 8)`,其中j对应于DDRAM的地址。
4. 显示字符:在编写完所有自编字符后,为了在屏幕上显示,需要发送一个命令到DDRAM,即`write_com(0x80 + 屏幕显示位置的地址)`,然后写入自编字符的实际地址。这一步完成了字符的显示。
整个过程强调了对1602液晶工作原理的理解,特别是内存布局和命令操作,以及字符自定义的编程步骤。参考字符手册对于正确配置字符和理解显示效果至关重要。通过这个示例,学习者可以掌握如何在AVR Atmega16平台上利用1602液晶进行字符自定义显示,这对于嵌入式系统开发和硬件编程实践非常实用。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2011-12-27 上传
2021-04-06 上传
2016-05-17 上传
2023-03-10 上传
2010-10-10 上传
2008-09-17 上传
gongweilin123456789
- 粉丝: 0
- 资源: 4
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析