LCD字符型液晶显示器控制.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LCD字符型液晶显示器控制

LCD字符型液晶显示器控制实现功能:在实验平台上扩展一块LCD点阵字符型液晶显示器,要求:设计接口电路并编程使液晶显示器显示“当前时间”;并用按键输入与或修改时间。工作原理及设计思路:点阵字符型液晶显示器是专门用于显示数字、字母图形符号及少量自定义字符的显示器。在zks-03实验仪上有一标准的LCD液晶显示器接口J4,标注为DS1602。它与P87C52X2单片机以总线方式连接,其硬件连接如图1所示。图1由此可以看出LCD的命令寄存器的地址为:0xf800而数据寄存器的地址是:0xf801。实验箱上的J4接口如图4所示:J4 J5DS1602(SIP16) LCD_L从左到右对应的管脚分别为:1:GND2:VCC3:V0——接0~5V电压,调节LCD的对比度(实验箱上让它接地,使对比度达到最大)4:RS——寄存器选择:“0”选指令寄存器;“1”选数据寄存器5:R/W——“1”读操作;“0”写操作6:EN——使能信号7~14:DB0~DB7——八位双向数据信号线15~16:LCD背光电源将液晶显示器与J4接口对应连接好,编写读写程序,便对液晶显示器进行控制。电路仿真程序#includereg52.h#define uint unsigned int#define uchar unsigned charuchar a,miao,shi,fen,ri,yue,nian,week,flag,temp,key1n;#define yh 0x80 //第一行的初始位置#define er 0x80+0x40 //第二行初始位置//sbit cs1=P3^7;//sbitledk=P2^5;sbitdula=P2^6;sbitwela=P2^7;sbitwr=P1^1;sbitrs=P1^0;sbit en=P2^5;sbit SCLK=P2^1; // 6 P1.1sbit IO=P2^0; // 7 P1.0sbit RST=P2^4; //时钟 5 P1.2sbit ACC0=ACC^0;sbit ACC7=ACC^7;sbit key=P3^7;sbit key1=P3^0;sbit key2=P3^1;sbit key3=P3^2;uchar code tab1[]={2009- - THU};uchar code tab2[]={ : : };void delay(uintxms)//延时函数{uintx,y;for(x=xms;x0;x--)for(y=110;y0;y--);}/******************液晶写入************************/write_1602com(uchar com)//液晶写入指令函数{rs=0;//置为写入命令P0=com;//送入数据delay(1);en=1;//拉高使能端delay(1);en=0;//完成高脉冲}write_1602dat(uchardat){rs=1;//置为写入数据P0=dat;//送入数据delay(1);en=1;delay(1);en=0;}/*********************over***********************//********************ds1302****************************/voidwrite_byte(uchardat){ACC=dat;RST=1;for(a=8;a0;a--){IO=ACC0;SCLK=0;SCLK=1;ACC=ACC1;}}ucharread_byte(){RST=1;for(a=8;a0;a--){ACC7=IO;SCLK=1;SCLK=0;ACC=ACC1;}return (ACC);}void write_1302(ucharadd,uchardat){RST=0;SCLK=0;RST=1;write_byte(add);write_byte(dat);SCLK=1;RST=0;}uchar read_1302(uchar add){uchar temp;RST=0;SCLK=0;RST=1;write_byte(add);temp=read_byte();SCLK=1;RST=0;return(temp);}ucharBCD_Decimal(ucharbcd){uchar Decimal; Decimal=bcd4;return(Decimal=Decimal*10+(bcd=0x0F));}void ds1302_init(){RST=0;SCLK=0;write_1302(0x80,miao|0x00);//允许写}void write_sfm(ucharadd,uchardat)//写时分秒{

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档