跳至主要内容

博文

目前显示的是 二月 1, 2009的博文

【转】16x2字符型带背光液晶显示模块

液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。     这里介绍的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,这里以常用的2行16个字的1602液晶模块来介绍它的编程方法。    标准型16X2带背光液晶显示字符模块,邮购价格26元一个 外形尺寸:PCB外形:36.4*80毫米 液晶屏金属黑框:34.2*72毫米   1602采用标准的16脚接口,其中: 第1脚:VSS为地电源 第2脚:VDD接5V正电源 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生"鬼影",使用时可以通过一个10K的电位器调整对比度 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15~16脚:空脚     1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母"A"的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母"A"     1602液晶模块内部的控制器共有11条控制指令,如表2所示,     它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 指令1:清显示,指令码01H,光标复位到地址00H位置 指令2:光标复位,光标返回到地址00H 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令4:显示开关控制。

【转】AT24C02串行E2PROM的读写

I2C总线是一种用于IC器件之间连接的二线制总线。它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、LCD驱动器还是键盘接口。   1.I2C总线的基本结构 采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。I2C总线接口电路结构如图1所示。   2.双向传输的接口特性 传统的单片机串行接口的发送和接收一般都各用一条线,如MCS51系列的TXD和RXD,而I2C总线则根据器件的功能通过软件程序使其可工作于发送或接收方式。当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。I2C总线的控制完全由挂接在总线上的主器件送出的地址和数据决定。在总线上,既没有中心机,也没有优先机。   总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于此时数据传送的方向。SDA和SCL均为双向I/O线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接总线的器件的输出级必须是集电极或漏极开路,以具有线"与"功能。I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。   3.I2C总线上的时钟信号 在I2C总线上传送信息时的时钟同步信号是由挂接在SCL时钟线上的所有器件的逻辑"与"完成的。SCL线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使SCL线一直保持低电平,使SCL线上的所有器件开始低电平期。此时,低电平周期短的器件的时钟由低至高的跳变并不能影响SCL线的状态,于是这些器件将进入高电平等待的状态。   当所有器件的时钟信号都上跳为高电平时,低电平期结束,SCL线被释放返回高电平,即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将S

【转】红外线电脑遥控器

这是我们用电子制作实验室网站提供的51单片机实验板最新开发的红外线电脑遥控器,点击这里可以下载用于红外遥控PC的单片机的烧写文件 IR12M.HEX    将烧写文件烧录到AT89C51单片机内部后,再将电脑串口连接好带有扩展元件的51实验板,打开51实验板电源后,P1.0端口上的LED就会闪烁,这说明单片机程序已经正常运行了,再把红色的拨码开关的第2、第3位开关打开。     如上图所示就可以接收红外遥控编码了。这时实验板就变成了一个超级的PC遥控器了。当然我们还要借助Grider软件来实现。 1.安装软件     Grider是国外一款很优秀的免费红外遥控软件,支持多种的硬件,如红外键盘鼠标,红外接收器等,软件的功能强大有OSD屏显,名种常用的相关系统操作如开关显示器等等。这里就简单介绍一些简单的用法。首先要安装软件,点击 这里下载Grider3.2 ,也可到 www.grider.nl 上下载新版或旧版的。下载完后运行。出现下面的画面: 点NEXT,再到下一画面:     选上"I accept the agreement",再按Next,这些都是通常的安装步骤,不多说,一直按Next,直到出现完成画面。 然后就可以在"开始"中找到程序并运行它了。 2.设置软件 运行Girder3.2程序后,点击File菜单->Settings打开设置窗口     在设置菜单UserInterface(用户界面)页中,选择设置中文菜单,再按Apply键,这时程序就变成了中文汉化版的了。 在"常规"页中可以设置是否自动加载设置文件,随WINDOWS启动,启动后只出现在任务栏而不出现主窗口等等。好了下面的硬件设置是最重要的。 在插件页中选中UIR/IRman/IRA......(选中QuestionOSD就可以使用像电视中的屏显提示了),选好后你就按设置弹出下面的画面 然后按画面上的设置进行设置,当然串口就选你自己所连接的串口,再把前面一个画面中的"自动打开输入设置"选中就可以了。 3遥控键学习 在图中空白处右击弹出菜单,选添加命令,则新建了一个命令,可以对其重命名。     以打开WINAMP为例,在"系统页"选"

【转】用单片机实现的自动拨号器

