上師大單片機(jī)綜合實(shí)訓(xùn)報(bào)告_第1頁(yè)
上師大單片機(jī)綜合實(shí)訓(xùn)報(bào)告_第2頁(yè)
上師大單片機(jī)綜合實(shí)訓(xùn)報(bào)告_第3頁(yè)
上師大單片機(jī)綜合實(shí)訓(xùn)報(bào)告_第4頁(yè)
上師大單片機(jī)綜合實(shí)訓(xùn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)系統(tǒng)應(yīng)用綜合設(shè)計(jì)報(bào)告專業(yè):班級(jí):姓名:學(xué)號(hào):指導(dǎo)教師:成績(jī):完成日期:2014年12月18日1一、基于ADC0809芯片的簡(jiǎn)單采集系統(tǒng)設(shè)計(jì)1.方案論證1.1系統(tǒng)的設(shè)計(jì)任務(wù)1.用單片機(jī)、ADC0809芯片、數(shù)碼管等組成溫度數(shù)據(jù)采集顯示系統(tǒng)。溫度范圍為0—255℃,數(shù)碼管顯示被測(cè)溫度;當(dāng)溫度低于下限70℃時(shí),實(shí)現(xiàn)低溫報(bào)警,當(dāng)溫度高于上限150℃時(shí),實(shí)現(xiàn)高溫報(bào)警。2.原理圖設(shè)計(jì)依照所確定的設(shè)計(jì)電路,利用Proteus軟件繪制電路原理圖。3.軟件設(shè)計(jì)依照電路工作過(guò)程,畫出軟件流程圖,依照流程圖編寫相應(yīng)的程序。利用Proteus與KeilμVision4聯(lián)調(diào),直到實(shí)驗(yàn)現(xiàn)象正確為止。設(shè)計(jì)報(bào)告按規(guī)定的規(guī)范和要求書寫并打印。1.2設(shè)計(jì)方案依照系統(tǒng)的設(shè)計(jì)要求,當(dāng)溫度傳感器把所測(cè)得的溫度經(jīng)過(guò)驅(qū)動(dòng)電路變換成電壓信號(hào),89C51經(jīng)過(guò)控制ADC0809對(duì)AD值進(jìn)行采集并進(jìn)行辦理,把溫度在數(shù)碼管上顯示。利用89C51芯片控制溫度傳感器進(jìn)行實(shí)時(shí)溫度檢測(cè)并顯示能夠?qū)崿F(xiàn)快速測(cè)量環(huán)境溫度。模擬電壓信號(hào)數(shù)字電壓信號(hào)8采集溫度信號(hào)ADC080采集9C實(shí)質(zhì)溫度5溫度顯示1圖1:采集系統(tǒng)程序框圖1.3軟、硬件開(kāi)發(fā)環(huán)境利用Proteus軟件繪制電路原理圖、利用Proteus與KeilμVision4聯(lián)調(diào)。系統(tǒng)硬件設(shè)計(jì)2.1單片機(jī)主電路設(shè)計(jì)單片機(jī)采用AT89C51·內(nèi)含4KB的FLASH儲(chǔ)藏器,擦寫次數(shù)1000次;·內(nèi)含28字節(jié)的RAM;·擁有32根可編程I/O線;·擁有2個(gè)16位可編程準(zhǔn)時(shí)器;·擁有6其中斷源、5其中斷矢量、2級(jí)優(yōu)先權(quán)的中斷結(jié)構(gòu);·擁有1個(gè)全雙工的可編程串行通信接口;·擁有一個(gè)數(shù)據(jù)指針DPTR;2·兩種低功耗工作模式,即悠閑模式和掉電模式;·擁有可編程的3級(jí)程序鎖定定位;1.復(fù)位電路:5l系列單片機(jī)的復(fù)位引腳RST(第9管腳)出現(xiàn)大于10ms的高電平時(shí)單片機(jī)就執(zhí)行復(fù)位操作。若是RST連續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位操作平時(shí)有兩種基本形式:上電自動(dòng)復(fù)位和開(kāi)關(guān)復(fù)位。本實(shí)驗(yàn)所用的復(fù)位電路就包括了這兩種復(fù)位方式。上電剎時(shí),電容兩端電壓不能夠突變,此時(shí)電容的負(fù)極和RESET相連,電壓全部加在了電阻上,RESET的輸入為高,芯片被復(fù)位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0,芯片正常工作。并聯(lián)在電容的兩端為復(fù)位按鍵,當(dāng)復(fù)位按鍵沒(méi)有被按下的時(shí)候電路實(shí)現(xiàn)上電復(fù)位,在芯片正常工作后,經(jīng)過(guò)按下按鍵使RST管腳出現(xiàn)高電平達(dá)到手動(dòng)復(fù)位的收效。一般來(lái)說(shuō),只要RST管腳上保持10ms以上的高電平,就能使單片機(jī)有效的復(fù)位。圖2:復(fù)位電路圖2.晶振電路:XTAL1和XTAL2是獨(dú)立的輸入和輸出反相放大器,它們能夠被配置為使用石英晶振的片內(nèi)振蕩器,也許是器件直接由外面時(shí)鐘驅(qū)動(dòng)。本實(shí)驗(yàn)中采用的是內(nèi)時(shí)鐘模式,即采用利用芯片內(nèi)部的振蕩電路,在XTAL1、XTAL2的引腳上外接準(zhǔn)時(shí)元件(一個(gè)石英晶體和兩個(gè)電容),內(nèi)部振蕩器便能產(chǎn)生自激振蕩。一般來(lái)說(shuō)晶振能夠在1.2~12MHz之間任選,甚至能夠達(dá)到24MHz也許更高,但是頻率越高功耗也就越大。在本實(shí)驗(yàn)套件中采用的12M的石英晶振。和晶振并聯(lián)的兩個(gè)電容的大小對(duì)振蕩頻率有渺小影響,能夠起到頻率微調(diào)作用。圖3:晶振電路圖33.軟件設(shè)計(jì)3.1主程序設(shè)計(jì)主函數(shù)程序設(shè)計(jì):主函數(shù)里面瞄準(zhǔn)時(shí)器以及ADC0809進(jìn)行初始化,爾后經(jīng)過(guò)P3口采集ADC0809電壓值,并將其進(jìn)行辦理,轉(zhuǎn)變成實(shí)質(zhì)溫度,最后將其顯示到數(shù)碼管上。中斷服務(wù)程序設(shè)計(jì):準(zhǔn)時(shí)器/計(jì)數(shù)器0服務(wù)程序主要完成的是CLK引腳也就是P1.3引腳的取反,從而生成驅(qū)動(dòng)ADC0809所需要的向來(lái)信號(hào)。數(shù)碼管顯示程序設(shè)計(jì):本實(shí)驗(yàn)用的是四個(gè)共陰極的數(shù)碼管,公共端位陰極,程序執(zhí)行時(shí),單片機(jī)第一選中其中一位,并關(guān)閉別的三位,將第一位要顯示的數(shù)據(jù)經(jīng)過(guò)P0口寫到數(shù)碼管中,關(guān)掉第一位和第三位、第四位數(shù)碼管,并打開(kāi)第二位,爾后將第二位要顯示的數(shù)據(jù)寫到數(shù)碼管中,爾后依次類推,從而將四個(gè)數(shù)碼管的數(shù)據(jù)顯示完滿。開(kāi)始準(zhǔn)時(shí)器初始化ADC0809初始化否等待AD變換結(jié)束是

