ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:163.33KB ,
资源ID:1447405      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1447405.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(液晶显示广告牌的设计课程设计.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

液晶显示广告牌的设计课程设计.docx

1、液晶显示广告牌的设计课程设计 液晶显示广告牌的设计1技术要求在日常生活中,经常可见各种广告牌,本设计要求利用单片机控制液晶显示屏显示相关的信息,需完成下列任务:(1)利用LCD显示某一条固定语句;(2)能够通过按键对固定语句的显示方式进行修改,比如按一次按键,显示的字符少一个,一直到最后所有字符完全消失;或者按一次按键所有字符显示的位置左移一格等。2设计方案及原理让LCD显示固定语句在C语言环境下只需将字符串直接赋给LCD即可,让LCD显示的字符方式进行修改就得给LCD传递相关指令。第一步利用LCD显示某一条固定语句。LCD显示字符的时候,是一个一个字符显示,显示一个字符后, 光标加一或减一表

2、示下一个字符显示的位置。因此显示固定语句的时候,我们可以先将固定语句存在一个字符串数组,光标操作为当写一个字符后地址指针加一。选择好初始地址后,利用一个循环结构程序将整个字符串数组内容显示出来。第二步让LCD显示的字符串显示方式进行修改。鉴于LCD自身就能将字符串以不同方式的显示出来,因此我们只需将对应指令语句传递给LCD即可,通过外部按键产生中断,让LCD来响应对应指令语句。方案流程图如图1所示。图1 程序流程图3实现方案3.1 LM016L基本资料3.1.1 引脚说明LM016L为字符型液晶显示器LCD,其图形符号、引脚及属性如图2所示。引脚说明如下:数据线D7D0控制线(有3根:RS、R

3、W、E)1根地线Vss一根电源线(VDD) 图2 LCD图形符号和引脚3.1.2 LM016L属性及RAM地址:LM016L的属性设置如下:每行的字符数为16,行数为2;时钟为250KHz;行1的字符地址为80H8FH行2的字符地址为C0HCFH 3.1.3 基本操作时序其具体时序见表1。表1 LM016L信号真值表RSR/WE功能00下降沿写指令代码01高电平读忙标志和AC值10下降沿写数据11高电平读数据3.1.4 LCD指令集(1)清屏指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000000001功能: 清除液晶显示器,即将DDRAM的内容全部填入“空白”的字符码20

4、H; 光标归位,即将光标撤回液晶显示屏的左上方; 将地址计数器(AC)的值设为0。(2)光标归位指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000000001*功能: 把光标撤回到显示器的左上方; 把地址计数器(AC)的值设置为0; 保持DDRAM的内容不变 (3)输入模式指令设置RSR/WDB7DB6DB5DB4DB3DB2DB1DB000000001I/DS功能:设定每次写入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。其中:I/D=1:数据读、写操作后,AC自动增一; I/D=0:数据读、写操作后,AC自动减一; S=1:数据读、写操作,画面平移; S=

5、0:数据读、写操作,画面不动。(4)显示开关控制指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCB功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。其中:D表示显示开关:D=1为开,D=0为关; C表示光标开关:C=1为开,C=0为关; B表示闪烁开关;B=1为开,B=0为关。(5)设定显示屏或光标移动方向指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000001S/CR/L*功能:使光标移位或使整个显示屏幕移位。其中:S/C=1:画面平移一个字符位; S/C=0:光标平移一个字符位; R/L=1:右移; R/L=0:左移。(6)功能设定指

6、令RSR/WDB7DB6DB5DB4DB3DB2DB1DB000001DLNF*功能:设定数据总线位数、显示的行数及字型。其中:DL=1,8位数据接口;DL=0,4位数据接口; N=1,两行显示;N=0,一行显示; F=1,510点阵字符;F=0,57点阵字符。(7)设定DDRAM地址指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000A6A5A4A3A2A1A0功能:设定下一个要存入数据的CGRAM的地址。(8)读取忙信号或AC地址指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB001BFAC6AC5AC4AC3AC2AC1AC0功能: 读取忙碌信号BF的内容,B

7、F=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令; 当BF=0时,液晶显示器可以接收单片机送来的数据或指令; 读取地址计数器(AC)的内容。(9)数据写入DDRAM或CGRAM指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB010数据功能: 将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符; 将用户自己设计的图形存入CGRAM。(10)从CGRAM或DDRAM读出数据的指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB011数据功能:读取DDRAM或CGRAM中的内容。3.1.5 控制器接口时序说明3.1.5.1 读操作时序 图3 读操作时序 3.1.5

8、.2 写操作时序 图4 写操作时序3.2硬件连接图了解完LM016L基本资料,现在我们可以将LCD与单片机接在一起。实现方案时,将89C51单片机的P1口与LCD数据口连接起来 ,P3口接液晶控制端口及按键。具体的硬件连接图如图5所示。 图5 液晶广告牌硬件设计图4源程序代码#include #include /库函数头文件,代码中引用了_nop_()函数/ 定义控制信号端口sbit RS=P30; /P3.0sbit RW=P31; /P3.1sbit E= P32; /P3.2int jishu=0;/ 声明调用函数void lcd_w_cmd(unsigned char com); /写

9、命令字函数void lcd_w_dat(unsigned char dat); /写数据函数unsigned char lcd_r_start(); /读状态函数void int1(); /LCD初始化函数void delay(unsigned char t); /可控延时函数void delay1(); /软件实现延时函数,5个机器周期void main() /主函数 unsigned char lcd=i am the best one mei bang si wei te; unsigned char lcd1=i am yu yang yi from whut; unsigned ch

10、ar i; EA=1; /全局中断开 EX1=1; /外部中断0开 IT1=1; /边沿触发,IT1=0表示电平触发 P1=0xff; /送全1到P0口 int1(); /初始化LCD delay(255); lcd_w_cmd(0x80); /设置显示位置 delay(255); for(i=0;i36;i+) /显示字符串 lcd_w_dat(lcdi); delay(200); lcd_w_cmd(0xc0); / 设置显示位置 delay(255); for(i=0;i25;i+) / 显示字符串 lcd_w_dat(lcd1i); delay(200); while(1)switch

11、(jishu) case 0 : for(i=0;i1;i+) / 闪烁 lcd_w_cmd(0x08); delay(200); lcd_w_cmd(0x0d); delay(200); break;case 1: for(i=0;i1;i+) /左移 lcd_w_cmd(0x1c); delay(200); break;case 2: for(i=0;i1;i+) /右移 lcd_w_cmd(0x18); delay(200); break;void ISR_Key(void) interrupt 2 using 1 jishu+; jishu=jishu%3 ;/函数名:delay/函数

12、功能:采用软件实现可控延时 /形式参数:延时时间控制参数存入变量t中/返回值:无void delay(unsigned char t) unsigned char j,i; for(i=0;it;i+) for(j=0;j50;j+); /函数名:delay1/函数功能:采用软件实现延时,5个机器周期 /形式参数:无/返回值:无void delay1() _nop_(); _nop_(); _nop_();/函数名:int1/函数功能:lcd初始化 /形式参数:无/返回值:无void int1() lcd_w_cmd(0x3c); / 设置工作方式 lcd_w_cmd(0x0d); / 设置光标 lcd_w_cmd(0x01); / 清屏 lcd_w_cmd(0x06); / 设置输入方式 lcd_w_cmd(0x80); / 设置初始显示位置/函数名:lcd_r_start/函数功能:读状态字 /形式参数:无/返回值:返回状态字,最高位

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1