自动拨号器是一种智能化的报警监控装置,它以单片机为核心器件,利用无线寻呼和程控电话可随时将警情发送给指定的BP机。它配备不同的传感器后,不但可以对有毒气体泄漏、家中被盗等情况进行报警,而且还可对通信设备及电源故障的发生进行告警,可广泛应用于仓库、小型商店、无人值守通信台站的监测以及家庭防盗、煤气报警等。 工作原理   自动拨号器按功能的不同可分为可编码型和简易型两种。可编码型自动拨号器可人为设置、更改BP机号码,使用方便灵活;简易型自动拨号器的BP机号码已写入CPU的程序存储器中,具有成本低廉、稳定可靠的特点,缺点是不能人为更改BP机号码,需通过编程器写入,但成本较可编码型低。以下分别介绍这两种拨号器的工作原理。    可编码的自动拨号器  如图1所示,可编码型自动拨号器核心部件IC1是ATMEL公司的89C51或台湾华邦公司的W78E51单片机,89C51和W78E51均为带4K字节快闪PROM的低电压CMOS八位微处理器,与标准的MCS-51系列单片机的指令、引脚全兼容。它有4K字节快闪PROM,128字节RAM,32个I/O端口,2个16位定时器/计数器,6个中断源。32个I/O口中,P1、P3可作为普通I/O口使用,P0、P2通常作为外部数据总线使用,当作为普通I/O口使用时,P0口必须外加上接电阻。IC2(PCD3311)是飞利浦公司生产的DTMF双音频发生器,可以和所有标准的单片微计算机直接接口,接收二进制码的并行或串行数据,串行数据格式为I2C总线方式。D0~D5(⑧~、④脚)为并行数据输入端口,MODE(③脚)为工作方式选择端口,在图1中该端口接成高电平方式,用于输入并行数据。STR(⑤脚)是数据选通输入端,由89C51或W78E51的P3.0控制。TONE(⑥脚)为DTMF双音频输出端。IC3(93C46)是MICRO-WIRE总线结构的串行EEPROM,用于保存从键盘输入的BP机号码,断电后数据不会丢失。IC3的①~④脚分别为片选端(CS)、串行移位时钟端(SK)、串行移位数据输入端(DI)和串行移位数据输出端(DO)。根据⑥脚电平的高低,有16位(⑥脚接VCC)和8位(⑥脚接地)两种操作方式。可编码的自动拨号器采用的是16位方式。   IC1的P1.0~P1.5(①~⑥脚)主要用于PCD3311的数据接口。P3.0(⑩脚)控制PCD

【转】AT24C02串行E2PROM的读写

I2C总线是一种用于IC器件之间连接的二线制总线。它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、LCD驱动器还是键盘接口。   1.I2C总线的基本结构 采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。I2C总线接口电路结构如图1所示。   2.双向传输的接口特性 传统的单片机串行接口的发送和接收一般都各用一条线,如MCS51系列的TXD和RXD,而I2C总线则根据器件的功能通过软件程序使其可工作于发送或接收方式。当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。I2C总线的控制完全由挂接在总线上的主器件送出的地址和数据决定。在总线上,既没有中心机,也没有优先机。   总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于此时数据传送的方向。SDA和SCL均为双向I/O线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接总线的器件的输出级必须是集电极或漏极开路,以具有线"与"功能。I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。   3.I2C总线上的时钟信号 在I2C总线上传送信息时的时钟同步信号是由挂接在SCL时钟线上的所有器件的逻辑"与"完成的。SCL线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使SCL线一直保持低电平,使SCL线上的所有器件开始低电平期。此时,低电平周期短的器件的时钟由低至高的跳变并不能影响SCL线的状态,于是这些器件将进入高电平等待的状态。   当所有器件的时钟信号都上跳为高电平时,低电平期结束,SCL线被释放返回高电平,即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将S

【转】DS18B20温度计制作全过程

元件盒一直躺着几只DS18B20,从没试过,决定用它做个电子温度计,说干就干......      1、构思   Mega8做大脑、小塑料盒做外壳、3位LED数码管显示、废弃手机电池做电源、线路板热转印制作、设置2个开关(1个按键式、1个拨动式可常开)、RS232升级程序。先想这些吧,开始干了。   2、画电路出图   电路原理图很简单,很快用PROTEL99SE画完;   根据小塑料盒大小设计PCB板,布好线,这步也不复杂。   裁好热转印纸,准备出图了,我喜欢打印时选择"Show Holes",这样在焊盘上就有孔。用我刚买的HP3050Z一体机,那天逛科技市场,看了感觉不错就搬回来了,从没用它打过转印纸,还不知道效果呢。   ......图出来了,还不错!比较满意。 3、制作线路板   ①找块单面敷铜板, 按合适尺寸裁好,用很细很细的沙纸打磨光亮,冲洗干净,吹干。千万别省事,一定要干净,否则转印效果不好。也可以用稀三氯化铁擦涂一下,能稍微提高转印效果。  ②对好位置,将打好的热转印纸盖到敷铜板上,用不干胶粘到平整的耐热材料上,强烈建议别直接放在你家的红木写字台上,我用的是铺剩的复合地板。用电熨斗进行转印,慢慢移动,使图及板受热均匀,尤其是边缘部分,要特别照顾一下。力量和时间我全是靠经验,大概20秒左右,稍用力。  ③加热后,纸与板粘在一起了,很烫,一定小心,别烫了你的小手手。扔到洗手池里,用凉水降温,我实在等不及它自然冷却。 ④板子凉了,从一边轻轻撕下转印纸,看看效果吧,很不错!是10Mil的线啊,没断一根。  ⑤扔到三氯化铁熔液里腐蚀。要想速度快,最好是热熔液+搅拌+毛刷轻刷。   应该好了吧,看看...... ⑥洗净炭粉。你们都是用什么洗啊,我用汽油,气味大点,但非常好用,用纸巾蘸一点就擦干净了,擦后用肥皂洗一下板子。什么?你没有汽油,这好办,拿个钢钉,拿把锤子,拿个瓶子,趁没人的时候到你家楼下找辆底盘高点的车,爬到车底下,在油箱上凿个洞,汽油就流出来了,接汽油的时候千万别抽烟,切记。接完汽油后,别忘了给人家油箱用什么东西堵上,以免漏光油耽误人家办急事。(取油方法仅限于想象,请勿模仿,哈哈) 4、线路板钻孔,学学CNC   线路板手动钻孔是件麻烦事,特别是IC脚的排孔,往往钻不垂直钻不整齐。今天试试用雕刻机