欢迎来到天天文库
浏览记录
ID:42622088
大小:206.28 KB
页数:4页
时间:2019-09-19
《单片机项目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
此文档下载收益归作者所有