淘姐妹

淘姐妹

基于LCD1602液晶显示器课程设计 南京廖华

电脑 0
lcd1602液晶显示电路设计,lcd1602显示的基本原理,lcd1602液晶显示屏实验,lcd1602显示电路设计

发布时间 : 2023/5/8 18:33:11 星期一 文章基于LCD1602液晶显示器课程设计更新完毕开始阅读

SDA 和SCL 两条信号线都处于高电平,即总线上所有的器件都释放总线,

两条信号线各自的上拉电阻把电平拉高。

(4)数据传输与应答信号ACK

发送到SDA 线上的数据必须是8 位的。每次传输可以发送的数据不受限制。每个字节后必须在时钟的第9 个脉冲期间释放数据总线(SDA 为高),由接收器发送一个ACK(把数据总线的电平拉低)来表示数据成功接收。如图2.4 IIC 总线响应。

图2.4IIC总线响应

首先传输的是数据的最高位(MSB)。如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟SCL 保持低电平迫使主机进入等待状态。当从机准备好接收下一个数据字节并释放时钟线

SCL 后,数据传输继续。如图2.5 IIC 总线数据传输所示。

图2.5IIC总线数据传输

2.2.3 IIC 总线器件寻址方式

IIC 总线上的器件是共用总线的,因此,主器件在进行数据传输前要选择通信

的从器件,即进行总线寻址。总线上的所有器件都有唯一的地址,由器件地址和引脚

9

地址两部分构成,共7 位。引脚地址由IIC 总线外围器件的地址引脚(A2、A1、

A0)决定的。

数据的传输遵循如图2.6 完整的数据传送所示,在起始条件之后,发送一个7 位的从机地址,紧接着第8 位是数据方向(R/ W),0-表示发送数据(写),1-表示接收数据(读)。数据传输一般由主机产生的停止位(P)终止。但是如果主机仍希望在总线上通讯,它可以产生重复起始条件(Sr),和寻址另一个从机,而不是首先产生一个停止条件。在这种传输中,可能有不同的读/写格式结合。如图2.6 IIC 总线完整的数据传输。

图2.6 IIC总线的数据传输

2.3 系统电路图

系统的电路图如2.7 所示:

图2.7 系统电路图

10

运行状况如图2.8:

图2.9 运行状态

11

第三章 软件设计

3.1系统框图

本课题的程序设计是在C 语言的基础之上的,可分为两大模块,分别是:(1)

IIC 协议;(2)LCD 显示。

程序总体框图如图3.1 所示:

图3.1 总程序框图

12

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • >>
  • 9


linux笔记本如何外接显示器 ubuntu笔记本充当临时显示器

linux笔记本外接显示器,笔记本连接linux服务器,linux系统外接硬盘,linux 外接网卡

From: http://www.xyfish.com/thread-216-1-1.html

