单片机项目17-1602单色字符液晶显示器

单片机项目17-1602单色字符液晶显示器

ID:42622088

大小:206.28 KB

页数:4页

时间:2019-09-19

单片机项目17-1602单色字符液晶显示器_第1页
单片机项目17-1602单色字符液晶显示器_第2页
单片机项目17-1602单色字符液晶显示器_第3页
单片机项目17-1602单色字符液晶显示器_第4页
资源描述:

《单片机项目17-1602单色字符液晶显示器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机学习项目项目17-1602单色字符液晶显示器     一:参考电路LCD1602与单片机最小系统连接电路见图6-1-6所示,LCD1602的使能端E接P2.0,R/W端接P2.1,RS端接P2.2,D0~D7接单片机的P0端口,接上拉排阻。LCD1602的电源、背光电源与单片机使用同一电源供电。二:LCD1602应用在主程序中可以调用1602.c子程序实现字符显示,如显示信息:第一屏第一行显示“Howareyou”,第二行显示“dat:2012/09/01”;第二屏显示第一行显示“Time:sec”,第二行显示Eed,程序利用Proteus软件仿

2、真效果见图6-1-7(a)、(b)所示。主程序可以参照下面设计。/*预处理*/#include#include<1602.c>/*主函数*/voidmain(void){uchari,sec=56;F1602_init();F1602_clear();while(1){F1602_clear();display_string("Howareyou");gotoxy(2,0);display_string("dat:2012/09/01");delay(50000);delay(50000);delay(50000);delay(500

3、00);F1602_clear();display_string("Time:");display_num(sec);display_string(" ");display_num(i);//i为重复显示的次数gotoxy(2,0);display_string("End");delay(50000);delay(50000);delay(50000);delay(50000);i++; if(i>100)i=0;}}  三:1602驱动程序    单片机对1602的基本操作函数有写指令、写数据、读状态、读数据等,初始化和清屏操作利用基本操作函数实现,

4、如写初识化指令0x38需要用到写指令操作。应用操作函数有光标定位函数、显示字符函数、显示数字函数等。在程序设计时,被调用的函数写在程序的前面。根据1602电路连接方式,1602.c程序设计清单如下:/*预处理*/#include#defineucharunsignedchar#defineuintunsignedintucharnum[]="0123456789";//显示两位数字时使用sbitRS=P2^2;sbitRW=P2^1;sbitE =P2^0;/*延时函数*/voiddelay(uintx){while(x--);}/*

5、向1602写一个命令*/voidwrite_command(ucharcommand){RW=0;RS=0;P0=command;E=1;   delay(100);           //等待接收,省略了读状态操作E=0;RW=1;}/*向1602写一个数据*/voidwrite_data(uchardate){RW=0;RS=1;           P0=date;E=1;delay(100);           //等待接收E=0;RW=1;}/*初始化1602*/voidF1602_init(void){       write_comm

6、and(0x38);                 // 两行,每行16字符,每个字符5*7点阵       write_command(0x0f);          // 光标显示并闪烁       //write_command(0x0C);                // 光标不显示       write_command(0x06);                   // 光标随字符右移}/*对1602清屏*/voidF1602_clear(){write_command(0x01);         write_command(0

7、x02);         }/*向1602写字符串*/voiddisplay_string(uchar*p){while(*p)                               //字符非空{            write_data(*p);             //写字符            p++;                              //数据指针加1}}/*向1602写数字变量(两位)**/voiddisplay_num(ucharx){ write_data(num[x/10]); write_da

8、ta(num[x%10]);   }/*定位*/voidgotoxy(uchary,uchar

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。