液晶点阵显示屏程序设计_第1页
液晶点阵显示屏程序设计_第2页
液晶点阵显示屏程序设计_第3页
液晶点阵显示屏程序设计_第4页
液晶点阵显示屏程序设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

液晶点阵显示屏程序设计单片机课程设计报告班级JT032班学号062141010208姓名王刚20070120一、设计题目液晶点阵显示屏程序设计二、设计要求1能进行正常的模拟量采样值显示(温度、压力、电位),并将其显示到液晶面板上。2LCD将从下到上滚动显示“江苏大学计算机学院”,然后显示“2006年单片机课程设计”“液晶点阵显示屏程序设计”“作者姓名、班级、学号”3改变字库的内容,显示其它汉字。4改变页地址或列地址,使显示的内容改变位置5改变滚动显示模式,使显示内容左右、上下滚动;改变参数使滚动速度变化。三、设计思路及实施步骤(一)设计思路由于实验指导书中做过液晶显示和模数转换得实验,根据两个实验的功能实现和流程原理进行设计将程序分成三个模块主函数模块MAINC模数转换模块ADCC液晶显示模块KS0108C其中让主函数模块做一些初始化和函数调用工作,模数转换模块主要是将温度,压力,点位的值转化为数字量供液晶显示用,液晶显示模块得到模数转换模块传递过来的数字量显示到液晶面板上。(二)系统流程图1系统主流程图如下2主函数流程图3显示模块流程图开始主函数模块显示模块模数转换模块开始使能比较器1开中断初始化系统时钟初始化定时器初始化IO端初始化SPI0使能片内参考电压使能DAC4模数转换模块流程图(三)系统部分程序功能说明1、主函数部分功能代码说明主函数模块中的主函数代码最后调用TESTLCD进行显示。VOIDMAINVOID开始读取NO和模拟量返回温度返回点位结束返回压力NO2NO3NO1开始初始化LCD滚屏显示江苏大学计算机学院读取数字量并显示调用模数转换得到值显示课程设计题目、班级、姓名健值是否123WDTCN0XDEWDTCN0XAD/关看门狗SYSCLK_INIT/初始化系统时钟TIMER0_INIT/初始化定时器T0PORT_INITPORT_INIT1/初始化IO端口INIT_ADC/ADC0初始化CPT1CN|0X80/使能比较器1EA1/开中断TESTLCD/调用液晶显示模块2、模数转换中取得值的函数。UNSIGNEDINTGETADCVALUECHARNOREAD_ANALOG_INPUTSREAD_ANALOG_INPUTSREAD_ANALOG_INPUTSSWITCHNOCASE1RETURNTEMPCASE2RETURNVOLTCASE3IFPRESS10PRESS0RETURNPRESS3、定义字和位图(取模的值省略)。其中“江苏大学计算机学院,班级,姓名”采用位图格式,用VOIDDISPBMPCHARBUF函数显示,数字采用816,采用VOIDLCD_WRITEJSDX8CHARX,CHARY,CHARDOT显示,汉字采用1616,采用VOIDLCD_WRITEJSDXCHARX,CHARY,CHARDOT显示。CHARCODEJIANG/文字江苏大学计算机学院/CHARCODESU/文字班级,姓名等/CHARCODELING文字0/0X00,0XE0,0X10,0X08,0X08,0X10,0XE0,0X00,0X00,0X0F,0X10,0X20,0X20,0X10,0X0F,0X00,下面依次定义1,2,3,4,5,6,7,8,9,空格,点和温,度,压,力,电,位等,其中温,度,压,力,电,位为1616,其余为816。4、定义并实现显示816点数字的函数VOIDLCD_WRITEJSDX8CHARX,CHARY,CHARDOT,代码如下VOIDLCD_WRITEJSDX8CHARX,CHARY,CHARDOT/显示816点阵汉字CHARIFORI0I16IIFXI864LCD_WRITECOMMAND10XB8YI/8LCD_WRITECOMMAND10X40XI8LCD_WRITEDATA1DOTIELSELCD_WRITECOMMAND20XB8YI/8LCD_WRITECOMMAND20X40X64I8LCD_WRITEDATA2DOTI5、显示函数部分代码VOIDTESTLCDVOID/一下代码输出江苏大学计算机学院并向上滚动DISPBMPJIANGFORI0I64IDELAY1MS10LCD_WRITECOMMAND10XC0I64/设置起始行,实现向上滚动LCD_WRITECOMMAND20XC0I64/以下代码实现输出班级姓名DISPBMPSU/显示姓名/以下代码实现将取回的数字值及相关文字放入BUF数组内IFNO1BUF0WENBUF1DUBUF2W10000/1000BUF3W1000/100BUF4BUF5W100/10BUF6W10ELSEIFNO2BUF0DDBUF1WEIBUF2W10000/1000BUF3BUF4W1000/100BUF5W100/10BUF6W10ELSEBUF0YABUF1LIBUF2W10000/1000BUF3W1000/100BUF4BUF5W100/10BUF6W10/下面代码实现显示BUF数组。FORI0I7ISWITCHBUFICASE0LCD_WRITEJSDX8I16,4,LING/显示816点阵汉字0BREAKCASE1LCD_WRITEJSDX8I16,4,YI/显示816点阵汉字1BREAKCASE2LCD_WRITEJSDX8I16,4,ER/显示816点阵汉字2BREAKCASE3LCD_WRITEJSDX8I16,4,SAN/显示816点阵汉字3BREAKCASE4LCD_WRITEJSDX8I16,4,SI/显示816点阵汉字4BREAKCASE5LCD_WRITEJSDX8I16,4,WU/显示816点阵汉字5BREAKCASE6LCD_WRITEJSDX8I16,4,LIU/显示816点阵汉字6BREAKCASE7LCD_WRITEJSDX8I16,4,QI/显示816点阵汉字7BREAKCASE8LCD_WRITEJSDX8I16,4,BA/显示816点阵汉字8BREAKCASE9LCD_WRITEJSDX8I16,4,JIU/显示816点阵汉字9BREAKCASELCD_WRITEJSDX8I16,4,DIAN/显示816点阵汉字BREAKCASEWLCD_WRITEJSDXI16,4,WEN/显示1616点阵汉字温BREAKCASEDLCD_WRITEJSDXI16,4,DU/显示1616点阵汉字度BREAKCASEYLCD_WRITEJSDXI16,4,YA/显示1616点阵汉字压BREAKCASELLCD_WRITEJSDXI16,4,LI/显示1616点阵汉字力BREAKCASEALCD_WRITEJSDXI16,4,DD/显示1616点阵汉字电BREAKCASEBLCD_WRITEJSDXI16,4,WEI/显示1616点阵汉字位BREAK四、结果分析将如下源文件MAINC,C8051F020H,ADCC,KS0108C加入到开发工具中,调试程序,并下载到单片机中运行,首先有“江苏大学计算机学院”一行字向上滚动,然后显示“液晶点阵显示屏程序设计,班级,姓名”当这些字显示完毕后,进入温度、压力、电位显示模块中,按1键,液晶屏上将显示温度;按2键,液晶屏上将显示电位;按3键,液晶屏上将显示压力。代表数字。注意由于延时等原因,有时候按键后并不能转换为另一种要求的显示。系统基本按照课程设计的要求实现了所有功能,在程序设计和调试过程中,遇到和解决了以下几个问题第一个就是在取字模的时候对于连续几行字的取模老是不成功,后来我采用了在画图板中把字排好版,然后用取模软件打开位图进行取模;第二个问题是刚开始的时候,用LCD_WRITEJSDXCHARX,CHARY,CHARDOT函数由于对816的数字汉字进行显示时,造成乱码,后来发现了问题,写了一个LCD_WRITEJSDX8CHARX,CHARY,CHARDOT函数,专门用来写816的汉字,第三个问题是在按键选择时,BUF数组会得到错误的数据,这是由于IF控制结构没有写好,还有就是小数点到底在哪一位上,也耽误了我一点时间。虽然说基本功能都实现了,但是还有一些方面做得不够好或者有待改进一个是程序功能划分不够好,按键选择控制部分应该放在MAIN函数中更为符合,而液晶显示模块只负责显示,AD转换模块只负责转换,程序控制权交给MAIN函数。而现在负责控制的是液晶显示模块。还有一个是汉字的左右滚动功能没有实现。五、课程设计小结由于自己在大三时候休学没有上好数字逻辑,汇编语言和计算机组成原理等课,使我在复学后开这门课的时候有一种恐惧心理,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论