Ubuntu 8.04 设置笔记本电脑双显示器 目录: 1、设置显示分辨率及 xrandr 介绍 2、GNOME下切换双屏的方法 3、关于双屏下 GNOME面板/ wine / 阿里旺旺的一些问题及解决 正文: 1、设置显示分辨率及 xrandr 介绍 ? ?X Windows 中有一个显示分辨率的概念,在默认情况下,这个显示分辨率为 max*max ,max等于你的所有连接上的显示器中最大分辨率中的最大值。例如我的笔记本液晶屏最大分辨率为 1024*768,外接显示器最大分辨率为 1280*1024,则默认的显示分辨率为 1280*1280。如果我设置左右双屏且使用最大分辨率,那么总显示分辨率就会达到2304*1024,达到超出系统默认的大小。在这种情况下强行设置双屏幕,就会导致 X 进入超低分辨率,结果不得不手工重设 xrog.conf 来恢复。 为了更好检测这个问题,我们需要用到 xrandr 这个软件,xrandr系统已经自带,如果没有请安装x11-xser【【微信】】:sudo apt-get install x11-xser【【微信】】 。 不带参数执行xrandr能够列出当前的显示设备和每个设备支持的模式。Screen代表了总显示区域,VGA代表显示器,LVDS代表笔记本液晶屏。 Screen 0: minimum 320 x 200, current 1280 x 768, maximum 1280 x 1280 【【微信】】 (normal left inverted right x axis y axis) ? ?1280x1024? ?75.0 +? ?69.8? ?59.9 ? ?【【淘密令】】? ? 75.1? ?70.1? ?60.0 ? ?800x600? ?72.2? ?75.0? ?60.3 ? ?640x480? ?75.0? ?72.8? ?65.4? ?60.0 ? ?720x400? ?70.1 L【【微信】】+0+0 (normal left inverted right x axis y axis) 246mm x 184mm ? ?【【淘密令】】? ? 50.0*+? ?60.0? ?40.0 ? ?800x600? ?60.3 ? ?640x480? ?60.0? ?59.9 系统默认显示分辨率为 1280x1280,而在左右扩展双屏情况下VGA和LVDS支持的最小分辨率加在一起都超过这个数字,当然会导致 X 进入超低分辨率了。如果感兴趣,可以用以下命令尝试把外接显示器打开并设置为右侧扩展屏幕(不用sudo)来验证一下: xrandr --output 【【微信】】VDS 系统会出错,提升说屏幕大小超出限制。 解决方法:手工修改xorg.conf,在Section "Screen"中添加一行 【【微信】】 2304 1024 Section "Screen" ? ?Identifier "Default Screen" ? ?Monitor "Configured Monitor" ? ?Device "【【微信】】e" ? ?【【微信】】 "Display" ? ?【【微信】】 2304 1024 ? ?End【【微信】】dSection 注意:Ubuntu 8.04中的xorg.conf已经非常精简,【【微信】】 "Display" 可能要自己添加,别忘记 End【【微信】】 我设置好以后的xrandr命令输入如下: $ 【【淘密令】】: minimum 320 x 200, current 【【淘密令】】, maximum 2304 x 1024 【【微信】】 (normal left inverted right x axis y axis) .... L【【微信】】+0+0 (normal left inverted right x axis y axis) 246mm x 184mm .... 现在应该没问题了,用刚才的命令打开双屏后, $ 【【淘密令】】: minimum 320 x 200, current 2304 x 1024, maximum 2304 x 1024 【【微信】】 1280x1024+1024+0 (normal left inverted right x axis y axis) 340mm x 270mm ... L【【微信】】+0+0 (normal left inverted right x axis y axis) 246mm x 184mm ... 其实这个显示分辨率完全可以设置高一些,比如我就设置成4000 x 2000,如果连接到最大分辨率为1920x1200的外接显示器,也不用重新设置 xorg.conf 了。 xrandr 命令行可以很方便地切换双屏,常用方式如下,其他的可以自己探索: xrandr --output 【【微信】】to ? ?打开外接显示器(最高分辨率),与笔记本液晶屏幕显示同样内容(克隆) xrandr --output 【【微信】】de 【【淘密令】】 ? ?打开外接显示器(分辨率为【【淘密令】】),与笔记本液晶屏幕显示同样内容(克隆) xrandr --output 【【微信】】uto ? ?打开外接显示器(最高分辨率),设置为右侧扩展屏幕 xrandr --output 【【微信】】 ? ? 关闭外接显示器 xrandr --output 【【微信】】S --off ? ?打开外接显示器,同时关闭笔记本液晶屏幕(只用外接显示器工作) xrandr --output 【【微信】】 --output LVDS --auto ? ?关闭外接显示器,同时打开笔记本液晶屏幕 (只用笔记本液晶屏) (最后两种情况请小心操作,不要误把两个屏幕都关掉了。。。。) 2、GNOME下切换双屏的方法 ? ?用命令行毕竟不方便,幸好我们还有许多 X 下的工具可用: GNOME 中自带的“监视器屏幕分辨率设置”软件功能很强大(系统->首选项->屏幕分辨率), 打开和关闭第二个监视器的办法是调整它的分辨率,取消“克隆”就可以设置成扩展屏幕,还可以通过拖动图标位置调整双屏时两个屏幕的相对位置。 ? ?Image grandr,则是一个图形界面的xrandr前端,功能与前一个软件各有千秋。安装方法:sudo apt-get install grandr ? ?Image ? ?另外还有两个可以添加到GNOME面板上的快速切换分辨率(但不能切换双屏)的插件,分别是 gnome-randr-applet 和 resapplet,如果你需要可以尝试一下。 ? ?对于 Nvidia显卡,据说可以安装 n【【微信】】udo apt-get install n【【微信】】),但我没试验过。 3、关于双屏下 GNOME面板/ wine / 阿里旺旺的一些问题及解决 ? ?右侧扩展屏幕时,GNOME面板会自动跑到外接显示器上去,可以通过拖动把它放回到笔记本液晶屏上来。 ? ? 发现一个有趣的现象,用wine执行的程序,似乎只能在最初显示的那个屏幕上显示,拖到另外一个屏幕上就无法正常渲染了。 ? ? 关于在双屏情况下使用阿里旺旺5.7,有一个注意事项,启动扩展双屏后,再启动阿里旺旺会看不到图标,在托盘区只看到一个空白的图标,无法启动菜单,所以最好先启动阿里旺旺,然后再启动扩展双屏。(如果已经启动了双屏,那么可以先把双屏模式变成非扩展模式,然后启动旺旺,再打开扩展模式即可)。命令如下: xrandr --output 【【微信】】 启动旺旺 xrandr --output VGA --right-of LVDS

