单片机LCD12864显示系统课程设计
LCD12864液晶显示系统的设计
(按课程设计周计算)
第一周设计任务:(1):明确课题对程序功能及硬件条件;
(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。
(3):存储器资源分配
第二周设计任务:(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序
(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。
具有的设计条件
1.PC机一台,教学实验箱一台及编程环境;
计划学生数及任务
3人
(1):明确课题对程序功能及硬件条件;
(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。
(3):存储器资源分配
(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序
(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。
自动化专业微机原理课程设计任务书
论文
题目
LCD12864液晶显示系统的设计
设计Байду номын сангаас型
导师姓名
主要内容及目标
要求:①使用12864J液晶显示器,分辩率为128*64,可以显示8*4个(16*16点阵)汉字。
②采用8位数据总线并行输入输出和4条控制线。
③在12864J液晶上显示一段文字,包括:“合肥学院”、“电子系”、“欢迎你”,三行字。
参考文献
《微型计算机原理及接口技术》中国科技大学出版社2009.9周荷琴编著
《16-32位微型计算机技术及应用》清华大学出版社戴梅萼史嘉权编著
<<汇编语言程序设计》南京大学出版社姚君遗编著
《汇编语言程序设计教程》清华大学出版社杨记文编著
《微型计算机原理及接口技术》实验指导书
LCD12864报告
引言单片机即微型计算机。
是集成CPU,RAM,ROM,定时器,计数器和多种接口于一体的微控制器,它体积小,成本低,功能强大,广泛应用于智能产品和工业自动化上,而51单片即是各单片机中最为典型的一种。
本次课程设计就是通过对他的学习应用,从而达到学习,设计,开发软、硬件的能力。
LCD液晶显示系统就是基于单片机的最小系统下所构建的一个功能系统,通过软、硬件的结合,实现LCD12864模块对数字,汉字,英文及图片的显示,来实现数据的输出显示和人及对话等高级功能。
1液晶显示系统简介1.1 主要功能本次课程设计能实现的功能如下:1.本电路为液晶显示系统。
2.通过电位器可对液晶的背光进行明暗调节。
3.可以实现对数字,汉字,英文以及图片的显示。
1.2 主要器件及介绍1.2.1主控模块STC89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。
它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。
89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,80C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模据,时钟振荡停止,同时停止芯片内其它功能。
如下图所示STC89C52RC实物图(图1-1)和引脚图(图1-2)编辑本段主要功能特性:·标准MCS-51内核和指令系统·片内8kROM(可扩充64kB外部存储器)· 32个双向I/O口· 256x8bit内部RAM(可扩充64kB外部存储器)· 3个16位可编程定时/计数器·时钟频率3.5-12/24/33MHz·向上或向下定时计数器·改进型快速编程脉冲算法· 6个中断源· 5.0V工作电压·全双工串行通信口·布尔处理器—帧错误侦测· 4层优先级中断结构—自动地址识别·兼容TTL和CMOS逻辑电平·空闲和掉电节省模式图1-1 STC89C52RC实物图图1-2 STC89C52RC引脚图1.2.2 LCD12864液晶模块带中文字库的TS128X64(图1-3)是一种具有4位/8位并行、2线或3线串行多种接口方式,引脚功能见图表1-4,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
实验三 LCD12864液晶显示
实验三 LCD12864液晶显示参赛序号实验题目LCD12864液晶显示实验成组员左虎博杨颂王志鹏指导教师赵勇报告日期2014年7月16日-2014年7月18日摘要:本设计以超低功耗MSP430单片机为微控制器,以4位/8位并行,2线或3线串行多种接口方式的LCD12864为输出显示器。
通过对MSP430单片机进行编程,在LCD12864上显示8×4行16×16点阵的汉字。
关键字:MSP430 LCD12864目录一.方案论证 (4)液晶显示器的论证与选择 (4)二.LCD12864的工作原理 (4)1.引脚功能说明 (4)LCD12864采用20接口,各引脚接口说明如表3所示: (4)2. 指令说明 (5)三.实验框图和电路图 (7)1. 系统框图 (7)2. 电路原理图 (7)四.实验程序设计 (7)五.系统测试 (11)1. 测试方案 (11)2. 测试结果 (11)3. 测试分析与结论 (12)一.方案论证液晶显示器的论证与选择方案一:采用带中文字库的LCD12864。
LCD12864具有4 位/8 位并行、2 线或3 线串行多种接口方式,可以显示8×4 行16×16 点阵的汉字。
也可完成图形显示。
低电压低功耗是其一显著特点。
方案二:采用LCD1602。
LCD1602显示内容为16X2,即可以显示两行,每行16个字符液晶模块,只能显示字符和数字。
通过论证可知LCD12864显示内容多,功能多,低电压低功耗,因此选用方案一。
二.LCD12864的工作原理1.引脚功能说明LCD12864采用20接口,各引脚接口说明如表1所示:表1 引脚说明表管脚号管脚名称电平管脚功能描述1 VSS 0V 电源地2 VCC 3.0+5V 电源正3 V0 - 对比度(亮度)调整4 RS(CS)H/LRS=“H”,表示DB7——DB0为显示数据RS=“L”,表示DB7——DB0为显示指令数据5 R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7——DB0R/W=“L”,E=“H→L”, DB7——DB0的数据被写到IR或DR6 E(SCLK) H/L 使能信号7 DB0 H/L 三态数据线表1 引脚说明表注释1:如在实际应用中仅使用串口通讯模式,可将PSB 接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。
利用lcd12864显示的时间控制器设计
目录第一章概述 (1)1.151单片机简介 (1)1.2 设计要求 (1)第二章系统总体方案流程 (2)第三章软件设计 (3)3.1系统软件设计思想 (3)3.2 系统主程序 (3)第四章Proteus软件仿真 (4)4.1 Proteus软件简介 (4)4.2 Proteus软件仿真 (4)课程设计体会 (7)参考文献 (8)附录1 (9)第一章概述1.1 51单片机简介单片微型计算机简称单片机,即把组成微型计算机的各个功能部件,如中央处理器、随机存储器、只读存储器、I/O接口电路、定时器/计数器以及串行通信接口等集成在一块芯片上,构成一个完整的微型计算机。
由于单片机主要面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应测控功能领域应用的要求而诞生的。
随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如ADC、DAC、高速I/O口、脉冲宽度调制器、监视定时器等,这些接口电路已经突破了微型计算机传统的体系结构,所以单片机也成为微型控制。
1.2 设计要求STC12C5A60S2(引脚排序及基本功能同AT89S51)作为主控芯片,设计利用数码管显示时间。
一是扩展DS12C887时钟电路设计;二是利用LCD12864显示当前时间;三是利用单片机I/O口驱动继电器的控制输出电路设计;四是设计出在到达定时时间给出10s的继电器动作信号。
第二章系统总体方案流程图2-1 系统方框图本次设计实现的功能主要有:使用4位七段显示器来显示现在的时间,显示格式为“时分”,由LED小数点闪动作为秒计数表示。
可以设定作息时间,并进行到时提示。
能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。
由按键输入控制设置年月日以及当前时间、并可设置闹钟定时,时间到由继电器器发出响声并作出相应动作:二极管闪亮。
第三章软件设计3.1 系统软件设计思想本系软件设计中,利用单片机定时器设计时间计时处理,采用单片机内部的T0定时器溢出中断来实现,工作在T1方式下,定时10秒,则连续中断20次即为一秒,得到了我们所需时间的最小单位该设计用C51编写程序,由于汇编语言的移植性比较差,而C语言则比较灵活。
(完整word版)lcd12864 课程设计
LCD 128641.总体设计思路SMG12864一般用于显示汉字,字符,分辨率不高的bmp图像,可用来显示传感器采集到信息,是单片机和人交换信息的窗口,2.方案设计8051Lcd12864单片机3.硬件设计单片机控制12864的管脚来显示想要的字符和图像,P0用来发送必要的指令和数据,P2口协助P1口给12864写数据,1. 指令寄存器(IR)IR 是用于寄存指令码,与数据寄存器数据相对应。
当D/I=0 时,在E 信号下降沿的作用下,指令码写入IR。
2.数据寄存器(DR)DR 是用于寄存数据的,与指令寄存器寄存指令相对应。
当D/I=1 时,在下降沿作用下,图形显示数据写入DR,或在E 信号高电平作用下由DR 读到DB7∽DB0数据总线。
DR 和DDRAM 之间的数据传输是模块内部自动执行的。
3.忙标志:BFBF 标志提供内部工作情况。
BF=1 表示模块在内部操作,此时模块不接受外部指令和数据。
BF=0 时,模块为准备状态,随时可接受外部指令和数据。
利用STATUS READ 指令,可以将BF 读到DB7 总线,从检验模块之工作状态。
4.显示控制触发器DFF此触发器是用于模块屏幕显示开和关的控制。
DFF=1 为开显示(DISPLAY OFF),DDRAM 的内容就显示在屏幕上,DFF=0 为关显示(DISPLAY OFF)。
DDF 的状态是指令DISPLAY ON/OFF 和RST 信号控制的。
5.XY 地址计数器XY 地址计数器是一个9 位计数器。
高3 位是X 地址计数器,低6 位为Y 地址计数器,XY 地址计数器实际上是作为DDRAM 的地址指针,X 地址计数器为DDRAM的页指针,Y 地址计数器为DDRAM 的Y 地址指针。
X 地址计数器是没有记数功能的,只能用指令设置。
Y 地址计数器具有循环记数功能,各显示数据写入后,Y 地址自动加1,Y 地址指针从0 到63。
6.显示数据RAM(DDRAM)DDRAM 是存储图形显示数据的。
课程设计12864LCD液晶显示课程设计
12864LCD液晶显示课程设计摘要:本次课程设计应用的液晶显示屏。
⑴掌握单片机与液晶显示器之间接口设计与编程。
⑵利用点阵式液晶显示器显示汉字或图形。
编制程序,建立图像代码,在液晶显示器上显示文字与图形。
简介:概述:128X64LCD液晶显示屏是一种带中文字库,具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
基本特性:(1)、低电源电压(VDD:+3.0--+5.5V)(2)、显示分辨率:128×64点(3)、内置汉字字库,提供8192个16×16点阵汉字(简繁体可选) (4)、内置 128个16×8点阵字符(5)、2MHZ时钟频率(6)、显示方式:STN、半透、正显(7)、驱动方式:1/32DUTY,1/5BIAS (8)、视角方向:6点(9)、背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 (10)、通讯方式:串行、并口可选(11)、内置DC-DC转换电路,无需外加负压(12)、无需片选信号,简化软件设计(13)、工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃模块接口说明:*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
LCD12864多级菜单课程设计
LCD12864多级菜单课程设计一、课程目标知识目标:1. 理解LCD12864液晶显示屏的基本工作原理和接口技术。
2. 掌握多级菜单的设计方法,包括菜单结构、界面布局及跳转逻辑。
3. 学会编写程序代码实现LCD12864多级菜单的显示与操作。
技能目标:1. 能够运用所学知识设计出结构清晰、界面友好的多级菜单界面。
2. 熟练使用相关编程语言和开发工具,完成程序编写和调试。
3. 培养学生的动手操作能力和团队协作能力,提高问题解决能力。
情感态度价值观目标:1. 培养学生对电子技术和编程的兴趣,激发学习热情。
2. 培养学生严谨、细心的学习态度,养成良好的编程习惯。
3. 增强学生的创新意识,鼓励学生敢于尝试、勇于实践。
分析课程性质、学生特点和教学要求,本课程目标旨在帮助学生在掌握LCD12864多级菜单设计的基础上,提高实际操作能力,培养学生的创新思维和团队协作精神。
通过本课程的学习,使学生能够在实际项目中运用所学知识,为我国电子信息产业的发展做出贡献。
同时,注重培养学生的情感态度价值观,使学生在学习过程中形成积极向上的人生态度。
二、教学内容1. LCD12864液晶显示屏原理介绍:包括显示原理、接口技术、指令集等基本知识。
- 教材章节:第三章第二节- 内容列举:LCD12864工作原理、接口类型、指令功能。
2. 多级菜单设计方法:- 教材章节:第五章- 内容列举:菜单结构设计、界面布局、跳转逻辑、操作流程。
3. 编程实现LCD12864多级菜单:- 教材章节:第六章- 内容列举:编程环境搭建、代码编写、程序调试、功能实现。
4. 实例分析与操作:- 教材章节:第七章- 内容列举:典型多级菜单实例、操作方法、优化技巧。
5. 动手实践与团队协作:- 教材章节:第八章- 内容列举:实践任务分配、协作流程、成果展示。
根据课程目标,教学内容分为五个部分,确保学生系统掌握LCD12864多级菜单设计的相关知识。
教学大纲明确指出各部分内容的安排和进度,以及教材对应的章节和具体内容。
LCD12864显示电路
郑州轻工业学院课程设计任务书题目 LCD12864显示电路专业、班级电子信息09-1 学号姓名主要内容、基本要求、主要参考资料等:本课程设计题目要求基于AT89C51单片机,设计一个扩展显示采用LCD12864(带字库)的电路,要求能实现数字、字母、汉字的显示,并实现闪烁、反白、光标等效果。
要求说明对系统功能分析、软硬件设计思路、系统框图、主要电路图,并给出软件控制流程,说明系统完成效果或仿真结果。
主要参考资料:1.《单片机原理与应用》,高教出版社,张毅刚主编2.《51系列单片机原理及设计实例》,北航出版社,楼然苗等主编完成期限:2013,1,4指导教师签名:课程负责人签名:2012年 11 月 27 日一、系统功能分析在单片机的应用实例中,常常需要有显示电路,而带中文字库的TS128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
二、硬件设计原理图1、AD采集控制设计如图2所示,由于电路简单并且很成熟,所以硬件设计不是很大问题,只要了解12864的管脚定义可以设计原理图。
图2 AD采集控制电路三、软件设计流程图如图4取下一个字符图4 软件流程图四、原程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit RS=P2^4;sbit R_W=P2^3;sbit E=P2^2;sbit CS1=P2^1;sbit CS2=P2^0;uchar code dat[]={/*-- 调入了一幅图像:C:\Documents and Settings\Administrator\桌面\55486830_1.bmp --*/ /*-- 宽度x高度=64x128 --*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x7E,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x0C,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x01,0xF8,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x07,0xC0, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x02,0x60,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x02,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,};void delay_1ms(int t) //延时函数延时单位.1ms{int i,j;for(i=0;i<t;i++)for(j=0;j<12;j++);}void write_12864_com_CS1(uint com) //给左半屏写数据的函数{RS=0;R_W=0;CS1=1;CS2=0;delay_1ms(1);E=1;delay_1ms(1);P0=com;delay_1ms(1);E=0;delay_1ms(1);}void write_12864_com_CS2(uchar com) //给右半屏写数据的函数{RS=0;R_W=0;CS1=0;CS2=1;delay_1ms(1);E=1;delay_1ms(1);P0=com;delay_1ms(1);E=0;delay_1ms(1);}void write_12864_dat(uchar dat) //写指令函数{RS=1;R_W=0;delay_1ms(1);E=1;delay_1ms(1);P0=dat;delay_1ms(1);E=0;delay_1ms(1);}/*void control_12864_CS1(){CS1=1;CS2=0;}void control_12864_CS2(){CS1=0;CS2=1;} */void display(uchar page,uchar line) //从第page行开始显示从line列开始显示设置起始地址{uchar a,b,c,d;a=0xb8+(0x07&page);b=0x40+(0x3f&line);for(c=0x00;c<8;c++){for(d=0;d<128;d++){switch(d){case 0:{write_12864_com_CS1(a+7-c);delay_1ms(1);write_12864_com_CS1(b);break;}case 64:{write_12864_com_CS2(b);delay_1ms(1);write_12864_com_CS2(a+7-c);break;}}delay_1ms(1);write_12864_dat(dat[11*d+c]);}write_12864_com_CS1(0xc0);delay_1ms(1);write_12864_com_CS2(0xc0);}}void initinal_12864(){delay_1ms(100);write_12864_com_CS1(0x38);write_12864_com_CS2(0x38);delay_1ms(10);write_12864_com_CS1(0x38);write_12864_com_CS2(0x38);delay_1ms(10);write_12864_com_CS1(0x3f);write_12864_com_CS2(0x3f);delay_1ms(10);write_12864_com_CS1(0x01);write_12864_com_CS2(0x01);delay_1ms(300);write_12864_com_CS1(0x05);write_12864_com_CS2(0x05);delay_1ms(50);}int main(){initinal_12864();while (1) { display(0x00,0x00);}return 0; }五、 仿真结果XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C S 11C S 22G ND 3V C C 4V 05D I 6R /W 7E 8D B 09D B 110D B 211D B 312D B 413D B 514D B 615D B 716R S T 17-V o u t 18LCD?LGM12641BS1R图5 仿真图六、心得体会做完这个设计,确实感触好多。
12864课程设计
12864课程设计一、教学目标本课程的教学目标是使学生掌握12864显示模块的基本原理和操作方法,能够独立完成简单显示内容的编程和显示。
具体包括:1.知识目标:使学生了解12864显示模块的内部结构、工作原理和接口协议,掌握其在嵌入式系统中的应用。
2.技能目标:培养学生能够使用编程语言进行12864显示模块的驱动程序编写,实现基本显示功能。
3.情感态度价值观目标:培养学生对嵌入式系统的兴趣,提高学生动手实践能力,培养学生的创新精神和团队合作意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.12864显示模块的内部结构和工作原理:介绍12864显示模块的组成部分,如显示缓冲区、控制逻辑等,以及其工作原理。
2.12864显示模块的接口协议:讲解12864显示模块与微控制器之间的接口协议,如数据线、时序等。
3.12864显示模块的编程方法:介绍如何使用编程语言编写12864显示模块的驱动程序,实现字符、图形等的显示。
4.12864显示模块在嵌入式系统中的应用:讲解12864显示模块在嵌入式系统中的应用实例,如液晶显示屏、触摸屏等。
三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法:1.讲授法:用于讲解12864显示模块的基本原理、接口协议和编程方法。
2.讨论法:用于引导学生探讨12864显示模块在实际应用中的问题和解决方案。
3.案例分析法:通过分析具体的嵌入式系统应用案例,使学生更好地理解12864显示模块的应用。
4.实验法:安排实验课程,让学生动手实践,巩固所学知识,提高实际操作能力。
四、教学资源本课程所需教学资源包括:1.教材:选用权威、实用的教材,详细介绍12864显示模块的相关知识。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作PPT、视频等多媒体教学资料,提高课堂教学效果。
4.实验设备:准备12864显示模块实验板和相关调试工具,方便学生进行实验操作。
LCD课程设计---128X64液晶显示程序设计
《CPLD/FPGA 》课程设计报告题目:128X64液晶显示程序设计院(系):信息科学与工程学院专业班级:通信1001班学生姓名:訚鹏学号:20101181021同组学生:秦佩指导教师:吴莉20 13 年 10 月 14 日至20 13 年 10 月 25 日华中科技大学武昌分校制128X64液晶显示程序设计课程设计任务书目录摘要 (3)1.课程设计的目的 (4)2.课程设计题目和要求 (4)3.课程设计报告内容 (4)3.1课程设计原理 (4)3.2课程设计相关图 (5)3.3课程设计程序 (6)3.4课程设计的结果 (14)3.5课程设计的波形仿真 (15)4.课程设计所遇到的问题及解决方案 (15)5.课程设计总结 (17)摘要在硬件电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,而VHDL语言是EDA的关键技术之一,它采用自顶向下的设计方法,即从系统总体出发,自上至下地将设计任务分为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。
本课设主要是基于FPGA的128X64的液晶显示控制器。
控制部分采用VHDL语言编写,主体程序采用状态机作为主要控制方式。
关键字:VHDL,状态机,128641 课程设计的目的通过对液晶屏的安装调试,需学习掌握:(1)液晶屏显示文字的整体设计流程。
(2)Quartus2软件的调试方法及相关工具的使用。
(3)液晶屏LCD12864的使用方法。
(4)各种常见元器件的选择及使用。
2 课程设计题目描述和要求题目描述:频率计的设计制作要求:用VHDL编程控制LCD12864显示的频率计。
(1)用LCD12864显示“频率及姓名”等内容。
(2)显示过程:实验板通电开机后,下载运行之后,LCD显示器显示“频率及姓名”,本组成员等内容。
(3)熟悉单片机系统的工作原理及调测方法。
软硬件安装调测完成后根据系统的工作原理、过程、测试数据及遇到的问题与处理情况、体会等完成课设报告。
LCD12864液晶电子钟
长沙学院《单片机原理及应用》课程设计说明书题目 LCD12864液晶显示电子钟设计系(部)专业(班级)姓名学号指导教师起止日期《单片机原理及应用》课程设计任务书系(部):专业:课题名称LCD12864液晶显示电子钟设计设计内容及要求1、课题内容:设计一种基于AT89S52 单片机的液晶显示电子时钟,要求如下:(1)、能正确显示时间、日期和星期显示格式为:时间:XX 小时:XX 分:XX 秒;日期:XX 年:XX 月:XX 日;星期:X。
(2)、时间能够由按键调整,误差小于1S。
(3)、闹钟功能:时间运行到与闹钟设定时间时,闹钟响(持续响3秒)。
(4)、报时功能:时间运行到正点时间时,闹钟响,几点钟就响几声(每声持续响2 秒,每两声之间时间间隔1 秒)。
液晶显示器第一行显示“数字电子钟”;第二行显示“当前时间”;第三行显示日期和星期;第四行显示最近一个闹钟的设定时间。
2、要求:完成该系统的硬件和软件的设计,在Proteus 软件上仿真通过,并提交一篇课程设计说明书。
设计工作量1、汇编或C51 语言程序设计;2、程序调试;3、在Proteus 上进行仿真成功,进行实验板下载调试;4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、调试过程,参考文献、设计总结等。
进度安排起止日期设计内容(或预期目标)备注第一天课题介绍,答疑,收集材料,C51介绍第二天设计方案论证,练习编写C51程序第三天——第六天程序设计第六天——第八天程序调试、仿真第九天——第十天系统测试并编写设计说明书教研室意见年月日系(部)主管领导意见年月日目录一、整体方案设计 (4)1、单片机的选择 (4)2、单片机结构 (4)二、前期准备 (5)三、程序设计 (8)1、键盘约定 (8)2、界面显示 (9)3、全局变量的定义 (9)4、系统时钟 (9)5、闹钟控制时间的设定 (9)四、总结与体会 (10)参考文献 (11)一、整体方案设计1、单片机的选择单片微型计算机主要由微处理器、存储器、I/O接口电路等组成。
LCD12864液晶显示的设计
电子技术课程设计报告书课题名称 LCD12864液晶显示的设计姓 名学 号院、系、部 物理与电信工程系 专 业 电子信息工程指导教师2012年 06月 20日※※※※※※※※※ ※※ ※※ ※※ ※※※※※※※※※2009级电子信息工程单片机课程设计LCD12864液晶显示的设计1 设计目的(1)熟悉模拟电路的应用与集成电路的引脚排列。
(2)掌握单片机芯片80C5X系列的逻辑功能及使用方法。
(3)熟悉电路仿真软件Proteus的使用。
(4)了解点阵型LCD12864(不带字库)的组成及工作原理。
(5)熟悉KEIL软件的编程,加强C语言的能力。
2 设计思路(1)设计单片机最小系统电路。
(2)设计LCD12864液晶外围电路。
(3)设计LCD12864液晶与单片机的组成电路。
3 设计过程3.1方案论证图3.1.1 单片机与LCD液晶的工作原理框由于要实现点阵液晶的绘图等功能,而且对于51系列的单片机片内RAM 都不大,要实现读操作的话只能使用可以并行方式的液晶,(只有并行方式可读)因为如果不使用并行方式而采用在51系列单片机内部开辟一片128*64大小的缓存用于对液晶的刷新从而实现读的功能显然不现实。
本设计选用的12864是AMPIRE128X64,它的控制器是KS0138,采用并行方式与单片机通信。
对于单片机的选用,采用程序存储空间较大的STC89C58,它有32K的flash,对于实现简单的GUI设计足够。
图1是单片机与LCD液晶以及外围电路的总体框图。
3.2电路设计图3.2.1 单片机最小系统电路如图2所示,单片机的最小系统有复位电路和振荡电路组成,复位电路采用上电复位,振荡电路采用的内部方式,在XTAL1和XTAL2端外界石英晶体作定时元件,内部反相放大器自激振荡,产生时钟。
P0口出外接4.7K上拉电阻,因为P0口是漏极开路,必须要接上拉才能输出高电平。
5V直流稳压电源电路如图3所示,该电路由电源变压器、整流桥堆、滤波电容C6、C7、三端稳压集成电路LM7805、限流电阻器和电源指示发光二极管组成。
基于LCD12864的交通信号灯单片机课程设计报告
湖南大学电气与信息工程学院本科生单片机课程设计题目:基于LCD12864的交通信号灯学院:电气与信息工程学院专业:电气工程及其自动化班级:学号:姓名:指导老师:设计时间:交通灯的历史1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯。
1914年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已是“电气信号灯”。
稍后又在纽约和芝加哥等城市,相继重新出现了交通信号灯。
随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。
它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。
中国最早的马路红绿灯,则是于1928年出现在上海的英租界。
目录第一部分开发板部分硬件介绍 (3)一、板上资源分布 (3)二、ADuC848简要介绍 (5)三、LCD显示模块 (6)第二部分交通信号灯的设计 (8)一、题目任务设计要求 (8)二、系统原理分析及流程框图 (8)三、具体程序实现 (10)四、具体操作步骤 (18)五、设计心得体会 ..................................................... 错误!未定义书签。
六、参考文献 (21)附录一:开发板硬件图 (22)附录二:单片机历史 (23)第一部分开发板硬件部分介绍一、板上资源分布图1.1 板上资源分布1、2、3:单片机P0、P2、P3口引出接口(有限流保护电阻);4:上排图形点阵LCD12864的接口、下排LCD1602的接口;5、6:两路16位ADC输入、可作差分输入;7、8:12位DAC输出、对DAC输出进行比例放大或者跟随的运放;9:单片机AduC848;10:无源蜂鸣器、由单片机PWM模块输出信号控制;11:8位数码管;12:SPI接口;13:RS232串口(通过串口在线下载、单步、断点、运行到某一行等方式调试程序);14:步进电机(5V、70欧姆、6线4相)接口;15:8路LED,从左至右为LED7~0,分别被P0.7~P0.0控制;16:复位按键和下载按键;17、18:IIC总线上的EEPROM AT24C08和RTC DS1307;19:IIC接口;20:PS/2接口;21:红外接收头;22:功能选择和配置插针;23:4X4矩阵式键盘或4个独立按键;24:直流电源输入;此外还有红外二极管(由单片机PWM模块输出信号控制)、USB电源输入接口。
基于单片机的12864LCD液晶显示
一、设计目的在12864液晶显示屏中央显示“★仿真实例★”字样。
二、原理介绍12864LCD:带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。
1、引脚功能:GND 电源地VCC 电源正+5V0 液晶显示驱动电源0~5V RS H:数据输入L:指令码输入R/W H:数据读入L:数据写入E 使能信号。
由H到L完成使能。
DB0~DB7 数据线CS1 CS1=1芯片选择左边64*64点CS2 CS2=1芯片选择右边64*64点RST 复位-V out LCD驱动负电源A 背光电源〔+〕K 背光电源〔-〕2、取码方法:DDRAM是12864内部的存储器,屏幕显示内容与存储单元建立一一对应关系,模块内部自带扫描与驱动,用户只需要将要显示内容写入到12864对应的存储器中,就能实现内容的显示。
12864液晶屏横向有128个点,纵向有64个点。
显示屏分为左半屏和右半屏。
取码时,按照从上到下,从左到右的原则进行取码,每个字都有32个字节与之对应。
编程时,也按照从上到下,从左到右的原则取数送到相应的DDRAM中。
RESPACK8:排阻。
接在51单片机的P0口,因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻。
排阻就是好多电阻连载一起,他们有一个公共端1端为公共端接VCC或地。
三、液晶显示控制方法1、读状态判忙子程序BUSY: CLR RS ;RS清0SETB RW ;RW置1PRR01: MOV DATAES,#0FFH ;将端口置1,准备读数据总线SETB E ;E置1,液晶模块将当前状态送到数据总线MOV A,DATAES ;读数据总线CLR E ;将E清零,为下次读做准备JB ACC.7,PRR01 ;ACC.7为1,表示液晶模块处于忙状态,为0返回主程序RET如果读到的BUSY=1,表示系统忙,不能操作;只有BUSY=1才允许操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录一、概述 (2)二、系统总体方案及硬件设计 (2)系统框图 (3)单片机最小系统 (4)显示电路 (6)按键控制电路 (6)]三、系统软件设计 (9)软件设计概述 (9)汉字显示 (10)上下移屏........................................ 错误!未定义书签。
左右移屏....................................... 错误!未定义书签。
四、课程设计体会................................... 错误!未定义书签。
五、参考文献 (13)六、附录 (14)…总电路图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .总程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .%一、概述/随着社会的发展,趣来趣多的地方需要应用显示功能,各种数字显示仪器中的显示、广告牌、数码产品等,传统的数码管显示已经远远不能满足各行各业的需求。
基于单片机的LCD显示是一种用单片机来控制的一种显示系统,它不仅能显示种各数字、字母、还能显示各种字体的汉字以及一些简单的图象,使用起来极为方便,只要通过对单片机写入一定的程序来控制LCD 的显示即可完成,根据程序的不同而产生不同不效果以满足各种不同需求。
本文围绕设计以单片机作为LCD液晶显示系统控制器为主线,基于单片机AT89S51,采用的液晶显示控制器的芯片是SED1520,主要实现由按键控制的中文显示、图片显示、滚屏以及左右移动功能。
同时也对部分芯片和外围电路进行了介绍和设计,并附以系统结构框图加以说明,着重介绍了本系统应用的各硬件接口技术和各个接口模块的功能及工作过程,并详细阐述了程序的各个模块。
本系统是以单片机的C语言来进行软件设计,指令的执行速度快,可读性强。
为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。
使硬件在软件的控制下协调运作。
其次阐述了部分程序的流程图和实现过程。
本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。
最后对我所开发的用单片机实现LCD液晶显示器控制原理的设计思想和软、硬件调试作了详细的论述。
二、系统总体方案及硬件设计系统框图本系统由电源部分、单片机最小系统部分、LCD12864显示电路部分、按键控制部分组成。
其中,单片机最小系统部分包括晶振电路、复位电路。
单片机最小系统`、AT89S52单片机89S51各引脚功能介绍:1.VCC:2.89S51 电源正端输入,接+5V。
3.VSS:4.电源地端。
5.XTAL1:6.单芯片系统时钟的反相放大器输入端。
7.`8.XTAL2:9.系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。
10.RESET:11.89S51的重置引脚,高电平动作,当要对晶A T89S51片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
12.EA/Vpp:13."EA"为英文"External Access"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。
如果是使用 8751 内部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。
14.ALE/PROG:15.端口3的管脚设置:16.17.:RXD,串行通信输入。
18.:TXD,串行通信输出。
19.:INT0,外部中断0输入。
20.:INT1,外部中断1输入。
21.:T0,计时计数器0输入。
22.:T1,计时计数器1输入。
23.:WR:外部数据存储器的写入信号。
24.:RD,外部数据存储器的读取信号。
、复位电路电路图如下:上电自动复位是通过外部复位电路的电容充电来实现的。
只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
图单片机复位电路、时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。
本文用的是内部时钟方式。
)电路图如下:图晶振电路显示电路管脚名称及功能:管脚号管脚名称电平】管脚功能描述1VSS0V电源地2VCC~+5V/电源正3V0-对比度(亮度)调整4RS(CS)H/L !RS=“H”,表示DB7——DB0为显示数据RS=“L”,表示DB7——DB0为显示指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7——DB0R/W=“L”,E=“H→L”, DB7——DB0的数据被写到IR或DR6(E(SCLK)H/L使能信号7DB0H/L三态数据线8@DB1H/L三态数据线9DB2H/L三态数据线基本指令系统:模块控制芯片提供两套控制命令,基本指令和扩充指令如下:指|指令码功能令RSR/WD7D6D5'D4D3D2D1D清除显示0/0000000《1将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"地址归位00000,001X设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容显示状态开/关0\00001D C、BD=1: 整体显示 ONC=1: 游标ON B=1:游标位置反白允许进入点设定00000\01I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制0|0001S/CR/LX!X设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容、按键控制电路电路由三个独立按键开关组成,分别与单片机的I/O相连,控制调整电路的加、减以及确定。
按键的开关状态通过一定的电路转换为高、低电平状态。
按键闭合过程在相应的I/O端口形成一个负脉冲。
闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。
抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。
为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。
本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。
口表示下移功能键,当开关闭合时,控制显示屏内容整体向下滚动。
(口表示上移功能键,当开关闭合时,控制显示屏内容整体向上滚动。
口表示右移功能键,当开关闭合时,控制显示屏内容整体向右移动。
口表示左移功能键,当开关闭合时,控制显示屏内容整体向左移动。
按键控制电路三、软件部分、软件系统概论此设计是由单片机控制的LCD显示系统,外设四个按钮来控制显示的方式。
对于按钮的工作方式可以是中断也可以是查询,在此设计中所选用的顺序结构。
用单片机的 P3口的低4来作为LCD的显示控制端,即控制LCD使能端、读写控制揣、数据指令选择端及两个选屏端。
对于此设计课题,因为要求是用128×64的显示器来显示汉字,而汉字及字符(如空格等)是需要显示代码的。
所以,首先是通过一定的软件如ZIMO等来获取你想要显示的汉字的编码代码。
有了这款软件,就方便多了,只在要软件中打入你想要显示的汉字或是字符,它就会自动生成代码,使用起来非常方便,而不需要人工去编写相应的代码。
}开始——显示图形——检测按键——显示相应内容。
、汉字显示对于此设计课题,因为要求是用128×64的显示器来显示汉字,而汉字及字符(如空格等)是需要显示代码的。
所以,首先是通过一定的软件如ZIMO等来获取你想要显示的汉字的编码代码。
有了这款软件,就方便多了,只在要软件中打入你想要显示的汉字或是字符,它就会自动生成代码,使用起来非常方便,而不需要人工去编写相应的代码。
由于此LCD的显示屏是被分为了两部分的,即左半屏和右半屏,分别由CS1和 CS2来控制,两个半屏的内存都分别由X和Y两个地址来确定,X地址共64位,而Y地址两边各64位,一共128位,所以有的时候就称其为12864显示器。
X地址共有8个值,从0到7,即每个值有8位,每显示一个字符要2个X值,而Y共128个值,分为两块即左右两块,分别从0到63,即每个值一位。
每显示一个汉字要16个Y值,每显示一个字符要8个Y值。
所以应该对两半屏分别编程取显示地址。
同时还得用一个显示子程序来显示显示地址中保存的显示代码(汉字代码)。
由此LCD的显示时序图可知,在显示过程中还需要一定的延时(不同的型号,延时时间是不同的)并且在显示前需将一些特定的控制端置相应的电平,比如说还所有输入之关需先把LCD总使能端打开,即置E端为高电平,然后应再输入指令代码,对其进行相关的设置。
所以还需要一个适当的延时子程序以及输入数据前的准备程序。
除了这些外,还应写一个初始化程序,用来对中断等一些程序所需要的端口进行初始。
对于开中断,应打开总中断EA以及相应的低级中断EX0和 EX1。
再者就是两个中断程序,对于这两个中断程序比较简单,只需对要执行相关控制(即常规显示和滚动显示)所需要的每件进行满足即可。
最后就是主函数,它的主要功能就是判断中断是否来临,来临了,然后判断是外部中断0还是外部中断1,然后根据是0还是1来执行相应的程序,选择相应的显示方式。
当四行全显示完了后,中断失效,即不管你是否还按键,都不再会对显示造成影响。
显示出来的内容将一直保持。
、图片显示显示图片和显示汉字类似,都是先通过字模软件先取模,然后再显示。
、上下移动~由此可见12864的显示起始行为0xc0,有规律的改变起始行的位置,就可以改实现上下移的效果。
代码如下左右移动在本设计中,通过循环改变汉字字符在单片机上显示的左右半屏以及在左右半屏上显示的列位,行位不变,达到了左右移屏的效果。