欢迎来到天天文库
浏览记录
ID:47120972
大小:173.50 KB
页数:20页
时间:2019-08-08
《单片机课程设计报告——液晶显示》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JIANGSUUNIVERSITY单片机原理及应用课程设计学院名称:计算机专业班级:通信0902学生姓名:柳健学生学号:3090601061指导教师姓名:熊书明2012年1月19点阵式液晶显示屏的显示程序设计一、设计目的1.熟练掌握C51系统仿真开发系统的应用。2.加强单片机的综合运用能力、提高单片机的软件编程和调试能力,为以后的学习和开发工作打下良好基础。3.掌握的液晶的工作原理以及应用设计。4.掌握小系统开发设计的流程以及设计思路。二、设计方案实验要求:1)从下到上滚动显示:“江苏大学计算机学院”然后交替显示:“
2、单片机课程设计”“液晶点阵显示屏程序设计”“作者姓名、班级、学号”2)能进行正常的模拟量采样值显示(温度、压力、电位)。3)改变字库的内容,显示其它汉字。4)改变页地址或列地址,使显示的内容改变位置。5)其它功能(如左、右移,上下卷、显示图片等)。设计思路:由于实验指导书中做过液晶显示和模数转换得实验,根据两个实验的功能实现和流程原理进行设计将程序分成三个模块:主函数模块main.c模数转换模块ADC.c液晶显示模块KS0108.c其中让主函数模块做一些初始化和函数调用工作,模数转换模块主要是将温度,压力,点位的值转
3、化为数字量供液晶显示用,液晶显示模块得到模数转换模块传递过来的数字量显示到液晶面板上。程序流程图:1系统主流程图如下19开始主函数模块显示模块模数转换模块2主函数流程图开始使能比较器1开中断初始化系统时钟钟初始化定时器0初始化IO端口初始化SPI0使能片内参考电压使能DAC3显示模块流程图19开始初始化LCD滚屏显示江苏大学计算机学院读取数字量并显示调用模数转换得到值显示课程设计题目、班级、姓名健值是否1.2.34模数转换模块流程图开始读取No和模拟量返回温度返回点位结束返回压力No=2?No=3?No=1?主要的源
4、程序及注释主函数:#include"c8051f020.h"#includevoidDelay1us(unsignedcharus)//延时us{while(us)19{_nop_();_nop_();_nop_();_nop_();_nop_();--us;}}voidSYSCLK_Init(void)//系统时钟初始化{inti;//delaycounterOSCXCN=0x67;//startexternaloscillatorwith//18.432MHzcrystalfor(i=0;i
5、<256;i++);//Waitforosc.tostartupwhile(!(OSCXCN&0x80));//Waitforcrystalosc.tosettleOSCICN=0x88;//selectexternaloscillatorasSYSCLK//sourceandenablemissingclock//detector//OSCICN=0x07;//interal16MHZ}#definePRT0CFP0MDOUT#definePRT1CFP1MDOUT#definePRT2CFP2MDOUTvoidP
6、ORT_Init(void)//串口初始化{XBR0=0x07;//EnableSMBus,SPI0,andUART0XBR1=0x00;XBR2=0x44;//Enablecrossbarandweakpull-upsEMI0CF=0x27;EMI0TC=0x21;P74OUT=0xFF;P0MDOUT=0x15;P1MDOUT
7、=0x3C;//P1.2-P1.5推挽输出P1&=0xc3;//P1.2-P1.5=0}voidSPI0_Init(void)//spi0初始化{SPI0CFG=0x07;//datasa
8、mpledon1stSCKrisingedge//8-bitdatawordsSPI0CFG
9、=0xC0;//CKPOL=1;SPI0CN=0x03;//Mastermode;SPIenabled;flags//clearedSPI0CKR=SYSCLK/2/8000000-1;//SPIclock<=8MHz(limitedby//EEPROMspec.)}unsignedcharCount1ms;19voidTimer0_Init(void)//计数器0初始化{CKCON
10、=0x8;TMOD
11、=0x1;//16B
12、itCount1ms=10;TR0=0;//STOPTimer0TH0=(-SYSCLK/1000)>>8;//setTimer0tooverflowin1msTL0=-SYSCLK/1000;TR0=1;//STARTTimer0IE
13、=0x2;}voidTimer0_ISR(void)interrupt1//1ms{TH0=(-SYSCLK
此文档下载收益归作者所有