進(jìn)入中斷進(jìn)入中斷設(shè)定準(zhǔn)時(shí)器初值數(shù)據(jù)辦理數(shù)據(jù)顯示CLK端口取反結(jié)束退出中斷圖4主函數(shù)程序設(shè)計(jì)圖圖5:中斷程序流程圖44.系統(tǒng)調(diào)試與解析4.1調(diào)試內(nèi)容及實(shí)驗(yàn)現(xiàn)象圖6:現(xiàn)象一:當(dāng)溫度低于下限70℃時(shí),實(shí)現(xiàn)低溫報(bào)警圖7:現(xiàn)象二:當(dāng)溫度高于上限150℃時(shí),實(shí)現(xiàn)高溫報(bào)二、100000s以內(nèi)的計(jì)時(shí)程序1.方案論證1.1系統(tǒng)的設(shè)計(jì)任務(wù)1.程序啟動(dòng)后即開(kāi)始計(jì)時(shí),時(shí)間顯示在數(shù)碼管上,在6只數(shù)碼管上完成0~99999.9s計(jì)時(shí).52.原理圖設(shè)計(jì)依照所確定的設(shè)計(jì)電路,利用Proteus軟件繪制電路原理圖。3.軟件設(shè)計(jì)依照電路工作過(guò)程,畫出軟件流程圖,依照流程圖編寫相應(yīng)的程序。利用Proteus與KeilμVision4聯(lián)調(diào),直到實(shí)驗(yàn)現(xiàn)象正確為止。設(shè)計(jì)報(bào)告按規(guī)定的規(guī)范和要求書寫并打印。1.2設(shè)計(jì)方案:使用STC89C51單片機(jī)作為中心控制部件,采用12M晶體振蕩器及30PF渺小電容組成振蕩電路;用1個(gè)四位一體共陰極數(shù)碼顯示管作為顯示部分,組成數(shù)字式秒表的主體結(jié)構(gòu),配合獨(dú)立式鍵盤和復(fù)位電路完成此秒表的計(jì)時(shí)、清零、停止、增減初始時(shí)間等各項(xiàng)功能。STC89C52單片機(jī)最小4位數(shù)碼管顯示模塊獨(dú)立摁鍵控制模塊系統(tǒng)模塊圖8:計(jì)數(shù)器框圖1.3軟、硬件開(kāi)發(fā)環(huán)境利用Proteus軟件繪制電路原理圖、利用Proteus與KeilμVision4聯(lián)調(diào)。2.系統(tǒng)硬件設(shè)計(jì)2.1單片機(jī)主電路設(shè)計(jì)單片機(jī)采用AT89C51圖9:?jiǎn)纹瑱C(jī)最小系統(tǒng)時(shí)鐘電路在XTAL1、XTAL2的引腳上外接準(zhǔn)時(shí)元件(一個(gè)石英晶體和兩個(gè)電容),內(nèi)部振蕩器便能產(chǎn)生自激振蕩。在本設(shè)計(jì)中采用的12M的石英晶振。和晶振并聯(lián)的兩個(gè)電容的大小對(duì)振蕩頻率有渺小影響,能夠起到頻率微調(diào)作用。當(dāng)采用石英晶振時(shí),電容能夠在20~40pF之間選擇。復(fù)位電路復(fù)位操作平時(shí)有兩種基本形式:上電自動(dòng)復(fù)位和開(kāi)關(guān)復(fù)位。上電剎時(shí),電容兩端電壓不能突變,此時(shí)電容的負(fù)極和RESET相連,電壓全部加在了電阻上,RESET的輸入為高,芯片被復(fù)位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0,芯片正常工作。并聯(lián)在電容的兩端為復(fù)位按鍵,當(dāng)復(fù)位按鍵沒(méi)有被按下的時(shí)候電路實(shí)現(xiàn)上電復(fù)位,在芯片正常工作后,經(jīng)過(guò)按下按鍵使RST管腳出現(xiàn)高電平達(dá)到手動(dòng)復(fù)位的收效。3.EA/VPP(31腳)的功能和接法51單片機(jī)的EA/VPP(31腳)是內(nèi)部和外面程序儲(chǔ)藏器的選擇管腳。當(dāng)EA保持高電平時(shí),單片機(jī)接見(jiàn)內(nèi)部程序儲(chǔ)藏器;對(duì)于現(xiàn)在的絕大部分單片機(jī)來(lái)說(shuō),其內(nèi)部的程序6儲(chǔ)藏器(一般為flash)容量都很大,因此基本上不需要外接程序儲(chǔ)藏器,而是直接使用內(nèi)部的儲(chǔ)藏器。2.2顯示電路設(shè)計(jì)74LS245芯片介紹:74LS245常用來(lái)驅(qū)動(dòng)led也許其他的設(shè)備,用法很簡(jiǎn)單如上圖,這里簡(jiǎn)單的給出一些資料,他是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還擁有雙向三態(tài)功能,既能夠輸出,也能夠輸入數(shù)據(jù)。當(dāng)8051單片機(jī)的P0口總線負(fù)載達(dá)到或高出P0最大負(fù)載能力時(shí),必定接入74LS245等總線驅(qū)動(dòng)器。當(dāng)片選端/CE低電平有效時(shí),DIR=“0”,信號(hào)由B向A傳輸;(接收)*DIR=“1”,信號(hào)由A向B傳輸;(發(fā)送)當(dāng)/CE為高電平時(shí),A、B均為高阻態(tài)。圖10:74LS245顯示部分采用動(dòng)向顯示。數(shù)碼管動(dòng)向顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)向驅(qū)動(dòng)是將全部數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的共陰極增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),全部數(shù)碼管都接收到相同的字形碼,但終歸是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通端電路的控制,因此我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。經(jīng)過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的位選通端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)向驅(qū)動(dòng)。動(dòng)向顯示是利用人眼視覺(jué)暫留特點(diǎn)來(lái)實(shí)現(xiàn)顯示的。事實(shí)上,顯示器上任何時(shí)辰只有一個(gè)數(shù)碼管有顯示。由于各數(shù)碼管輪流顯示的時(shí)間間隔短、節(jié)奏快,人的眼睛反應(yīng)但是來(lái),因此看到的是連續(xù)顯示的現(xiàn)象。為防范閃爍延時(shí)的時(shí)間在1ms左右,不能夠太長(zhǎng),也不能夠很短。圖11:LED數(shù)碼管3.軟件設(shè)計(jì)3.1主程序設(shè)計(jì)初始化7調(diào)用數(shù)碼管的顯示程序否K2可否按下?是執(zhí)行按鍵操作函數(shù)否K1可否按下?計(jì)數(shù)器清零圖12:主程序流程圖4.系統(tǒng)調(diào)試與解析4.1調(diào)試內(nèi)容及實(shí)驗(yàn)現(xiàn)象圖13:秒表計(jì)時(shí)三、8x8點(diǎn)陣LED電路設(shè)計(jì)1.方案論證1.1系統(tǒng)的設(shè)計(jì)任務(wù)8應(yīng)用MCS-51單片機(jī)設(shè)計(jì)8X8點(diǎn)陣LED電路。采用兩片8X8點(diǎn)陣LED顯示器,一個(gè)發(fā)光二極管控制點(diǎn)陣中的一個(gè)點(diǎn),用三個(gè)按鍵實(shí)現(xiàn)文字的左、右搬動(dòng)和暫停功能。2.原理圖設(shè)計(jì)依照所確定的設(shè)計(jì)電路,利用Proteus軟件繪制電路原理圖。3.軟件設(shè)計(jì)依照電路工作過(guò)程,畫出軟件流程圖,依照流程圖編寫相應(yīng)的程序。利用Proteus與KeilμVision4聯(lián)調(diào),直到實(shí)驗(yàn)現(xiàn)象正確為止。設(shè)計(jì)報(bào)告按規(guī)定的規(guī)范和要求書寫并打印。1.2設(shè)計(jì)方案利用單片機(jī)對(duì)整個(gè)系統(tǒng)進(jìn)行整體控制,進(jìn)行顯示所要顯示的字符。顯示方式分為三種:逐字顯示、上滾顯示、左滾顯示。其中顯示字模數(shù)據(jù)由單片機(jī)輸入顯存,點(diǎn)陣的點(diǎn)亮過(guò)程有程序控制,由驅(qū)動(dòng)電路完成,點(diǎn)陣采用單色顯示,該顯示器電路的特點(diǎn)是:點(diǎn)陣的動(dòng)向顯示過(guò)程占用時(shí)間比較短,亮度比較高,而且亮度能夠改變電阻進(jìn)行調(diào)治。74HC5958*8LED復(fù)位晶振電路點(diǎn)陣顯示屏AT89C51列單片機(jī)圖14:8*8點(diǎn)陣電行程序框圖1.3軟、硬件開(kāi)發(fā)環(huán)境利用Proteus軟件繪制電路原理圖、利用Proteus與KeilμVision4聯(lián)調(diào)。系統(tǒng)硬件設(shè)計(jì)2.1單片機(jī)主電路設(shè)計(jì)由單片機(jī)進(jìn)行辦理,并將行列信號(hào)分別經(jīng)過(guò)顯示驅(qū)動(dòng)輸入點(diǎn)陣屏,控制點(diǎn)陣的顯示。(1)單片機(jī):采用AT89c51單片機(jī)芯片作為主控,控制LED點(diǎn)陣顯示。(2)顯示:采用8x8LED點(diǎn)陣屏顯示字母。(3)顯示驅(qū)動(dòng):考慮到驅(qū)動(dòng)LED所需電流采用74HC573芯片8位鎖存器作行驅(qū)動(dòng)芯片,AT89S52的I/O口作為列驅(qū)動(dòng)。Start按下UP9文字上移文字停止搬動(dòng)在初始處按下DOWN文字下移按下STOPEnd2.2測(cè)量、變換電路設(shè)計(jì)原理解析:鎖存器都是透明的D型鎖存器,當(dāng)使能(G)為高時(shí),Q輸出將隨數(shù)據(jù)(D)輸入而變。當(dāng)使能為低時(shí),輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)能夠保持,甚至當(dāng)輸出被關(guān)閉時(shí),新的數(shù)據(jù)也能夠置入。這種電路能夠驅(qū)動(dòng)大電容或低阻抗負(fù)載,能夠直接與系統(tǒng)總線接口并驅(qū)動(dòng)總線,而不需要外接口。特別適用于緩沖寄存器,I/O通道,雙向總線驅(qū)動(dòng)器和工作寄存器圖15:主程序流程圖并行輸出,總線驅(qū)動(dòng);串行輸出;標(biāo)準(zhǔn)中等規(guī)模集成電路74HC595移位寄存器有一個(gè)串行移位輸入(Ds),和一個(gè)串行輸出(Q7’),和一個(gè)異步的低電平復(fù)位,儲(chǔ)藏寄存器有一個(gè)并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(shí)(為低電平),儲(chǔ)藏寄存器的數(shù)據(jù)輸出到總線。符號(hào)引腳描述:Q0Q78位并行數(shù)據(jù)輸出,其中Q0為第15腳GND第8腳地Q7’第9腳串行數(shù)據(jù)輸出MR第10腳主復(fù)位(低電平)SHCP第11腳移位寄存器時(shí)鐘輸入STCP第12腳儲(chǔ)藏寄存器時(shí)鐘輸入OE第13腳輸出有效(低電平)DS第14腳串行數(shù)據(jù)輸入VCC第16腳電源應(yīng)用設(shè)計(jì);電路圖10圖16:測(cè)量、變換電路圖2.3按鍵電路設(shè)計(jì)P1口:P1口是一個(gè)內(nèi)部供應(yīng)上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外面下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。圖17:按鍵電路圖2.4顯示電路設(shè)計(jì)LED點(diǎn)陣顯示屏采用1個(gè)8*8共64個(gè)象素的點(diǎn)陣,經(jīng)過(guò)LED點(diǎn)陣資料判斷出該點(diǎn)陣的引腳分布,8*8的LED點(diǎn)陣為單色共陽(yáng)模塊,單點(diǎn)的工作電壓為正向(Vf)=1.8v,正向電流(if)=8-10MA。靜態(tài)點(diǎn)亮器件時(shí)(64點(diǎn)全亮)總電流為640mA總電壓為1.8v,總功率為1.15w.動(dòng)向時(shí)取決于掃描頻率(1/8或1/16秒),單點(diǎn)剎時(shí)電流可達(dá)80-160mA。從Proteus元件庫(kù)中找到“MATRIX-8X8-RED”元器件,并將四塊該元器件放入Proteus文檔區(qū)編寫窗口中。此時(shí)需要注意,若是該元器件保持初始的地址(沒(méi)有轉(zhuǎn)動(dòng)方向),我們要首先將其左轉(zhuǎn)90°,使其水平放置,那么此時(shí)它的左面8個(gè)引腳是其行線,右側(cè)8個(gè)引腳是其列線(自然,若是你是將右轉(zhuǎn),則右側(cè)8個(gè)引腳是行線)。爾后我們將四個(gè)元器件對(duì)應(yīng)的行線和列線分別進(jìn)行連接,使每一條行線引腳接一行16個(gè)LED,列線也相同。并注意要將11行線和列線引出必然長(zhǎng)度的引腳,以便下面我們使用。連接好的16×16點(diǎn)陣以以下圖所示:圖18:16*16點(diǎn)陣連接成如上圖的16×16點(diǎn)陣可是第一步,這樣分開(kāi)的數(shù)塊其實(shí)不能夠達(dá)到好的顯示收效,下面我們要將其進(jìn)一步組合。組合實(shí)質(zhì)上很簡(jiǎn)單,第一選中如上圖中右側(cè)的兩塊8×8點(diǎn)陣,然后拖動(dòng)并使其與左側(cè)的兩塊相并攏最后一步,選中下側(cè)的兩塊點(diǎn)陣,并拖動(dòng)使其與上側(cè)的兩塊并攏,最后的收效以以下圖所示:圖19:16*16點(diǎn)陣收效圖能夠看到,原來(lái)紛亂的連線現(xiàn)在已經(jīng)幾乎全部隱蔽了,一塊16×16的LED點(diǎn)陣做成了。需要注意,做成的LED點(diǎn)陣的行線為左側(cè)的16個(gè)引腳,下側(cè)的16個(gè)引腳為其列線,而且其行線為高電平有效,列線為低電平有效。爾后,我們將其保存,以便今后使用。圖20:16×16的LED點(diǎn)陣124.系統(tǒng)調(diào)試與解析4.1調(diào)試內(nèi)容及實(shí)驗(yàn)現(xiàn)象圖21:轉(zhuǎn)動(dòng)顯示收效心得領(lǐng)悟本次課程設(shè)計(jì)完成了一個(gè)基于51單片機(jī)的幾個(gè)程序,在此次難得的課程設(shè)計(jì)過(guò)程中,鍛煉了自己的思慮能力和著手能力。經(jīng)過(guò)題目選擇和設(shè)計(jì)電路的過(guò)程中,加強(qiáng)了我思慮問(wèn)題的完滿性和實(shí)質(zhì)生活聯(lián)系的可行性。在方案設(shè)計(jì)選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的能力,對(duì)單片機(jī)的各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識(shí)。還鍛煉我們個(gè)人的查閱技術(shù)資料的能力,著手能力,發(fā)現(xiàn)問(wèn)題,解決問(wèn)題的能力。而且我們熟練掌握了有關(guān)器件的性能及測(cè)試方法。參照文件[1]《單片機(jī)原理、應(yīng)用與PROTEUS仿真》,張靖武、周靈彬,電子工業(yè)初版社,2008.813[2]《KEILCx51V7.0單片機(jī)高級(jí)語(yǔ)言編程與Uvision2應(yīng)用實(shí)踐》,徐愛(ài)鈞、彭秀華,電子工業(yè)初版社,2008.5[3]《基于Proteus的電路與PCB設(shè)計(jì)》,周靈彬、任開(kāi)杰,電子工業(yè)初版社,2010.8[4]《單片機(jī)原理及應(yīng)用》,張毅剛、彭喜元、彭宇,高等教育初版社,2010.5[5]《AT89系列單片機(jī)原理及接口技術(shù)》,王幸之,北京航空航天大學(xué)初版社,2004.9《基于Proteus的單片機(jī)可視化軟硬件仿真》,林志琦,北京航空航天大學(xué)初版社,2006.9.附錄1:實(shí)驗(yàn)一硬件原理圖附錄2:實(shí)驗(yàn)一程序清單#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharcodeDuan_Code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};ucharcodeWei_Code[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};sbitCLK=P2^7;//時(shí)鐘信號(hào)sbitST=P2^6;sbitK1=P1^0;

