欢迎来到天天文库
浏览记录
ID:48509454
大小:1.19 MB
页数:60页
时间:2020-02-06
《FPGA实验三_ 液晶屏的显示设计说明.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、......专业:__电子信息工程__姓名:_____陈华杰_____学号:______日期:___4月4日___地点:应电楼303桌号2组实验报告课程名称:_____FPGA实验______指导老师:__竺红卫/陈宏__成绩:__________________实验名称:____液晶屏的显示设计______实验类型:_FPGA实验_同组学生姓名:__一、实验目的1.熟悉实验板上液晶屏的工作原理;2.熟悉驱动电路的源代码。二、实验装置1.电脑一台;2.实验板一块;3.实验板电源一只;4.实验板连接电脑的下载线一根。三、实验原理实验板显著的
2、特征是2线16字符液晶显示器LCD。尽管LCD支持8位的数据接口,为了与其它的XILINX的开发板保持兼容并且尽可能减少针脚数,FPGA仅通过4位的数据接口线控制LCD,LCD通过使用ASCII标准和自定义字符可以有效地显示多种信息。但是,这些显示速度并不是很快。每半秒扫描一次以测试实际清晰度的界限。与50MHz时钟频率相比,这样的显示速度是慢的。PicoBlaze处理器可以有效地控制显示时间和显示内容。.专业专注.......字符LCD的供电电压是+5V。FPGA的I/O口信号的电压是3.3V。但是,FPGA的输出电平是通过LCD来识别
3、是有效的低电平还是高电平。LCD控制器接收5VTTL信号电平,FPGA输出3.3V的LCMOS以满足5VTTL电压要求。数据线上的390欧串联电阻,当LCD驱动一个逻辑高电平时,其用来防止了FPGA和SrtataFlsahI/O管脚的超负载。当LCD_RW为高时,LCD驱动数据线。在绝大多数应用中,LCD作为只读外围设备,几乎没有从显示器读数据。四、操作方法和实验步骤对于程序的各个步骤,如新建项目、新建VerilogHDL、新建.ucf文件、Synthesize、ImplementDesign、GenerateProgrammingFil
4、e、ConfigureTargetDevice等等,在实验一中已经展示过,每一次实验的基本操作步骤都是差不多的,故这里不再重复阐述。本次实验总共需要做三份程序并观察现象:1)例程.专业专注.......2)设计按键拨动时显示小时、分钟和秒,中间分别空一格。3)按键拨动开始显示,10秒钟显示结束,结束时LCD上显示ABCDEF,同时八只LED灯亮。五、实验源代码和现象1)例程UCF文件如下:NET"CLK_50MHZ"LOC="C9";NET"LCD_D<0>"LOC="R15";NET"LCD_D<1>"LOC="R16";NET"LCD
5、_D<2>"LOC="P17";NET"LCD_D<3>"LOC="M15";NET"LCD_E"LOC="M18";NET"LCD_RS"LOC="L18";NET"LCD_RW"LOC="L17";源代码如下:modulelcd_write_number_test(inputCLK_50MHZ,outputLCD_E,outputLCD_RS,outputLCD_RW,output[3:0]LCD_D.专业专注.......);wireif_ready;regif_write;reg[31:0]if_data;reg[1:0]stat
6、e;reg[31:0]cntr;parameterIDLE=2'b00,IF_WRITE_1=2'b01,SET_IF_WRITE_0=2'b10,WAIT=2'b11;//InstantiatetheUnitUnderTest(UUT)lcd_write_numberuut(.CLK_50MHZ(CLK_50MHZ),.LCD_E(LCD_E),.LCD_RS(LCD_RS),.LCD_RW(LCD_RW),.LCD_D(LCD_D),.if_data(if_data),.if_write(if_write),.if_ready(if_
7、ready));.专业专注.......initialbeginif_data<=32'habba0123;state<=IDLE;if_write<=1'b0;cntr<=32'b0;endalways@(posedgeCLK_50MHZ)begincase(state)IDLE:if(if_ready)beginif_data<=if_data+1'b1;if_write<=1'b1;state<=IF_WRITE_1;cntr<=32'b0;endIF_WRITE_1://thisstatetokeepif_writeupfor2c
8、yclesstate<=SET_IF_WRITE_0;SET_IF_WRITE_0://setif_write0andstartthecounterbeginif_write<=1'b0;st
此文档下载收益归作者所有