![上師大單片機綜合實訓(xùn)報告_第1頁](http://file4.renrendoc.com/view/12eabd9a01f8dfbcd0d3fe53aab95886/12eabd9a01f8dfbcd0d3fe53aab958861.gif)
![上師大單片機綜合實訓(xùn)報告_第2頁](http://file4.renrendoc.com/view/12eabd9a01f8dfbcd0d3fe53aab95886/12eabd9a01f8dfbcd0d3fe53aab958862.gif)
![上師大單片機綜合實訓(xùn)報告_第3頁](http://file4.renrendoc.com/view/12eabd9a01f8dfbcd0d3fe53aab95886/12eabd9a01f8dfbcd0d3fe53aab958863.gif)
![上師大單片機綜合實訓(xùn)報告_第4頁](http://file4.renrendoc.com/view/12eabd9a01f8dfbcd0d3fe53aab95886/12eabd9a01f8dfbcd0d3fe53aab958864.gif)
![上師大單片機綜合實訓(xùn)報告_第5頁](http://file4.renrendoc.com/view/12eabd9a01f8dfbcd0d3fe53aab95886/12eabd9a01f8dfbcd0d3fe53aab958865.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
單片機系統(tǒng)應(yīng)用綜合設(shè)計報告專業(yè):班級:姓名:學(xué)號:指導(dǎo)教師:成績:完成日期:2014年12月18日1一、基于ADC0809芯片的簡單采集系統(tǒng)設(shè)計1.方案論證1.1系統(tǒng)的設(shè)計任務(wù)1.用單片機、ADC0809芯片、數(shù)碼管等組成溫度數(shù)據(jù)采集顯示系統(tǒng)。溫度范圍為0—255℃,數(shù)碼管顯示被測溫度;當溫度低于下限70℃時,實現(xiàn)低溫報警,當溫度高于上限150℃時,實現(xiàn)高溫報警。2.原理圖設(shè)計依照所確定的設(shè)計電路,利用Proteus軟件繪制電路原理圖。3.軟件設(shè)計依照電路工作過程,畫出軟件流程圖,依照流程圖編寫相應(yīng)的程序。利用Proteus與KeilμVision4聯(lián)調(diào),直到實驗現(xiàn)象正確為止。設(shè)計報告按規(guī)定的規(guī)范和要求書寫并打印。1.2設(shè)計方案依照系統(tǒng)的設(shè)計要求,當溫度傳感器把所測得的溫度經(jīng)過驅(qū)動電路變換成電壓信號,89C51經(jīng)過控制ADC0809對AD值進行采集并進行辦理,把溫度在數(shù)碼管上顯示。利用89C51芯片控制溫度傳感器進行實時溫度檢測并顯示能夠?qū)崿F(xiàn)快速測量環(huán)境溫度。模擬電壓信號數(shù)字電壓信號8采集溫度信號ADC080采集9C實質(zhì)溫度5溫度顯示1圖1:采集系統(tǒng)程序框圖1.3軟、硬件開發(fā)環(huán)境利用Proteus軟件繪制電路原理圖、利用Proteus與KeilμVision4聯(lián)調(diào)。系統(tǒng)硬件設(shè)計2.1單片機主電路設(shè)計單片機采用AT89C51·內(nèi)含4KB的FLASH儲藏器,擦寫次數(shù)1000次;·內(nèi)含28字節(jié)的RAM;·擁有32根可編程I/O線;·擁有2個16位可編程準時器;·擁有6其中斷源、5其中斷矢量、2級優(yōu)先權(quán)的中斷結(jié)構(gòu);·擁有1個全雙工的可編程串行通信接口;·擁有一個數(shù)據(jù)指針DPTR;2·兩種低功耗工作模式,即悠閑模式和掉電模式;·擁有可編程的3級程序鎖定定位;1.復(fù)位電路:5l系列單片機的復(fù)位引腳RST(第9管腳)出現(xiàn)大于10ms的高電平時單片機就執(zhí)行復(fù)位操作。若是RST連續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。復(fù)位操作平時有兩種基本形式:上電自動復(fù)位和開關(guān)復(fù)位。本實驗所用的復(fù)位電路就包括了這兩種復(fù)位方式。上電剎時,電容兩端電壓不能夠突變,此時電容的負極和RESET相連,電壓全部加在了電阻上,RESET的輸入為高,芯片被復(fù)位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0,芯片正常工作。并聯(lián)在電容的兩端為復(fù)位按鍵,當復(fù)位按鍵沒有被按下的時候電路實現(xiàn)上電復(fù)位,在芯片正常工作后,經(jīng)過按下按鍵使RST管腳出現(xiàn)高電平達到手動復(fù)位的收效。一般來說,只要RST管腳上保持10ms以上的高電平,就能使單片機有效的復(fù)位。圖2:復(fù)位電路圖2.晶振電路:XTAL1和XTAL2是獨立的輸入和輸出反相放大器,它們能夠被配置為使用石英晶振的片內(nèi)振蕩器,也許是器件直接由外面時鐘驅(qū)動。本實驗中采用的是內(nèi)時鐘模式,即采用利用芯片內(nèi)部的振蕩電路,在XTAL1、XTAL2的引腳上外接準時元件(一個石英晶體和兩個電容),內(nèi)部振蕩器便能產(chǎn)生自激振蕩。一般來說晶振能夠在1.2~12MHz之間任選,甚至能夠達到24MHz也許更高,但是頻率越高功耗也就越大。在本實驗套件中采用的12M的石英晶振。和晶振并聯(lián)的兩個電容的大小對振蕩頻率有渺小影響,能夠起到頻率微調(diào)作用。圖3:晶振電路圖33.軟件設(shè)計3.1主程序設(shè)計主函數(shù)程序設(shè)計:主函數(shù)里面瞄準時器以及ADC0809進行初始化,爾后經(jīng)過P3口采集ADC0809電壓值,并將其進行辦理,轉(zhuǎn)變成實質(zhì)溫度,最后將其顯示到數(shù)碼管上。中斷服務(wù)程序設(shè)計:準時器/計數(shù)器0服務(wù)程序主要完成的是CLK引腳也就是P1.3引腳的取反,從而生成驅(qū)動ADC0809所需要的向來信號。數(shù)碼管顯示程序設(shè)計:本實驗用的是四個共陰極的數(shù)碼管,公共端位陰極,程序執(zhí)行時,單片機第一選中其中一位,并關(guān)閉別的三位,將第一位要顯示的數(shù)據(jù)經(jīng)過P0口寫到數(shù)碼管中,關(guān)掉第一位和第三位、第四位數(shù)碼管,并打開第二位,爾后將第二位要顯示的數(shù)據(jù)寫到數(shù)碼管中,爾后依次類推,從而將四個數(shù)碼管的數(shù)據(jù)顯示完滿。開始準時器初始化ADC0809初始化否等待AD變換結(jié)束是
進入中斷進入中斷設(shè)定準時器初值數(shù)據(jù)辦理數(shù)據(jù)顯示CLK端口取反結(jié)束退出中斷圖4主函數(shù)程序設(shè)計圖圖5:中斷程序流程圖44.系統(tǒng)調(diào)試與解析4.1調(diào)試內(nèi)容及實驗現(xiàn)象圖6:現(xiàn)象一:當溫度低于下限70℃時,實現(xiàn)低溫報警圖7:現(xiàn)象二:當溫度高于上限150℃時,實現(xiàn)高溫報二、100000s以內(nèi)的計時程序1.方案論證1.1系統(tǒng)的設(shè)計任務(wù)1.程序啟動后即開始計時,時間顯示在數(shù)碼管上,在6只數(shù)碼管上完成0~99999.9s計時.52.原理圖設(shè)計依照所確定的設(shè)計電路,利用Proteus軟件繪制電路原理圖。3.軟件設(shè)計依照電路工作過程,畫出軟件流程圖,依照流程圖編寫相應(yīng)的程序。利用Proteus與KeilμVision4聯(lián)調(diào),直到實驗現(xiàn)象正確為止。設(shè)計報告按規(guī)定的規(guī)范和要求書寫并打印。1.2設(shè)計方案:使用STC89C51單片機作為中心控制部件,采用12M晶體振蕩器及30PF渺小電容組成振蕩電路;用1個四位一體共陰極數(shù)碼顯示管作為顯示部分,組成數(shù)字式秒表的主體結(jié)構(gòu),配合獨立式鍵盤和復(fù)位電路完成此秒表的計時、清零、停止、增減初始時間等各項功能。STC89C52單片機最小4位數(shù)碼管顯示模塊獨立摁鍵控制模塊系統(tǒng)模塊圖8:計數(shù)器框圖1.3軟、硬件開發(fā)環(huán)境利用Proteus軟件繪制電路原理圖、利用Proteus與KeilμVision4聯(lián)調(diào)。2.系統(tǒng)硬件設(shè)計2.1單片機主電路設(shè)計單片機采用AT89C51圖9:單片機最小系統(tǒng)時鐘電路在XTAL1、XTAL2的引腳上外接準時元件(一個石英晶體和兩個電容),內(nèi)部振蕩器便能產(chǎn)生自激振蕩。在本設(shè)計中采用的12M的石英晶振。和晶振并聯(lián)的兩個電容的大小對振蕩頻率有渺小影響,能夠起到頻率微調(diào)作用。當采用石英晶振時,電容能夠在20~40pF之間選擇。復(fù)位電路復(fù)位操作平時有兩種基本形式:上電自動復(fù)位和開關(guān)復(fù)位。上電剎時,電容兩端電壓不能突變,此時電容的負極和RESET相連,電壓全部加在了電阻上,RESET的輸入為高,芯片被復(fù)位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0,芯片正常工作。并聯(lián)在電容的兩端為復(fù)位按鍵,當復(fù)位按鍵沒有被按下的時候電路實現(xiàn)上電復(fù)位,在芯片正常工作后,經(jīng)過按下按鍵使RST管腳出現(xiàn)高電平達到手動復(fù)位的收效。3.EA/VPP(31腳)的功能和接法51單片機的EA/VPP(31腳)是內(nèi)部和外面程序儲藏器的選擇管腳。當EA保持高電平時,單片機接見內(nèi)部程序儲藏器;對于現(xiàn)在的絕大部分單片機來說,其內(nèi)部的程序6儲藏器(一般為flash)容量都很大,因此基本上不需要外接程序儲藏器,而是直接使用內(nèi)部的儲藏器。2.2顯示電路設(shè)計74LS245芯片介紹:74LS245常用來驅(qū)動led也許其他的設(shè)備,用法很簡單如上圖,這里簡單的給出一些資料,他是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還擁有雙向三態(tài)功能,既能夠輸出,也能夠輸入數(shù)據(jù)。當8051單片機的P0口總線負載達到或高出P0最大負載能力時,必定接入74LS245等總線驅(qū)動器。當片選端/CE低電平有效時,DIR=“0”,信號由B向A傳輸;(接收)*DIR=“1”,信號由A向B傳輸;(發(fā)送)當/CE為高電平時,A、B均為高阻態(tài)。圖10:74LS245顯示部分采用動向顯示。數(shù)碼管動向顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動向驅(qū)動是將全部數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的共陰極增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,全部數(shù)碼管都接收到相同的字形碼,但終歸是那個數(shù)碼管會顯示出字形,取決于單片機對位選通端電路的控制,因此我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。經(jīng)過分時輪流控制各個數(shù)碼管的位選通端,就使各個數(shù)碼管輪流受控顯示,這就是動向驅(qū)動。動向顯示是利用人眼視覺暫留特點來實現(xiàn)顯示的。事實上,顯示器上任何時辰只有一個數(shù)碼管有顯示。由于各數(shù)碼管輪流顯示的時間間隔短、節(jié)奏快,人的眼睛反應(yīng)但是來,因此看到的是連續(xù)顯示的現(xiàn)象。為防范閃爍延時的時間在1ms左右,不能夠太長,也不能夠很短。圖11:LED數(shù)碼管3.軟件設(shè)計3.1主程序設(shè)計初始化7調(diào)用數(shù)碼管的顯示程序否K2可否按下?是執(zhí)行按鍵操作函數(shù)否K1可否按下?計數(shù)器清零圖12:主程序流程圖4.系統(tǒng)調(diào)試與解析4.1調(diào)試內(nèi)容及實驗現(xiàn)象圖13:秒表計時三、8x8點陣LED電路設(shè)計1.方案論證1.1系統(tǒng)的設(shè)計任務(wù)8應(yīng)用MCS-51單片機設(shè)計8X8點陣LED電路。采用兩片8X8點陣LED顯示器,一個發(fā)光二極管控制點陣中的一個點,用三個按鍵實現(xiàn)文字的左、右搬動和暫停功能。2.原理圖設(shè)計依照所確定的設(shè)計電路,利用Proteus軟件繪制電路原理圖。3.軟件設(shè)計依照電路工作過程,畫出軟件流程圖,依照流程圖編寫相應(yīng)的程序。利用Proteus與KeilμVision4聯(lián)調(diào),直到實驗現(xiàn)象正確為止。設(shè)計報告按規(guī)定的規(guī)范和要求書寫并打印。1.2設(shè)計方案利用單片機對整個系統(tǒng)進行整體控制,進行顯示所要顯示的字符。顯示方式分為三種:逐字顯示、上滾顯示、左滾顯示。其中顯示字模數(shù)據(jù)由單片機輸入顯存,點陣的點亮過程有程序控制,由驅(qū)動電路完成,點陣采用單色顯示,該顯示器電路的特點是:點陣的動向顯示過程占用時間比較短,亮度比較高,而且亮度能夠改變電阻進行調(diào)治。74HC5958*8LED復(fù)位晶振電路點陣顯示屏AT89C51列單片機圖14:8*8點陣電行程序框圖1.3軟、硬件開發(fā)環(huán)境利用Proteus軟件繪制電路原理圖、利用Proteus與KeilμVision4聯(lián)調(diào)。系統(tǒng)硬件設(shè)計2.1單片機主電路設(shè)計由單片機進行辦理,并將行列信號分別經(jīng)過顯示驅(qū)動輸入點陣屏,控制點陣的顯示。(1)單片機:采用AT89c51單片機芯片作為主控,控制LED點陣顯示。(2)顯示:采用8x8LED點陣屏顯示字母。(3)顯示驅(qū)動:考慮到驅(qū)動LED所需電流采用74HC573芯片8位鎖存器作行驅(qū)動芯片,AT89S52的I/O口作為列驅(qū)動。Start按下UP9文字上移文字停止搬動在初始處按下DOWN文字下移按下STOPEnd2.2測量、變換電路設(shè)計原理解析:鎖存器都是透明的D型鎖存器,當使能(G)為高時,Q輸出將隨數(shù)據(jù)(D)輸入而變。當使能為低時,輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)能夠保持,甚至當輸出被關(guān)閉時,新的數(shù)據(jù)也能夠置入。這種電路能夠驅(qū)動大電容或低阻抗負載,能夠直接與系統(tǒng)總線接口并驅(qū)動總線,而不需要外接口。特別適用于緩沖寄存器,I/O通道,雙向總線驅(qū)動器和工作寄存器圖15:主程序流程圖并行輸出,總線驅(qū)動;串行輸出;標準中等規(guī)模集成電路74HC595移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復(fù)位,儲藏寄存器有一個并行8位的,具備三態(tài)的總線輸出,當使能OE時(為低電平),儲藏寄存器的數(shù)據(jù)輸出到總線。符號引腳描述:Q0Q78位并行數(shù)據(jù)輸出,其中Q0為第15腳GND第8腳地Q7’第9腳串行數(shù)據(jù)輸出MR第10腳主復(fù)位(低電平)SHCP第11腳移位寄存器時鐘輸入STCP第12腳儲藏寄存器時鐘輸入OE第13腳輸出有效(低電平)DS第14腳串行數(shù)據(jù)輸入VCC第16腳電源應(yīng)用設(shè)計;電路圖10圖16:測量、變換電路圖2.3按鍵電路設(shè)計P1口:P1口是一個內(nèi)部供應(yīng)上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外面下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。圖17:按鍵電路圖2.4顯示電路設(shè)計LED點陣顯示屏采用1個8*8共64個象素的點陣,經(jīng)過LED點陣資料判斷出該點陣的引腳分布,8*8的LED點陣為單色共陽模塊,單點的工作電壓為正向(Vf)=1.8v,正向電流(if)=8-10MA。靜態(tài)點亮器件時(64點全亮)總電流為640mA總電壓為1.8v,總功率為1.15w.動向時取決于掃描頻率(1/8或1/16秒),單點剎時電流可達80-160mA。從Proteus元件庫中找到“MATRIX-8X8-RED”元器件,并將四塊該元器件放入Proteus文檔區(qū)編寫窗口中。此時需要注意,若是該元器件保持初始的地址(沒有轉(zhuǎn)動方向),我們要首先將其左轉(zhuǎn)90°,使其水平放置,那么此時它的左面8個引腳是其行線,右側(cè)8個引腳是其列線(自然,若是你是將右轉(zhuǎn),則右側(cè)8個引腳是行線)。爾后我們將四個元器件對應(yīng)的行線和列線分別進行連接,使每一條行線引腳接一行16個LED,列線也相同。并注意要將11行線和列線引出必然長度的引腳,以便下面我們使用。連接好的16×16點陣以以下圖所示:圖18:16*16點陣連接成如上圖的16×16點陣可是第一步,這樣分開的數(shù)塊其實不能夠達到好的顯示收效,下面我們要將其進一步組合。組合實質(zhì)上很簡單,第一選中如上圖中右側(cè)的兩塊8×8點陣,然后拖動并使其與左側(cè)的兩塊相并攏最后一步,選中下側(cè)的兩塊點陣,并拖動使其與上側(cè)的兩塊并攏,最后的收效以以下圖所示:圖19:16*16點陣收效圖能夠看到,原來紛亂的連線現(xiàn)在已經(jīng)幾乎全部隱蔽了,一塊16×16的LED點陣做成了。需要注意,做成的LED點陣的行線為左側(cè)的16個引腳,下側(cè)的16個引腳為其列線,而且其行線為高電平有效,列線為低電平有效。爾后,我們將其保存,以便今后使用。圖20:16×16的LED點陣124.系統(tǒng)調(diào)試與解析4.1調(diào)試內(nèi)容及實驗現(xiàn)象圖21:轉(zhuǎn)動顯示收效心得領(lǐng)悟本次課程設(shè)計完成了一個基于51單片機的幾個程序,在此次難得的課程設(shè)計過程中,鍛煉了自己的思慮能力和著手能力。經(jīng)過題目選擇和設(shè)計電路的過程中,加強了我思慮問題的完滿性和實質(zhì)生活聯(lián)系的可行性。在方案設(shè)計選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機的能力,對單片機的各個管腳的功能也有了進一步的認識。還鍛煉我們個人的查閱技術(shù)資料的能力,著手能力,發(fā)現(xiàn)問題,解決問題的能力。而且我們熟練掌握了有關(guān)器件的性能及測試方法。參照文件[1]《單片機原理、應(yīng)用與PROTEUS仿真》,張靖武、周靈彬,電子工業(yè)初版社,2008.813[2]《KEILCx51V7.0單片機高級語言編程與Uvision2應(yīng)用實踐》,徐愛鈞、彭秀華,電子工業(yè)初版社,2008.5[3]《基于Proteus的電路與PCB設(shè)計》,周靈彬、任開杰,電子工業(yè)初版社,2010.8[4]《單片機原理及應(yīng)用》,張毅剛、彭喜元、彭宇,高等教育初版社,2010.5[5]《AT89系列單片機原理及接口技術(shù)》,王幸之,北京航空航天大學(xué)初版社,2004.9《基于Proteus的單片機可視化軟硬件仿真》,林志琦,北京航空航天大學(xué)初版社,2006.9.附錄1:實驗一硬件原理圖附錄2:實驗一程序清單#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;//時鐘信號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ù)點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:實驗二硬件原理圖附錄4:實驗二程序清單#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:實驗三硬件原理圖18附錄6:實驗三程序清單#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)//搬動一個十六進{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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三農(nóng)產(chǎn)品品質(zhì)管理方案
- 數(shù)據(jù)挖掘技術(shù)在業(yè)務(wù)智能化中的應(yīng)用作業(yè)指導(dǎo)書
- 2025年青海貨運從業(yè)資格證考試模擬試題及答案大全解析
- 2025年河北貨運從業(yè)資格證考試題技巧
- 2025年保山a2貨運從業(yè)資格證模擬考試
- 2025年遼寧貨運從業(yè)資格證考試資料
- 2025年伊春c1貨運上崗證模擬考試
- 2024年高中語文第四單元第13課宇宙的邊疆課時優(yōu)案1含解析新人教版必修3
- 粵教版道德與法治九年級上冊2.1.2《政府社會治理的主要職責》聽課評課記錄
- 初中班主任教師工作計劃
- 2022年第六屆【普譯獎】全國大學(xué)生英語翻譯大賽
- GB/T 14258-2003信息技術(shù)自動識別與數(shù)據(jù)采集技術(shù)條碼符號印制質(zhì)量的檢驗
- 政府資金項目(榮譽)申報獎勵辦法
- JJF 1069-2012 法定計量檢定機構(gòu)考核規(guī)范(培訓(xùn)講稿)
- 最新如何進行隔代教育專業(yè)知識講座課件
- 當前警察職務(wù)犯罪的特征、原因及防范,司法制度論文
- 計算機文化基礎(chǔ)單元設(shè)計-windows
- 廣東省保安服務(wù)監(jiān)管信息系統(tǒng)用戶手冊(操作手冊)
- DNA 親子鑒定手冊 模板
- DB33T 1233-2021 基坑工程地下連續(xù)墻技術(shù)規(guī)程
- 天津 建設(shè)工程委托監(jiān)理合同(示范文本)
評論
0/150
提交評論