收藏 分销(赏)

无线远程控制LED屏设计.doc

上传人:pc****0 文档编号:7910345 上传时间:2025-01-26 格式:DOC 页数:32 大小:526KB 下载积分:10 金币
下载 相关 举报
无线远程控制LED屏设计.doc_第1页
第1页 / 共32页
无线远程控制LED屏设计.doc_第2页
第2页 / 共32页


点击查看更多>>
资源描述
毕 业 设 计 学生姓名 王 大 卫 学 号 170503030 院 (系) 电子与电气工程系 专 业 电子信息工程 题 目 无线远程控制LED屏设计 指导教师 葛 恒 清 讲师/硕士 2009 年 05 月 摘要:本设计主要研究了LED显示屏系统原理,分析了单片机控制显示屏的方法,并编程实现了显示的功能。其中,对控制电路部分所使用的元器件作了详细的介绍。基于LED大屏幕之上,又研究了无线远程控制温度显示的方法。从机通过单线温度传感器DS18B20获得温度数据,通过无线发射模块把温度数据发送给主机的无线接收模块,主机接收到了温度数据,在1602液晶显示模块显示出当前温度数值。在此过程中,对1602 字符型LCD显示模块进行了分析,编程并实现了字符显示的功能,同时,研究了无线收发模块和温度传感器DS18B20,编程模拟LED屏幕实现了无线远程控制温度显示。 关键字:LED,扫描原理,LCD,温度传感器,无线收发模块 Abstract:The research of the design mainly tenets the LED display system, analysing the methods of single-chip microcomputer to control the display and programming features of the display. Among them, the paper gives full details of some of the control circuit components. Based on the LED screen, it studies the method of wireless remote control showing temperature. The second machine access to the temperature DS18B20 sensor data by one-line, senting the temperature data to the host wireless receiver module by wireless transmission module, and the host receives the temperature data, showing the current temperature value in the 1602 liquid crystal display module. In this process, not only the 1602 character LCD display module was analyzed, but also the character display on LCD was realized, meanwhile the wireless transceiver module and Temperature Sensor were discussed, At last, the temperature display based on a wireless remote control was achieved on LCD. Key word: LED, scanning principle, LCD, temperature sensor, wireless transceiver module 目 录 中文摘要 1 英文摘要 2 1 绪论 4 1.1 LED大屏幕显示的意义 4 1.2 LED大屏幕显示的发展状况 5 1.3 实现的功能及研究的内容 5 1.3.1实现的功能 5 1.3.2研究的内容 5 2 LE显示屏系统原理 5 2.1 LED显示屏的基本结构 5 2.2 LED显示屏的硬件设计 7 2.2.1 八同相三态总线收发器 7 2.2.2八位串入并出的移位寄存器 7 2.2.3 显示屏原理图 8 2.2.4 大屏幕控制原理图 9 2.3 LED大屏幕显示字符实例 10 2.3.1 实例内容 10 2.3.2 选取字模 10 2.3.3 编写程序 11 2.3.4 程序的烧写与运行 14 2.4 本章小结 13 3 1602液晶显示模块 15 3.1 1602液晶显示模块概述 15 3.1.1 字符液晶显示模块简介 15 3.1.2 1602液晶显示模块的技术参数 15 3.2 1602液晶显示模块接口说明 16 3.3 1602液晶显示模块的指令集描述 16 3.4 1602液晶显示模块显示字符实例 18 3.5 本章小结 20 4 无线控制温度显示 20 4.1 315M无线发射模块 20 4.2 315M无线接收模块 21 4.3 无线收发模块的应用 21 4.4 温度传感器DS18B20 22 4.4.1 DS18B20的新特性 22 4.4.2 高速暂存存储器 22 4.5 DS18B20的工作过程 23 4.6 无线控制温度显示实例 23 4.6.1 实例内容 23 4.6.2 硬件原理图 24 4.6.3 程序模块划分 25 4.6.4 编写程序 26 4.6.5 程序的烧写与运行 27 4.7 本章小结 28 结束语 29 谢辞 30 参考文献 31 1 绪论 1.1 LED大屏幕显示的意义 LED(Lighting Emitting Diode)即发光二极管,其基本结构是一块电致发光的半导体材料,是一种半导体固体发光器件,它具有寿命长、节能、绿色环保、高辉度、速度快、短距离照射的优点,容易与晶体管和集成电路配套使用,可以在许多领域得到应用,因而在全球市场上十分走俏。LED技术在近年来不断获得新的突破,应用范围不断拓宽,已成为新世纪极具发展潜力的电子产品之一。 LED 显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,它利用发光二极管构成的点阵模块或像素单元组成在面积显示屏幕,以可靠性高、使用寿命长、环境适应能力强、价格性能比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品。随着社会经济的不断进步,以及LED显示技术的不断完善,人们对LED显示屏的认识将会越来越深入,其应用领域将会越来越广。 LED 显示屏作为平板显示的主导产品之一无疑会有更大的发展,成为了平板显示的代表性主流产品,主要向以下几个方面发展:高亮度、全彩化;标准化、规格化;产品结构多样化。 1.2 LED大屏幕显示的发展状况 进入八十年代后,LED 在发光波长范围和性能方面大大提高,并开始形成平板显示产品即LED显示屏。LED显示屏发展经历了三个阶段: 1990年以前LED显示屏的成长形成时期。由于LED材料器件的限制,而且通讯控制方式的显示控制技术客观上影响了显示效果,这一时期的LED显示屏在国外应用较广,国内很少,产品以红、绿双基色为主,控制方式为通讯控制,灰度等级为单点4级调灰,产品的成本比较高。 1990—1995年,这一阶段是LED显示屏迅速发展的时期。进入九十年代,全球信息产业高速增长,信息技术各个领域不断突破,LED显示屏在LED材料和控制技术方面也不断出现新的成果。蓝色LED晶片研制成功,全彩色LED显示屏进入市场;电子计算机及微电子领域的技术发展,在显示屏控制技术领域出现了视频控制技术,显示屏灰度等级实现16级灰度和64级灰度调灰,显示屏的动态显示效果大大提高。 1995年以来,LED显示屏的发展进入一个总体稳步提高产业格局调整完善的时期,LED显示屏产业内部竞争加剧,形成了许多中小企业,产品价格大幅回落,应用领域更为广阔,产品在质量、标准化等方面出现了一系列新的问题,有关部门对LED显示屏的发展予以重视并进行了适当的规范和引导,目前这方面的工作正在逐步深化。 1.3 实现的功能及研究的内容 1.3.1 实现的功能 设计的显示屏具有亮度高、使用寿命长、性价比高等LED显示屏的共同特点,主要实现16*16的点阵汉字LED显示屏的显示,包括静态显示和动态显示以及基于其上的简单的开发与应用。设计出来的显示屏总体能够实现以下的四大方面的功能: (1)进行日期和时间的动态显示; (2)当前温度测量的动态显示; (3)能够与PC机通讯,用PC机控制大屏幕显示; (4)能够无线远程控制温度信息的显示。 1.3.2 研究的内容 首先必须研究LED显示屏的显示原理,LED的结构及发光原理,研究各种元件的作用及它们之间相互的联系,绘制出显示屏的扫描原理图,并且能用单片机对它进行控制,探讨LED显示器的内部芯片电路结构,以及相应与外部设备连接的接口部分,绘制出单片机控制屏幕原理图并编程实现大屏幕显示功能。 在这基础上我开始基于LED大屏幕研究无线控制温度的显示这方面的功能,在这个过程中开始先研究1602液晶显示模块的接口及指令集描述,分析屏幕显示方法,编程实现1602液晶显示模块的单字符显示;在能够方便自如地使用1602液晶显示模块基础上继续研究无线收发模块,正确地选用合适的模块;分析单线温度传感器DS18B20的工作过程,为温度的测量做好准备;最终实现从机通过DS18B20测得当前的温度,把温度数据发送给主机,主机把接收到的温度数据在 1602液晶显示模块上显示出来,通过LCD显示屏的正确显示达到模拟LED显示屏显示的效果。 2 LED显示屏系统原理 2.1 LED显示屏的基本结构 LED显示屏可分为屏体和控制器两部分。LED显示屏的屏体如图2–1所示。屏体的主要部分是显示点阵,还有行列驱动电路,或者包括其它电路(并没有严格规定,可根据需要和印刷电路板的布置而定)。显示点阵现多采用8×8单色或双色显示单元拼接而成。 \ 图2–1 LED点阵显示屏屏体 2.2 LED显示屏的硬件设计 2.2.1 八同相三态总线收发器 八同相三态总线收发器74LS245的原理图如图2–2所示: G* DIR A1 B1 A2 74LS245 B2 A3 B3 A4 B4 A5 B5 A6 B6 A7 B7 A8 B8 19 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 图2–2 74LS245的原理图 74LS245的功能表如表2–1所示(其中H表示高电平,L表示低电平): 表2–1 74LS245的功能表 使能端 DIR 传输方向 L L B→A L H A→B H X 隔开 2.2.2 八位串入并出的移位寄存器 集成电路74LS595就是一个8位串入并出的移位寄存器结构,且移位寄存器和输出锁存器的控制是各自独立的,它的外形如图2–3所示: SER O0 O1 SRCLK O2 SRCLK* O3 74LS595 O4 RCLK O5 E O6 O7 Q7 14 11 10 12 13 15 1 2 3 4 5 6 7 9 图2–3 74LS245的原理图 74LS595的功能表如表2–2所示: 表2–2 74LS595的功能表 RCLK SRCLK 功 能 X X X L QA~QH=三态 X X L X 移位寄存清除 X ↑ H X 移位寄存, ↑ X H X 移位寄存器的数据传输到锁存器 它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SER是串行数据的输入端。SRCLK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SER的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCLK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出寄存器。引脚E是输出三态门的开放信号,只要当其为低时锁存器的输出才开放,否则为高阻状态。SRCLR*信号是移位寄存器的清零输入端,当其为低位移位寄存器的输出全部为零。由于SRCLK和RCLK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为Q0~Q7,最高位Q7可作为多片74LS595级联应用时,向上一级的级联输出。但因Q7受输出锁存器打入控制,所以还从输出锁存器前引出了Q7’,作为与移位寄存器完全同步的级联输出。 2.2.3 显示屏原理图 我们把整个大屏幕划分成四大块,四大块屏幕以串联的方式连接在一起,每一块有16个点阵模块,按2×8块的方式组成。 根据对74LS245、74LS595、74LS138译码器等元件结构和功能的分析和研究,结合大屏幕的显示原理以及显示驱动电路,对这些元件的连接进行了设想并且通过万用表进行了连接尝试得出了下面的连接方案: (1)八片74LS595移位寄存器是级联在一起的,一片595的Q7’端口接下一片595的SER端口,第一片595的SER端接收送入的数据信号,串行数据清除信号SRCLR全部都接VCC; (2)74LS245的使能端把传输方向控制为数据从端口A传送到段口B,输入端口A的8位信号由屏幕控制电路送入,输出端口B中的B1端口把送入的数据信号送入第一片595的SER,B3、B4端口依次把串行数据移位信号、输出锁存信号送入级联的74LS595的SRCLK、RCLK端口,B5端口与上半行的74LS138的G1端口相连并且与下半行的74LS138的端口相连,用来进行上下两半行的选择,B6、B7、B8端口与两个74LS138的A、B、C端口相连; (3)上半行的74LS138的和都接地,下半行的74LS138的G1接VCC,接地,~端口用来对点阵模块的8行进行选择。 根据以上方案利用Protel99 SE绘制出1/4显示屏的原理图,如图2–4所示: 图2–4 1/4显示屏原理图 2.2.4 大屏幕控制原理图 通过对屏幕功能以及对送入74LS245信号进行分析,单片机AT89S52的P2.6端口接LED屏幕的DATA端即74LS245的A1端口,P2.4、P2.5端口接LED屏幕的RCK、SCK即74LS245的A3、A4端口,P2.0~P2.3端口接LED屏幕的L0~L3即74LS245的A8~A5端口。 根据以上分析利用Protel99 SE绘制出大屏幕控制原理图,如图2–5所示: 图2–5 大屏幕控制原理图 2.3 LED大屏幕显示字符实例 2.3.1 实例内容 本实例主要用来测试LED大屏幕的显示,检验显示屏扫描原理以及大屏幕控制原理的正确性,主要实现的功能为:第一行显示“这是我的毕业设计”。 2.3.2 选取字模 屏幕显示的字符可用点阵取模软件取得相应的字模码,以字符“这”为例来说明,字模提取窗口显示如图2–6所示: 图2–6 取模软件界图 所以“这”的字模码为: DB 0FFH,07FH,0BFH,09FH,0CFH,0BFH,0E8H,003H,0FFH,0EFH,0FDH,0EFH,00EH, 0DFH,0EFH,05FH DB 0EFH,0BFH,0EFH,0BFH,0EFH,05FH,0EEH,0EFH,0EDH,0F7H,0D7H,0FFH,0B8H, 001H,07FH,0FFH 其它字符的取模方法类似,这里就不作说明了。 2.3.3 编写程序 安装编程软件伟福6000W,在其环境下编写程序并且编译通过。 ;------------------------------------------- ;寄存器定义记录 ;R4:行总数16行 ;R0:码内指针 ;R1:计数16字 ;R2:计数8,为一个字节 ;R5,R6:用于DELAY ;------------------------------------------- ;===================引脚定义================= L0 BIT P2.0 ;行扫描信号输入端 L1 BIT P2.1 ;行扫描信号输入端 L2 BIT P2.2 ;行扫描信号输入端 L3 BIT P2.3 LED_DATA BIT P2.6 ;列数据输入端 RCK BIT P2.4 ;595输出锁存器打入信号,上升沿打入 SCK BIT P2.5 ;595移位寄存器的移位时钟脉冲 ;=================程序开始=================== ORG 00H START: MOV SPH,#60H ;堆栈初始化 CALL DIS JMP START ;================显示子程序================== DIS: MOV AH,#00H ;存入行扫描初值 MOV R0H,#00H ;码内指针暂存地址R0初值为00H MOV R4H,#16 ;16行 MOV DPTRH,#TABLE ;数据指针指到TABLE HANG: PUSH ACC ;A压入堆栈,扫描16行的累加器 PUSH DPL PUSH DPH SETB P1.1 RRC A ;A的最低位移入C中 MOV L0H,C ;送入L0,L1,L2,L3中 RRC A MOV L1H,C RRC A MOV L2H,C RRC A MOV L3H,C CALL READ ;取码,送入列数据 POP DPH POP DPL MOV AH,#2 ;扫描下一行时字模DPTR+2 ADD AH,DPL MOV DPLH,A JNC N_DPH1 ;无进位位时不用加入DPH CLR A ADDC AH,DPH MOV DPHH,A N_DPH1: POP ACC INC A ;扫描下一行 DJNZ R4H,HANG ;循环扫描16行 RET ;================取码子程序================ READ: MOV R1H,#16 ;16字节 LOOP2: MOV AH,R0 ;码内指针装入A MOVC AH,@A+DPTR MOV R2H,#8 ;一个数据码八位分别取入送往SER LOOP1: RLC A CLR SCK MOV LED_DATAH,C SETB SCK ;595移位寄存器的移位时钟脉冲 DJNZ R2H,LOOP1 ;循环八次 INC R0 ;码内指针加1 CJNE R0H,#2H,LOOP2 ;循环2次 CLR C MOV AH,#32 ;指向下一个字,DPTR+32 ADD AH,DPL MOV DPLH,A JNC N_DPH ;无进位位时不用加入DPH CLR A ADDC AH,DPH MOV DPHH,A N_DPH: CLR A MOV R0H,A ;R0清零 DJNZ R1H,LOOP2 ;循环16次 CLR P1.1 SETB RCK ;595输出锁存器打入信号 CALL DELAY CLR RCK RET DELAY: MOV R5H,#2 ;延时子程序,控制显示的亮度及闪烁 D1: MOV R6H,#180 DJNZ R6H,$ DJNZ R5H,D1 RET ;--------------------------------字模------------------------------------ TABLE: … ;选取的字模码省略 2.3.4 程序的烧写与运行 使用烧写软件Easy 51Pro v2.0把编好的程序通过编程器写入单片机。 烧写软件配合编程器的使用中要注意几点问题:要在串行口连接好以后在接通USB接口,单片机放入编程器插槽之后才能接通USB接口;程序烧写好之后要先拔掉USB接口线再拿出单片机,不然单片机容易被烧掉;如果软件界面显示初始化串口通讯失败,则需要重新接通USB接口,这是USB接口接触不良引起的问题。 最后把烧写好程序的单片机AT89S52插入屏幕控制电路板的插槽中,接通电源并打开开关,程序运行后大屏幕显示出正确的图案,显示的结果为:这是我的毕业设计。 2.4 本章小结 本章首先说明了LED显示屏的基本结构以及其基本的显示图案的显示原理,然后研究了八同相三态总线收发器74LS245、八位串入并出的移位寄存器74LS595、3-8译码器74LS138等元件的原理结构和功能表,接下来对显示驱动电路进行了详细系统的分析,再是通过设想以及万用表的测试得出屏幕扫描原理的设计方案利用软件Protel99 SE绘制出屏幕扫描原理图和控制原理图,最后就是要在屏幕上显示字符了。 74LS595的级联作为列驱动器,74LS138的选择作为行驱动器,在设计过程中也遇到了一系列的问题: 行扫描混乱,主要问题是单片机的P2.0~P2.3端口与LED屏幕的L0~L3口连接的顺序不对,通过万用表的测试后发现单片机AT89S52的P2.0~P2.3端口对应了74LS245的A5~A8端口,这样信号传输到74LS138后对应3-8译码器的功能表来行选顺序出现了倒置,这样就导致了行选的混乱,经过修改后P2.0~P2.3端口对应了74LS245的A8~A5端口,行扫描正常了。 在屏幕显示字符的实例测试中出现无论送入什么字模码屏幕均显示一条直线或显示混乱,显示不出正确的字符的问题,解决办法是调整码内指针,并且在指向下一个字的字模时将DPTR+32。正常显示出所要显示的字符后又发现屏幕显示的亮度不够或者亮度高了就发现闪烁的问题,解决方法是加入延时子程序调整延时的时间,找到最合适的延时时间,使屏幕既能相对较亮又能消除屏闪。 烧写程序中的问题前面已经提到过,最主要就是要先拔掉编程器的USB接口再把单片机拿出来,防止单片机被烧掉。 屏幕显示字符成功后整个大屏幕的设计也就结束了,接下来就是在这基础上的应用过程了,我主要研究运用315M无线收发模块进行无线温度的控制显示,必须利用1602液晶显示模块来模拟LED大屏幕的显示过程,这就要求首先要对1602液晶显示模块有较深的了解以及能够合理熟练地对其进行运用。 3 1602液晶显示模块 3.1 1602液晶显示模块概述 3.1.1 字符型液晶显示模块简介 字符型液晶显示模块是一类专门用于显示字母,数字,符号等的点阵型液晶显示模块。字符型液晶显示模块是在一块双面印刷线路板上,它的一面用导电橡胶将电路与液晶显示器件连接,另一面装配所需要的驱动器和控制器以及驱动器所需的分压电路。本论文所使用的字符型液晶模块是一种用5×7或5×10点阵图形来显示字符的1602液晶显示模块,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等。 3.1.2 1602液晶显示模块的技术参数 (1) 逻辑工作电压(VDD):+4.5~+5.5V (2) LCD驱动电压(VDD-VL):+4.5~+13.0V (3) 工作温度(Ta):0~60℃(常温)/-20~75℃(宽温) (4) 工作电流:<2.0mA (5) 屏幕视域尺寸:62.5×16.1mm 3.2 1602液晶显示模块接口说明 1602液晶显示模块采用标准的16脚接口,其实物图的正反两面如图3–1所示: 图3-1 1602液晶模块实物图 其中各个引脚的功能如下: 第1脚:VSS为地电源,接GND。 第2脚:VDD接5V正电源。 第3脚:V0为液晶显示器对比度调整端。 第4脚:RS为寄存器选择。高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线。高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平而RW为高电平时可以读忙信号,当RS为高电平而RW为低电平时可以写入数据。 第6脚:E端为使能端。当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15脚:BL1背光电源正极(+5V)输入引脚。 第16脚:BL2背光电源负极,接GND。 3.3 1602液晶显示模块的指令集描述 1602液晶显示模块内部的控制器共有11条控制指令,1602液晶显示模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的,这11条指令的功能如下: (1) 清显示 指令码01H,光标复位到地址00H位置 (2) 光标复位 光标返回到地址00H (3) 光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移,高电平有效,低电平则无效 (4) 显示开关控制 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁光标或显示移位 S/C:光标、字符移动,高电平时移动显示的字符,低电平时移动光标 R/L:移动方向,高电平右移,低电平左移 (5) 功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:高电平时双行显示,低电平时为单行显示 F:高电平时显示5×10的点阵字符,低电平时显示5×7的点阵字符 (6) 字符发生存储器CGRAM地址设置 如表3–1所示: 表3–1 CGRAM地址设置 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 1 A5 A4 A3 A2 A1 A0 (7) 显示数据存储器DDRAM地址设置 如表3–2所示: 表3–2 DDRAM地址设置 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 A6 A5 A4 A3 A2 A1 A0 N=0,一行显示,A6~A0=00H~0FH N=1,两行显示,首行A6~A0=00H~0FH;次行A6~A0=40H~4FH (8) 读忙标志和光标地址 如表3–3所示: 表3–3 忙标志和光标地址 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 BF:忙标志位,高电平表示忙,此时模块不能接收命令或者数据;低电平表示准备好 AC:值为最近一次地址设置(CGRAM或DDRAM) (9) 写数据 根据最近设置的地址性质,数据写入CGRAM或DDRAM内 3.4 1602液晶显示模块显示字符实例 我们研究1602液晶显示模块显示字符是使用1602液晶显示模块与AT89S52单片机直接接口的,简易接口原理图如图3–2所示: 图3–2 1602与单片机接口原理图 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是要告诉模块在哪里显示字符,表3–4是1602液晶显示模块的内部显示地址: 表3–4 1602液晶内部显示地址 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 第一行 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 第二行 写入字符时光标定位是很重要的,比如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样是不可以的,因为根据指令集描述,写入显示地址时要求最高位D7恒定为高电平,所以实际写入的字符地址应该是40H+80H=C0H。 下面通过编写两个小程序来测试LCD液晶显示模块正确显示字符和字符串的功能: LCD显示模块显示一个字符 在LCD液晶显示模块第二行第四个字符位置显示字母B: ;------------端口定义--------------- RS EQU P2.4 RW EQU P2.6 E EQU P2.7 ;--------------------------------------- ORG 0000H AJMP START ORG 0033H START: MOV SP,#60H MAIN: LCALL DELAY ;判断液晶忙状态? ACALL ENABLE MOV P0,#01H ;清屏 ACALL ENABLE MOV P0,#38H ;LCD16×2显示,5×7点阵,8位数据接口 ACALL ENABLE MOV P0,#0FH ;写指令0FH,显示ON,光标ON,闪烁ON ACALL ENABLE MOV P0,#06H ;写指令06H,文字不动,光标自动右移 ACALL ENABLE MOV P0,#0C3H ;第二行第四个字符位置 ACALL ENABLE MOV P0,#42H ;字母B的代码 SETB RS CLR RW CLR E ACALL DELAY SETB E AJMP $ ;-----------写入控制命令子程序----------- ENABLE: CLR RS CLR RW CLR E ACALL DELAY SETB E RET ;--------------------------------------------------- ;-----判断液晶显示器是否忙的子程序---- DELAY: MOV P0,#0FFH CLR RS SETB RW CLR E NOP SETB E JB P0.7,DELAY ;如果为高电平表示忙则等待 RET ;---------------------------------------------------- END 程序写好后编译通过,运用下载程序软件通过下载线把程序写入与LCD液晶显示屏相连的主机模块的单片机AT89S52中。 3.5 本章小结 本章首先说明1602液晶显示模块的标准16脚接口的功能,接着详细地分析1602液晶显示模块的指令集描述,通过指令编程实现1602液晶显示模块的读写操作、屏幕和光标的操作,最后就是在LCD屏上显示字符或字符串了。 在1602液晶显示模块的使用过程中遇到了很多的问题: 写入字符时要注意光标定位问题,前面已经讲到如果第二行第一个字符的地址是40H,直接写入40H并不是将光标定位在第二行第一个字符的位置,因为根据指令集描述,写入显示地址时要求最高位D7恒定为高电平,所以实际写入的字符地址应该是40H+80H=C0H。 在用下载程序软件写程序时要注意将“通讯参数设置及器件选择”选项设为LPT1,TURBO,AT89S52,将“校验芯片ID码”选项去掉。 在1602液晶显示屏多字符显示时出现第一行显示的字符与第二行显示的字符连接在一起,造成本该在第二行显示的字符重复显示在第一行中,造成这个问题的原因是一行字符结束后没有判定结束的标识,程序默认将两行字符联系在一起了,解决办法是在
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 管理财经 > 管理学资料

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服