欢迎来到天天文库
浏览记录
ID:27705884
大小:428.18 KB
页数:22页
时间:2018-12-05
《单片机课程设计报告液晶显示》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、JIANGSUUNIVERSITY单片玑原理及应用课程段计学院名称:计算机专业班级:通信0902学生姓名:拠毽学生学号:3090601061指导教师姓名:熊书明2012年1n点阵式液晶显示屏的显示程序设计一、设计目的1.熟练掌握C51系统仿真开发系统的应用。2.加强单片机的综合运用能力、提高单什机的软件编程和调试能力,为以后的学AI和开发工作打K良好基础。3.掌握的液晶的工作原理以及应用设计。4.掌握小系统丌发设汁的流程以及设汁思路。二、设计方案实验要求:1)从卜'到上滚动显示:“江苏人学计算机学院”然后交替显示:“单片机课程设计”“液晶点阵显示屏程序设计”
2、“作者姓名、班级、学号”2)能进行正常的模拟fi采样值显示(温度、压力、电位)。3)改变字库的内界,显示其它汉字。4)改变页地址或列地址,使显示的内容改变位置。5)其它功能(如左、右移,上下卷、显示阁片等)。设计思路:由于实验指异书屮做过液品显示和模数转换得实验,根据两个实验的功能实现和流程原理进行设计将程序分成三个模块:±函数模块main,c模数转换模块ADC.c液晶显示模块KS0108.C其屮11:主函数模块做一些初始化和函数调川工作,模数转换模块主要足将温度,压力,点位的值转化为数字M供液品显示用,液品显示模块得到模数转换模块传递过來的数字M显示到液晶
3、面板上。程序流程图:1系统主流程阁如下3显示模块流程I冬14模数转换模块流程阁主要的源程序及注释主闹数:include〃c8051f020.h〃^includevoidDelaylus(unsignedcharus)//延吋usXBRO=0x07;XBR1=0x00;XBR2=0x44;EMIOCF=0x27;EMIOTC=0x21;P74OUT=OxFF;POMDOUT=0x15;P1MD0UTh=0x3C;n&二0xc3;}voidSPIOfTnit(void)ISPIOCFG=0x07;——us;)}}^definePRTOCFP
4、OMDOUT^definePRT1CFP1MD0UTdefinePRT2CFP2MD0UTvoidl)0KT」nit(void)voidSYSCLK一Init(void)//系统时钟初始化{inti;OSCXCN=0x67;for(i=0;i<256;i++);while(!(OSCXCN&0x80));OSCTCN=0x88;SPTOCN=0x03;SP10CKK=SYSCLK/2/8000000-1;while(us)nop」);_nop_();_nop_();_nop_();_nop_();//delaycounter//startexternalos
5、cillatorwith//18.432MHzcrystal//Waitforosc.tostartup//Waitforcrystalosc.tosettle//selectexternaloscillatorasSYSCLK//sourceandenablemissingclock//detector//OSCICN=0x07;//interal16M1IZ//串口初始化//EnableSMBus,SPTO,andL'ARTO//Enablecrossbarandweakpull-ups//Pl.2-P1.5推挽输出//Pl.2-P1.5=0//spiO
6、初始化//datasampledon1stSCKrisingedge//8-bitdatawordsSPlOCEGl=0xC0;//CKPOL=1;//Mastermode;SPTenabled;flags//cleared//SPIclock<=8Mllz(limitedby//EEPROMspec.)unsignedcharCountlms;voidTimerO_Init(void){CKCON=0x8;TM0D
7、=0xl;//16BitCountlms=10;TKO=0;THO=(-SYSCLK/1000)»8;TLO=-SYSCLK/1000;TRO
8、=1;//STARTTimerOIE
9、=0x2;}voidTimerO」SR(void)interrupt1{THO=(-SYSCLK/1000)»8;TLO=-SYSCLK/1000;if(Countlms)Countlms—;}voidDelaylms(unsignedcharT){Countlms=T;while(Countlms):}voidDelayIs(unsignedcharT){while(T)//计数器0初始化//lms//STOPTimerO//setTimerOtooverflowinlms//延时lms//延时IsDelaylms(2
10、00);Delaylms(200);Delaylms
此文档下载收益归作者所有