欢迎来到天天文库
浏览记录
ID:30032021
大小:95.00 KB
页数:21页
时间:2018-12-26
《液晶点阵显示屏程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、液晶点阵显示屏程序设计———单片机课程设计报告一、设计题目:液晶点阵显示屏程序设计二、设计要求:1能进行正常的模拟量采样值显示(温度、压力、电位),并将其显示到液晶面板上。2LCD将从下到上滚动显示:“江苏大学计算机学院”,然后显示:“2006年单片机课程设计”“液晶点阵显示屏程序设计”“作者姓名、班级、学号”3改变字库的内容,显示其它汉字。4改变页地址或列地址,使显示的内容改变位置5改变滚动显示模式,使显示内容左右、上下滚动;改变参数使滚动速度变化。三、设计思路及实施步骤:(一)设计思路:由于实验指导书中做过液晶显示和模数转换得实验,根据两个实验的功能
2、实现和流程原理进行设计将程序分成三个模块:主函数模块main.c模数转换模块ADC.c液晶显示模块KS0108.c其中让主函数模块做一些初始化和函数调用工作,模数转换模块主要是将温度,压力,点位的值转化为数字量供液晶显示用,液晶显示模块得到模数转换模块传递过来的数字量显示到液晶面板上。(二)系统流程图:1系统主流程图如下:开始主函数模块显示模块模数转换模块2主函数流程图:开始使能比较器1开中断初始化系统时钟钟初始化定时器0初始化IO端口初始化SPI0使能片内参考电压使能DAC3显示模块流程图开始初始化LCD滚屏显示江苏大学计算机学院读取数字量并显示调用模
3、数转换得到值显示课程设计题目、班级、姓名健值是否1.2.34模数转换模块流程图开始读取No和模拟量返回温度返回点位结束返回压力No=2?No=3?No=1?(三)系统部程序及功能说明(程序注释部分)#include"c8051F020.h"#include液晶点阵显示试验-128*64,控制器KS0108试验准备:将拨码开关S1和S2置于ON位置.运行此程序,LCD将从下到上滚动显示:“江苏大学计算机学院”然后交替显示:“2010年单片机课程设计”“液晶点阵显示屏程序设计”“作者姓名、班级、学号”*/#defineLCD_DATAP
4、2#defineLCD_RSP30#defineLCD_RWP31#defineLCD_EP32#defineLCD_CS1P33#defineLCD_CS2P34#defineLCD_RSTP35#defineMUX_TEMP0x08#defineMUX_VOLT0x01#defineMUX_PRESS0x02#defineNOSELECT7279P5
5、=0x80//SPICS4(P57)=1#defineSELECT7279P5&=~(0x80)//SPICS4(P57)=0;#defineSet7279DATHD7279_DAT=1#defineC
6、lr7279DATHD7279_DAT=0#defineSet7279CLKHD7279_CLK=1#defineClr7279CLKHD7279_CLK=0voidDelay1ms(unsignedchar);/*--宽度x高度=128x64--*/charcodescreen[]={江苏大学计算机学院};/*--宽度x高度=128x64--*/charcodescreen1[]={2010年单片机课程设计};/*--宽度x高度=128x64--*/charcodescreen2[]={液晶点阵显示屏程序设计};/*--宽度x高度=128x64--*/
7、};charcodescreen3[]={作者姓名、班级、学号};#defineSELECTCS0//LCDvoidLCD_WaitReady1(void)//判断LCD控制芯片KS0108是否忙{LCD_DATA=0xff;_nop_();LCD_CS2=SELECTCS;//片学cs2LCD_RW=1;//读写选择LCD_RS=0;//数据指令选择LCD_E=1;//读写使能while(LCD_DATA&0x80);//等待空闲LCD_CS2=!SELECTCS;}voidLCD_WaitReady2(void)//判断LCD控制芯片KS0108是否
8、忙{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_CS2=SELECTCS;LCD_RW=0;LCD_RS=0;LCD_DATA=ch;LCD_E=1;LCD_E=0;LCD_CS2=!SELECTCS;}voidLCD_WriteCommand2(
9、charch)//向LCD控制芯片KS0108发送控制命令{LCD_WaitRe
此文档下载收益归作者所有