




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.PAGE.-..-可修遍-華信學(xué)院課程設(shè)計(jì)說(shuō)明書題目:智能壓力測(cè)量?jī)x姓名:巍院〔系〕:機(jī)電工程學(xué)院專業(yè)班級(jí):電氣工程三班學(xué)號(hào):1102120310指導(dǎo)教師:宋東亞坤漓成績(jī):時(shí)間:2013年12月17日至2013年12月28日華信學(xué)院課程設(shè)計(jì)任務(wù)書題目智能壓力測(cè)量?jī)x專業(yè)、班級(jí)電氣工程及其自動(dòng)化三班學(xué)號(hào)1102120310巍主要容:利用單片機(jī)計(jì)一個(gè)智能壓力測(cè)量?jī)x,要求顯示壓力數(shù)據(jù)。根本要求:1.設(shè)計(jì)一個(gè)智能壓力測(cè)量?jī)x,要求顯示當(dāng)前壓力數(shù)值。2.利用proteus軟件完成設(shè)計(jì)電路和仿真;3.掌握并口驅(qū)動(dòng)數(shù)碼管動(dòng)態(tài)顯示的方法;4.通過此次設(shè)計(jì)將單片機(jī)軟硬件結(jié)合起來(lái)對(duì)程序進(jìn)展編輯、校驗(yàn),鍛煉實(shí)踐能力和理論聯(lián)系實(shí)際的能力。主要參考資料:[1]全利,單片機(jī)原理及接口技術(shù)[M],高等教育[2]王文杰,單片機(jī)應(yīng)用技術(shù)[M],冶金工業(yè)[3]朱清慧,PROTEUS教程——電子線路設(shè)計(jì)、制版與仿真[M],清華大學(xué)[4]單片機(jī)實(shí)驗(yàn)指導(dǎo)書,天煌教儀[5]偉,單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例[M],電子工業(yè)完成期限:指導(dǎo)教師簽名:課程負(fù)責(zé)人簽名:年月日目錄摘要-2-1引言-2-1.1問題的提出-2-1.2任務(wù)與分析-3-2方案設(shè)計(jì)-3-2.1系統(tǒng)方案設(shè)計(jì)論證-3-2.1.1系統(tǒng)的控制方案設(shè)計(jì)-3-2.2最終設(shè)計(jì)方案總體設(shè)計(jì)框圖-3-3系統(tǒng)硬件設(shè)計(jì)-4-3.1AT89C51單片機(jī)-4-3.1.1AT89C51單片機(jī)介紹-4-3.1.2選用AT89C51單片機(jī)原因-6-3.2時(shí)鐘電路-6-3.3復(fù)位電路-6-3.4PG160128A顯示電路-7-3.5A/D轉(zhuǎn)換電路-8-4系統(tǒng)軟件設(shè)計(jì)-9-4.1主程序框圖-9-4.2顯示子程序框-10-5系統(tǒng)調(diào)試過程-10-5.2Keil程序調(diào)試-12-5.3Proteus仿真調(diào)試-12-結(jié)論-15-致-16-參考文獻(xiàn)-16-附錄一程序源代碼-16-附錄二電路原理圖及PCB圖-32-附錄三Proteus仿真截圖-33-摘要本課程設(shè)計(jì)是基于8051單片機(jī)為控制核心的壓力檢測(cè)系統(tǒng)。在硬件電路局部,此設(shè)計(jì)的采用8051單片機(jī),ADC0832轉(zhuǎn)換器,本設(shè)計(jì)先測(cè)量出壓力的電信號(hào),然后通過單片機(jī)對(duì)所測(cè)出的壓力值,并通過LCD顯示壓力數(shù)值。關(guān)鍵詞:8051單片機(jī)、壓力檢測(cè)、LCD顯示、1引言1.1問題的提出隨著電子化程度越來(lái)越高,通過增加更多的電子裝置,使機(jī)器工作在更好的狀態(tài),充分發(fā)揮機(jī)器的性能,保證機(jī)器的平安性,減少機(jī)器故障率,增加機(jī)器壽命等,具有重要的意義。1.2任務(wù)與分析本設(shè)計(jì)的主要任務(wù)就是利用單片機(jī)實(shí)現(xiàn)壓力的檢測(cè)功能。檢測(cè)壓力檢測(cè)系統(tǒng)所具有的功能如下:壓力檢測(cè)系統(tǒng)是通過聲音和文字信息來(lái)表達(dá)壓力的狀態(tài)。該系統(tǒng)利用8051單片機(jī)作為微控制器,通過壓變式壓力傳感器對(duì)壓力進(jìn)展信號(hào)檢測(cè),傳感器輸出信號(hào)經(jīng)數(shù)字濾涉及A/D轉(zhuǎn)換后輸入ECU,經(jīng)計(jì)算后在LED屏幕上顯示壓力。2方案設(shè)計(jì)2.1系統(tǒng)方案設(shè)計(jì)論證2.1.1系統(tǒng)的控制方案設(shè)計(jì)檢測(cè)壓力傳感器MPX4250檢測(cè)到壓力信號(hào)后,通過ADC0832轉(zhuǎn)換后送入AT89C51單片機(jī),單片機(jī)對(duì)數(shù)據(jù)進(jìn)展處理,顯示等。2.2最終設(shè)計(jì)方案總體設(shè)計(jì)框圖A/D傳感器壓力傳感器A/D傳感器壓力傳感器LCD顯示壓力80C51單片機(jī)LCD顯示壓力80C51單片機(jī)圖2.1系統(tǒng)總體設(shè)計(jì)框圖本方案是由壓力傳感器、A/D模數(shù)轉(zhuǎn)換器、AT89C51單片機(jī)、LED顯示電路。壓力傳感器采集壓力信號(hào),將其轉(zhuǎn)換為相對(duì)應(yīng)的電壓信號(hào),將電壓信號(hào)輸送到A/D模數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號(hào),并送入到AT89C51單片機(jī)中,經(jīng)過單片機(jī)的數(shù)字濾波處理后,在通過PG160128的驅(qū)動(dòng)程序,將其顯示在LCD顯示器上。3系統(tǒng)硬件設(shè)計(jì)3.1AT89C51單片機(jī)3.1.1AT89C51單片機(jī)介紹〔1〕8051單片機(jī)在此單片機(jī)上集成了微處理器〔CPU〕,部數(shù)據(jù)存儲(chǔ)器〔RAM〕,以及輸入輸出端口。8051單片機(jī)采用40只引腳的雙列直插封裝方式,各引腳的功能如下:①時(shí)鐘引腳X1及X2:用于接晶體振蕩器,此次設(shè)計(jì)用的晶振頻率為6MHZ。②RESET腳:是復(fù)位信號(hào)輸入端,高電平有效。③ALE腳:地址鎖存允許信號(hào),用于鎖存單片機(jī)輸出的地址信號(hào),高電平有效④PSEN腳:程序存儲(chǔ)器輸出控制端,在單片機(jī)訪問外部程序存儲(chǔ)器時(shí),此引腳輸出的負(fù)脈沖作為讀外部程序存儲(chǔ)器的選通信號(hào),接至程序存儲(chǔ)器的OE端。低電平有效。⑤EA腳:其功能為外程序存儲(chǔ)器選擇控制端。當(dāng)EA為高電平時(shí),單片機(jī)訪問部程序存儲(chǔ)器,當(dāng)EA為低電平時(shí),單片機(jī)直接訪問片外程序存儲(chǔ)器。本設(shè)計(jì)用的是8031,由于8031部無(wú)程序存儲(chǔ)器,所以此引腳應(yīng)接地。低電平有效。⑥I/O口引腳:共4個(gè),分別是P0、P1、P2、P3,均為8位口。這4個(gè)I/O口可分別作為根本的Input、Output端口。其中P0口可作為數(shù)據(jù)總線和地址總線〔低8位〕分時(shí)復(fù)用的端口,P2口可作為地址總線的高8位,即P0口和P2口地起構(gòu)成16位地址總線,可供尋址的地址圍是:64KB。P3口具有第二功能,即可以產(chǎn)生中斷,定時(shí)計(jì)數(shù)等功能。⑦RD、WR引腳:為讀和寫選通信號(hào),RD用于將單片機(jī)的數(shù)據(jù)寫入外設(shè)中,WR用于從外設(shè)中讀取數(shù)據(jù)。低電平有效AT89C51系列單片機(jī)都是以8031為核心開展起來(lái)的,具有和51系列單片機(jī)及根本構(gòu)造和軟件特征,其部構(gòu)造如圖3-2所示:振蕩器及振蕩器及定時(shí)電路AT89C51CPU4K字節(jié)ROM128字節(jié)RAM2個(gè)16位定時(shí)器/計(jì)數(shù)器64K總線擴(kuò)展控制可編程I/O可編程串行口圖3-2AT89C51單片機(jī)框圖3.1.2選用AT89C51單片機(jī)原因在課程設(shè)計(jì)里所需外圍電路簡(jiǎn)單,在設(shè)計(jì)里面使用的引腳較少,占用的資源也比擬少。而且該芯片是以AT89C51為核心,性能價(jià)格比高,應(yīng)用成熟,且對(duì)其部構(gòu)造較為熟悉,芯片功能夠用而且適用,從而選用AT89C51單片機(jī)作為主控芯片。3.2時(shí)鐘電路 本設(shè)計(jì)采用部時(shí)鐘方式的電路。AT89C51單片機(jī)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。電路中的電容C1和C2典型值通常選擇為33pF左右。晶體的振蕩頻率的圍通常是在1.2MHZ~12MHZ之間。晶體的頻率越高,那么系統(tǒng)的時(shí)鐘頻率也就越高,單片機(jī)的運(yùn)行速度也就越快。.圖3-3時(shí)鐘電路3.3復(fù)位電路 復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。本次設(shè)計(jì)采用上電復(fù)位電路。上電復(fù)位電路是在上電瞬間來(lái)實(shí)現(xiàn)的,其電路如圖3-4所示。上電時(shí),RESET端維持兩個(gè)機(jī)器周期的高電平實(shí)現(xiàn)復(fù)位。圖3-4復(fù)位電路3.4PG160128A顯示電路PG160128A是一種圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動(dòng)器/列驅(qū)動(dòng)器及格160×128全點(diǎn)陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示10×8個(gè)(16×16點(diǎn)陣)漢字。主要技術(shù)參數(shù)和性能:模塊自帶-15負(fù)壓,用于LCD的驅(qū)動(dòng)電壓電源VDD:+5V;2.顯示容:160(列)×128(行)點(diǎn)3.全屏幕點(diǎn)陣4.十三種指令5.與CPU接口采用8位數(shù)據(jù)總線并行輸入輸出6.占空比1/1287.工作溫度:-10℃∽+55℃,存儲(chǔ)溫度:-20℃∽+70℃這里通過PG160128A來(lái)顯示相關(guān)信息圖3-5顯示電路ADC0832是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片。學(xué)習(xí)并使用ADC0832可是使我們了解A/D轉(zhuǎn)換器的原理,有助于我們單片機(jī)技術(shù)水平的提高。這里通過ADC0832將壓力傳感器輸出的電壓信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),并送入到單片機(jī)中進(jìn)展處理。3.5A/D轉(zhuǎn)換電路4系統(tǒng)軟件設(shè)計(jì)4.1主程序框圖開場(chǎng)開場(chǎng)(1)主程序流程框圖如下:(2)信號(hào)采集子程序框圖如下:開場(chǎng)開場(chǎng)置數(shù)據(jù)區(qū)首地址信號(hào)采集置數(shù)據(jù)區(qū)首地址信號(hào)采集設(shè)置采集個(gè)數(shù)求出壓力值設(shè)置采集個(gè)數(shù)求出壓力值A(chǔ)/D轉(zhuǎn)換開場(chǎng)LCD顯示數(shù)值A(chǔ)/D轉(zhuǎn)換開場(chǎng)LCD顯示數(shù)值等待轉(zhuǎn)換完畢等待轉(zhuǎn)換完畢儲(chǔ)存,轉(zhuǎn)換中斷開場(chǎng)設(shè)置數(shù)據(jù)存儲(chǔ)區(qū)首址設(shè)置采集數(shù)據(jù)個(gè)數(shù)儲(chǔ)存,轉(zhuǎn)換中斷開場(chǎng)設(shè)置數(shù)據(jù)存儲(chǔ)區(qū)首址設(shè)置采集數(shù)據(jù)個(gè)數(shù)對(duì)數(shù)據(jù)進(jìn)展處理恢復(fù)現(xiàn)場(chǎng)返回圖4-3數(shù)字濾波流程框圖波流程框圖4.2顯示子程序框開場(chǎng)開場(chǎng)初始化調(diào)用顯示函數(shù)返回圖4-4顯示子程序流程圖5系統(tǒng)調(diào)試過程通過上面的設(shè)計(jì),設(shè)計(jì)已經(jīng)根本完成。下面主要實(shí)現(xiàn)AltiumDesigner的原理圖、印制板圖的繪制和做相關(guān)檢測(cè),對(duì)Keil進(jìn)展相應(yīng)的檢查和調(diào)試,并用Proteus對(duì)所設(shè)計(jì)系統(tǒng)進(jìn)展仿真。5.1原理圖和印制板圖繪制和檢查5.1.1在protel99se繪制原理圖并進(jìn)展相應(yīng)的ERC檢查圖5-1原理圖的繪制繪制完原理圖之后,對(duì)原理圖進(jìn)展編譯檢測(cè),ERC檢測(cè)結(jié)果。5.1.2在PROTEL99SE生成PCB圖在創(chuàng)立完原理圖后,對(duì)各元器件的引腳進(jìn)展封裝,在原理圖中創(chuàng)立網(wǎng)絡(luò)表(NET),然后再PROTEL99S中新建PCB,對(duì)于生成的PCB圖中各器件進(jìn)展調(diào)整,并布線,最終生圖5-2生成PCB圖5.2Keil程序調(diào)試程序調(diào)試結(jié)果如下所示:creatinghexfilefrom"壓力檢測(cè)系統(tǒng)"..."壓力檢測(cè)系統(tǒng)"-0Error(s),0Warning(s).5.3Proteus仿真調(diào)試在Proteus中建立仿真圖。按下開場(chǎng)仿真按鈕,開場(chǎng)進(jìn)展仿真實(shí)驗(yàn),結(jié)果如圖5-4,圖5-5,圖5-6所示:圖5-4Proteus仿真圖圖5-5Proteus仿真圖圖5-6Proteus仿真圖仿真電路圖中實(shí)現(xiàn)對(duì)壓力檢測(cè)的控制,輸出到PG160128A顯示。結(jié)論通過MPX4250檢測(cè)到壓力信號(hào),轉(zhuǎn)換為電壓值,然后通過ADC0832轉(zhuǎn)換后產(chǎn)生一個(gè)數(shù)字信號(hào)輸入到AT89C51單片機(jī)中進(jìn)展處理,再通過單片機(jī)驅(qū)動(dòng)PG160128A顯示壓力的相關(guān)信息。由于顯示程序的復(fù)雜性,所以選用了C語(yǔ)言作為開放程序加快了開發(fā)進(jìn)度。本次設(shè)計(jì)由于時(shí)間較為倉(cāng)促,難免考慮不周全,還有許多功能需要完善,這需要下來(lái)再去深究。在本次課程設(shè)計(jì)里面,我把電路和單片機(jī)必備的一些根本操作技能再次熟悉了一遍。對(duì)于壓力檢測(cè),我只進(jìn)展了最簡(jiǎn)單的程序編寫和仿真,而往往在實(shí)際中是作為一個(gè)系統(tǒng)中的很小子環(huán)節(jié)來(lái)進(jìn)展應(yīng)用的,所以還需要我進(jìn)一步學(xué)習(xí)更多的單片機(jī)及相關(guān)測(cè)試傳感器知識(shí)。致本課題在選題及進(jìn)展過程中得到宋教師的悉心指導(dǎo)。論文行文過程中,宋教師屢次幫助我分析思路,開拓視角,在我遇到困難想放棄的時(shí)候給予我最大的支持和鼓勵(lì)。宋教師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,踏實(shí)堅(jiān)韌的工作精神,將使我終生受益。再多華美的言語(yǔ)也顯得蒼白。在此,謹(jǐn)向宋教師致以誠(chéng)摯的意和崇高的敬意。
參考文獻(xiàn)附錄一程序源代碼//名稱:160128液晶顯示當(dāng)前壓力#include<AT89X52.H>#include<showfun.h>#include<stdio.h>#include<math.h>#include<stdarg.h>#include<string.h>#include<intrins.h>#defineHZ_CHR_HEIGHT12#defineHZ_CHR_WIDTH12#include<absacc.h>#include<string.h>#defineucharunsignedchar#defineuintunsignedintexterncharfnLCMInit();//LCD初始化externvoidfnSetPos(unsignedcharurow,unsignedcharucol);//設(shè)置當(dāng)前地址externuchardprintf(ucharx,uchary,char*fmt);//ASCII(8*16)及漢字〔16*16〕顯示函數(shù)sbitCS=P3^4;sbitCLK=P3^2;sbitDI0=P3^3;uinttheLastTime;//一次鳴響持續(xù)次數(shù)unsignedchardsp[4];//作為壓力存儲(chǔ)傳入函數(shù)顯示ucharGet_AD_Result(){uchari,dat1=0,dat2=0;CS=0;CLK=0;//起始控制位DI0=1;_nop_();_nop_();CS=0;_nop_();_nop_();CLK=1;_nop_();_nop_();//第一個(gè)下降沿之前,設(shè)DI=1/0//選擇單端/差分〔SGL/DIF〕模式中的單端輸入模式CLK=0;DI0=1;_nop_();_nop_();CLK=1;_nop_();_nop_();//第二個(gè)下降沿之前,設(shè)DI=0/1,選擇CH0/CH1CLK=0;DI0=0;_nop_();_nop_();CLK=1;DI0=1;_nop_();_nop_();//第三個(gè)下降沿之前,設(shè)DI=1CLK=0;DI0=1;_nop_();_nop_();//第4-11個(gè)下降沿讀數(shù)據(jù)〔MSB->LSB〕for(i=0;i<8;i++){CLK=1;_nop_();_nop_();CLK=0;_nop_();_nop_();dat1=dat1<<1|DI0;}for(i=0;i<8;i++){dat2=dat2|((uchar)(DI0)<<i);CLK=1;_nop_();_nop_();CLK=0;_nop_();_nop_();}CS=1;return(dat1==dat2)"dat1:0;}unsignedchardsp[4];//作為壓力存儲(chǔ)傳入函數(shù)顯示voiddelay()//蜂鳴器鳴響間隔延時(shí){uinti,j=200;while(j--){for(i=0;i<=500;i++);}}voidmain(){ucharAD_Result;//獲取的AD值floatad=0;//當(dāng)前壓力值floatY1,Y2,dY;//限幅濾波dY=2;//定時(shí)器初始化fnLCMInit();fnSetPos(0,0);dprintf(30,12,"液晶屏顯示當(dāng)前壓力");dprintf(110,58,"千帕");AD_Result=Get_AD_Result();Y1=(AD_Result*5.0/255.0/5.1-0.04)/0.00369-3.45;while(1){AD_Result=Get_AD_Result();Y1=(AD_Result*5.0/255.0/5.1-0.04)/0.00369-3.45;if(abs(Y2-Y1)<=dY)//變化不能太快,否那么會(huì)失效{ad=Y2;Y1=Y2;}else{ad=Y1;}sprintf(dsp,"%-3.0f",ad);dprintf(82,58,dsp);}}//LCD顯示控制程序#defineASC_CHR_WIDTH8#defineASC_CHR_HEIGHT12//數(shù)字字符點(diǎn)陣庫(kù),粗體初號(hào),32*64點(diǎn)陣,32/8=4,每個(gè)數(shù)字需要4*64字節(jié),共10個(gè)數(shù)字charcodeMSK1[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};charcodeMSK2[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};codeucharconstuPowArr[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};ucharcodeASC_MSK[58*10]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,//<0x20時(shí),打印此字0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//''0x00,0x30,0x78,0x78,0x78,0x30,0x30,0x00,0x30,0x30,0x00,0x00,//'!'0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//'"'0x00,0x6c,0x6c,0xfe,0x6c,0x6c,0x6c,0xfe,0x6c,0x6c,0x00,0x00,//'#'0x30,0x30,0x7c,0xc0,0xc0,0x78,0x0c,0x0c,0xf8,0x30,0x30,0x00,//'$'0x00,0x00,0x00,0xc4,0xcc,0x18,0x30,0x60,0xcc,0x8c,0x00,0x00,//'%'0x00,0x70,0xd8,0xd8,0x70,0xfa,0xde,0xcc,0xdc,0x76,0x00,0x00,//'&'0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//'''0x00,0x0c,0x18,0x30,0x60,0x60,0x60,0x30,0x18,0x0c,0x00,0x00,//'('0x00,0x60,0x30,0x18,0x0c,0x0c,0x0c,0x18,0x30,0x60,0x00,0x00,//')'0x00,0x00,0x00,0x66,0x3c,0xff,0x3c,0x66,0x00,0x00,0x00,0x00,//'*'0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00,//'+'0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x60,0x00,//','0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,//'-'0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x00,0x00,//'.'0x00,0x00,0x02,0x06,0x0c,0x18,0x30,0x60,0xc0,0x80,0x00,0x00,//'/'0x00,0x7c,0xc6,0xce,0xde,0xd6,0xf6,0xe6,0xc6,0x7c,0x00,0x00,//'0'0x00,0x10,0x30,0xf0,0x30,0x30,0x30,0x30,0x30,0xfc,0x00,0x00,//'1'0x00,0x78,0xcc,0xcc,0x0c,0x18,0x30,0x60,0xcc,0xfc,0x00,0x00,//'2'0x00,0x78,0xcc,0x0c,0x0c,0x38,0x0c,0x0c,0xcc,0x78,0x00,0x00,//'3'0x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x0c,0x1e,0x00,0x00,//'4'0x00,0xfc,0xc0,0xc0,0xc0,0xf8,0x0c,0x0c,0xcc,0x78,0x00,0x00,//'5'0x00,0x38,0x60,0xc0,0xc0,0xf8,0xcc,0xcc,0xcc,0x78,0x00,0x00,//'6'0x00,0xfe,0xc6,0xc6,0x06,0x0c,0x18,0x30,0x30,0x30,0x00,0x00,//'7'0x00,0x78,0xcc,0xcc,0xec,0x78,0xdc,0xcc,0xcc,0x78,0x00,0x00,//'8'0x00,0x78,0xcc,0xcc,0xcc,0x7c,0x18,0x18,0x30,0x70,0x00,0x00,//'9'0x00,0x00,0x00,0x38,0x38,0x00,0x00,0x38,0x38,0x00,0x00,0x00,//':'};typedefstructtypFNT_GB16//漢字字模顯示數(shù)據(jù)構(gòu)造{charIndex[2];charMsk[24];};structtypFNT_GB16codeGB_16[]={"液",0x01,0x00,0x41,0x00,0x2F,0xF0,0x84,0x80,0x54,0xE0,0x29,0x20,0x5A,0xA0,0xCD,0x40,0x49,0x40,0x48,0x80,0x49,0x40,0x4E,0x30,//"液1""晶",0x1F,0x80,0x10,0x80,0x1F,0x80,0x10,0x80,0x1F,0x80,0x00,0x00,0x7B,0xE0,0x4A,0x20,0x7B,0xE0,0x4A,0x20,0x7B,0xE0,0x00,0x00,//"晶1""屏",0x7F,0xE0,0x40,0x20,0x7F,0xE0,0x48,0x80,0x45,0x00,0x5F,0xE0,0x44,0x80,0x7F,0xF0,0x44,0x80,0x44,0x80,0x48,0x80,0x90,0x80,//"屏1""顯",0x00,0x40,0x3F,0xE0,0x20,0x40,0x3F,0xC0,0x20,0x40,0x3F,0xC0,0x49,0x00,0x29,0x20,0x29,0x40,0x29,0x80,0x09,0x20,0xFF,0xF0,//"顯1""示",0x00,0x40,0x7F,0xE0,0x00,0x00,0x00,0x20,0xFF,0xF0,0x02,0x00,0x12,0x80,0x12,0x40,0x22,0x20,0x42,0x10,0x8A,0x10,0x04,0x00,//"示1""當(dāng)",0x04,0x00,0x44,0x40,0x24,0x80,0x04,0x00,0x7F,0xC0,0x00,0x40,0x00,0x40,0x3F,0xC0,0x00,0x40,0x00,0x40,0x7F,0xC0,0x00,0x40,//"當(dāng)1""前",0x20,0x80,0x11,0x00,0xFF,0xE0,0x00,0x00,0x7C,0x40,0x45,0x40,0x7D,0x40,0x45,0x40,0x7D,0x40,0x45,0x40,0x44,0x40,0x4C,0xC0,//"前1""壓",0x00,0x00,0x7F,0xE0,0x40,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x5F,0xC0,0x42,0x00,0x42,0x80,0x42,0x40,0x42,0x00,0xBF,0xE0,//"壓1""力",0x08,0x00,0x08,0x00,0xFF,0xC0,0x08,0x40,0x08,0x40,0x08,0x40,0x08,0x40,0x10,0x40,0x10,0x40,0x20,0x40,0x40,0x40,0x83,0x80,//"力1""千",0x00,0x00,0x03,0xC0,0x7C,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xE0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,//"千1""帕",0x20,0x80,0x21,0x00,0xFB,0xE0,0xAA,0x20,0xAA,0x20,0xAA,0x20,0xAB,0xE0,0xAA,0x20,0xAA,0x20,0xBA,0x20,0x23,0xE0,0x22,0x20,//"帕1"};uchargCurRow,gCurCol;//圖形當(dāng)前行.列存儲(chǔ),行高16點(diǎn),列寬8點(diǎn)uchartCurRow,tCurCol;//文本當(dāng)前行.列存儲(chǔ),行高8點(diǎn),列寬8點(diǎn)ucharShowModeSW;//當(dāng)前顯示模式uinttxthome,grhome;ucharfnST01();//狀態(tài)位STA1,STA0判斷ucharfnST3();//狀態(tài)位ST3判斷ucharfnPR1(ucharuCmd,ucharuPar1,ucharuPar2);//寫雙參數(shù)的指令ucharfnPR11(ucharuCmd,ucharuParl);//寫單參數(shù)的指令ucharfnPR12(ucharuCmd);//寫無(wú)參數(shù)的指令ucharfnPR13(ucharuData);//寫數(shù)據(jù)ucharfnPR2();//讀數(shù)據(jù)voidfnSetPos(ucharurow,ucharucol);//設(shè)置當(dāng)前地址charfnLCMInit();//LCM初始化uchardprintf(ucharx,uchary,char*fmt);voidOutToLCD(ucharDat,ucharx,uchary);//顯示輔助函數(shù)ucharfnST01()//狀態(tài)位STA1,STA0判斷〔讀寫指令和讀寫數(shù)據(jù){uchari;for(i=10;i>0;i--){if((LCMCW&0x03)==0x03)break;}returni;//假設(shè)返回0,說(shuō)明錯(cuò)誤}ucharfnST3(void)//狀態(tài)位ST3判斷〔數(shù)據(jù)自動(dòng)寫狀態(tài)〕{uchari;for(i=10;i>0;i--){if((LCMCW&0x08)==0x08)break;}returni;//假設(shè)返回0,說(shuō)明錯(cuò)誤}ucharfnPR1(ucharuCmd,ucharuPar1,ucharuPar2)//寫雙參數(shù)的指令{if(fnST01()==0)return1;LCMDW=uPar1;if(fnST01()==0)return2;LCMDW=uPar2;if(fnST01()==0)return3;LCMCW=uCmd;return0;//返回0成功}ucharfnPR11(ucharuCmd,ucharuParl)//寫單參數(shù)的指令{if(fnST01()==0)return1;LCMDW=uParl;if(fnST01()==0)return2;LCMCW=uCmd;return0;//返回0成功}ucharfnPR12(ucharuCmd)//寫無(wú)參數(shù)的指令{if(fnST01()==0)return1;LCMCW=uCmd;return0;//返回0成功}ucharfnPR13(ucharuData)//寫數(shù)據(jù){if(fnST3()==0)return1;LCMDW=uData;return0;//返回0成功}ucharfnPR2(void)//讀數(shù)據(jù){if(fnST01()==0)return1;returnLCMDW;}voidfnSetPos(ucharurow,ucharucol)//設(shè)置當(dāng)前地址{uintiPos;iPos=urow*20+ucol;fnPR1(LC_ADD_POS,iPos&0xFF,iPos/256);gCurRow=urow;gCurCol=ucol;}charfnLCMInit(void)//LCM初始化{reset=0;reset=1;fnPR1(LC_TXT_STP,0x00,0x00);//文本顯示區(qū)首地址fnPR1(LC_TXT_WID,0x14,0x00);//文本顯示區(qū)寬度f(wàn)nPR1(LC_GRH_STP,0x00,0x00);//圖形顯示區(qū)首地址fnPR1(LC_GRH_WID,0x14,0x00);//文本顯示區(qū)寬度f(wàn)nPR11(LC_CGR_POS,CGRAMSTART>>11);fnPR12(LC_CUR_SHP|0x01);//光標(biāo)形狀fnPR12(LC_MOD_OR);//顯示方式設(shè)置fnPR12(LC_DIS_SW|0x08);grhome=GRSTART;txthome=TXTSTART;return0;}uchardprintf(ucharx,uchary,char*fmt)//ASCII及漢字顯示函數(shù){charc1,c2,cData;uchari=0,j,uLen;uchark;uLen=strlen(fmt);while(i<uLen){c1=fmt[i];c2=fmt[i+1];fnSetPos(y,x/8);if(c1>=0){//ASCIIif(c1<0x20){switch(c1){caseCR:caseLF://回車或換行i++;x=0;if(y<112)y+=HZ
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大棚辣椒多種常發(fā)病蟲害的發(fā)生特點(diǎn)及針對(duì)性高效防治措施
- 黑龍江省大慶市肇源縣開學(xué)聯(lián)考2024-2025學(xué)年七年級(jí)下學(xué)期開學(xué)考試歷史試題(原卷版+解析版)
- 住房保障與城鎮(zhèn)化的相互促進(jìn)策略
- 智能制造的生態(tài)系統(tǒng)與平臺(tái)的策略及實(shí)施路徑
- 智研咨詢發(fā)布:LED路燈行業(yè)市場(chǎng)動(dòng)態(tài)分析、發(fā)展方向及投資前景分析報(bào)告
- 2025年中國(guó)靈巧手行業(yè)市場(chǎng)規(guī)模、行業(yè)集中度及發(fā)展前景研究報(bào)告
- 【專精特新】AI芯片企業(yè)專精特新“小巨人”成長(zhǎng)之路(智研咨詢)
- 土壤污染防治策略與路徑
- 核心素養(yǎng)視域下高中政治活動(dòng)課教學(xué)的實(shí)踐與研究
- 2025年全液壓自行式大口徑工程鉆機(jī)項(xiàng)目建議書
- ad-hoc第二章-ad-hoc網(wǎng)絡(luò)中的MAC協(xié)議
- 建筑工程施工質(zhì)量控制PPT課件
- 心性修煉與教育智慧
- 拉沙熱預(yù)防控制技術(shù)指南、拉沙熱診斷和治療方案
- 二手房買賣合同正式版空白
- 西方企業(yè)組織變革理論綜述
- 結(jié)構(gòu)力學(xué)中必須掌握的彎矩圖
- 氫化物(蒸氣)發(fā)生-原子熒光講義
- 國(guó)家二字碼大全--253個(gè)國(guó)家
- (完整版)螺旋鉆孔灌注樁施工工藝
- 公務(wù)接待制度公務(wù)接待審批單公務(wù)接待清單
評(píng)論
0/150
提交評(píng)論