- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LCD字符型液晶显示器控制
实现功能:
在实验平台上扩展一块 LCD点阵字符型液晶显示器,要求:设计接口电路并编程使液
晶显示器显示“当前时间”;并用按键输入与或修改时间。
工作原理及设计思路:
点阵字符型液晶显示器是专门用于显示数字、 字母图形符号及少量自定义字符的显示器。
在zks-03实验仪上有一标准的 LCD液晶显示器接口 J4,标注为 DS1602。它与P87C52X2单 片机以总线方式连接,其硬件连接如图 1所示。
图1
由此可以看出LCD的命令寄存器的地址为:0xf800而数据寄存器的地址是:
0xf801。
实验箱上的J4接口如图4所示:
J4 J5
DS1602(SIP16) LCD_L
???????????????? ??
从左到右对应的管脚分别为:
1: GND
2: VCC
3: V0接0?5V电压,调节LCD的对比度(实验箱上让它接地,使对比度达 到最大)
4: RS寄存器选择:“ 0”选指令寄存器;“1”选数据寄存器
5: R/W“ 1”读操作;“ 0”写操作
6: EN使能信号
7?14: DBSDB 八位双向数据信号线
15-16: LCD背光电源
将液晶显示器与J4接口对应连接好,编写读写程序,便对液晶显示器进行控制。
DO?D7:数据总线。用于与单片机数据总线连接。
RS: 〔 Register Select、寄存器选择信号)。
RS为1时,选择数据寄存器;
RS为0时,选择控制寄存器或状态寄存器。
R/W:读写信号。
R/W为1时,表示从LCD的控制器读取数据;
R/W为0时,表示数据写入LCD的控制器。
E:芯片使能信号。
VDD、VSS:分别为电源线和地线° LCD电源为+5VO
V0:字符明暗对比度调节引脚.可以接一只可变电阻, 调节该脚的输入电压,从而调节明暗对比度。此脚接 地时,将得到最大的明暗对比度。
字符型液晶显示模块的操作主要是通过管脚E、R/W、 RS的不同电平组合来完成的o
电路仿真
T
u
II
K1 FySJU
-12
K5L1
J nv
xa ■,
FIFkr
LD1
Current Tine
lgi32;55
PC1JXKDD K1W1 PC JiMii
PC 讯岁也
KTfflDT
?2
¥■
PISRJFiLl*
Ai^i.sr
1 门 M?fE2^Me| pIKM站1 腼 加鬓泛 dli ■斷貝I bjiJ M\|
程序
#in cludereg52.h
#define uint un sig ned int
#define uchar un sig ned char
uchar a,miao,shi,fe n,ri,yue ,nian, week,flag,temp,key1 n;
#define yh 0x80 //第一行的初始位置
I21jhQ 九4料 PZ101I1 p^Onill P? 5^.13 P: EUAH
m:
F2.1.^KD盯:.trTi^rr
J J 1巴帀
■ttfl L h%0 0
#define er 0x80+0x40 //
第一仃初始位置
//sbit cs仁 P3A7;
//sbit ledk=P2A5; sbit dula=P2A6; sbit wela=P2A7;
sbit wr=P1Al;
sbit rs=P1A0;
sbit en=卩2人5; sbit SCLK=P2A1;
// 6
P1.1
sbit IO=P2A0;
// 7
P1.0
sbit RST=P2A4;
// 时钟 5 P1.2
sbit ACC0=ACCA0;
sbit ACC7=AC7;
sbit key=P3A7;
sbit key1=P3A0;
sbit key2=P3A1;
sbit key3=P3A2;
uchar code tab1[]={2009- - THU};
uchar code tab2[]={ : : };
void delay(uint xms)// 延时函数 {
uint x,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(uchar dat) {
rs=1;// 置为写入数据
P0=dat;// 送入数据 delay(1);
en=1;
原创力文档


文档评论(0)