資源描述:
《液晶點陣顯示屏課程設(shè)計報告通信09235-宗慧》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、M大爭JIANGSUUNIVERSITY單片機原理及應用課程設(shè)計學院名稱:計算機學院專業(yè)班級:通信0902學生姓名:宗惹學生學號:3090601035指導教師姓名:熊書明2012年0]月點陣式液晶顯示屏的顯示程序設(shè)計宗慧通信0902班3090601035一.設(shè)計目的1.熟練掌握C51系統(tǒng)仿真開發(fā)系統(tǒng)的應用。2.加強單片機的綜合運用能力、提高單片機的軟件編程和調(diào)試能力,為以后的學習和開發(fā)工作打下良好基礎(chǔ)。3.掌握的液晶的工作原理以及應用設(shè)計。4.掌握小系統(tǒng)開發(fā)設(shè)計的流程以及設(shè)計思路。二.設(shè)計要求1)從下到上滾動顯示:“江蘇大學計算機學院”然后交替顯示
2、:“單片機課程設(shè)計”“液晶點陣顯示屏程序設(shè)計”“作者姓名、班級、學號”2)能進行正常的模擬量采樣值顯示(溫度、壓力、電位)。3)改變字庫的內(nèi)容,顯示其它漢字。4)改變頁地址或列地址,使顯示的內(nèi)容改變位置。5)其它功能(如左、右移,上下卷、顯示圖片等)。三.系統(tǒng)整體結(jié)構(gòu)由于實驗指導書中做過液晶顯示和模數(shù)轉(zhuǎn)換得實驗,根據(jù)兩個實驗的功能實現(xiàn)和流程原理進行設(shè)計將程序分成三個模塊:主函數(shù)模塊meiin.c模數(shù)轉(zhuǎn)換模塊ADC.c液晶顯示模塊KS0108.C其中讓主函數(shù)模塊做一些初始化和函數(shù)調(diào)用工作,模數(shù)轉(zhuǎn)換模塊主要是將溫度,壓力,點位的值轉(zhuǎn)化為數(shù)字量供液晶顯示
3、用,液晶顯示模塊得到模數(shù)轉(zhuǎn)換模塊傳遞過來的數(shù)字量顯示到液晶面板上。程序流程圖:1系統(tǒng)主流程圖如下3顯示模塊流程圖4模數(shù)轉(zhuǎn)換模塊流程圖一.設(shè)計和實現(xiàn)㈠主函數(shù)模塊main,c#include”c8051f020.h”//includevoidDelay1us(unsignedcharus)while(us)_nop_();_nop_();_nop_();_nop_();_nop_();—us;}〃初始化系統(tǒng)時鐘,使用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;//定時器按系統(tǒng)時鐘頻率計數(shù)//方式一16Bit//禁止TO計數(shù)STOPTimerO8;//定時器賦初值65536-lOOOus//開始計數(shù)STARTTimerO//IE置1setTimerOto}voidTimerOISR(void)interrupt1〃產(chǎn)生1ms的屮斷服務(wù)程序THO=(-SYSCLK/1000)?8;//i^l000,T=lmsTL0二SYSCLK/1000;if(Count1ms)Count1ms-;}void
13、Delay1ms(unsigncdcharT){Countlms=T;while(Count1ms);}voidDelay