sbitEOC=P2^5;sbitOE=P2^4;sbitALE=P2^6;sbitRED=P1^6;sbitYELLOW=P1^5;sbitBEEP=P1^7;ucharData_Buffer[]={0,0,0,0};voidData_Process(uchar);voiddelay_nms(uintnms);voidSEG7_Static_Display(uchar,uchar);voidSEG7_1Static_Display(uchar,uchar);14voidSEG7_1Dynamic_Display(ucharif(Result>=70&&Result<=150)n);{voidSEG7_Dynamic_Display(void);RED=1;YELLOW=1;voiddelay_500us(void);SEG7_Dynamic_Display( );voidBeep(void);}voidmain( )if(Result<70){{BEEP=1;RED=1;SEG7_Dynamic_Display( );YELLOW=1;Beep( );TMOD&=0xf0;YELLOW=~YELLOW;TMOD|=0x02;}TH0=0x14;TL0=0x14;}EA=1;ET0=1;TR0=1;voidSEG7_Static_Display(ucharwhile(1)Num,ucharPosition){{if(K1==0)P2=0xff;{P0=Duan_Code[Num];ST=0;ST=1;ST=0;P2=Wei_Code[Position];while(EOC==0);}OE=1;Data_Process(P3);voidSEG7_1Static_Display(ucharOE=0;SEG7_Dynamic_Display( );Num,ucharPosition)}{if(K1==1)P2=0xff;{P0=Duan_Code[Num]|0x80;//小數(shù)點(diǎn)SEG7_1Dynamic_Display(4);P2=Wei_Code[Position];}}}voidSEG7_Dynamic_Display(void)}{uinti;voidData_Process(uchard){uintResult;d=175.0;SEG7_Static_Display(Data_Buffer[Result=(int)d;0],0);Data_Buffer[0]=(50000/500*Result/delay_nms(2);100*10)/1000;SEG7_Static_Display(Data_Buffer[Data_Buffer[1]=(50000/500*Result/1],1);100*10)%1000/100;delay_nms(2);Data_Buffer[2]=(50000/500*Result/SEG7_1Static_Display(Data_Buffer100*10)%1000%100/10;[2],2);Data_Buffer[3]=(50000/500*Result/delay_nms(2);100*10)%1000%100%10;SEG7_Static_Display(Data_Buffer[if(Result>150)3],3);{delay_nms(2);SEG7_Dynamic_Display( );}RED=~RED;Beep( );voidSEG7_1Dynamic_Display(ucharn)}{uchari;15for(i=0;i<n;i++){{SEG7_Static_Display(0,i);delay_500us( );delay_nms(2);BEEP=~BEEP;}}BEEP=1;}}voidTimer0_INT( )interrupt1voiddelay_500us(void){{CLK=~CLK;uchart;for(t=0;t<60;t++);}}voidBeep(void)voiddelay_nms(uintnms){{uchart;uchari;while(nms--)for(t=0;t<120;t++);for(i=0;i<100;i++)附錄3:實(shí)驗(yàn)二硬件原理圖附錄4:實(shí)驗(yàn)二程序清單#include<reg52.h>7f};#defineucharunsignedchar#defineuintunsignedintsbitk1=P1^0;sbitk2=P1^3;ucharcodeDuan_Code[]=uchari,key_flag_index;{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,longintsecond_counts;0xf8,0x80,0x90,0xff};ucharcodeWei_Code[]=bitkey_state;//定義按鍵狀態(tài){0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0xvoiddelay_500us(void);16voiddelay_nms(uintnms);voiddynamic_display(uchar,uchar);voidSEG7_dynamic_display(uchar,uchar);voiddisplay(void);voidkey_event_handle(void);voidtimer1_initial(void);intmain(void){i=0;k2=1;second_counts=0;key_flag_index=0;key_state=1;timer1_initial( );while(1){display( );if(key_state!=k2){delay_nms(20);if(key_state!=k2){key_state=k2;key_event_handle( );}}if(k1==0){delay_nms(20);if(k1==0){second_counts=0;}}}}

voiddelay_500us(void){uchart;for(t=0;t<60;t++);}voiddelay_nms(uintnms){uchart;while(nms--)for(t=0;t<120;t++);}voidSEG7_dynamic_display(ucharnum,ucharpos){P3=0xff;P0=~Duan_Code[num];P3=Wei_Code[pos];if(pos==6)P0|=0X80;}voiddisplay(void){uchari;uchara[6]a[0]=second_counts%10;a[1]=(second_counts%100)/10;a[2]=second_counts%1000/100;a[3]=second_counts%10000/1000;a[4]=second_counts%100000/10000;a[5]=second_counts/100000;for(i=0;i<6;i++){SEG7_dynamic_display(a[i],7-i);delay_nms(1);}}17voidkey_event_handle(void)TH1=(65536-20*11059200/12/1000{)/256;if(key_state==0)TL1=(65536-20*11059200/12/1000{)%256;key_flag_index++;}if(key_flag_index==3)key_flag_indvoidtimer1_int(void)interrupt3ex=1;{switch(key_flag_index)TH1=(65536-20*11059200/12/1000{)/256;caseTL1=(65536-20*11059200/12/10001:EA=1;ET1=1;TR1=1;break;)%256;caseif(++i==5)2:EA=0;ET1=0;TR1=0;break;{}i=0;}second_counts++;}if(second_counts==100000)second_counts=0;voidtimer1_initial(void)}{}TMOD&=0x0f;TMOD|=0x10;附錄5:實(shí)驗(yàn)三硬件原理圖18附錄6:實(shí)驗(yàn)三程序清單#include<reg51.h>0xF3,0xE7,0xEC,0x9B,0xEF,0xFB,0xE#defineucharunsignedcharF,0xFB,0xEF,0xFB,0xF7,0xFB,0xF7,0x#defineuintunsignedintFB,0xFB,0xFB},/*"喬",0*/sbitsi=P3^0;{0xFF,0xFF,0x03,0xE0,0x7B,0xEF,0x7sbitsck=P3^1;B,0xEF,0x03,0xE0,0x7B,0xEF,0x7B,0xsbitrck=P3^2;EF,0x03,0xE0,sbitL=P1^0;0xFB,0xEF,0x7F,0xFF,0xEF,0xEE,0xEsbitSTOP=P1^1;D,0xDE,0xED,0xB7,0xED,0xB7,0x1E,0sbitR=P1^2;xF0,0xFF,0xFF},/*"思",1*/sbitfmq=P3^6;{0xF7,0xFB,0xF7,0xFB,0xF7,0xFD,0xvoiddelay1ms(uint);E7,0xFD,0xD5,0xEE,0x75,0xDF,0x35,0uchari,j,k,zb;x80,0xF6,0xBF,ucharxsz[32],xsz1[32];0xF7,0xFF,0x77,0xC0,0x77,0xDF,0x77,ucharcodesmsg[8]0xDF,0x77,0xDF,0x77,0xDF,0x77,0xC={0x80,0x40,0x20,0x10,0x08,0x04,0x00,0x77,0xDF},/*"怡",2*/2,0x01};};ucharcodewz[][32]={voidfs(uchara)//搬動(dòng)一個(gè)十六進(jìn){0xFF,0xF7,0xFF,0xE0,0x03,0xFF,0x7制數(shù)F,0xFF,0xBF,0xFF,0x01,0xC0,0xDF,0x{FD,0xEF,0xFB,ucharb;19sck=0;{p[a*2]=p1[a*2];rck=0;p[a*2+1]=p1[a*2+1];for(b=8

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論