版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
.PAGE.XX華信學院課程設計說明書題目:智能壓力測量儀__楊巍院〔系:機電工程學院專業(yè)__電氣工程三班學號:1102120310指導宋東亞楊坤漓成績:時間:20XX12月17日至2013年12月28日XX華信學院課程設計任務書題目智能壓力測量儀專業(yè)、班級電氣工程及其自動化三班學號1102120310姓名楊巍主要內(nèi)容:利用單片機計一個智能壓力測量儀,要求顯示壓力數(shù)據(jù)?;疽螅?.設計一個智能壓力測量儀,要求顯示當前壓力數(shù)值。2.利用proteus軟件完成設計電路和仿真;3.掌握并口驅動數(shù)碼管動態(tài)顯示的方法;4.通過此次設計將單片機軟硬件結合起來對程序進行編輯、校驗,鍛煉實踐能力和理論聯(lián)系實際的能力。主要參考資料:[1]李全利,單片機原理及接口技術[M],高等教育出版社[2]王文杰,單片機應用技術[M],冶金工業(yè)出版社[3]朱清慧,PROTEUS教程——電子線路設計、制版與仿真[M],清華大學出版社[4]單片機實驗指導書,天煌教儀[5]彭偉,單片機C語言程序設計實訓100例[M],電子工業(yè)出版社完成期限:指導教師簽名:課程負責人簽名:年月日目錄摘要-2-1引言-2-1.1問題的提出-2-1.2任務與分析-3-2方案設計-3-2.1系統(tǒng)方案設計論證-3-系統(tǒng)的控制方案設計-3-2.2最終設計方案總體設計框圖-3-3系統(tǒng)硬件設計-4-3.1AT89C51單片機-4-3.1.1AT89C51單片機介紹-4-3.1.2選用AT89C51單片機原因-6-3.2時鐘電路-6-3.3復位電路-6-3.4PG160128A顯示電路-7-3.5A/D轉換電路-8-4系統(tǒng)軟件設計-9-4.1主程序框圖-9-4.2顯示子程序框-10-5系統(tǒng)調試過程-10-5.2Keil程序調試-12-5.3Proteus仿真調試-12-結論-15-致謝-16-參考文獻-16-附錄一程序源代碼-16-附錄二電路原理圖及PCB圖-32-附錄三Proteus仿真截圖-33-摘要本課程設計是基于8051單片機為控制核心的壓力檢測系統(tǒng)。在硬件電路部分,此設計的采用8051單片機,ADC0832轉換器,本設計先測量出壓力的電信號,然后通過單片機對所測出的壓力值,并通過LCD顯示壓力數(shù)值。關鍵詞:8051單片機、壓力檢測、LCD顯示、1引言1.1問題的提出隨著電子化程度越來越高,通過增加更多的電子裝置,使機器工作在更好的狀態(tài),充分發(fā)揮機器的性能,保證機器的安全性,減少機器故障率,增加機器壽命等,具有重要的意義。1.2任務與分析本設計的主要任務就是利用單片機實現(xiàn)壓力的檢測功能。檢測壓力檢測系統(tǒng)所具有的功能如下:壓力檢測系統(tǒng)是通過聲音和文字信息來體現(xiàn)壓力的狀態(tài)。該系統(tǒng)利用8051單片機作為微控制器,通過壓變式壓力傳感器對壓力進行信號檢測,傳感器輸出信號經(jīng)數(shù)字濾波及A/D轉換后輸入ECU,經(jīng)計算后在LED屏幕上顯示壓力。2方案設計2.1系統(tǒng)方案設計論證2.1.1系統(tǒng)的控制方案設計檢測壓力傳感器MPX4250檢測到壓力信號后,通過ADC0832轉換后送入AT89C51單片機,單片機對數(shù)據(jù)進行處理,顯示等。2.2最終設計方案總體設計框圖A/D傳感器壓力傳感器A/D傳感器壓力傳感器LCD顯示壓力LCD顯示壓力80C51單片機圖2.1系統(tǒng)總體設計框圖本方案是由壓力傳感器、A/D模數(shù)轉換器、AT89C51單片機、LED顯示電路。壓力傳感器采集壓力信號,將其轉換為相對應的電壓信號,將電壓信號輸送到A/D模數(shù)轉換器轉換為數(shù)字信號,并送入到AT89C51單片機中,經(jīng)過單片機的數(shù)字濾波處理后,在通過PG160128的驅動程序,將其顯示在LCD顯示器上。3系統(tǒng)硬件設計3.1AT89C51單片機3.1.1AT89C51單片機介紹〔18051單片機在此單片機上集成了微處理器〔CPU,內(nèi)部數(shù)據(jù)存儲器〔RAM,以及輸入輸出端口。8051單片機采用40只引腳的雙列直插封裝方式,各引腳的功能如下:①時鐘引腳X1及X2:用于接晶體振蕩器,此次設計用的晶振頻率為6MHZ。②RESET腳:是復位信號輸入端,高電平有效。③ALE腳:地址鎖存允許信號,用于鎖存單片機輸出的地址信號,高電平有效④PSEN腳:程序存儲器輸出控制端,在單片機訪問外部程序存儲器時,此引腳輸出的負脈沖作為讀外部程序存儲器的選通信號,接至程序存儲器的OE端。低電平有效。⑤EA腳:其功能為內(nèi)外程序存儲器選擇控制端。當EA為高電平時,單片機訪問內(nèi)部程序存儲器,當EA為低電平時,單片機直接訪問片外程序存儲器。本設計用的是8031,由于8031內(nèi)部無程序存儲器,所以此引腳應接地。低電平有效。⑥I/O口引腳:共4個,分別是P0、P1、P2、P3,均為8位口。這4個I/O口可分別作為基本的Input、Output端口。其中P0口可作為數(shù)據(jù)總線和地址總線〔低8位分時復用的端口,P2口可作為地址總線的高8位,即P0口和P2口地起構成16位地址總線,可供尋址的地址范圍是:64KB。P3口具有第二功能,即可以產(chǎn)生中斷,定時計數(shù)等功能。⑦RD、WR引腳:為讀和寫選通信號,RD用于將單片機的數(shù)據(jù)寫入外設中,WR用于從外設中讀取數(shù)據(jù)。低電平有效AT89C51系列單片機都是以8031為核心發(fā)展起來的,具有和51系列單片機及基本結構和軟件特征,其內(nèi)部結構如圖3-2所示:振蕩器及振蕩器及定時電路AT89C51CPU4K字節(jié)ROM128字節(jié)RAM2個16位定時器/計數(shù)器64K總線擴展控制可編程I/O可編程串行口圖3-2AT89C51單片機框圖3.1.2選用AT89C51單片機原因在課程設計里所需外圍電路簡單,在設計里面使用的引腳較少,占用的資源也比較少。而且該芯片是以AT89C51為核心,性能價格比高,應用成熟,且對其內(nèi)部結構較為熟悉,芯片功能夠用而且適用,從而選用AT89C51單片機作為主控芯片。3.2時鐘電路 本設計采用內(nèi)部時鐘方式的電路。AT89C51單片機內(nèi)部有一個用于構成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體振蕩器和微調電容,就構成了一個穩(wěn)定的自激振蕩器。電路中的電容C1和C2典型值通常選擇為33pF左右。晶體的振蕩頻率的范圍通常是在1.2MHZ~12MHZ之間。晶體的頻率越高,則系統(tǒng)的時鐘頻率也就越高,單片機的運行速度也就越快。.圖3-3時鐘電路3.3復位電路 復位電路通常采用上電自動復位和按鈕復位兩種方式。本次設計采用上電復位電路。上電復位電路是在上電瞬間來實現(xiàn)的,其電路如圖3-4所示。上電時,RESET端維持兩個機器周期的高電平實現(xiàn)復位。圖3-4復位電路3.4PG160128A顯示電路PG160128A是一種圖形點陣液晶顯示器,它主要由行驅動器/列驅動器及格160×128全點陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示10×8個<16×16點陣>漢字。主要技術參數(shù)和性能:模塊內(nèi)自帶-15負壓,用于LCD的驅動電壓電源VDD:+5V;2.顯示內(nèi)容:160<列>×128<行>點3.全屏幕點陣4.十三種指令5.與CPU接口采用8位數(shù)據(jù)總線并行輸入輸出6.占空比1/1287.工作溫度:-10℃∽+55℃,存儲溫度:-20℃∽+70℃這里通過PG160128A來顯示相關信息圖3-5顯示電路ADC0832是美國國家半導體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉換芯片。學習并使用ADC0832可是使我們了解A/D轉換器的原理,有助于我們單片機技術水平的提高。這里通過ADC0832將壓力傳感器輸出的電壓信號轉換為數(shù)字信號,并送入到單片機中進行處理。3.5A/D轉換電路4系統(tǒng)軟件設計4.1主程序框圖開始開始<1>主程序流程框圖如下:<2>信號采集子程序框圖如下:開始開始置數(shù)據(jù)區(qū)首地址信號采集置數(shù)據(jù)區(qū)首地址信號采集設置采集個數(shù)求出壓力值設置采集個數(shù)求出壓力值A/D轉換開始LCD顯示數(shù)值A/D轉換開始LCD顯示數(shù)值等待轉換結束等待轉換結束儲存,轉換中斷開始設置數(shù)據(jù)存儲區(qū)首址設置采集數(shù)據(jù)個數(shù)儲存,轉換中斷開始設置數(shù)據(jù)存儲區(qū)首址設置采集數(shù)據(jù)個數(shù)對數(shù)據(jù)進行處理恢復現(xiàn)場返回圖4-3數(shù)字濾波流程框圖波流程框圖4.2顯示子程序框開始開始初始化調用顯示函數(shù)返回圖4-4顯示子程序流程圖5系統(tǒng)調試過程通過上面的設計,設計已經(jīng)基本完成。下面主要實現(xiàn)AltiumDesigner的原理圖、印制板圖的繪制和做相關檢測,對Keil進行相應的檢查和調試,并用Proteus對所設計系統(tǒng)進行仿真。5.1原理圖和印制板圖繪制和檢查5.1.1在protel99se繪制原理圖并進行相應的ERC檢查圖5-1原理圖的繪制繪制完原理圖之后,對原理圖進行編譯檢測,ERC檢測結果。5.1.2在PROTEL99SE生成PCB圖在創(chuàng)建完原理圖后,對各元器件的引腳進行封裝,在原理圖中創(chuàng)建網(wǎng)絡表<NET>,然后再PROTEL99S中新建PCB,對于生成的PCB圖中各器件進行調整,并布線,最終生圖5-2生成PCB圖5.2Keil程序調試程序調試結果如下所示:creatinghexfilefrom"壓力檢測系統(tǒng)"..."壓力檢測系統(tǒng)"-0Error<s>,0Warning<s>.5.3Proteus仿真調試在Proteus中建立仿真圖。按下開始仿真按鈕,開始進行仿真實驗,結果如圖5-4,圖5-5,圖5-6所示:圖5-4Proteus仿真圖圖5-5Proteus仿真圖圖5-6Proteus仿真圖仿真電路圖中實現(xiàn)對壓力檢測的控制,輸出到PG160128A顯示。結論通過MPX4250檢測到壓力信號,轉換為電壓值,然后通過ADC0832轉換后產(chǎn)生一個數(shù)字信號輸入到AT89C51單片機中進行處理,再通過單片機驅動PG160128A顯示壓力的相關信息。由于顯示程序的復雜性,所以選用了C語言作為開放程序加快了開發(fā)進度。本次設計由于時間較為倉促,難免考慮不周全,還有許多功能需要完善,這需要下來再去深究。在本次課程設計里面,我把電路和單片機必備的一些基本操作技能再次熟悉了一遍。對于壓力檢測,我只進行了最簡單的程序編寫和仿真,而往往在實際中是作為一個系統(tǒng)中的很小子環(huán)節(jié)來進行應用的,所以還需要我進一步學習更多的單片機及相關測試傳感器知識。致謝本課題在選題及進行過程中得到宋老師的悉心指導。論文行文過程中,宋老師多次幫助我分析思路,開拓視角,在我遇到困難想放棄的時候給予我最大的支持和鼓勵。宋老師嚴謹求實的治學態(tài)度,踏實堅韌的工作精神,將使我終生受益。再多華麗的言語也顯得蒼白。在此,謹向宋老師致以誠摯的謝意和崇高的敬意。
參考文獻附錄一程序源代碼//名稱:160128液晶顯示當前壓力#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>;//設置當前地址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];//作為壓力存儲傳入函數(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_<>;//第一個下降沿之前,設DI=1/0//選擇單端/差分〔SGL/DIF模式中的單端輸入模式CLK=0;DI0=1;_nop_<>;_nop_<>;CLK=1;_nop_<>;_nop_<>;//第二個下降沿之前,設DI=0/1,選擇CH0/CH1CLK=0;DI0=0;_nop_<>;_nop_<>;CLK=1;DI0=1;_nop_<>;_nop_<>;//第三個下降沿之前,設DI=1CLK=0;DI0=1;_nop_<>;_nop_<>;//第4-11個下降沿讀數(shù)據(jù)〔MSB->LSBfor<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];//作為壓力存儲傳入函數(shù)顯示voiddelay<>//蜂鳴器鳴響間隔延時{uinti,j=200;while<j-->{for<i=0;i<=500;i++>;}}voidmain<>{ucharAD_Result;//獲取的AD值floatad=0;//當前壓力值floatY1,Y2,dY;//限幅濾波dY=2;//定時器初始化fnLCMInit<>;fnSetPos<0,0>;dprintf<30,12,"液晶屏顯示當前壓力">;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>//變化不能太快,否則會失效{ad=Y2;Y1=Y2;}else{ad=Y1;}sprintf<dsp,"%-3.0f",ad>;dprintf<82,58,dsp>;}}//LCD顯示控制程序#defineASC_CHR_WIDTH8#defineASC_CHR_HEIGHT12//數(shù)字字符點陣庫,粗體初號,32*64點陣,32/8=4,每個數(shù)字需要4*64字節(jié),共10個數(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時,打印此字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ù)結構{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""當",0x04,0x00,0x44,0x40,0x24,0x80,0x04,0x00,0x7F,0xC0,0x00,0x40,0x00,0x40,0x3F,0xC0,0x00,0x40,0x00,0x40,0x7F,0xC0,0x00,0x40,//"當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;//圖形當前行.列存儲,行高16點,列寬8點uchartCurRow,tCurCol;//文本當前行.列存儲,行高8點,列寬8點ucharShowModeSW;//當前顯示模式uinttxthome,grhome;ucharfnST01<>;//狀態(tài)位STA1,STA0判斷ucharfnST3<>;//狀態(tài)位ST3判斷ucharfnPR1<ucharuCmd,ucharuPar1,ucharuPar2>;//寫雙參數(shù)的指令ucharfnPR11<ucharuCmd,ucharuParl>;//寫單參數(shù)的指令ucharfnPR12<ucharuCmd>;//寫無參數(shù)的指令ucharfnPR13<ucharuData>;//寫數(shù)據(jù)ucharfnPR2<>;//讀數(shù)據(jù)voidfnSetPos<ucharurow,ucharucol>;//設置當前地址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;//若返回0,說明錯誤}ucharfnST3<void>//狀態(tài)位ST3判斷〔數(shù)據(jù)自動寫狀態(tài){uchari;for<i=10;i>0;i-->{if<<LCMCW&0x08>==0x08>break;}returni;//若返回0,說明錯誤}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>//寫無參數(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>//設置當前地址{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ū)寬度fnPR1<LC_GRH_STP,0x00,0x00>;//圖形顯示區(qū)首地址fnPR1<LC_GRH_WID,0x14,0x00>;//文本顯示區(qū)寬度fnPR11<LC_CGR_POS,CGRAMSTART>>11>;fnPR12<LC_CUR_SHP|0x01>;//光標形狀fnPR12<LC_MOD_OR>;//顯示方式設置fnPR12<LC_DIS_SW|0x08>;grhome=GRSTART;txthome=TXTSTART;return0;}uchardprintf<ucharx,uchary,char*fmt>//ASCII及漢字顯示函數(shù){charc1,c2,cData;uchari=0,j,u
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年消防排煙系統(tǒng)工程承攬協(xié)議細則版
- 2025版金融設備采購合同范本(含數(shù)據(jù)安全)2篇
- 2025版物流公司股份合作與優(yōu)化升級協(xié)議范本3篇
- 二零二五年國家安全領域人員保密責任書及保密審查合同3篇
- 2025版租賃商務辦公場所合同模板3篇
- 2025版數(shù)碼產(chǎn)品寄售代理銷售協(xié)議3篇
- 2025版現(xiàn)代化辦公場所租賃合同
- 2025年建筑園藝材料租賃與景觀設計合同3篇
- 2024年跨境電商服務協(xié)議
- 課題申報書:大模型驅動新材料研發(fā)創(chuàng)新:技術邏輯、生態(tài)重構與治理規(guī)則
- 山東省濱州市2023-2024學年高一上學期1月期末考試 政治 含答案
- 電力行業(yè)電力調度培訓
- 【MOOC】氣排球-東北大學 中國大學慕課MOOC答案
- 全力以赴備戰(zhàn)期末-2024-2025學年上學期備戰(zhàn)期末考試主題班會課件
- 《慶澳門回歸盼祖國統(tǒng)一》主題班會教案
- 物流公司自然災害、突發(fā)性事件應急預案(2篇)
- 《視頻拍攝與制作:短視頻?商品視頻?直播視頻(第2版)》-課程標準
- 公司戰(zhàn)略與風險管理戰(zhàn)略實施
- 2024年-2025年《農(nóng)作物生產(chǎn)技術》綜合知識考試題庫及答案
- 洗衣房工作人員崗位職責培訓
- 廣東省深圳市光明區(qū)2022-2023學年五年級上學期數(shù)學期末試卷(含答案)
評論
0/150
提交評論