您好,欢迎访问三七文档
实验五:EDA技术设计性实验-LCD菜单字符显示一、实验目的为了有效加深对数字系统的分析和设计方法,熟练用EDA工具完成对数字系统的设计及仿真过程;安排本“设计性实验”。本实验自行拟定实验电路、实验步骤并进行独立实验主,学会系统设计、调试、仿真及故障诊断、排除方法。二、实验题目题目:流动字符显示电路设计要求:(1)利用实验箱中的LCD2004字符型液晶,与MC8051IP软核,编写两页以上LCD菜单。(2)键盘分配为,功能键1位,增加键1位,确认键1位。LCD菜单字符显示电路系统原理框图如图2-1所示。图2-1MC8051IP核原理图及单片机I/O口设置成双向口的电路如下:图2-2和2-3图2-2单片机I/O口设置成双向口的电路锁相环MC8051IP核LCD2004字符型液晶键盘系统时钟图2-3MC8051IP核原理图三、实验设备及器材:GW48EDA/SOPC+PK2实验系统。四、实验内容:1、流程图:是否有功能键按下?初始化液晶显示器并设置其为显示的第一页开始NY2、程序://lcd.c#includereg51.h#includeintrins.h#defineucharunsignedchar#defineuintunsignedintsbitLCD_RS=P0^0;sbitLCD_RW=P0^1;sbitLCD_EP=P0^2;sbitKEY_SET=P1^3;sbitKEY_UP=P1^4;sbitKEY_ENTER=P1^5;ucharm=0;a,b,out;//全局变量//全局变量ucharflag=0;ucharset=0;//功能键值ucharcodedis1[]={WelcometoLaborator};ucharcodedis2[]={y!EDACourse};ucharcodedis3[]={LiLiZhuanCaiChunHua};ucharcodedis4[]={LastPage!!};显示第二页字符。并判断增加键的情况是否有功能键按下?显示第二页字符。并判断增加键的情况YN//*********************************************************************//delay()//********************************************************************voiddelay(uintz){uintx,y;for(x=z;x0;x--)for(y=110;y0;y--);//当z=1时,延时1ms.}//*********************************************************************//测试忙检测//********************************************************************bitlcd_bz(){bitresult;LCD_RS=0;LCD_RW=1;LCD_EP=1;delay(1);result=(bit)(P2&0X80);LCD_EP=0;returnresult;}//*********************************************************************//写入指令到LCD中//*********************************************************************voidlcd_wcmd(ucharcmd){while(lcd_bz());LCD_RS=0;LCD_RW=0;LCD_EP=0;_nop_();_nop_();P2=cmd;_nop_();_nop_();_nop_();_nop_();LCD_EP=1;_nop_();_nop_();_nop_();_nop_();LCD_EP=0;return;}//*********************************************************************////初始化//********************************************************************voidlcd_init(){lcd_wcmd(0x38);//功能设置,8位2行5x7点阵delay(12);lcd_wcmd(0x0c);//显示开/关控制delay(12);lcd_wcmd(0x06);//设置输入模式delay(12);lcd_wcmd(0x01);//清屏delay(12);return;}//*********************************************************************//写入字符显示数据到LCD中去//***************************************************************voidlcd_wdat(uchardat){while(lcd_bz());LCD_RS=1;LCD_RW=0;LCD_EP=0;P2=dat;_nop_();_nop_();_nop_();_nop_();LCD_EP=1;_nop_();_nop_();_nop_();_nop_();LCD_EP=0;return;}//*******************************************************//设置显示位置//*******************************************************voidlcd_pos(ucharPOS){lcd_wcmd(POS|0x80);return;}//*******************************************************//设置服务子函数//*******************************************************voidset_value(){if(KEY_SET==0){delay(10);if(KEY_SET==0)set++;flag=1;//功能键值递增if(set=3)set=0;//键值的范围0~4again:if(KEY_SET==0)gotoagain;//若按键未释放,则等待}}//*******************************************************//调整值函数//*******************************************************voidadd_value(){if(KEY_UP==0){delay(10);if(KEY_UP==0)m++;//键值递增if(m=10)m=0;//键值的范围0~9a1:if(KEY_UP==0)gotoa1;//若按键未释放,则等待}lcd_pos(0x1e);lcd_wdat(0x30+m);if(KEY_ENTER==1){out=0;}elseout=1;a2:if(KEY_ENTER==1)a2;}//第一页函数voiddisply_1(){uinti;if(flag==1){lcd_wcmd(0x01);flag=0;}//清屏delay(12);lcd_pos(0);i=0;while(dis1[i]!='\0'){lcd_wdat(dis1[i]);i++;}lcd_pos(0x40);i=0;while(dis2[i]!='\0'){lcd_wdat(dis2[i]);i++;}}//第二页函数voiddisply_2(){uinti;if(flag==1){lcd_wcmd(0x01);flag=0;}//清屏delay(12);lcd_pos(0x40);i=0;while(dis3[i]!='\0'){lcd_wdat(dis3[i]);i++;}add_value();a=m;}//第三页函数voiddisply_3(){uinti;if(flag==1){lcd_wcmd(0x01);flag=0;}//清屏delay(12);lcd_pos(0x40);i=0;while(dis4[i]!='\0'){lcd_wdat(dis4[i]);i++;}add_value();b=m;}//**************************************//主函数//**************************************voidmain(){lcd_init();delay(120);P0=0xFF;//置P0口P2=0xFF;//置P2口lcd_wcmd(0x01);//清屏disply_1();while(1){set_value();switch(set)//根据Set标志散转{case0:disply_1();break;//第一页case1:m=a;disply_2();break;//第二页case2:m=b;disply_3();break;//第三页default:break;}}}五、实验结果:实验实现了LCD液晶能显示出欢迎界面的字符,按功能键1位,可实现三页的菜单显示同时实现增加键增加值得显示。六、心得体会:过此次的实验设计使我更加深刻的认识EDA电子电路设计的各个模块。熟悉了IP核的结果及其功能作用,也学会FPGA引脚锁定的灵活性。的在实验过程中,遇到好多问题,通过老师的帮助,一步一步的改好程序,改善程序,最终实现了所有的实验要求。
本文标题:LCD实验报告4
链接地址:https://www.777doc.com/doc-6139824 .html