欢迎来到天天文库
浏览记录
ID:41720285
大小:137.94 KB
页数:28页
时间:2019-08-30
《液晶点阵显示屏课程设计报告通信09235-宗慧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、M大爭JIANGSUUNIVERSITY单片机原理及应用课程设计学院名称:计算机学院专业班级:通信0902学生姓名:宗惹学生学号:3090601035指导教师姓名:熊书明2012年0]月点阵式液晶显示屏的显示程序设计宗慧通信0902班3090601035一.设计目的1.熟练掌握C51系统仿真开发系统的应用。2.加强单片机的综合运用能力、提高单片机的软件编程和调试能力,为以后的学习和开发工作打下良好基础。3.掌握的液晶的工作原理以及应用设计。4.掌握小系统开发设计的流程以及设计思路。二.设计要求1)从下到上滚动显示:“江苏大学计算机学院”然后交替显示
2、:“单片机课程设计”“液晶点阵显示屏程序设计”“作者姓名、班级、学号”2)能进行正常的模拟量采样值显示(温度、压力、电位)。3)改变字库的内容,显示其它汉字。4)改变页地址或列地址,使显示的内容改变位置。5)其它功能(如左、右移,上下卷、显示图片等)。三.系统整体结构由于实验指导书中做过液晶显示和模数转换得实验,根据两个实验的功能实现和流程原理进行设计将程序分成三个模块:主函数模块meiin.c模数转换模块ADC.c液晶显示模块KS0108.C其中让主函数模块做一些初始化和函数调用工作,模数转换模块主要是将温度,压力,点位的值转化为数字量供液晶显示
3、用,液晶显示模块得到模数转换模块传递过来的数字量显示到液晶面板上。程序流程图:1系统主流程图如下3显示模块流程图4模数转换模块流程图一.设计和实现㈠主函数模块main,c#include”c8051f020.h”//includevoidDelay1us(unsignedcharus)while(us)_nop_();_nop_();_nop_();_nop_();_nop_();—us;}〃初始化系统时钟,使用22.1184MHZ品体作为时钟源voidSYSCLKInit(void)inti;OSCXCN=0x67;for(
4、i=0;i<256;i++);while(!(OSCXCN&0x80));OSCICN=0x88;//delaycounter//startexternaloscillatorwith//18.432MHzciystal//Waitforosc.tostartup//Waitforcrystalosc.tosettle//selectexternaloscillatorasSYSCLK//sourceandenablemissingclock//detector//OSCICN=0x07;//interal16MHZ#dcfincPRTOCFPOM
5、DOUT#definePRT1CFP1MDOUT#definePRT2CFP2MDOUTvoidPORTInit(void)XBR0=0x07;XBR1=0x00;XBR2=0x44;EMI0CF=0x27;EMI0TC=0x21;P74OUT=0xFF;POMDOUT=Oxl5;PlMDOUT
6、=0x3C;//P1.2-P1.5推挽输出P&=0xc3;//P1.2-P1.5=0//EnableSMBus,SPIO,andUARTO//Enablecrossbarandweakpull-upsvoidSPIOJnit(void)SPI0CFG=0x
7、07;//datasampledon1stSCKrisingedge//8-bitdatawordsSPI0CFG
8、=0xC0;//CKPOL=1;SPI0CN=0x03;SPI0CKR=SYSCLK/2/8000000-1;//Mastermode;SPIenabled;flags//cleared//SPIclock<=8MHz(limitedby//EEPROMspec.)unsignedcharCount1ms;voidTimerO」nit(void){CKCON
9、=Ox8;TMOD
10、=Oxl;Countlms=10;TR0=0;TH0=(
11、-SYSCLK/1000)»overflowin1msTL0=-SYSCLK/1000;TR0=l;IE
12、=0x2;//定时器按系统时钟频率计数//方式一16Bit//禁止TO计数STOPTimerO8;//定时器赋初值65536-lOOOus//开始计数STARTTimerO//IE置1setTimerOto}voidTimerOISR(void)interrupt1〃产生1ms的屮断服务程序THO=(-SYSCLK/1000)»8;//i^l000,T=lmsTL0二SYSCLK/1000;if(Count1ms)Count1ms-;}void
13、Delay1ms(unsigncdcharT){Countlms=T;while(Count1ms);}voidDelay
此文档下载收益归作者所有