C语言实现ST7920 12864串口下载与通信教程

需积分: 3 2 下载量 125 浏览量 更新于2024-09-13 收藏 22KB DOC 举报
本资源是一份针对ST7920(12864)液晶显示模块的C51编程教程,重点介绍了如何通过串口进行通信。该程序利用了P3.2引脚作为同步时钟输入(E_CLK)和P3.1引脚作为数据输入/输出(RW_SID)来实现串口操作。以下是主要知识点的详细解读: 1. **硬件配置**: - **E_CLK(P3.2)**: 作为同步时钟信号输入,用于控制数据传输的起始和结束。 - **RW_SID(P3.1)**: 数据的双向接口,既可用于发送数据也用于接收数据。 2. **定时与延时函数**: - `void delay(unsigned int n)`:这是一个简单的延时函数,通过循环计数器实现指定时间的延时,以便在串行通信过程中适当调整时间和确保稳定。 3. **串行发送函数**: - `void SendByte(unsigned char dat)`: 这个函数用于将单个字节数据通过串口发送出去。它逐位地处理数据,先清零同步时钟,然后根据数据的最高位设置RW_SID,再翻转时钟,依次向右移位并发送下一位。 4. **串行接收函数**: - `unsigned char ReceieveByte(void)`: 接收一个字节的数据。首先对时钟进行两个8位的读取,分别存储在d1和d2变量中,最后返回接收到的字节值(高四位和低四位组合)。 5. **写控制命令函数**: - `void SendCMD(unsigned char dat)`: 专门用于发送控制命令,首先发送同步标志0xF8(11111,00),然后分别发送数据的高四位和低四位,通过精心设计的序列确保命令的有效传输。 这些函数共同构成了一个基本的12864液晶模块串口通信子系统,适用于在嵌入式开发中控制和交互。开发者可以利用这些函数将C51编写的程序烧录到目标板上,通过串口连接控制12864液晶显示屏显示文本或执行特定功能。理解并熟练运用这些代码片段是嵌入式开发人员在进行12864液晶显示控制项目时必不可少的基础。