数码管和LCD1602学习笔记..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数码管和LCD1602学习笔记.

1数码管显示 数码管的显示有四种方法先介绍一下段驱动和位驱动都都使用74HC573锁存器的方式: 数码管共阴极,直接由单片机的P0口驱动 74HC573锁存器真值表如下 /OE LE D /Q 0 1 1 1 在允许输入输出时,输入和输出是一样的。 0 1 0 0 0 0 任意 输出上一个状态值,即已经所存的值。 #include reg51.h sbit dula=P2^6; //段选信号的锁存器控制 sbit wela=P2^7; //位选信号的锁存器控制 void main() { dula=0; //置0的时候无理论573输入什么值,输出端都只输出上一个值而与当前输入的值无关,只有置1的一瞬间才会将此刻输入端的值原样输出。即11脚就像是一个开关,为0关闭输出内容为之前锁存的内容,为1开,输出值就是此刻的输入值。 wela=0; P0=0x4f; //数字“3”的代码 dula=1; //段置1将P0口的值输入到锁存器中, dula=0; //锁存数字“3”的代码,LE=0(图中的C)无论输入什么值,输出的结果都是上一个状态值。 P0=0x00; //选中所有的数码管,要想选哪中一位数码管只需要将对应的位选线置0. wela=1; wela=0; //锁存输入的00 while(1);} 上面的示例是将一个字符显示在一个或者几个数码管上,但是实际的应用却需要在多个数码管上显示出多个字符。这就需要动态扫描以实现静态显示的效果。我们已经可以通过程序让任意一位数码管显示任意一种字符,这样我们可以以时间为轴,循环显示每个数码管需要的数值,当循环显示的时间比较小时,眼睛就不能分辨出闪烁,而是看到一个静态的数值显示, LCD1602显示 可以显示2*16个字符,每个字符是5*7的点阵 3脚是背光选择用于调节背光亮度 LCD1602功能介绍:提供各种控制命令:清屏、字符闪烁、光标闪烁、显示移位 80字节显示数据存储器DDRAM 192个5*7点阵的字节字符发生器CGROM 8个可由用户自定义的字符发生器CGRAM 读状态值的目的就是要判断1602是否在工作STA7-=1时不能对其读写。 在 一个5*7点阵上显示什么字符 ? 显示一个数字8,即38H或直接‘8’ 除此之外,还可以自己定义字符,可参考视频第十七讲。 在哪一个点阵上显示字符 ? 在第一行第一个字显示,80H,第一行第二个显示81H 指令集 1 2 2显示开/光标设置的指令 0CH 开显示、无光标、不闪烁 0FH 开显示、光标、闪烁 0E 开显示、光标、不闪烁 06H 地址指针加一,光标加一 07H 写一个字符,整屏显示左移 3其他指令 01H 显示清屏(数据指针清零,所有显示清零) 02H 显示回车:(数据指针清零) 怎样编写程序? 测忙(定义状态标志位sta7)、写命令、写数据函数,LCD初始化函数 简单程序实例 #include reg52.h //包含单片机寄存器的头文件 typedef unsigned char uint8; //数据类型的宏定义 sbit RS = P1^0 ; //寄存器选择位,将RS位定义为P1.0引脚 sbit RW = P1^1 ; //读写选择位,将RW位定义为P1.1引脚 sbit EN = P2^5 ; //使能信号位,将E位定义为P2.5引脚 sbit BF = P0^7 ; //忙碌标志位,,将BF位定义为P0.7引脚 sbit du = P2^6 ; //让数码管在LCD显示的时候关闭不工作 sbit wei = P2^7 ; /***************************************************** 测忙函数功能:判断液晶模块的忙碌状态 BF=1,忙碌;BF=0,不忙 ***************************************************/ void wait(void) { P0 = 0xFF; //预读先写1 do { RS = 0; RW = 1; EN = 0; EN = 1; //读状

文档评论(0)

sfkl + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档