基于lcd的显示电路与仿真.docx
《基于lcd的显示电路与仿真.docx》由会员分享,可在线阅读,更多相关《基于lcd的显示电路与仿真.docx(9页珍藏版)》请在冰豆网上搜索。
基于lcd的显示电路与仿真
课程论文
题目:
基于LCD的显示电路与仿真
学生姓名:
学生学号:
系别:
电子工程学院
专业:
通信工程
年级:
2014
任课教师:
基于LCD的显示电路与仿真
电子工程学院:
通信工程
1设计任务
1.1设计目的
通过keil软件和Proteus软件仿真,达到对汉字的动态显示,利用软件仿真的方式对电子产品的前期开发进行模拟。
以减少生产成本,增加产品的效益
1.2设计过程及要求
(1)单片机选择AT89C51
AT89C5是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图1所示。
图一AT89C51外形及引脚排列
(2)LCD显示器选择SMG12864
SMG12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
使用晶体振子组成的振荡电路,叫晶振电路,晶体振子内部由石英晶体构成。
电路图为:
图二晶振电路
1.3系统设计
该设计是基于51单片机的LCD汉字显示,其设计总框图如下:
图3系统总体框图
2参考程序
#include
#include
typedefunsignedcharuchar;
typedefunsignedintuint;
#defineLLCD_CMD_WRPBYTE[0x10]
#defineLLCD_CMD_RDPBYTE[0x11]
#defineLLCD_DATA_WRPBYTE[0x12]
#defineLLCD_DATA_RDPBYTE[0x13]
#defineRLCD_CMD_WRPBYTE[0x20]
#defineRLCD_CMD_RDPBYTE[0x21]
#defineRLCD_DATA_WRPBYTE[0x22]
#defineRLCD_DATA_RDPBYTE[0x23]
sbitbusy=P0^1;
汉字代码程序:
ucharcodehz0[]=
{
0x00,0x00,0xf8,0x88,0x99,0xea,0x8c,0xf8,0x88,0xcc,0xab,0x99,0x88,0xf8,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0xfe,0x00,0x00,0x00,0x00,
0x20,0x30,0xac,0x63,0x10,0x00,0x40,0x42,0x22,0x22,0x12,0x1a,0x26,0x42,0xc0,0x00,
0x22,0x23,0x22,0x12,0x12,0x00,0x20,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x20,0x00,
0x10,0x60,0x01,0x86,0x60,0x20,0xd0,0x48,0x44,0x43,0x44,0xc8,0x30,0x60,0x20,0x00,
0x04,0x04,0xfe,0x01,0x00,0x00,0x7f,0x80,0x80,0x84,0x88,0x87,0x80,0xe0,0x00,0x00,
0x10,0x60,0x01,0xf6,0x00,0x10,0xf8,0x17,0x34,0x54,0x14,0x14,0xf4,0x04,0x04,0x00,
0x04,0x04,0xff,0x00,0x01,0x01,0x1f,0x11,0x13,0x15,0x51,0x91,0x7f,0x11,0x11,0x00,
0x14,0x24,0x44,0x84,0x7c,0x40,0x30,0xfc,0x4b,0x48,0xf9,0x4e,0x48,0x48,0x08,0x00,
0x10,0x08,0x06,0x01,0x03,0x0c,0x00,0xff,0x22,0x22,0x3f,0x22,0x22,0x22,0x20,0x00,
0x00,0x10,0x10,0x12,0x14,0x1c,0x10,0xf0,0x9f,0x10,0x10,0x10,0x10,0xf8,0x10,0x00,
0x00,0x00,0x40,0x20,0x10,0x08,0x06,0x01,0x00,0x11,0x26,0x40,0x20,0x1f,0x00,0x00,
0x00,0x10,0x10,0x10,0x90,0x70,0x00,0xff,0x20,0x60,0x90,0x08,0x04,0x00,0x00,0x00,
0x10,0x10,0x08,0x06,0x01,0x40,0x80,0x7f,0x00,0x00,0x01,0x06,0x0c,0x18,0x08,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x58,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
ucharcodehz1[]=
{
0xfe,0x02,0x32,0xca,0x46,0x20,0x30,0x2c,0xe3,0x24,0x28,0x10,0x20,0x20,0x00,0x00,
0xff,0x02,0x04,0x43,0x20,0x11,0x4d,0x81,0x7f,0x01,0x05,0x09,0x11,0x30,0x00,0x00,
0x80,0x88,0x88,0x88,0xff,0x88,0x88,0x88,0x00,0xfe,0x02,0x02,0x02,0xfe,0x00,0x00,
0x00,0x10,0x3c,0x13,0x10,0x08,0x0a,0x1c,0x08,0xff,0x00,0x08,0x10,0x0f,0x00,0x00,
0x00,0x02,0x82,0x7a,0x92,0x02,0x02,0xfe,0x02,0x02,0x02,0xfa,0x02,0x02,0x00,0x00,
0x48,0x46,0x41,0x40,0x41,0x46,0x40,0x7f,0x48,0x44,0x43,0x40,0x41,0x4e,0x44,0x00,
0x00,0x00,0xe0,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0x00,
0x00,0x20,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x20,0x7f,0x00,0x00,
0x00,0x02,0x02,0x02,0x02,0x82,0x42,0xfe,0x06,0x42,0xc2,0x82,0x02,0x03,0x02,0x00,
0x00,0x08,0x04,0x02,0x01,0x00,0x00,0x7f,0x00,0x00,0x00,0x01,0x07,0x02,0x00,0x00,
0x80,0x80,0x80,0x80,0xbe,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xbe,0x80,0x80,0x80,0x00,
0x00,0x40,0x20,0x10,0x0e,0x10,0x20,0x3f,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00,
0x40,0x40,0x44,0x44,0x44,0x44,0xc4,0xc4,0x44,0x44,0x46,0x46,0x64,0x60,0x40,0x00,
0x00,0x20,0x70,0x38,0x2c,0x27,0x23,0x31,0x10,0x12,0x14,0x18,0x70,0x20,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x5b,0x3b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
ucharcodehz2[]=
{
0x02,0x02,0xfe,0x92,0x92,0x92,0xfe,0x02,0x02,0x7c,0x84,0x04,0x84,0x7c,0x04,0x00,
0x10,0x10,0x0f,0x08,0x08,0x04,0xff,0x04,0x22,0x10,0x09,0x06,0x09,0x30,0x10,0x00,
0x00,0x02,0x1c,0xc0,0x30,0x4c,0x30,0x0f,0x08,0xf8,0x08,0x08,0x28,0x18,0x08,0x00,
0x02,0x5e,0x43,0x20,0x20,0x10,0x08,0x04,0x03,0x01,0x06,0x08,0x30,0x60,0x20,0x00,
0x04,0x04,0x04,0x84,0xf4,0x2f,0x04,0x04,0xe4,0x0f,0x04,0xc4,0x84,0x04,0x04,0x00,
0x00,0x02,0x01,0x00,0xff,0x00,0x08,0x04,0x3f,0x42,0x41,0x40,0x40,0x78,0x20,0x00,
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0xfe,0x80,0x00,0x00,0x00,0x00,0x00,
0x20,0x30,0x2c,0x23,0x20,0x21,0x36,0x2c,0x23,0x20,0x20,0x23,0x26,0x3c,0x28,0x00,
0xe0,0x00,0xff,0x10,0xf4,0x94,0xff,0x94,0xf4,0x08,0xf4,0x13,0x92,0x1a,0xf6,0x00,
0x00,0x00,0xff,0x10,0x08,0x06,0xff,0x02,0x04,0x80,0x4f,0x20,0x1f,0x20,0xcf,0x00,
0x00,0xfe,0x02,0x02,0xf2,0x12,0x12,0x12,0x12,0x12,0xf2,0x02,0x02,0xfe,0x00,0x00,
0x00,0x7f,0x40,0x40,0x47,0x44,0x44,0x44,0x44,0x44,0x47,0x40,0x40,0x7f,0x00,0x00,
0x00,0xfe,0x02,0xf2,0x12,0x12,0xf2,0x00,0xf2,0x12,0x1a,0xd6,0x12,0xf2,0x02,0x00,
0x20,0x1f,0x00,0x3f,0x10,0x09,0x45,0x40,0x2f,0x20,0x10,0x0f,0x10,0x2f,0x60,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x58,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
ucharcodehz3[]=
{
0x00,0x00,0x42,0x44,0x5c,0x48,0x40,0xff,0x40,0x50,0x48,0x46,0x64,0x40,0x00,0x00,
0x00,0x04,0x04,0x04,0x04,0x04,0x04,0xff,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,
0x20,0x38,0xa7,0x62,0x10,0x20,0xa0,0x6c,0x6b,0xaa,0x2a,0x3a,0x26,0xa0,0x20,0x00,
0x12,0x13,0x12,0x0a,0x29,0x25,0x12,0x12,0x49,0x85,0x7f,0x02,0x0d,0x18,0x08,0x00,
0x20,0x10,0xfc,0x07,0xf2,0x20,0x98,0x8f,0x54,0xa4,0x24,0x54,0xcc,0x80,0x80,0x00,
0x00,0x00,0x7f,0x00,0x03,0x54,0x54,0x4a,0x2b,0x25,0x15,0x12,0x0a,0x09,0x00,0x00,
0x40,0x42,0xcc,0x00,0x04,0x04,0xe5,0xb6,0xac,0xa4,0xa6,0xe5,0x04,0x04,0x00,0x00,
0x40,0x20,0x1f,0x20,0x40,0x40,0x5f,0x4a,0x4a,0x4a,0x4a,0x5f,0x40,0x40,0x40,0x00,
0x00,0x00,0x42,0x44,0x5c,0x48,0x40,0xff,0x40,0x50,0x48,0x46,0x64,0x40,0x00,0x00,
0x00,0x04,0x04,0x04,0x04,0x04,0x04,0xff,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,
0x20,0x38,0xa7,0x62,0x10,0x20,0xa0,0x6c,0x6b,0xaa,0x2a,0x3a,0x26,0xa0,0x20,0x00,
0x12,0x13,0x12,0x0a,0x29,0x25,0x12,0x12,0x49,0x85,0x7f,0x02,0x0d,0x18,0x08,0x00,
0x10,0x10,0x92,0x92,0x92,0xf2,0x9e,0x92,0x92,0x92,0x92,0x92,0xfe,0x10,0x10,0x00,
0x40,0x20,0x10,0x0c,0xfe,0x45,0x44,0x44,0x44,0x44,0x44,0x44,0xfd,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x18,0x24,0x24,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
}:
3LCD显示电路仿真图
图4电路仿真图
4设计总结
利用Proteus实现了对LCD12864滚动汉字显示的仿真,达到了良好的设计效果。
该仿真电路接近实际电路,通过前期仿真缩短了开发周期,降低了成本。
这次设计给我很深刻的感受,使我系统回顾了所学的课程。
在设计过程中,通过大量的查询资料,认真学习教材,对单片机有了更好的掌握,提高了自身的交流沟通和相互学习的能力。
对以后的学习有较好的帮助!
5参考文献
1.李光飞(2005)《单片机课程设计实例指导》(第二版).北京航空航天出版社。
2.张志良(2005)《单片机原理及控制技术》(第二版).机械工业出版社。