基于PIC18F4550的JHD12864E图形LCD开发教程

需积分: 9 0 下载量 58 浏览量 更新于2024-10-26 收藏 198KB ZIP 举报
资源摘要信息: "PIC-Graphics-LCD: 使用 PIC18F4550 运行 JHD12864E 128x64 图形 LCD (GLCD)" PIC18F4550 微控制器 PIC18F4550 是一种8位微控制器,由Microchip公司生产,属于PIC18F系列。它具有较大的程序存储空间和较高的处理速度,适用于各种嵌入式应用。此型号特别适合用于需要USB接口和丰富外设的项目。它的核心电压范围一般在2V至5.5V之间,拥有丰富的I/O端口,以及多种通信协议的硬件支持,如USART、SPI、I2C等。PIC18F4550具备集成的USB模块,支持全速USB通信,使得设计者可以容易地在微控制器与PC之间建立高速通信。 JHD12864E 图形 LCD (GLCD) JHD12864E是一款128x64像素的图形液晶显示模块,它能够显示字符、图标以及图形,并支持不同的字体大小。这类显示模块通常有并行接口,并需要微控制器提供相应的控制信号以及数据信号。GLCD模块常常用于嵌入式系统中,为用户提供直观的可视化输出界面。 字符显示功能 能够以不同字体将字符串显示在JHD12864E LCD上,这要求程序员在编写代码时实现字符的字库,并通过软件控制LCD的绘图函数,将字符映射到LCD的像素点阵上。 图像显示功能 此功能允许将128x64的1位图像显示在LCD屏幕上,这需要将图像数据转换为LCD可以显示的点阵数据格式,并通过编程控制LCD逐行逐列地绘制图像。 实时时钟(RTC)功能 DS1307是一款流行的串行实时时钟芯片,它能够与PIC18F4550通过I2C通信接口进行连接,从而让微控制器能够获取和设置当前时间。这项功能对于需要显示时间的应用至关重要,例如在GLCD上显示当前时间。 74HC595 移位寄存器 在设计中使用74HC595移位寄存器进行I/O端口扩展,这是因为在某些情况下,微控制器的I/O口可能不足以直接驱动LCD的数据总线。74HC595可以将串行信号转换成并行信号,从而仅使用少数几个微控制器I/O口来控制LCD的数据总线,实现数据的串行输入,并行输出。 使用74HC595复用输出 为了降低硬件连接的复杂度和节省I/O端口,设计师采用了74HC595的串行输入和并行输出特性,通过这种方式,只需要占用微控制器的少数几个I/O端口就可以实现数据的传输和控制。 乒乓球游戏 此部分描述表明,项目中还包含了使用LCD显示的简单游戏——乒乓球游戏。这需要编程实现游戏逻辑,并能够通过按键和显示界面与用户交互。 长按按钮调整时间 功能允许用户通过长按按钮来调整GLCD上显示的时间。这需要编写中断服务程序或轮询检测按键状态,然后调整与DS1307同步的时间。 晶振频率 20/24 MHz的晶振为PIC18F4550提供时钟信号,是整个系统运行的基础。该频率决定了微控制器的处理速度以及与外设通信的速度,同时也影响到显示刷新率等性能指标。 编程语言与技术栈 标签"C"表明代码是使用C语言编写的,这是嵌入式系统开发中非常常见的编程语言,因为它能够提供对硬件的良好控制,并且有丰富的库支持。 文件结构 压缩包"PIC-Graphics-LCD-master"可能包含了源代码、库文件、示例程序、编译脚本以及可能的文档说明,这为用户提供了可以直接编译和运行的完整环境。通过文件名"master",我们可以推断出这是一个版本控制下的主分支或主版本的代码,可能是项目的主要交付形式。