欢迎来到天天文库
浏览记录
ID:6642457
大小:81.50 KB
页数:19页
时间:2018-01-21
《液晶点阵显示屏程序设计课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JIANGSUUNIVERSITYSOC单片机原理与应用课程设计报告学院名称:计算机科学与通信工程学院专业班级:计算机0802一、设计题目:液晶点阵显示屏程序设计二、设计要求:1)从下到上滚动显示:“江苏大学计算机学院”然后交替显示:“单片机课程设计”“液晶点阵显示屏程序设计”“作者姓名、班级、学号”2)能进行正常的模拟量采样值显示(温度、压力、电位)。3)改变字库的内容,显示其它汉字。4)改变页地址或列地址,使显示的内容改变位置。5)其它功能不限,可自由发挥(左、右移,上下卷、显示图片等)。三、液晶显示器指令描述1、显示开
2、/关设置CODE:R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0LLLLHHHHHH/L功能:设置屏幕显示开/关。DB0=H,开显示;DB0=L,关显示。不影响显示RAM(DDRAM)中的内容。2、设置显示起始行CODE:R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0LLHH行地址(0~63)功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于
3、显示行扫描同步,当扫描完一行后自动加一。3、设置页地址CODE:R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0LLHLHHH页地址(0~7)功能:执行本指令后,下面的读写操作将在指定页内,直到重新设置。页地址就是DDRAM的行地址,页地址存储在X地址计数器中,A2-A0可表示8页,读写数据对页地址没有影响,除本指令可改变页地址外,复位信号(RST)可把页地址计数器内容清零。DDRAM地址映像表Y地址012………………………616263DB0∫PAGE0DB7X=0DB0∫PAGE1DB7X=1∷∷∷∷DB0∫
4、PAGE6DB7X=7DB0∫PAGE7DB7X=84、设置列地址CODE:R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0LLLH列地址(0~63)功能:DDRAM的列地址存储在Y地址计数器中,读写数据对列地址有影响,在对DDRAM进行读写操作后,Y地址自动加一。5、状态检测CODE:R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0HLBFLON/OFFRSTLLLL功能:读忙信号标志位(BF)、复位标志位(RST)以及显示状态位(ON/OFF)。BF=H:内部正在执行操作;BF=L:空闲状态。
5、RST=H:正处于复位初始化状态;RST=L:正常状态。ON/OFF=H:表示显示关闭;ON/OFF=L:表示显示开。6、写显示数据CODE:R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0LHD7D6D5D4D3D2D1D0功能:写数据到DDRAM,DDRAM是存储图形显示数据的,写指令执行后Y地址计数器自动加1。D7-D0位数据为1表示显示,数据为0表示不显示。写数据到DDRAM前,要先执行“设置页地址”及“设置列地址”命令。7、读显示数据CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
6、HHD7D6D5D4D3D2D1D0功能:从DDRAM读数据,读指令执行后Y地址计数器自动加1。从DDRAM读数据前要先执行“设置页地址”及“设置列地址”命令。四、设计过程液晶显示器分为左右两半面,所以判断LCD控制芯片KS0108是否忙要分别判断左右两面。程序代码:判断液晶显示屏是否忙:voidLCD_WaitReady1(void)//判断LCD控制芯片KS0108是否忙{LCD_DATA=0xff;_nop_();LCD_CS2=SELECTCS;LCD_RW=1;LCD_RS=0;LCD_E=1;while(LCD_
7、DATA&0x80);LCD_CS2=!SELECTCS;}voidLCD_WaitReady2(void)//判断LCD控制芯片KS0108是否忙{LCD_DATA=0xff;_nop_();LCD_CS1=SELECTCS;LCD_RW=1;LCD_RS=0;LCD_E=1;while(LCD_DATA&0x80);LCD_CS1=!SELECTCS;}向液晶显示屏发送控制命令:voidLCD_WriteCommand1(charch)//向LCD控制芯片KS0108发送控制命令{LCD_WaitReady1();LCD
8、_CS2=SELECTCS;LCD_RW=0;LCD_RS=0;LCD_DATA=ch;LCD_E=1;LCD_E=0;LCD_CS2=!SELECTCS;}voidLCD_WriteCommand2(charch)//向LCD控制芯片KS0108发送控制命令{LCD_WaitReady2
此文档下载收益归作者所有