file-type

C语言实现ST7920驱动:LCD12864与AT89X52单片机串口通信

TXT文件

4星 · 超过85%的资源 | 下载需积分: 50 | 3KB | 更新于2024-11-04 | 44 浏览量 | 32 下载量 举报 收藏
download 立即下载
本文档主要介绍了如何使用ST7920驱动与AT89X52单片机通过串口通信来操作LCD12864液晶显示器。ST7920是一种用于控制128x64点阵液晶屏的接口芯片,它通过串行数据传输方式实现对LCD的控制。 首先,文档引入了必要的头文件`<at89x52.h>`,并定义了数据类型如无符号字符(U8)和无符号整数(U16)。接下来定义了两个位寄存器`clk`和`sid`,分别对应LCD的数据线和时钟线。`delay_ms`函数用于设置延时,这对于串口通信中的命令发送和数据交换必不可少。 `send_dat`函数用于将一个8位数据写入LCD,它通过对数据逐位进行移位,并配合时钟线`clk`的高电平拉低操作,实现数据的单向发送。`get_byte`函数则负责读取LCD响应,通过检测时钟线的状态变化来解析接收到的8位数据。 `check_busy`函数的作用是检查LCD是否正在忙于处理上一条命令,如果忙,则会不断发送停止信号(0xFC)直到LCD完成当前操作。`send_cmd`函数用于发送LCD控制命令,先发送停止信号,然后依次发送高4位和低4位的命令代码。 `write_char`函数用于写入一个字符到指定位置,通过设置读写寄存器(rw=0, rs=1)和数据分段发送来完成操作。最后,文档提供了两个实用的LCD操作函数:`lcd_clear`用于清屏,通过发送清除命令0x01;`lcd_pos`用于设置光标的位置,根据传入的Y坐标值和X坐标值,选择对应的偏移地址码发送至LCD。 本文档详细描述了一套针对AT89X52单片机与12864 LCD12864液晶显示器交互的C语言驱动程序,包括了数据发送、命令执行、读取响应以及基本的LCD操作。这对于开发基于该硬件平台的嵌入式系统项目具有重要的参考价值。开发者可以根据这些函数结构,进一步扩展或修改代码以适应不同的应用场景。

相关推荐

jiangminjun007
  • 粉丝: 4
上传资源 快速赚钱