




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上目錄1、 設(shè)計(jì)內(nèi)容和要求.22、 系統(tǒng)總體結(jié)構(gòu).3 2.1、系統(tǒng)總體設(shè)計(jì).3 2.2、主控部分的選擇.43、 最小系統(tǒng).64、 硬件設(shè)計(jì).641 總體設(shè)計(jì)框圖.642 電壓測(cè)量的設(shè)計(jì).74.3 模數(shù)ADC轉(zhuǎn)換的設(shè)計(jì).7 4.4 液晶顯示電路的設(shè)計(jì).85、 輸入、輸出部分.96、 軟件設(shè)計(jì).10 6.1主控程序流程.10 6.2軟件仿真.117、 實(shí)物制作與仿真.128、 總結(jié).139、 參考文獻(xiàn).14附錄1 原件清單.15附錄2 原理圖.16附錄3 程序.17附錄4 實(shí)物圖.31第1章 設(shè)計(jì)內(nèi)容和要求 隨著現(xiàn)代科技的飛速發(fā)展,生產(chǎn)生活中人們對(duì)工具的要約越來(lái)越高。其中我
2、日常所使用的電阻表的精度和性能也要求越來(lái)越高。并且電阻表完全可以通過(guò)現(xiàn)代科技來(lái)實(shí)現(xiàn)智能化,智能化即不需要人工來(lái)調(diào)節(jié)檔位,測(cè)量不同阻值的電阻時(shí),可以自動(dòng)更換檔位。并且同時(shí)顯示出阻值和量程。這次課程設(shè)計(jì)我的課題就是基于單片機(jī)芯片STC89C52設(shè)計(jì)一個(gè)三檔位的電阻表,第一檔位:1-100歐,第二檔:1-5k歐,第三檔:1-10k歐。電阻表能自動(dòng)轉(zhuǎn)換量程,測(cè)量結(jié)果使用LCD顯示,誤差小于5%。設(shè)計(jì)內(nèi)容包括:1、單片機(jī)最小系統(tǒng)2、模數(shù)轉(zhuǎn)換3、電阻電壓轉(zhuǎn)換4、顯示測(cè)得的電阻阻值設(shè)計(jì)原理為通過(guò)伏安法測(cè)出電阻的阻值,經(jīng)過(guò)模數(shù)轉(zhuǎn)換,將測(cè)得的阻值顯示到LCD上。 第二章 系統(tǒng)總體結(jié)構(gòu)2.1系統(tǒng)總體設(shè)計(jì) 系統(tǒng)共分
3、為四個(gè)部分:電阻電壓轉(zhuǎn)換、模數(shù)轉(zhuǎn)換器、單片機(jī)、LCD顯示。2.2主控部分的選擇進(jìn)行深入的分析和思考,將本次設(shè)計(jì)系統(tǒng)分為一下幾個(gè)部分:A/D轉(zhuǎn)換電路、被測(cè)電阻、單片機(jī)系統(tǒng)、顯示電路、電機(jī)控制電位器電路。電源電路檔位選擇電路檔位電路顯示電路控制電路被測(cè)電阻A / D 轉(zhuǎn) 換 電 路 自動(dòng)測(cè)量電阻表系統(tǒng)框圖電阻的測(cè)量電路:電阻電壓轉(zhuǎn)換測(cè)量法,采用R/U轉(zhuǎn)換器將被測(cè)電阻轉(zhuǎn)換成電壓,經(jīng)轉(zhuǎn)換后得到的直流電壓經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號(hào),由單片機(jī)控制輸出顯示被測(cè)電阻值到LCD。電機(jī)控制電位器電路:采用繼電器作為檔位開(kāi)關(guān)控制,繼電器是一種電控制器件。它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路)之
4、間的互動(dòng)關(guān)系。通常應(yīng)用于自動(dòng)化的控制電路中,它實(shí)際上是用小電流去控制大電流的一種“自動(dòng)開(kāi)關(guān)”。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。采用2個(gè)繼電器分別控制不同電阻測(cè)試檔位。控制系統(tǒng)由單片機(jī)系統(tǒng)控制。A/D轉(zhuǎn)換器:選用ADC0832;ADC0832芯片是生產(chǎn)的一種8 、A/D轉(zhuǎn)換芯片。由于它體積小,兼容性,性價(jià)比高而深受單片機(jī)愛(ài)好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。其具有以下特點(diǎn): 雙通道A/D轉(zhuǎn)換; 輸入輸出電平與TTL/CMOS相兼容; 5V電源供電時(shí)輸入電壓在05V之間; 工作頻率為250KHZ,轉(zhuǎn)換時(shí)間為32S; 一般功耗僅為15mW; 8P、14PDIP(雙列直插)、P
5、ICC 多種封裝; 商用級(jí)芯片溫寬為0C to +70C,工業(yè)級(jí)芯片溫寬為40C to +85C;芯片接口說(shuō)明: CS_使能,低電平芯片使能。CH0 模擬輸入通道0,或作為IN+/-使用。 CH1 模擬輸入通道1,或作為IN+/-使用。 GND 芯片參考0 電位(地)。 DI 數(shù)據(jù)信號(hào)輸入,選擇通道控制。 DO 數(shù)據(jù)信號(hào)輸出,轉(zhuǎn)換。 CLK 芯片時(shí)鐘輸入。 Vcc/REF 電源輸入及參考電壓輸入(復(fù)用)。 ADC0832 為8A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級(jí),可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在05V之間。芯片轉(zhuǎn)換時(shí)間僅為32S,據(jù)有雙可
6、作為,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過(guò)DI 數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。單片機(jī):AT89C52;顯示器:選用LCD1602。工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。1602液晶也叫1602字符型液晶,它是一種專門用來(lái)顯示字母、數(shù)字、符號(hào)等的型液晶模塊。它由若干個(gè)5X7或者5X11等字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形。特性:3.3V或5V工作電壓,對(duì)比度可調(diào);內(nèi)含復(fù)位電路;提供各種控
7、制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能;有80顯示數(shù)據(jù)存儲(chǔ)器;內(nèi)建有192個(gè)5X7的字型的字符發(fā)生器;8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM;微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。操作控制。第三章最小系統(tǒng)由STC89C52,復(fù)位電路,時(shí)鐘產(chǎn)生電路組成。其原理圖如下: 最小系統(tǒng)電路原理圖第4章 硬件設(shè)計(jì)本系統(tǒng)是一個(gè)簡(jiǎn)單的單回路控制系統(tǒng)。為了實(shí)現(xiàn)對(duì)電阻的精確測(cè)量和測(cè)量檔位自動(dòng)切換,本系統(tǒng)采用了AT89C52單片機(jī)作為系統(tǒng)的控制中心,在測(cè)試電阻阻值時(shí),有信號(hào)測(cè)試端將所測(cè)信號(hào)送入A/D轉(zhuǎn)換器ADC0832,經(jīng)A/D轉(zhuǎn)換后將數(shù)據(jù)送入單片機(jī)
8、進(jìn)行數(shù)據(jù)處理,實(shí)時(shí)將所測(cè)電阻阻值經(jīng)液晶顯示模塊顯示。在進(jìn)行檔位切換時(shí)。由單片機(jī)控制的繼電器構(gòu)成檔位開(kāi)關(guān),對(duì)檔位進(jìn)行正確切換??傮w設(shè)計(jì)框圖如圖AT89C52(CPU)阻值信號(hào)采集數(shù)據(jù)顯示A/D轉(zhuǎn)換分頻電路電源電路檔位切換總體設(shè)計(jì)框圖42 電壓測(cè)量的設(shè)計(jì) 如圖2所示為被測(cè)電阻電壓測(cè)量。電壓經(jīng)過(guò)已知電阻R1和被測(cè)電阻Rx接到地。通過(guò)OUT輸出被測(cè)電阻Rx上的電壓。送到ADC0832的CH0口。圖3 被測(cè)電阻電壓測(cè)量圖4.3 模數(shù)ADC轉(zhuǎn)換的設(shè)計(jì)由電壓測(cè)量得到的電壓經(jīng)過(guò)ADC模數(shù)轉(zhuǎn)換可得到8位的電壓值,經(jīng)過(guò)歐姆定律(即電壓之比等于電阻之比)可得到被測(cè)電阻的阻值的大小。公式如下錯(cuò)誤!未找到引用源。本設(shè)計(jì)
9、用到的R1的阻值為200、20k和200k。由被測(cè)電阻得到的電壓值經(jīng)ADC0832的2腳CH0輸入,經(jīng)過(guò)內(nèi)部的AD轉(zhuǎn)換,在DO 6輸出數(shù)字電壓量,經(jīng)過(guò)上述公式的轉(zhuǎn)變,在P1.1口上的顯示的數(shù)字量為被測(cè)電阻的阻值數(shù)字量。如圖3所示為被測(cè)電阻電壓量轉(zhuǎn)換為阻值量。P1.1P1.1OUTCH0 ADC0832 DO 被測(cè)電阻電壓量轉(zhuǎn)換為阻值量圖4.4 液晶顯示電路的設(shè)計(jì)經(jīng)過(guò)ADC0832模數(shù)轉(zhuǎn)換得到的電阻值數(shù)字量,在MCU的P1.1口輸入,MCU系統(tǒng)處理后在P0口由LCD1602顯示出來(lái)該被測(cè)電阻的阻值。如圖4所示為被測(cè)電阻阻值顯示。 P0 單片機(jī)P1.1D0D7 LCD1602OUT 被測(cè)電阻阻值顯
10、示圖第5章 輸入、輸出部分電阻表主控制部分電源需要用5V直流電源供電,把頻率為50Hz、有效值為220V的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相電經(jīng)過(guò)電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來(lái)起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會(huì)影響到負(fù)載電路的正常工作。需通過(guò)低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓波動(dòng)和負(fù)載電阻變化的影
11、響,從而獲得穩(wěn)定性足夠高的直流壓。本電路使用充電器解決電源穩(wěn)壓?jiǎn)栴}。我們使用的是經(jīng)過(guò)特殊加工過(guò)的電路板,在板的內(nèi)部已經(jīng)將整流、變壓的線路連好了。各原件所用的5V直流電源在電路板內(nèi)部連成了幾條線路,使用起來(lái)很方便。電阻輸入則是通過(guò)將不同阻值的電阻接在表的兩端,阻值范圍是1-10K歐姆。當(dāng)接入時(shí)電阻表的液晶顯示屏上會(huì)自動(dòng)顯示出當(dāng)前所接入的電阻的阻值和量程(檔位)。當(dāng)所接電阻超出量程時(shí),LCD顯示ERROR。時(shí)序參數(shù)表時(shí)序參數(shù)符號(hào)極限值單位測(cè)試條件最小值典型值最大值E信號(hào)周期tc400-ns引腳EE脈沖寬度tpw ,tF150-nsE上升/下降沿時(shí)間tR-25ns地址建立時(shí)間tsp130-ns引腳E
12、、RS、R/W地址保持時(shí)間tHD110-ns數(shù)據(jù)建立時(shí)間(讀操作)tD-100ns引腳DB0DB7數(shù)據(jù)保持時(shí)間(讀操作)tHD220-ns數(shù)據(jù)建立時(shí)間(寫操作)tsp240-ns數(shù)據(jù)保持時(shí)間(寫操作)tHD210-ns第六章 軟件設(shè)計(jì)6.1主控程序流程 程序機(jī)構(gòu)主要包括:主控程序模塊、LCD1602液晶顯示程序、阻值數(shù)據(jù)顯示處理子程序、標(biāo)志符號(hào)顯示子程序、延時(shí)子程序等幾個(gè)部分組成。主控程序流程圖:開(kāi)始設(shè)定初始化獲取IntIntP16=0;P17=1;Data=200從新獲取IntP16=0;P17=1;Data=200從新獲取IntP16=0;P17=1;Data=200從新獲取Int顯示In
13、t值6.2軟件仿真本設(shè)計(jì)通過(guò)利用Proteus仿真,將所編寫的程序用Keil軟件編譯,所仿真原理圖見(jiàn)第七章。在實(shí)驗(yàn)調(diào)試過(guò)程中每個(gè)測(cè)量量程檔選用2個(gè)電阻進(jìn)行測(cè)量,下表就是我們測(cè)試的實(shí)際電阻值和測(cè)量電阻值數(shù)據(jù),以及測(cè)量誤差。量程檔實(shí)際電阻值仿真測(cè)量電阻值誤差1K7.37-4.10%15.215-1.31%52.7530.57%2002010.5%5005081.6%7507621.6%9009080.89%9509531.4%5K1.5K15181.2%2K20162.46%2.5K2481-3.1%3k2940-2%3.5K35090.76%4K40190.61%4.3k4283-3.36%4.
14、5K45181.23%10k5K50120.81%5.5k55610.92%6K60220.28%6.5K6478-1.84% 7K6983-1.62%8k7903-3.3%9.5k96796%在調(diào)試時(shí)發(fā)現(xiàn)當(dāng)所測(cè)電阻阻值接近量程時(shí)測(cè)得的值不夠精確。第7章 實(shí)物制作與仿真正面圖與反面圖 未開(kāi)啟時(shí)的電路測(cè)量電阻時(shí)的仿真圖總結(jié)我設(shè)計(jì)的自動(dòng)測(cè)量電阻表能夠完成基本部分和部分發(fā)揮部分的要求,即能夠完成測(cè)量量程為 1k、5k、10k三檔,測(cè)量準(zhǔn)確度為5%;能自動(dòng)顯示單位,這三檔量程具有自動(dòng)量程轉(zhuǎn)換功能。這個(gè)基于單片機(jī)設(shè)計(jì)的電阻表具有智能化的功能如果投入生產(chǎn)可以增加量程以便于使用。這種電阻表成本低且實(shí)用性、可
15、操作性都很強(qiáng)。 通過(guò)本次課設(shè),我知道了怎么去買器材,不僅僅要知道自己所需要的器材名稱還要知道型號(hào)。遇到問(wèn)題我們要學(xué)會(huì)通過(guò)另一種途徑解決問(wèn)題,比如本次課設(shè),我使用的是ADC0832芯片而在電子市場(chǎng)的時(shí)候拿到的卻是DAC0832,這與賣家的粗心有關(guān),但是根本問(wèn)題還在我自身,沒(méi)有看清元器件的型號(hào)。下次做每一次失敗都是下次成功的基礎(chǔ)。感謝學(xué)校給我們這次機(jī)會(huì),鍛煉了我們的動(dòng)手能力及運(yùn)用專業(yè)軟件的能力。通過(guò)這次課設(shè)讓我明白了理論和實(shí)際操作之間差距,而且也讓我很明確得意識(shí)到自己在數(shù)電上有很多的知識(shí)漏洞,以后應(yīng)該多鉆研一下。這次課程設(shè)計(jì)我主要負(fù)責(zé)文論撰寫,在寫論文過(guò)程中積極和同組同學(xué)探討電梯的基本原理,每個(gè)模
16、塊的功能及如何實(shí)現(xiàn)。對(duì)Office套件的使用更熟悉,為以后畢業(yè)論文的撰寫奠定了一定基礎(chǔ)。最后再次感謝這次課程設(shè)計(jì)。參考文獻(xiàn)【1】 陳舜青 C語(yǔ)言程序設(shè)計(jì) 南京大學(xué)出版社 【2】 張齊 朱西寧 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù) 第五版 電子工業(yè)出版社 【3】 王敬棟 單片機(jī)C語(yǔ)言應(yīng)用100例 電子工業(yè)出版社【4】 李群芳 單片機(jī)原理接口與應(yīng)用 北京:清華大學(xué)出版社附錄1元器件清單:1、 STC89C52 X 12、LCD1602 X 13、電路板X14、排阻(10k)X15、12M晶振X16、 電位器X17、 40腳管座X18、 8腳管座X19、 自鎖開(kāi)關(guān)X110、 復(fù)位開(kāi)關(guān)X111、 整流橋X112、
17、30pf瓷片電容X213、 排針若干14、 排座若干15、 轉(zhuǎn)換開(kāi)關(guān)X316、 各個(gè)阻值電阻若干17、 排線若干總計(jì)成本 80元附錄2 原理圖附錄3主程序:#include#include#includevoid get_liangcheng(void);void handle_code(void);void dis_code(void);void dis_dw_lc(void);unsigned char code mes1=Resistors:;unsigned char code digit=;unsigned char code mes=2001K5K10K;unsigned char
18、 res5,temp_0=0,temp_1=0;unsigned char t=0,sign=7;unsigned int R=0;unsigned char DIY_1602=/*- 電阻符號(hào) -*/0x00,0x00,0x0E,0x11,0x11,0x0A,0x1B,0x00;/*函數(shù)功能:延時(shí)若干毫秒 */ void delaynms(unsigned char n) unsigned char i,j,k;delaynms(100);for(i=0;in;i+) for(j=0;j10;j+) for(k=0;k33;k+); /*主函數(shù)*/ void main(void) unsig
19、ned char j,T1=0,T2=0,k=1; delaynms Init_LCD1602(); Write_DIY1602(DIY_1602); WriteAdd_1602(0x00); j=0; while(mes1j!=0) WriteData_1602(mes1j+);while(1) get_liangcheng(); handle_code();/處理AD讀取到的數(shù)據(jù) dis_code();/顯示四位數(shù)字和一個(gè)小數(shù)點(diǎn) dis_dw_lc(); /顯示電阻單位和量程。 delaynms(1000); void get_liangcheng(void) /判斷用哪一個(gè)量程 unsi
20、gned char i;for(i=0;i5;i+) P3=(P3&0xf0)+i;delaynms(50);temp_0=GetAD_code(0);sign=7;switch(i)case 0:if(0x05temp_0)&(temp_0=0x4f)/200 sign=0;break; /中斷switch;case 1:if(0x20temp_0)&(temp_0=0x99)/500 sign=1;break;case 2:if(0x30temp_0)&(temp_0=0xa9)/1k sign=2;break;case 3:if(0x2btemp_0)&(temp_0=0xb0) /5K
21、 sign=3;break;case 4:if(0x2btemp_0)&(temp_00xb0) /10k sign=4;break; if(sign!=7)/中斷for循環(huán) break; /*處理AD讀出的數(shù)*/ void handle_code(void) /處理AD讀出的數(shù)unsigned char i;P3=(P3&0xf0)+sign;delaynms(50);temp_0=GetAD_code(0); /AD讀取電壓,temp_1=GetAD_code(1);R=(100*temp_0)/(255-temp_1)*10; /轉(zhuǎn)換成電阻, for(i=0;i4;i+) /把處理后的前
22、四位數(shù)放進(jìn)數(shù)組 res3-i=R%10;R=R/10;/*顯示讀數(shù)和小數(shù)點(diǎn)*/void dis_code(void)/顯示讀數(shù)和小數(shù)點(diǎn)unsigned char point=10,i;if(sign=0|sign=3)/判斷各量程的小數(shù)點(diǎn)放在第幾位point=3;elseif(sign=1|sign=4)point=1;elseif(sign=2)point=2;WriteAdd_1602(0x40); /顯示四個(gè)數(shù)學(xué)和一個(gè)小數(shù)點(diǎn)for(i=0;i4;i+)if(i=point)WriteData_1602(.);WriteData_1602(digitresi);/*顯示單位和量程*/voi
23、d dis_dw_lc(void) unsigned char i; WriteAdd_1602(0x46); /清除上次顯示的單位和量程。 for(i=0;i10;i+) WriteData_1602(0x20);switch(sign) case 0: /sign=0.200檔 顯示(o)WriteAdd_1602(0x46);WriteData_1602(0x00);WriteData_1602(/);WriteData_1602();WriteData_1602(2);WriteData_1602(0);WriteData_1602(0);WriteData_1602(0x00);Wr
24、iteData_1602();break;case 1:case 2:case 3: /2K/20K/200/檔顯示單位(Ko)WriteAdd_1602(0x46);WriteData_1602(k);WriteData_1602(0x00);if(sign=1)WriteData_1602(/);WriteData_1602();WriteData_1602(2);WriteData_1602(k);WriteData_1602(0x00);WriteData_1602();elseif(sign=2)WriteData_1602(/);WriteData_1602();WriteData
25、_1602(2);WriteData_1602(0);WriteData_1602(k);WriteData_1602(0x00);WriteData_1602();elseWriteData_1602(/);WriteData_1602();WriteData_1602(2);WriteData_1602(0);WriteData_1602(0);WriteData_1602(k);WriteData_1602(0x00);WriteData_1602();break;case 4: /10k檔位,顯示單位(ko)WriteAdd_1602(0x46);WriteData_1602(k);W
26、riteData_1602(0x00);WriteData_1602(/);WriteData_1602(10);WriteData_1602(k);WriteData_1602(0x00);break; ADC0832子程序:#include ADC0832.hunsigned char GetAD_code(unsigned char x) /x=0,選通通道0,反之選通1通道。 unsigned char i,dat;CS0832=1; /一個(gè)轉(zhuǎn)換周期開(kāi)始 CLK0832=0; /為第一個(gè)脈沖作準(zhǔn)備 CS0832=0; /CS置0,片選有效 DIO0832=1; /DIO置1,規(guī)定的起始
27、信號(hào) CLK0832=1; /第一個(gè)脈沖 CLK0832=0; /第一個(gè)脈沖的下降沿,此前DIO必須是高電平 DIO0832=1; /DIO置1, 通道選擇信號(hào) CLK0832=1; /第二個(gè)脈沖,第2、3個(gè)脈沖下沉之前,DI必須跟別輸入兩位數(shù)據(jù)用于選擇通道,這里選通道CH0 CLK0832=0; /第二個(gè)脈沖下降沿 DIO0832=x; /DI置x,選擇通道x CLK0832=1; /第三個(gè)脈沖 CLK0832=0; /第三個(gè)脈沖下降沿 DIO0832=1; /第三個(gè)脈沖下沉之后,輸入端DIO失去作用,應(yīng)置1 CLK0832=1; /第四個(gè)脈沖for(i=0;i8;i+) /高位在前 CLK
28、0832=1; /第四個(gè)脈沖 CLK0832=0; dat=1; /將下面儲(chǔ)存的低位數(shù)據(jù)向右移dat|=(unsigned char)DIO0832; /將輸出數(shù)據(jù)DIO通過(guò)或運(yùn)算儲(chǔ)存在dat最低位 CS0832=1; /片選無(wú)效 return dat; /將讀書的數(shù)據(jù)返回 LCD1602子程序:/*/#define LCD1602_GLOBALS#include LCD1602.h/*函數(shù)功能:延時(shí)若干毫秒入口參數(shù):n*/ void LCD1602_delay(unsigned char n) unsigned char ii,i,j;for(ii=0;iin;ii+) for(i=0;i1
29、0;i+) for(j=0;j33;j+); /*函數(shù)功能:判斷液晶模塊的忙碌狀態(tài)返回值:result。result=1,忙碌;result=0,不忙*/ unsigned char BusyTest(void) bit result;RS=0; /根據(jù)規(guī)定,RS為低電平,RW為高電平時(shí),可以讀狀態(tài) RW=1; E=1; /E=1,才允許讀寫 _nop_(); /空操作 _nop_(); _nop_(); _nop_(); /空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 result=BF; /將忙碌標(biāo)志電平賦給result E=0; /將E恢復(fù)低電平 return result; /*函數(shù)功能:將模式
30、設(shè)置指令或顯示地址寫入液晶模塊入口參數(shù):dictate*/void WriteCmd_1602 (unsigned char dictate) while(BusyTest()=1); /如果忙就等待 RS=0; /根據(jù)規(guī)定,RS和R/W同時(shí)為低電平時(shí),可以寫入指令 RW=0; E=0; /E置低電平(根據(jù)表8-6,寫指令時(shí),E為高脈沖, / 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置0 _nop_(); _nop_(); /空操作兩個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 LCD1602_Port=dictate; /將數(shù)據(jù)送入P0口,即寫入指令或地址 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=1; /E置高電平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=0; /當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開(kāi)始執(zhí)行命令 /*函數(shù)功能:指定字符顯示的實(shí)際地址入口參數(shù):x*/ void WriteAdd_1602(unsigned char x) Writ
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保設(shè)施參觀人員環(huán)保數(shù)據(jù)保密協(xié)議
- 安徽省兒童醫(yī)院暑期志愿者筆試真題2024
- 高端洗車全流程服務(wù)體系
- 會(huì)員制金屬服務(wù)創(chuàng)新創(chuàng)業(yè)項(xiàng)目商業(yè)計(jì)劃書
- 古董藝術(shù)品修復(fù)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 二手車保險(xiǎn)代理服務(wù)創(chuàng)新創(chuàng)業(yè)項(xiàng)目商業(yè)計(jì)劃書
- 高純度魚油Omega-3膠囊行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 遠(yuǎn)程醫(yī)療影像傳輸設(shè)備企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 專用設(shè)備業(yè)工程AI智能應(yīng)用行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 非厄米多層光學(xué)結(jié)構(gòu)中的奇點(diǎn)及其轉(zhuǎn)換研究
- 《中越傳統(tǒng)節(jié)日對(duì)比問(wèn)題研究5100字【論文】》
- 特勞特戰(zhàn)略定位總裁課程課件
- 《 民航服務(wù)心理學(xué)》考試題及參考答案
- 公務(wù)員培訓(xùn)包過(guò)班協(xié)議書范本
- 2021學(xué)堂在線網(wǎng)課《生活英語(yǔ)讀寫》課后作業(yè)單元考核答案
- 中國(guó)近現(xiàn)代史綱要超星爾雅答案貴州大學(xué)-
- 食品全過(guò)程防護(hù)工作手冊(cè)(食品防護(hù)計(jì)劃)
- Q∕GDW 12162-2021 隔離開(kāi)關(guān)分合閘位置雙確認(rèn)系統(tǒng)技術(shù)規(guī)范
- 燃?xì)馊霊舭矙z培訓(xùn)PPT.ppt
- 臨概題庫(kù)(南醫(yī)大)--內(nèi)科部分
- 古代漢語(yǔ)授課教案(郭錫良版)教案分享
評(píng)論
0/150
提交評(píng)論