



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于DSP的液晶菜单的软硬件设计摘要:采用TI公司的TMS320LF2407和金鹏公司OCMJ2*8A液晶模块对人机接口进行设计。首先介绍了硬件连接设计方案,主要是介绍了DSP和液晶模块的通信,接着介绍了DSP与单片机AT89C2051的连接。最后介绍了用C语言编程对人机接口软件实现,重点介绍了液晶显示菜单的编码及其显示程序。关键词:DSP 液晶菜单 编码 软件实现The software and hardware design of the LCD menu based on DSPAbstract: This paper focuses on the design of human-computer interface based on the TMS320LF2407 of TI and OCMJ2 * 8A LCD of Jinpeng Company. At first, the paper describes the hardware design including communication between DSP and LCD module, and then presents the connection between DSP and AT89C2051. Finally, the software of human-computer interface is achieved by C language programming, meanwhile it describes the menu of LCD display and its coding procedures in detail.Key words: DSP LCD menu programming software implementation1 引言近年来,随着数字处理技术的发展,DSP(数字信号处理器)以其高速的处理能力、丰富的内部资源、不断提升的性价比等优点而被广泛应用于高速数据采集、语音处理、图像处理、工业控制和仪器仪表等领域。在以DSP为核心的控制系统中,显示模块的设计是一个必不可少的环节。而LCD液晶显示器以其低电压、微功耗、寿命长、体积小,使用方便、稳定可靠、控制驱动方便、模块化结构紧凑等优点,被广泛应用到仪器仪表的人机界面设计之中,成为显示和人机对话的重要工具。因此,本文给出了TMS320LF2407与OCMJ2*8ALCD模块硬件接口和软件设计的一种实现方法。2硬件设计2.1 DSP与液晶显示模块的连接 图1 DSP与液晶显示模块的连接Figure 1 the connection of DSP and LCD module在OCMJ28A的显示器里面,制造商已经装配好了液晶显示驱动和分压电路,并提供了驱动电路接口,使得液晶显示模块和微处理器的接口十分方便。该液晶模块共有18条信号线,现对其具体功能做如下描述:l LED-与LED+分别为背光源负极(LED-0V)、正极(LED+5V)。l REQ为请求信号,高电平有效。l BUSY为应答信号:当高电平时,表明已收到数据并正在处理中;低电平时,表明模块空闲,可接受数据。l DB0DB7为数据线。l RES为复位信号,低电平有效。l RT1和RT2为LCD灰度调整,外接电阻值。本系统选择CPLD来完成DSP和LCD模块的接口功能。像A/D芯片AD4863一样,液晶芯片OCMJ2X8A也被映射在外部I/O空间,A2、A3、A4经CPLD译码后得到液晶芯片的地址为0x0004H。当执行一条访问外部IO空间0x0004H的指令时,IS变为低电平,同时A2A3A4为001b,CPLD将产生REQ请求信号的波形,同时CPLD将DSP的READY引脚拉低并保持一段的时间,以保证数据线的准确。当液晶模块完成处理后BUSY信号变为低电平,通知DSP可以进行访问。 图2 DSP与单片机的连接Figure 2 the connection of DSP and SCM2.2 DSP与单片机的连接单片机AT89C2051共有20条信号线。其中的15 条是双向的I / O线, 5V的电压线,接地线、复位线还有两条晶振线。由于DSP的供电电压为3.3V,所以不能与AT89C2051直接连接,因此使用了电压转化器件ALVC164245,可以将DSP的电压3.3V转换成 5V然后再与单片机连接。在此连接中,单片机AT89C2051中P1.7,P3.4,P1.0,P3.7分别连接一个S55的磁敏开关,操作人员通过对这四个按键的操作,在AT89C2051中作为输出的P1.1,P1.2,P1.3,P1.4四个引脚,通过ALVC164245电压转变后,分别连接到DSP中的SPISIMO/IOPC2 SPISIMI/IOPC3、SPICLK/IOPC4、四个引脚,然后DSP通过查询四个引脚的状态,做出相应处理,将结果显示在液晶显示器上。3液晶模块的菜单显示OCMJ2*8A LCD模块不仅能对文字、数字、字母等信息进行直接显示,而且能对执行器等终端设备进行监测与故障诊断。为了使菜单的设置更加人性化,菜单显示应尽量与普通微机上的菜单结构保持一致,图3是本文设计的菜单整体结构。本文所研究的液晶显示器对菜单的显示是在按键的配合下实现的。为了节省面板上的空间,减少操作步骤,设置了四个按键,分别是“万能键”、“确定键”、“上翻键”、“下翻键”,通过这几个按键操作,可以依次对各级菜单加以显示。3.1按键的功能描述:(1)“上翻键”和“下翻键”:按下上、下键可以使菜单在本级菜单中循环切换。(2)“确定键”:除了遇到“返回”这一操作界面,此键按下可以使菜单返回上一级,其他情况如果按下“确定键”可以进入下一级菜单,继续按下,直到菜单的最后一级,可以将最后的结果保存,并返回到上一操作界面。(3)“万能键”:此键的功能是在任何情况按下后,都可以终止当前的操作,迅速复位,回到开机时的初始界面,重新设定菜单。3.2菜单显示实现思想从图2可以看到,本菜单最多四级,每级菜单都有各自的编码,该编码是用十六进制码编排。通过设置三个变量MenuLevel、MenuSub4、MenuSelect分别表示菜单级数、每级菜单、要显示的菜单编码。程序初始化时MenuLevel=1, MenuSub4= 0,0,0,0,MenuSelect=0;“确定键”改变菜单编码(MenuSelect=MenuSub1+(MenuSub24)+(MenuSub38)+(MenuSub4MenuMax) MenuSubMenuLevel=1; break;case 0x02:MenuSubMenuLevel-;if(MenuSubMenuLevel1) MenuSubMenuLevel=MenuMax;break;case 0x03: if(MenuBack=1)&(MenuSubMenuLevel=MenuMax)|(blink!=0) MenuSubMenuLevel=0; MenuLevel-;MenuBack=0;blink=0;N_blink=0;disp_bit(0xf4);MenuSelect=MenuSub1+(MenuSub23)+(MenuSub37)+(MenuSub411)+(MenuSub515)MenuFunc();4.3显示函数的实现void MenuFunc()switch(MenuSelect) case 0x0001: LCD_Print_HZ(0,0,设置与维护);LCD_Print_Str(10,0,:);Menumima=1; LCD_Print_HZ(0,1,基本设置);MenuMaxInia=7;break; case 0x0002: LCD_Print_HZ(0,0,设置与维护);LCD_Print_Str(10,0,:);LCD_Print_HZ(0,1,高级设置);MenuMaxInia=6;break; .case 0x0089: MenuMaxInia=7; LCD_Print_HZ(0,0,转向确认);LCD_Print_Str(8,0,:);if(DIREC=1) LCD_Print_HZ(0,1,逆时针为关);else LCD_Print_HZ(0,1,顺时针为关); blink=1;MenuBack=1;break; case 0x0109: BlinkFun(转向确认,逆时针为关,1,1,8); MenuMaxInia=7; break; case 0x0189: BlinkFun(转向确认,顺时针为关,1,0,8); MenuMaxInia=7; break;case 0x0022:LCD_Print_HZ(0,0,高级设置);LCD_Print_Str(8,0,:); LCD_Print_HZ(0,1,灵敏度); LCD_Print_Str(6,16,:);LCD_Print_Str(8,16,.); LCD_Print_Str(10,16,%); if(deadarea=40) LCD_Print_Num(7,16,1,H); LCD_Print_Num(9,16,0,H); else LCD_Print_Num(7,16,3,H); LCD_Print_Num(9,16,0,H);blink=0;MenuMaxInia=6; break;case 0x00A2:BlinkFun5(1,0,25,40);MenuMaxInia=6; break;case 0x02A2: BlinkFun5(3,0,25,120);MenuMaxInia=6; break; 在MenuFunc中用到三个函数分别是LCD_Print_HZ,LCD_Print_Str,LCD_Print_Num分别是对汉字,字母和数字进行显示的子函数,它们是根据液晶显示模块的字库,利用C语言编程实现。BlinkFun和BlinkFun5是编写的闪烁子函数,告知操作人员此菜单项是可以选择的,当操作人员选定后,闪烁消失,并将结果保存。5 结束语本文所研究的图形点阵液晶显示模块OCMJ2*8A的编程方法和菜单显示方法已经成功应用在基于变频控制技术的智能电动执行器中。硬件接口采用DSP间接控制方式和单片机对按键的直接处理,不仅能实现数字的显示,还能对执行器进行监测和诊断。本菜单仅仅使用四个操作键就可以简单方便的完成所有菜单显示,与现有的工业设备上使用的菜单相比,不仅具有操作方便的优点,还能防止操作人员误操作。因此,本文介绍的菜单软硬件设计对工业设备具有很好的实用价值。并且已经成功的应用在作者参与开发的工业设备中,获得了很好的实用价值和使用评价。 参考文献:1 张雄伟,曹铁勇.DSP芯片的原理与开发应用M.北京:电子工业出版社,20012 张毅刚,赵光权,孙
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版智能电网技术研发技术保密协议正本-电力行业保密协议
- 2025年度电梯维保及智能化改造项目合同
- 2025年车辆挂靠及运输服务合同模板
- 2025版国际会议中心租赁服务合同
- 2025二手农用三轮车买卖与农事配套服务合同
- 2025年度房地产营销策划服务合同范本
- 2025年软件开发使用权授权合同样本
- 2025年度人防工程防护设备安装与验收合同
- 2025版食品安全宣传资料保密制作合同
- 2025年建筑施工安全防护措施合同范本
- 无线充电技术在汽车上的应用
- 马工程《刑法学(下册)》教学课件 第17章 危害国家安全罪
- 11科室临床路径、单病种管理目录
- 《廉洁从业》企业文化培训课件
- 综合性文稿写作名师优质课赛课一等奖市公开课获奖课件
- 《生物多样性公约》及国际组织课件
- 种子全程质量管理制度
- 滴定管使用课件
- 单片机应用技术项目教程C语言版ppt课件(完整版)
- 公司金融课件(完整版)
- 14S501-1 球墨铸铁单层井盖及踏步施工
评论
0/150
提交评论