北理工pic实验五驱动LCD显示程序设计

北理工pic实验五驱动LCD显示程序设计

ID:41603864

大小:75.57 KB

页数:7页

时间:2019-08-28

北理工pic实验五驱动LCD显示程序设计_第1页
北理工pic实验五驱动LCD显示程序设计_第2页
北理工pic实验五驱动LCD显示程序设计_第3页
北理工pic实验五驱动LCD显示程序设计_第4页
北理工pic实验五驱动LCD显示程序设计_第5页
资源描述:

《北理工pic实验五驱动LCD显示程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、PIC单片机在电子设计系统中的运用实验报告实验五综合设计实验班级:姓名:学号:实验五综合设计实验一、实验目的:1・培养独立编程能力。2.考察利用实验电路板使用PIC单片机的能力。二、实验要求:1.仔细阅读《APP001V2.4使用手册》,了解实验电路板电路功能。2.程序设计内容:1)设定常数字符串“C18Workshop"在ROM区2)设定变量字符串“A/DResult二”在RAM区3)利用LCD函数编程,开启LCD并设定为4-bit模式、5x7双行模式、CURSOROFF4)在LCD的第一行显示“C18WorkshopEX5”5)在LCD的第二行显示“A/DResu

2、lt=”6)调整VR以改变ANO的输入电压,并将其进行A/D转换7)A/D结果最高的八位显示在IFD8)10-bit的A/D结果以ASCH码显示在LCD上三、实验内容(DLCD函数说明voidOpenLCD:开启LCDOpenLCD();(范例)putsLCD&putrsLCD:写一字符串到LCDvoidputsLCD(char*ptr)fromRAMvoidputrsLCD(constromfarchar*ptr)fromROMWriteDataLCD:写一字符到LCDvoidWriteDataLCD(unsigncdchardata)WriteCmdLCD:写一控

3、制命令到LCDvoidWriteCmdLCD(DISP_ON)LCDSetCursor(unsignedcharY,unsignedcharX):设定显示的位置LCDSetCrusor(1,0);将Cursor设定在第二行第一个位置(2)修改程序并运行1.编辑源文件并将源文件存于mccl8B录中2.选择目标处理器、建立项目项目名与源文件同名1.选择项目设置选择语言工具套件:MPLABcl8cToolsuite(mecl8.exe),MPL1NKObjectLinker(Mplink.exe)选择MPLABC18安装目录屮头文件和函数库了目录的路径。2.加载源文件和链接

4、文件3.编译4.用MPLABSIM软件模拟器进行调试5.用MPLAB1CD2进行调试四、实验代码修改原理rtl于LCD的数据线、地址线与LED的线路重叠,因此需要利丿1J分时复丿1]技巧。程序运行过程屮不断采集模拟最,当旋钮旋转到定值长时间不改变时则认为模拟最采集完成,LCD输出模拟量,此时关闭LCD的写字符功能,即不再运行LCD写字符,而是运行写PORTD口的操作,也就是对LED进行操作的过程,从而完成吋分复用。在调试过程中,LED的灯会抖动,所以在添加的时分复用代码的判定语句中给予一定的阈值作为缓冲,从而解决模拟器采集过程中不稳定的情形。代码如下temp-AD_T

5、emp<10”AD_Temp-temp<10即认为连续采集到的模拟量信号值在±10偏差之内吋模拟量稳定、不发牛变化,此时不对LCD进行操作,而是对LED进行操作。实验过程中的复位操作很重要,市于字符不断变化,如果没冇复位那么向LCD写字符时可能由于之前的是4位数而麻来写的字符是3位导致最后一位不发生变化,体现就是看上去仍然是四位数,所以进行写LCD操作时需要对字符进行复位,用以下代码实现定义部分CharLCD_MSG3[]="”;对LCD写字符前putsLCD(LCD_MSG3);此时看上去已经可以了,但是事实上调试过程中发现LED灯并没冇连续变化,这也由于没冇进行复

6、位导致的,所以在相应的部分加上代码或者InitializePORT()PORTA=0x00;TRISA=0bll011011;修正LED的输出。五、实验结果旋转旋钮,LCD屏幕上显示C18WorkshopEX5A/DValue=XXX其中XXX为十进制数,随旋钮变化。论上应当从0〜1024变化,实际值屮最小值为5,最大值1021,变化可能是山于实验板旋钮的误差,或者采集误差。LED显示的数字为LCD上显示的二进制数表示的十进制数的高八位。符合实验耍求。六、实验心得由于本次试验综合性较强,所以比较闲难,用的时I'可也比较多。由于一开始不了解实验电路板的原理,不知道LCD

7、的数据线、地址线与LED的线路重叠,需要利用分时复用技巧。所以而两节课尽管用了好长时间分析代码,但是也没有取得什么大收获。后来经过老师的提示,才知道耍用到分时复用的方法。实验屮还有一个需要解决的问题就是数码管显示不稳定,会有闪烁的现象,所以在添加的时分复用代码的判定语句中给予一定的阈值作为缓冲,从而解决模拟器采集过程屮不稳定的情形。相对于询儿次课來说,这次实验课收获最大,虽然每节课分析代码,调试都比较枯燥,但最后实验成功运行,还是比较兴奋的。期间和同学一起讨论问题的解决办法,以及查阅各种资料,加深了对单片机破件以及程序实现的理解,收获颇大,是最冇意义

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。