12864串行接法与ST7920控制芯片应用
需积分: 3 65 浏览量
更新于2024-09-11
收藏 22KB DOC 举报
"12864串行接法与代码示例"
在嵌入式系统或微控制器应用中,12864通常指的是128x64点阵的液晶显示器(LCD)。这种显示屏常用于显示文本和简单图形,尤其在小型设备和仪表上。在本案例中,12864串行接法是通过ST7920控制芯片实现的,该芯片支持SPI(Serial Peripheral Interface)通信协议,允许通过较少的引脚进行高效的数据传输。
ST7920是一款专为驱动点阵LCD设计的控制器,它支持串行和并行两种工作模式。由于串行模式只需要三到四条线(时钟、数据、片选和可能的方向控制),相比于并行模式(通常需要十几条数据线)而言,可以节省硬件资源,特别适合于资源有限的微控制器平台。
在提供的代码中,可以看到以下关键部分:
1. `#define` 预处理指令用于定义变量类型和常用端口,如`uchar`(无符号字符型)和`uint`(无符号整型),以及`P2^4`、`P2^5`和`P2^6`分别定义了片选(CS)、串行数据(SID)和串行时钟(SCLK)引脚。
2. `Lcd_Init()` 函数初始化LCD,包括设置ST7920的控制寄存器和配置SPI接口。这个函数可能包含初始化时钟频率、设置控制信号电平等操作。
3. `convent()` 和 `hanzi_Disp()` 函数可能分别用于数值转换和汉字显示。`convent()` 可能将距离值转换为字符串,而`hanzi_Disp()` 在指定位置显示汉字。
4. `Lcd_WriteCmd()` 和 `Lcd_WriteData()` 函数分别向LCD发送命令和数据。例如,`Lcd_WriteCmd(0x9b)` 和 `Lcd_WriteData('0'+sp_bai)` 分别发送控制命令和显示数据。
5. `addr_tab[]` 是汉字的地址表,用于查找特定汉字在内部ROM中的位置。每个地址对应一行汉字的起始位置。
6. `while(1)` 循环中,程序不断地更新LCD显示。`hanzi_Disp()` 和 `Lcd_WriteData()` 被用来显示距离和时间戳,这表明这个应用可能是用于测量和显示距离的。
7. `sp_wan`、`sp_qian`、`sp_bai`、`sp_shi` 和 `sp_ge` 是用于存储十进制数字的个位、十位、百位、千位和万位的变量,它们被用来动态生成数值字符串。
12864串行接法是通过ST7920控制芯片和SPI接口实现的,通过编写特定的控制代码,可以在LCD上显示汉字和数值。这种方法简化了硬件连接,降低了系统复杂性,同时也为开发提供了更多的灵活性。在实际应用中,可以根据具体需求调整和扩展这些基本功能,例如增加颜色支持、增强图形功能或者优化显示性能。
109 浏览量
262 浏览量
2021-09-29 上传
2018-04-29 上传
2022-07-15 上传
155 浏览量
STM32-LCD12864:SMT32驱动LCD12864串行方式 SMT32 driver LCD12864 serial mode, high portability, easy to read
2021-05-10 上传
2013-01-05 上传
huimengyoux
- 粉丝: 0
- 资源: 7
最新资源
- TypeScript-Algo
- NTS-Net-keras:学习导航以进行细粒度分类
- TinyVM-开源
- ghostbustermx.github.io:在线开发版本
- 四元数:适用于Matrix的基于Qt5的IM客户端
- mm-imx21.rar_Linux/Unix编程_Unix_Linux_
- autosar:一组用于处理AUTOSAR XML文件的python模块
- hidviz:深入分析USB HID设备通信的工具
- ippsample:IPP示例实施
- PaddlePaddle-GloVe:基于Paddle框架的GloVe模型的实现
- 将Tailwind CSS库移植到Clojure中的Garden格式-JavaScript开发
- TaoQuick:一个很酷的QtQuickqml组件库和演示(一套酷炫的QtQuickQml基础库和示例)
- stepper-motot.rar_单片机开发_Visual_C++_
- Ruzu Anki pop-ups-crx插件
- boyer-moore-string-search:C语言中的Boyer Moore字符串搜索实现
- plugin-endpoints