《775编号液晶显示广告牌的设计-课程设计》由会员分享,可在线阅读,更多相关《775编号液晶显示广告牌的设计-课程设计(17页珍藏版)》请在金锄头文库上搜索。
1、武汉理工大学专业课程设计 3(微处理器与微控制器应用) 课程设计说明书 0 目录目录 1技术要求.1 2设计方案及原理.1 3实现方案.3 3.1LM016L 基本资料 .3 3.2硬件连接图.7 4源程序代码.8 5调式过程及结果.14 5.1调式过程.14 5.2结果.14 6心得体会.15 7参考文献.16 武汉理工大学专业课程设计 3(微处理器与微控制器应用) 课程设计说明书 1 液晶显示广告牌的设计 1 技术要求 在日常生活中,经常可见各种广告牌,本设计要求利用单片机控制液晶显示屏显示相 关的信息,需完成下列任务: (1) 利用 LCD 显示某一条固定语句; (2) 能够通过按键对固
2、定语句的显示方式进行修改,比如按一次按键,显示的字符 少一个,一直到最后所有字符完全消失;或者按一次按键所有字符显示的位置 左移一格等。 2 设计方案及原理 让 LCD 显示固定语句在 C 语言环境下只需将字符串直接赋给 LCD 即可,让 LCD 显 示的字符方式进行修改就得给 LCD 传递相关指令。 第一步利用 LCD 显示某一条固定语句。LCD 显示字符的时候,是一个一个字符显示, 显示一个字符后, 光标加一或减一表示下一个字符显示的位置。因此显示固定语句的时 候,我们可以先将固定语句存在一个字符串数组,光标操作为当写一个字符后地址指针加 一。选择好初始地址后,利用一个循环结构程序将整个字
3、符串数组内容显示出来。 第二步让 LCD 显示的字符串显示方式进行修改。鉴于 LCD 自身就能将字符串以不同 方式的显示出来, 因此我们只需将对应指令语句传递给 LCD 即可, 通过外部按键产生中断, 让 LCD 来响应对应指令语句。 方案流程图如图 1 所示。 武汉理工大学专业课程设计 3(微处理器与微控制器应用) 课程设计说明书 2 图 1 程序流程图 开始 系统初始化 固定显示字符串 判断 jishu 值 闪烁左移右移 021 按键中断 按键中断产生 变量 jishu 加 1 并对 3 取余 中断返回 武汉理工大学专业课程设计 3(微处理器与微控制器应用) 课程设计说明书 3 3 实现方
4、案 3.1 LM016L 基本资料 3.1.1 引脚说明 LM016L 为字符型液晶显示器 LCD,其图形符号、引脚及属性如图 2 所示。 引脚说明如下: 数据线 D7D0 控制线(有 3 根:RS、RW、E) 1 根地线 Vss 一根电源线(VDD) 图 2 LCD 图形符号和引脚 3.1.2 LM016L 属性及 RAM 地址: LM016L 的属性设置如下: 每行的字符数为 16,行数为 2; 时钟为 250KHz; 行 1 的字符地址为 80H8FH 行 2 的字符地址为 C0HCFH 3.1.3 基本操作时序 其具体时序见表 1。 武汉理工大学专业课程设计 3(微处理器与微控制器应用
5、) 课程设计说明书 4 表 1 LM016L 信号真值表 3.1.4 LCD 指令集 (1) 清屏指令 RSR/WDB7DB6DB5DB4DB3DB2DB1DB0 0000000001 功能: 清除液晶显示器,即将 DDRAM 的内容全部填入“空白”的字符码 20H; 光标归位,即将光标撤回液晶显示屏的左上方; 将地址计数器(AC)的值设为 0。 (2) 光标归位指令 RSR/WDB7DB6DB5DB4DB3DB2DB1DB0 000000001* 功能: 把光标撤回到显示器的左上方; 把地址计数器(AC)的值设置为 0; 保持 DDRAM 的内容不变 (3) 输入模式指令设置 RSR/WDB
6、7DB6DB5DB4DB3DB2DB1DB0 00000001I/DS 功能:设定每次写入 1 位数据后光标的移位方向,并且设定每次写入的一个字符 是否移动。 其中:I/D=1:数据读、写操作后,AC 自动增一; I/D=0:数据读、写操作后,AC 自动减一; S=1:数据读、写操作,画面平移; S=0:数据读、写操作,画面不动。 (4) 显示开关控制指令 RSR/WE功能 00下降沿写指令代码 01高电平读忙标志和 AC 值 10下降沿写数据 11高电平读数据 武汉理工大学专业课程设计 3(微处理器与微控制器应用) 课程设计说明书 5 RSR/WDB7DB6DB5DB4DB3DB2DB1DB
7、0 0000001DCB 功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。 其中:D 表示显示开关:D=1 为开,D=0 为关; C 表示光标开关:C=1 为开,C=0 为关; B 表示闪烁开关;B=1 为开,B=0 为关。 (5) 设定显示屏或光标移动方向指令 RSR/WDB7DB6DB5DB4DB3DB2DB1DB0 000001S/CR/L* 功能:使光标移位或使整个显示屏幕移位。 其中:S/C=1:画面平移一个字符位; S/C=0:光标平移一个字符位; R/L=1:右移; R/L=0:左移。 (6) 功能设定指令 RSR/WDB7DB6DB5DB4DB3DB2DB1DB0 00
8、001DLNF* 功能:设定数据总线位数、显示的行数及字型。 其中:DL=1,8 位数据接口;DL=0,4 位数据接口; N=1,两行显示;N=0,一行显示; F=1,510 点阵字符;F=0,57 点阵字符。 (7) 设定 DDRAM 地址指令 RSR/WDB7DB6DB5DB4DB3DB2DB1DB0 000A6A5A4A3A2A1A0 功能:设定下一个要存入数据的 CGRAM 的地址。 (8) 读取忙信号或 AC 地址指令 RSR/WDB7DB6DB5DB4DB3DB2DB1DB0 01BFAC6AC5AC4AC3AC2AC1AC0 武汉理工大学专业课程设计 3(微处理器与微控制器应用)
9、 课程设计说明书 6 功能: 读取忙碌信号 BF 的内容,BF=1 表示液晶显示器忙,暂时无法接收单片 机送来的数据或指令; 当 BF=0 时, 液晶显示器可以接收单片机送来的 数据或指令; 读取地址计数器(AC)的内容。 (9) 数据写入 DDRAM 或 CGRAM 指令 RSR/WDB7DB6DB5DB4DB3DB2DB1DB0 10数据 功能: 将字符码写入 DDRAM,以使液晶显示屏显示出相对应的字符; 将用户自己设计的图形存入 CGRAM。 (10)从 CGRAM 或 DDRAM 读出数据的指令 RSR/WDB7DB6DB5DB4DB3DB2DB1DB0 11数据 功能:读取 DDR
10、AM 或 CGRAM 中的内容。 3.1.5 控制器接口时序说明 3.1.5.1 读操作时序 武汉理工大学专业课程设计 3(微处理器与微控制器应用) 课程设计说明书 7 图 3 读操作时序 3.1.5.2 写操作时序 图 4 写操作时序 3.2硬件连接图 了解完 LM016L 基本资料,现在我们可以将 LCD 与单片机接在一起。实现方案时,将 武汉理工大学专业课程设计 3(微处理器与微控制器应用) 课程设计说明书 8 89C51 单片机的 P1 口与 LCD 数据口连接起来 ,P3 口接液晶控制端口及按键。 具体的硬件连接图如图 5 所示。 图 5 液晶广告牌硬件设计图 4 源程序代码 #in
11、clude #include /库函数头文件,代码中引用了_nop_()函数 / 定义控制信号端口 sbit RS=P30; /P3.0 sbit RW=P31; /P3.1 sbit E= P32; /P3.2 int jishu=0; / 声明调用函数 void lcd_w_cmd(unsigned char com); /写命令字函数 void lcd_w_dat(unsigned char dat); /写数据函数 unsigned char lcd_r_start(); /读状态函数 void int1(); /LCD 初始化函数 void delay(unsigned char t
12、); /可控延时函数 void delay1(); /软件实现延时函数,5 个机器周期 void main() /主函数 武汉理工大学专业课程设计 3(微处理器与微控制器应用) 课程设计说明书 9 unsigned char lcd=i am the best one mei bang si wei te; unsigned char lcd1=i am yu yang yi from whut; unsigned char i; EA=1; /全局中断开 EX1=1; /外部中断 0 开 IT1=1; /边沿触发,IT1=0 表示电平触发 P1=0 xff; /送全 1 到 P0 口 int
13、1(); /初始化 LCD delay(255); lcd_w_cmd(0 x80); /设置显示位置 delay(255); for(i=0;i36;i+) /显示字符串 lcd_w_dat(lcdi); delay(200); lcd_w_cmd(0 xc0); / 设置显示位置 delay(255); for(i=0;i25;i+) / 显示字符串 lcd_w_dat(lcd1i); delay(200); while(1) switch(jishu) case 0 : for(i=0;i1;i+) / 闪烁 武汉理工大学专业课程设计 3(微处理器与微控制器应用) 课程设计说明书 10 lc