已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用课程设计专 业: 自动化 设计题目:诺基亚5110液晶显示器应用班级: 0845 学生姓名:刘旭阳学号:11指导教师: 方健 分院院长: 许建平 教研室主任: 方健 电气工程学院一、课程设计任务书 1.课程设计项目诺基亚5110液晶显示器应用。 2.设计内容1)设计诺基亚5110液晶显示器应用的总体设计方案;2)以mcs-51系列单片机为核心器件和诺基亚5110液晶显示器组成液晶显示硬件系统;3) 系统程序编制与调试;4) 电路系统的综合调试;5) 撰写课程设计论文;6) 完成课程设计论文答辩。3.设计要求1)以stc89c51单片机为控制核心,对诺基亚5110液晶显示器进行控制。编程使得在lcd显示器上显示字符,如多行滚动显示:“吉林工程技术师范学院”“电气工程学院”。等字符,还可以显示别的文字;2) 单片机课程设计题目的硬件电路、程序由学生自行设计完成。3) 液晶显示器上要显示出设计人的班级,组长的学号等信息。4.设计进度(2011年6月13日至2011年6月24日) 时间设计内容第1-2天查阅资料,方案比较、设计与论证,理论分析与计算第3-5天硬件电路调试第6-8天系统调试第9-10天书写报告、答辩5.设计地点新实验楼323微机实验室二参考资料 1李广弟,朱月秀,王秀山编著.单片机基础. 北京:北京航空航天大学出版社,20012 何立民编著.mcs-51系列单片机应用系统设计系统配置与接口技术.北京:北京航空航天大学出版社,19993 蔡美琴等编著.mcs-51 单片机系统及应用.北京:高等教育出版社.1992二、评语及成绩成绩:指导教师:评分项目评分标准量化分数1.独立分析与解决问题的能力很强较强一般不具有102. 课程设计的答辩情况有见解回答准确回答正确基本正确有错误253. 课程设计论文及插图的规范程度规范整洁正确杂乱有错误254.工具软件的使用熟练使用会使用需要学习105.辅导答疑积极认真应付消极106.设计态度积极认真应付消极107.出勤全勤缺勤次数10附加评语量化总分单片机原理及应用课程设计班 级: 自动化0845 姓 名: 刘旭阳 学 号: 11 号 指导教师: 方健 撰写日期: 2011年6月23日 nokia lcd多功能显示摘 要 液晶显示器件1(lcd)是一种高新技术的基础元器件。它利用液晶的各种电光效应,把液晶对电场、磁场、光线和温度等外界条件的变化在一定条件下转换为可视信号而制成的显示器。液晶显示器具有低电压、低功耗的特点,与cmos集成电路相匹配.电池作为电源,适合于便携式显示。stn-lcd是通过电场控制液晶分子的排列从而改变液晶盒内偏振光的双折射效应而实现显示,stn-lcd是目前lcd生产的中档产品,它具有显示信息量大的特点,主要应用于各种仪器仪表、手机、pda、笔记本电脑等。液晶显示器还具有易彩色化,非发光式被动显示的特点。彩色液晶显示是利用液晶的光阀特性和彩色滤光膜及三基色灯来实现的,现有技术容易制造彩色滤光膜和三基色灯。还有液晶显示靠调制外界光来实现的,显示体本身不发光,不刺激眼睛,不易疲劳等优点。利用液晶光阀特性容易实现投影大屏幕显示。因而,液晶显示应用几乎覆盖所有显示应用领域。液晶显示模块是一种将液晶显示器件、连接件(斑马条、斑马纸或金属管脚等)、pcb线路板、液晶显示控制器、行列驱动控制器、负压发生器、偏置电路、温度补偿电路、背光源、背光源驱动控制电路、结构件(框架或模具)等装配在一起的组件。目录目 录第一章 课程设计内容与要求分析11.1课程设计的目的与意义.11.2课程设计内容与要求1第二章 液晶显示器的基本介绍32.1液晶显示器设原理.32.2液晶显示模块引脚说明.32.3液晶显示器的驱动指令说明42.4液晶显示器的显示字符的原理5第三章 液晶显示器的程序设计63.1程序设计的思路63.2程序设计.63.2.1 初始化程序设计.63.2.2 清屏程序设计.63.2.3 lcd坐标函数程序设计.73.2.4 显示程序设计.73.2.5 写数据程序设计.8新得体会10参考文献11附录12第一章 课程设计内容与要求分析第一章 课程设计内容与要求分析1.1 课程设计的目的与意义单片机原理及应用是一门技术性、应用性很强的学科,实验课教学是它的一个极为重要的环节。不论是硬件扩展、接口应用还是编程方法、程序调试,都离不开实验课教学。如果不在切实认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节,学习与应用脱节的局面。任随书本上把单片微机技术介绍得多么重要、多么实用、多么好用,同学们仍然会感到那只是空中楼阁,离自己十分遥远,或者会因此而对它失去兴趣,或者会感到它高深莫测无从下手,这些情况都会令课堂教学的效果大打折扣。单片机原理及应用课程设计的目的就是让同学们在理论学习的基础上,通过完成一个涉及mcs-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。使学生增进对单片机的感性认识,加深对单片机理论方面的理解。使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、i/o口、串行口通信等。使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。1.2 课程设计内容与要求诺基亚5110液晶显示器的应用设计。基本功能:以stc89c51单片机为控制核心,对诺基亚5110液晶显示器进行控制。编程使得在lcd显示器上显示字符,如多行滚动显示:“吉林工程技术师范学院”“电气工程学院”。 等字符,还可以显示别的文字。液晶显示器上要显示出设计人的班级、学号、姓名等信息。19第二章 液晶显示器的基本介绍第二章 液晶显示器的基本介绍2.1 液晶显示器设原理图2-1图2-22.2 液晶显示模块引脚说明表1 诺基亚5110液晶显示模块的管脚引脚序号引脚名称功能引脚序号引脚名称功能1sdin串行数据线5res复位2sclk串行时钟线6vcc电源正3d/c模式选择7light背光灯4sce芯片使能8gnd电源地(注:有些模块的引脚序号和表1的不一致,模块的相应引脚都有引脚名称标注)2.3 液晶显示器的驱动指令说明表2 诺基亚5110液晶显示模块的驱动指令说明2.4 液晶显示器的显示字符的原理图2-3图2-4第三章 液晶显示器的程序设计第三章 液晶显示器的程序设计3.1程序设计的思路编程时首先要给lcm复位,使lcm的控制参数为初始状态,再对lcm进行初始化功能设定(关显示屏、设置为扩充指令模式、设置电压、温度校正、显示字符模式选择、设置为基本指令、设置显示模式、清屏、开显示屏),接着就可以进行对lcm写入要现实的汉字了。3.2程序设计3.2.1 初始化程序设计lcd_init : 3310lcd初始化void lcd_init(void) lcd_rst = 0; / 产生一个让lcd复位的低电平脉冲 delay_1us(); lcd_rst = 1;/ 关闭lcd lcd_ce = 0; delay_1us();/ 使能lcd lcd_ce = 1; delay_1us(); lcd_write_byte(0x21, 0);/ 使用扩展命令设置lcd模式 lcd_write_byte(0xc8, 0);/ 设置偏置电压 lcd_write_byte(0x06, 0);/ 温度校正 lcd_write_byte(0x13, 0);/ 1:48 lcd_write_byte(0x20, 0);/ 使用基本命令 lcd_clear(); / 清屏 lcd_write_byte(0x0c, 0);/ 设定显示模式,正常显示 lcd_ce = 0; / 关闭lcd 3.2.2 清屏程序设计lcd_clear : lcd清屏函数void lcd_clear(void) unsigned int i; lcd_write_byte(0x0c, 0); lcd_write_byte(0x80, 0); for (i=0; i504; i+) lcd_write_byte(0, 1); 3.2.3 lcd坐标函数程序设计lcd_set_xy : 设置lcd坐标函数输入参数:x :083 y :05void lcd_set_xy(unsigned char x, unsigned char y) lcd_write_byte(0x40 | y, 0);/ column lcd_write_byte(0x80 | x, 0); / row 3.2.4 显示程序设计lcd_write_char : 显示英文字符输入参数:c :显示的字符;void lcd_write_char(unsigned char c) unsigned char line; c -= 32; for (line=0; line6; line+) lcd_write_byte(font6x8cline, 1); lcd_write_english_string : 英文字符串显示函数输入参数:*s :英文字符串指针; x、y : 显示字符串的位置,x 0-83 ,y 0-5void lcd_write_english_string(unsigned char x,unsigned char y,char *s) lcd_set_xy(x,y); while (*s) lcd_write_char(*s); s+; lcd_write_chinese_string: 在lcd上显示汉字输入参数:x、y :显示汉字的起始x、y坐标; ch_with :汉字点阵的宽度 num :显示汉字的个数; line :汉字点阵数组中的起始行数 row :汉字显示的行间距测试:lcd_write_chi(0,0,12,7,0,0);lcd_write_chi(0,2,12,7,0,0);lcd_write_chi(0,4,12,7,0,0);void lcd_write_chinese_string(unsigned char x, unsigned char y, unsigned char ch_with,unsigned char num, unsigned char line,unsigned char row) unsigned char i,n; lcd_set_xy(x,y); /设置初始位置 for (i=0;inum;) for (n=0; nch_with*2; n+) /写一个汉字 if (n=ch_with) /写汉字的下半部分 if (i=0) lcd_set_xy(x,y+1); else lcd_set_xy(x+(ch_with+row)*i),y+1); lcd_write_byte(write_chineseline+in,1); i+; lcd_set_xy(x+(ch_with+row)*i),y); 3.2.5 写数据程序设计lcd_write_byte : 使用spi接口写数据到lcd输入参数:data :写入的数据; command :写数据/命令选择;void lcd_write_byte(unsigned char dat, unsigned char command) unsigned char i; /portb &= lcd_ce ; / 使能lcd lcd_ce = 0; if (command = 0) / portb &= lcd_dc ; / 传送命令 lcd_dc = 0; else / portb |= lcd_dc ; / 传送数据 lcd_dc = 1;for(i=0;i8;i+)if(dat&0x80)sdin = 1;elsesdin = 0;sclk = 0;dat = dat 1;sclk = 1; / spdr = data;/ 传送数据到spi寄存器 /while (spsr & 0x80) = 0); / 等待数据传送完毕 /portb |= lcd_ce ;/ 关闭lcd lcd_ce = 1; (完整的程序见附录)。心得体会心得体会本次设计融合了我在课堂中学到的知识,使我更深的一步掌握了相应的知识,通过对诺基亚5110液晶显示器了解,知道了定时器/计数器、中断、片内外存贮器、i/o口、串行口通信等等。在这其中遇到了很多的问题,是我产生了很多的疑团,通过同学之间的研究,再加上老师的细心解答,大部分的问题都能迎刃而解,但是还有好多的细小问题,如程序的不明,这也就体现了我上课时的不认真,对待老师所讲的东西没有及时的去复习,而导致的对知识的遗忘,通过这次课程设计,希望我以后能够对待学习认真,仔细。还有就是本学期学的单片机是c语言,也通过这次的课程设计对于我一个很大的缺陷就是对于c语言还是不够精益求精,时常发生很多细小的问题,有时自己找不出来,这时还得求救于同学和老师,希望在以后的学习中应尽量达到精,避免一些不必要的错误。最后,感谢学校为我们安排了这次的课程设计,使我们达到了相互研究,自己动手,独立思考的能力,也跟更体现出一个人或一个团体工作态度与作风,感谢老师对我的耐心和细心的讲解,感谢同学对我的帮助,是老师和同学让我学到了很多。 刘旭阳 2011年6月23日 参考文献参考文献1李广弟,朱月秀,王秀山编著.单片机基础. 北京:北京航空航天大学出版社,20012何立民编著.mcs-51系列单片机应用系统设计系统配置与接口技术.北京:北京航空航天大学出版社,19993 蔡美琴等编著.mcs-51 单片机系统及应用.北京:高等教育出版社.1992附录附录#include stc10f04xe.hvoid delay_1us(void);void lcd_init(void);void lcd_clear(void);void lcd_set_xy(unsigned char x, unsigned char y);void lcd_write_char(unsigned char c);void lcd_write_english_string(unsigned char x,unsigned char y,char *s);void lcd_write_chinese_string(unsigned char x, unsigned char y, unsigned char ch_with,unsigned char num, unsigned char line,unsigned char row);void lcd_write_byte(unsigned char dat, unsigned char command);sbit sclk = p15;sbit sdin = p14;sbit lcd_dc = p13;sbit lcd_ce = p11;sbit lcd_rst = p12;sbit led = p16; code unsigned char write_chinese924=0x00,0xfc,0x94,0x94,0x94,0xff,0x94,0x94,0x94,0xfe,0x04,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x06,0x00,0x08,0x24,0x2b,0x2a,0x2a,0x2a,0x2a,0x2a,0xea,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x06,0x00,0x00,0x02,0x02,0x02,0x02,0xfe,0x02,0x02,0x03,0x02,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0x04,0x00,0x8a,0x6a,0xff,0x49,0x20,0xaf,0xa9,0xe9,0xa9,0xaf,0x20,0x00,0x01,0x00,0x07,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x00,0x9c,0x84,0x95,0x96,0x95,0xd6,0xb4,0x94,0x87,0x94,0x8c,0x00,0x00,0x00,0x00,0x04,0x04,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x81,0x8d,0xf3,0x26,0x2a,0xea,0x2b,0xea,0x2a,0x26,0x00,0x07,0x00,0x00,0x04,0x04,0x02,0x01,0x00,0x07,0x04,0x07,0x00,0x84,0x64,0xff,0x24,0x00,0xfc,0x46,0x45,0x44,0x44,0xfc,0x00,0x01,0x00,0x07,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x07,0x00,0x10,0x10,0xdf,0x55,0x55,0x55,0x55,0x55,0xdf,0x10,0x10,0x00,0x04,0x04,0x03,0x01,0x05,0x07,0x01,0x01,0x03,0x04,0x04,0x00,0xd4,0x14,0xff,0x54,0x44,0x10,0xe9,0x27,0x21,0x29,0xef,0x00,0x07,0x02,0x03,0x04,0x04,0x04,0x05,0x05,0x05,0x05,0x05,0x00,;code unsigned char font6x8926 = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 , 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 , 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 , 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 , 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 , 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 , 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 , 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 , 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 , 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 , 0x00, 0x14, 0x08, 0x3e, 0x08, 0x14 , 0x00, 0x08, 0x08, 0x3e, 0x08, 0x08 , 0x00, 0x00, 0x00, 0xa0, 0x60, 0x00 , 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 , 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 , 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 , 0x00, 0x3e, 0x51, 0x49, 0x45, 0x3e , 0x00, 0x00, 0x42, 0x7f, 0x40, 0x00 , 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 , 0x00, 0x21, 0x41, 0x45, 0x4b, 0x31 , 0x00, 0x18, 0x14, 0x12, 0x7f, 0x10 , 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 , 0x00, 0x3c, 0x4a, 0x49, 0x49, 0x30 , 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 , 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 , 0x00, 0x06, 0x49, 0x49, 0x29, 0x1e , 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 , 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 , 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 , 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 , 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 , 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 , 0x00, 0x32, 0x49, 0x59, 0x51, 0x3e , 0x00, 0x7c, 0x12, 0x11, 0x12, 0x7c , 0x00, 0x7f, 0x49, 0x49, 0x49, 0x36 , 0x00, 0x3e, 0x41, 0x41, 0x41, 0x22 , 0x00, 0x7f, 0x41, 0x41, 0x22, 0x1c , 0x00, 0x7f, 0x49, 0x49, 0x49, 0x41 , 0x00, 0x7f, 0x09, 0x09, 0x09, 0x01 , 0x00, 0x3e, 0x41, 0x49, 0x49, 0x7a , 0x00, 0x7f, 0x08, 0x08, 0x08, 0x7f , 0x00, 0x00, 0x41, 0x7f, 0x41, 0x00 , 0x00, 0x20, 0x40, 0x41, 0x3f, 0x01 , 0x00, 0x7f, 0x08, 0x14, 0x22, 0x41 , 0x00, 0x7f, 0x40, 0x40, 0x40, 0x40 , 0x00, 0x7f, 0x02, 0x0c, 0x02, 0x7f , 0x00, 0x7f, 0x04, 0x08, 0x10, 0x7f , 0x00, 0x3e, 0x41, 0x41, 0x41, 0x3e , 0x00, 0x7f, 0x09, 0x09, 0x09, 0x06 , 0x00, 0x3e, 0x41, 0x51, 0x21, 0x5e , 0x00, 0x7f, 0x09, 0x19, 0x29, 0x46 , 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 , 0x00, 0x01, 0x01, 0x7f, 0x01, 0x01 , 0x00, 0x3f, 0x40, 0x40, 0x40, 0x3f , 0x00, 0x1f, 0x20, 0x40, 0x20, 0x1f , 0x00, 0x3f, 0x40, 0x38, 0x40, 0x3f , 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 , 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 , 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 , 0x00, 0x00, 0x7f, 0x41, 0x41, 0x00 , 0x00, 0x55, 0x2a, 0x55, 0x2a, 0x55 , 0x00, 0x00, 0x41, 0x41, 0x7f, 0x00 , 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 , 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 , 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 , 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 , 0x00, 0x7f, 0x48, 0x44, 0x44, 0x38 , 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 , 0x00, 0x38, 0x44, 0x44, 0x48, 0x7f , 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 , 0x00, 0x08, 0x7e, 0x09, 0x01, 0x02 , 0x00, 0x18, 0xa4, 0xa4, 0xa4, 0x7c , 0x00, 0x7f, 0x08, 0x04, 0x04, 0x78 , 0x00, 0x00, 0x44, 0x7d, 0x40, 0x00 , 0x00, 0x40, 0x80, 0x84, 0x7d, 0x00 , 0x00, 0x7f, 0x10, 0x28, 0x44, 0x00 , 0x00, 0x00, 0x41, 0x7f, 0x40, 0x00 , 0x00, 0x7c, 0x04, 0x18, 0x04, 0x78 , 0x00, 0x7c, 0x08, 0x04, 0x04, 0x78 , 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 , 0x00, 0xfc, 0x24, 0x24, 0x24, 0x18 , 0x00, 0x18, 0x24, 0x24, 0x18, 0xfc , 0x00, 0x7c, 0x08, 0x04, 0x04, 0x08 , 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 , 0x00, 0x04, 0x3f, 0x44, 0x40, 0x20 , 0x00, 0x3c, 0x40, 0x40, 0x20, 0x7c , 0x00, 0x1c, 0x20, 0x40, 0x20, 0x1c , 0x00, 0x3c, 0x40, 0x30, 0x40, 0x3c , 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 , 0x00, 0x1c, 0xa0, 0xa0, 0xa0, 0x7c , 0x00, 0x44, 0x64, 0x54, 0x4c, 0x44 , 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 ,; /void main(void) lcd_init(); lcd_clear();while(1) lcd_write_english_string(0,0,nokia 5110 lcd);lcd_write_chinese_string(6,1,12,6,0,0); lcd_write_chinese_string(12,3,12,3,6,12);lcd_write_english_string(6,5,qq:772460432); / void delay_1us(void) unsigned int i; for(i=0;i1000;i+); /void lcd_init(void) lcd_rst = 0; delay_1us(); lcd_rst = 1; lcd_ce = 0; delay_1us(); lcd_ce = 1; delay_1us(); lcd_write_byte(0x21, 0);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论