lcd602滚动显示字符.doc

上传人:罗晋 文档编号:9014558 上传时间:2021-01-30 格式:DOC 页数:2 大小:31KB
返回 下载 相关 举报
lcd602滚动显示字符.doc_第1页
第1页 / 共2页
lcd602滚动显示字符.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《lcd602滚动显示字符.doc》由会员分享,可在线阅读,更多相关《lcd602滚动显示字符.doc(2页珍藏版)》请在三一文库上搜索。

1、实验 LCD1602滚动显示字符一、说明1、#include #include #define uchar unsigned char#define uint unsigned intsbit LCD_RS = P12; sbit LCD_RW = P11;sbit LCD_EN = P10;uchar code dis1 = WLCOME TO ;uchar code dis2 = WWW.RICHMCU.COM ;uchar code dis3 = OT EMOCLW ;uchar code dis4 = MOC.UCMHCIR.WWW ;/*延时子程序*/void delay(int m

2、s) int i; while(ms-) for(i = 0; i 250; i+) _nop_(); _nop_(); _nop_(); _nop_(); /*/*检查LCD忙状态lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。*/bit lcd_busy() bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); result = (bit)(P0&0x80); LCD_EN = 0; return result; /*/*写指令数据到LCD;RS=

3、L,RW=L,E=高脉冲,D0-D7=指令码。*/void lcd_wcmd(uchar cmd) while(lcd_busy(); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 0; /*写显示数据到LCD;RS=H,RW=L,E=高脉冲,D0-D7=数据。*/void lcd_wdat(uchar dat) while(lc

4、d_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 0; /* 设定显示位置*/void lcd_pos(uchar pos)lcd_wcmd(pos|0x80); /数据指针=80+地址变量/*/*LCD初始化设定*/void lcd_init() lcd_wcmd(0x38); /16*2显示,5*7点阵,8位/数据 delay(5); lcd_w

5、cmd(0x38); delay(5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x0c); /显示开,关光标 delay(5); lcd_wcmd(0x06); /移动光标 delay(5); lcd_wcmd(0x01); /清除LCD的显示内容 delay(5);/* 闪动子程序*/void flash() delay(600); /控制停留时间 lcd_wcmd(0x08); /关闭显示 delay(200); /延时 lcd_wcmd(0x0c); /开显示 delay(200); /延时 lcd_wcmd(0x08); /关闭显示 delay(200

6、); /延时 lcd_wcmd(0x0c); /开显示 delay(200);/*主程序*/main()uchar i; delay(10); lcd_init();/ 初始化LCD while(1) lcd_wcmd(0x06); /向右移动光标 lcd_pos(0); /设置显示位置为第一行的第1个/字符 i = 0; while(dis1i != 0) /显示字符 Welcome TO lcd_wdat(dis1i); i+; delay(30); /控制两字之间显示速度 lcd_pos(0x40); /设置显示位置为第二行第1个/字符 i = 0; while(dis2i != 0)

7、lcd_wdat(dis2i); /显示字符 WWW.RICHMCU.COM i+; delay(30); /控制两字之间显示速度 flash(); /闪动二次 lcd_wcmd(0x01); /清除LCD的显示内容 delay(200); /控制转换时间 lcd_wcmd(0x04); /向左移动光标 lcd_pos(15); /设置显示位置为第一行的第16/个字符 i = 0; while(dis3i != 0) /显示字符 Welcome TO lcd_wdat(dis3i); i+; delay(30); /控制两字之间显示速度 lcd_pos(0x4F); /设置显示位置为第二行的第/16个字符 i = 0; while(dis4i != 0) lcd_wdat(dis4i);/显示字符 /WWW.WILLAR.COM i+; delay(30); /控制两字之间显示速度 flash(); /闪动二次 lcd_wcmd(0x01); /清除LCD的显示内容 delay(200); /控制转换时间

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1