-----------------------------------------------------------------------------------------------------------------------------------

脑袋又开始发热,不过还是很爽滴,尽管两个显示器分辨率差别很大,但从此查文档写东西窗口翻来覆去的日子过去了。这里记录一下在Ubuntu下面设置双显示器的配置文件,xorg.conf。 我的配置文件是针对笔记本单显卡的,我的显卡是Ati的。不过双显卡的类似,举一反三,这里放的只是需要改动的段落。 Section "Device" Identifier "ATI" Driver "ati" 【【微信】】 "PCI:1:0:0" EndSection Section "Device" Identifier "Card1" Driver "ati" 【【微信】】 "PCI:1:0:0" EndSection Section "Monitor" #对外置的显示器新加的,原来的不变 Identifier "MonExt" Option "DPMS" EndSection Section "Screen" #对外置的显示器新加的,原来的不变 Identifier "Screen1" Device "Card1" Monitor "MonExt" DefaultDepth 24 【【微信】】 "Display" Depth 24 Modes "【【淘密令】】" End【【微信】】dSection Section "Ser【【微信】】" Identifier "DualHead" Screen "Default Screen" 0 0 Screen "Screen1" RightOf "Default Screen" InputDevice "【【微信】】" InputDevice "【【微信】】" InputDevice "【【微信】】" EndSection #如果只是扩展屏幕,也就是窗口可以拖到另外一个屏幕,就加上下面这段;如果需要两个独立的显示就去掉。 Section "Ser【【微信】】" Option "Xinerama" "true" EndSection 刚刚登录Windows, 发现Ati的win下面的驱动已经内置了多显示器支持, Extend模式.

-----------------------------------------------------------------------------------------------------------------------------------

由于我用的是笔记本.屏幕有点少.所以有的时候想外接显示器来显示更大的区域,如果是在Windows下那可是很方便的事情.只需要按一下Fn F4就可以了.但现在在Ubuntu Linux下.就变成了一件有点麻烦的事情了,以前没找到好的方法,现在参考了一些文档,再加上804对我的本本的硬件可以说是完全兼容,所以现在要实现这个功能也是一件很容易的事情了. http://www.thinkwiki.org/wiki/Xorg_RandR_1.2 上面的是参考文档,虽然是全部是E文,但意思也不是很难理解,仔细看了几遍,针对我的硬件的情况,几条命令就配置好了! 首先把显示器接到VGA口上现开机(如果已经进入系统了那就reboot一下) 这时候应该外接的显示器跟本本的屏幕是镜像关系的. 然后在终端下输入命令: sudo dpkg-reconfigure -phigh xser【【微信】】 运行该命令后会自动对 /etc/X11/xorg.conf 的文件进行backup,备份文件为加上当时时间为文件的后缀,如果将来有需要的可以恢复回去的.至此,在我的机器上面外接显示器基本上完成了,剩下的就只是利用命令来对显示的效果进行控制了. xrandr --output 【【微信】】(auto) :这个命令是关闭(开启)外接的显示器. xrandr --output L【【微信】】(auto) :这个命令是关闭(开启)本本的显示器. xrandr --output 【【微信】】VDS :这个命令是令外接的VGA显示器扩展到本本的屏幕的右边,与windows下的扩展的效果是一样的.但要注意一点的就是要想外接的显示器扩展到本本屏幕的右边必须是外接的显示器的分辨率比本本屏幕的低,否则就变成分辨率低的成扩展,无论你的命令是什么! 基本上需要用到的命令就是这些,如果还需要更深入的控制的,可以参考那个网址.

--------------------------------------------------------------------------------------------------------------------------------------------

问题描述: 我的本本是06年购入的ThinkPad T60,液晶屏是14.1" 1400x1050,外接AOC F19 19"液晶显示器(18.5",16:9)。 按照上面的教程,在命令行键入: $ xrandr 却只能找到默认显示器。 在“系统->首选项->屏幕分辨率”中也只能找到笔记本的液晶屏。 重启系统后,外接显示器工作在镜像状态下,但是在系统中依然找不到外接显示器。 解决方法: 启动计算机时,按F1进入BIOS。 选择“Config->Display->Boot Display Device”,设置为“VGA+LCD”。(之前设置为“LCD”)。 保存设置,重启,进入系统后,在“系统->首选项->屏幕分辨率”中即可看到外接显示器。 这个时候就可以分别设置两个显示器的分辨率,和左右位置了。 问题圆满解决!