基于單片機智能溫控流水燈_第1頁
基于單片機智能溫控流水燈_第2頁
基于單片機智能溫控流水燈_第3頁
基于單片機智能溫控流水燈_第4頁
基于單片機智能溫控流水燈_第5頁
已閱讀5頁,還剩43頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要STM32是和8位單片機不同的,它只是可以做到使寄存器進行編程,而且使用官方提供的庫文件進行編程,這樣子的編程就比較容易移植,同時我們寫代碼的時候就也比較方便了,它包括一系列32位產品有的功能,比如說:集高性能、實時功能、數字信號處理、低功耗與低電壓操作等特性。STM32還保持了集成度高和易于開發的特性。因為STM32單片機制造價格也比較便宜所以本設計選擇了STM32單片機來實現溫控流水燈的設計。這次設計的單片機溫控流水燈系統主要部分就是STM32單片機和LED流水燈以及溫度濕度顯示器。通過對STM32單片機的控制操作,讓它可以檢測到溫度差異的信號,來決定LED流水燈是否閃亮。通過溫濕度顯示器我們可以了解到單片機所接受的溫度來判斷系統是否對應成功,整個設計的電路具有易于操作,體積小,設計簡單,功耗小特點。最終實現利用STM32單片機實現基于單片機的溫控流水燈,我們會通過采集溫度傳感器值,根據溫度的大小,控制流水燈的熄滅閃亮。于是我設計了三種模式分別是:當溫度高于35度時,單片機上圍繞成心形的流水燈一閃一滅;當溫度低于25度時,圍繞成矩形流水燈一閃一滅;當溫度在約25-35度之間時,排列的跑馬燈流水燈循環點亮。我希望我們可以利用溫控流水燈系統將我們的城市裝飾的更加的漂亮和浪漫,家里可以根據不同的溫度來亮起適合的燈光給你一種舒適的感覺,也覺得特別的好奇以前也沒有做過這方面的東西,所以對我來說這個設計還是特別有意義的。關鍵詞:STM32單片機;心形流水燈;矩形流水燈;跑馬燈流水燈AbstractSTM32isdifferentfrom8-bitsinglechipmicrocomputer.Itcanonlymakeregisterprogramanduseofficiallibraryfiletoprogram,sothatsubprogrammingiseasiertotransplant.Atthesametime,whenwewritecode,itismoreconvenient.Itincludesaseriesoffunctionsof32-bitproducts,suchas:sethighperformance,real-timefunction,digitalsignalprocessing,lowpowerconsumptionAndlowvoltageoperation.STM32alsomaintainshighintegrationandeasytodevelopfeatures.BecauseSTM32single-chipischeapertomanufacture,STM32single-chipischosentorealizethedesignoftemperaturecontrolledrunningwaterlampThemainpartofthesinglechipmicrocomputertemperaturecontrolwaterlampsystemisSTM32singlechipmicrocomputer,LEDwaterlampandtemperatureandhumiditydisplay.ThroughthecontroloperationofSTM32single-chipmicrocomputer,itcandetectthesignaloftemperaturedifferencetodeterminewhethertheLEDrunningwaterlampisflashing.Throughthetemperatureandhumiditydisplay,wecanknowthetemperatureacceptedbythesingle-chipmicrocomputertojudgewhetherthesystemissuccessfulornot.Thewholecircuithasthecharacteristicsofeasyoperation,smallsize,simpledesignandsmallpowerconsumption.Finally,weuseSTM32MCUtorealizethetemperaturecontrolwaterlampbasedonSCM.Wewillcontrolthewaterlamptogooutandflashaccordingtothetemperaturebycollectingthetemperaturesensorvalue.SoIdesignedthreemodesrespectively:whenthetemperatureishigherthan35degrees,therunningwaterlampintheshapeofaheartwillflashoff;whenthetemperatureislowerthan25degrees,therunningwaterlampintheshapeofarectanglewillflashoff;whenthetemperatureisbetween25-35degrees,therunningwaterlampinthearrangementwillturnon.Ihopethatwecanusethetemperaturecontrolledrunningwaterlampsystemtodecorateourcitymorebeautifullyandromantically.Athome,youcanlightupsuitablelightsaccordingtodifferenttemperaturestogiveyouacomfortablefeeling.IalsofeelthatIamparticularlycuriousandhaven'tdoneanythinginthisfieldbefore,sothisdesignisofspecialsignificancetome..Keywords:STM32singlechipmicrocomputer;Heart-shapedwaterlamp;Rectangularrunningwaterlamp;Horseracinglantern目錄1前言 11.1本設計的目的、意義及應達到的技術要求 21.1.2研究的目的 21.1.3研究的內容 21.1.4目的意義以及技術要求 22設計原理以及方案的選擇 32.1單片機工作的前提和設計原理 32.2單片機的基本原理 33單片機的選擇及其介紹 43.1STM32單片機的簡單介紹 43.1.1關于STM32概覽 43.1.2關于SYM32的GPIO介紹 54電路的硬件設計和分析 74.1LED燈的設計選擇 74.2選取的是STM32最小系統的硬件設計 94.3LED燈的控制 94.4溫度顯示設計 105電路的硬件設計和分析 125.1Keil軟件的使用和仿真圖,電路軟件的設計 12參考文獻 20致謝 21附錄 22前言在現在進入21世紀這個科技飛速發展的時代,將會出現很多智能自動化的東西,我所選擇的就是關于智能溫控這一方面,因為我覺得溫度是和我們息息相關的東西,我們無時不刻都在感受著溫度的存在,所以我覺得智能溫控系統是恨值得我們去研究的,并且在這個高科技世紀,我們也將越來越需要更多大的智能電子設備,這個溫控系統有很好的前景,市場需求也會很大,畢竟和我們的日常生活相關,因為單片機智能溫控操作比較簡單,而且穩定性能也比較好,價格也相對的比較便宜,所以我覺得一個可以通過單片機按照我們所需要的溫度范圍實現顯示并讓它能夠智能控制其運轉的系統具有很大的研究意義。當今燈光照明時代已經發展到了LED燈的時代。相信不用多長時間,LED燈將會取代所有的燈光照明,成為最大,最流行的照明工具。發光二極管的由來是因為在用磷砷化鎵,磷化鎵和碳化硅所組成的物質上加上正向電壓的時候這個電子與空穴就會復合,它就會自動的發射出光來。在電路板上我們所設計圍繞成心形和矩形還有一字排開的跑馬燈用的都是LED燈。發光二極管中的紅色光由其中的磷砷化鎵二極管發出的,我們用的也是紅色的發光二極管。為什么選用LED燈是因為它具有發光效率髙,能耗少,安全可靠性強,利于環保,制作也簡單便宜的特點。在當今社會LED的應用主要用于建筑外觀照明,景觀照明,室內照明,娛樂場所及舞臺照明,屏幕顯示,汽車照明等領域我希望它能夠在更多的領域上起到作用,小小的東西可以有大的作用,讓我們的城市變得更加的漂亮,可以的話也希望能夠有更多的用處。本設計最終將會實現利用STM32單片機實現基于單片機的溫控流水燈,通過采集溫度傳感器值,通過顯示屏讓溫度顯示出來根據溫度值,控制流水燈輸出模式。當溫度高于35度時,心形環繞的流水燈一閃一滅;當溫度低于25度時,矩形環繞的流水燈一閃一滅;當溫度在25-35度之間時,跑馬燈流水燈循環點亮,進而表現出溫控智能系統。1.1本設計的目的、意義及應達到的技術要求1.1.1研究的目標(1)溫度的顯示。(2)溫度的范圍。(3)單片機的焊接。(4)流水燈的閃亮。(5)實物的提交。1.1.2研究內容(1)設計一個單片機智能溫控流水燈閃亮。1.1.3需要解決的問題(1)選擇LED燈的時候,我們應該選用幾個燈,選擇什么樣功率的LED燈才能讓單片機更穩定安全不會被燒壞,應該以什么樣的形式才能讓人更能簡單的理解。(2)關于電源驅動應該怎么安排,對于整個電路才是安全合適的。(3)怎么去編程序才能更好的讓我們的智能溫控流水燈更好的實現。(4)怎么讓溫度更快的上升。(5)該選擇什么樣的溫度范圍才能更體現智能溫控的效果。1.1.4目的意義以及技術要求目的是通過以單片機為核心實現智能溫控流水燈的熄滅點亮的系統。通過單片機的控制我們能讓城市變的更加的漂亮比如說流水燈在舞臺、廣告牌、路燈、建筑上面的作用,可以有很出色的效果。在技術要求上僅僅是單片機的知識是不夠的還需要硬件結構和具體的應用對象的特點上結合來完善系統。對源代碼還有仿真軟件的運用也是需要的。1.單片機最小系統:通過對單片機最小系統的研究,掌握單片機各引腳功能,理解單片機工作過程及原理,以及與外部擴展器件的連接,能夠自己運用單片機來解決實際問題。2.單片機C語言:C語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發都用C語言編程,如各種單片機、DSP、ARM等。3.溫控流水燈系統是以STM32單片機核心的單片機組成,編寫程序控制流水燈,并能實現了心形流水燈、矩形流水燈、跑馬流水燈依次次點亮,熄滅的“流水”效果。2設計原理以及方案的選擇這次設計任務的要求是制作單片機智能用溫度控制流水燈閃亮。在這次設計中我選擇的方案是:使用STM32單片機作為這次設計的主控制電路然后編寫實現這次目的對應的程序讓它能夠實現智能溫控流水燈。使用KeilC51對單片機進行模擬實現穩定控制LED的閃亮。所以這次程序設計中,我才用先寫出代碼然后用KeilC51將代碼放入,來檢驗設計是否能夠成功,用代碼模擬溫度實現對心形,矩形,一字型流水燈的閃亮控制,這樣我就可以選擇合適想要的溫度來實現設計的成功,并且能體現出它的意義。2.1單片機工作的前提和設計原理其實單片機就相當于一個微型的計算機,它比電腦就單單少了一個I/O設備。單片機想要正常工作必須滿足三大原理1單片機供電電源正常,2單片機復位管不能出現復位的信號,3單片機的晶振有沒有起振。要有電源肯定是首要的條件,所以我在電路板上設計了一個能夠通電的電源裝置,只用接上接頭插上電源我們的單片機就能正常的運行了。同時單片機在使用的時候我們都會先檢查我我們的芯片和板子有沒有得到正確的電源。在使用之前除了電源需要檢查以外,我們還需要測量單片機的復位管腳有沒有出現復位信號,如果一直在復位狀態,那么我們的單片機肯定是不能正常運行的。為了成功引起晶振,我們也進行了晶振頻率的選擇還有電容的選擇。2.2單片機的基本原理單片機通常都是有控制器、儲存器、輸入輸出設備以及控制器組成的。說的簡單一點,單片機就是單純的來實現我們賦予它指令的工作方式,它會自動完成我們給它下達的指令,也就是它運行程序的過程,它會運行我們用程序代碼寫下的各種作用的命令,每一條指令都是對應一個基本的操作。最終所有的指令全部完成,單片機就是通過它的指令系統,不同類型的單片機它的指令系統也是不同的。我們想要讓單片機自動的去完成我們指定的某一任務,就必須把所有的問題都編寫成為統一的指令(解決問題的一系列指令),這些指令的集合體就是我們所說的程序了[1]。單片機的程序都是放在存儲器中的,因為它是具備儲存功能的部位,我們把指令都放在儲存器中的單元里面,這些單元類似于一間一間的房子,我們就把單元放在里面,單元里面的指令都是一個一個對應的就像是單獨的一個門牌號碼,這個門牌號碼就是儲存的地址,這個地址叫做存儲單元地址,這樣我們就能很簡單的知道這個儲存單元的地址了,我們需要使用的時候就是指令被取出來,然后再由我們的單片機執行。我們的程序都是按照一定的順序被執行的,也就是說我們輸入的指令也是按照順序來的。單片機就是可以按照順序的把指令取出來然后去運行。在單片機中存在程序計數器PC,這個東西能夠追蹤我們指令所在的儲存單元地址,想要運行命令的時候就會給程序計數器PC第一條指令所在的地址,然后執行每一條命令,計數器中的內容就會自動的增加,這樣就能穩定我們指令的順利進行。所以使用單片機只要我們把指令一條一條的寫好,保證硬件的條件,我們就可以得到我們所需要的結果。3.單片機的選擇及其介紹3.1STM32單片機的簡單介紹STM32的最大特點就是高性能、低成本、低消耗。STM32是和8位單片機不同的,它只是可以做到使寄存器進行編程,而且使用官方提供的庫文件進行編程,這樣子的編程就比較容易移植,它和51結構單片機的內置UART是不同的,一個是通用異步收發器不是同一個時鐘線,一個是同步和異步都可以的收發器,也帶著同樣的時鐘線,其實差的也不大就是同步用的頻率比較,異步用的比較多而已。同時我們寫代碼的時候就也比較方便了,這也是我選擇它的最大原因。如圖3.1這個單片機仿真圖是我設計所用單片機仿真圖:圖3.1STM32管腳圖3.1.1關于STM32概覽我們的STM32是基于32位32位Cortex?-M3內核,它的工作頻率是可以達到72Mhz的。STN32的主要是四個控制單元和四個相對應的受控單元,它們8個都是有一條AHB線連著的。控制單元有:DCode總線、系統總線、通用DMA1和DMA2,受控單元是內部SRAM、FSMC、AHB和內部FLash。STM32使用的程序儲存器是Flash和SRAM數據儲存器,它們一個可以達到64K或者128K字節,另一個著是20K字節[2]。Icode總線:專門讓我們進行指令預取。我們可以通過它連接M3內核指令總線與Flash的指令接口。Dcode總線:專門用于完成常量加載和調試訪問的總線。我們可以通過用它連接M3內核DCode總線與Flash的數據接口。System總線:專門讓我們去協調內核和DMA之前的通信輸入輸出。也可以讓它連接M3內核系統總線與總線矩陣BusMatrix。DMA總線:專門用于我們去協調DCode、DMA、SRAM、Flash和他外設的訪問。也是連接DMA的AHB主接口與總線矩陣BusMatrix的作用。BUSMATRIX總線矩陣:它是有8各部分組成,分別是四個控制單元和四個被控制單元:DCode、系統總線、DMA1、DMA2、總線FLITF、SRAM、FSMC、AHB2APB橋。。所以我們使用輪換算法管理內核系統總線與DMA主總線之間訪問的仲裁的方法來操作它們。AHB/APBbridges:需要先設置寄存器RCC-AHBENR打開該設備的時鐘才能使用它,其中APB1的使用速度要低于36MHz,APB2的使用速度要高72MHz,它提供了它們兩總線之中的同步連接,當我們復位以后除了SRAM和FLITF以外的東西都會被自動關閉。AHB(高級高性能總線,AdvancedHighperformanceBus)就是一個總的線路,它連接著CPU、DMA、DSP這種高性能的模塊,它是由三個部分組成的分別是模塊、從模塊、基礎結構,數據的傳輸會通過主模板發起從模板的回應。APB(高級外圍總線,AdvancedPeripheralBus)它唯一的一個模板就是APB橋,主要是用于USRT低寬帶和外設之前的連線相當于一個外圍線路的總線。3.1.2關于STM32的GPIO介紹圖3.2LQFP48引腳定義圖我們的STM32都是用LQFP48裝的,它一共有37個IO引腳,分別是被五個組控制接收的,是PA15個、PB15個、PC3個、PD2個、PE0個,其中16個IO接口可以在外部中斷,接口大部分都可以兼容5V的信號。所有的IO接口的接受和輸出8mA的電流,灌入的電流也可以達到20mA。STM32一共有六種種寄存器,兩種32位配置的寄存器,GPOPX-CEL、GPIOX-CRH,還有兩種32位的數據寄存器,GPIOX-BRR、GPIOX-ODRR,一種32位復位寄存器GPIOX-BSRR,最后一種是32位鎖定寄存器GPIOX-LCKR。我們的輸出分為浮空輸出和開漏輸出,輸入又分為浮空輸入和上啦輸入,復用也分為復用推挽輸出和復用開漏輸出,它們都可以由GPIO通過軟件控制配置。STM32的GPIO都由承受大電流通過的承受力,所以可以方便我們鎖定,就可以避免讓其他GPIO相關寄存器損壞[2]。3.1.3關于STM32的通信接口STM32擁有9個接口:1個USB接口、1個CAN接口、2個SPI接口。3個USART接口、2個IC接口[1]。IC:可以讓工作有四個模式:多主模式、從模式、標準模式、快速模式。接口支持兩種尋址:10位尋址和7位尋址,IC的線是很短的不會超過2M,它的7位從模式可以內置硬件CRC發生器以及校驗器,它是支持用DMA操作系統的。STN32的鏈接都必須是同一個地址并且支持SMBus和PMBus兩總線的。USART:功能是十分強大的,提供LIN主/從功能,兼容ISO7816智能卡,同時也是支持三種傳輸編解碼的:IRDASIREMDEC。它是由硬件信號管理的。它和IC一樣是支持DMA操作的,它的1接口輸出輸入速度可以達到4.5,Mbit/S,剩下的接口都可以到2.25Mbit/S。SPI:使用主、從模式就可以在雙工和半雙工的輸出輸入速度達到4.5Mbit/S,因為有兩個SPI接口,分頻器都能產生8種模式的頻率。我可以都選擇的配置8位和16位的幀數,同樣STM32的SPI也可以進行DMA操作。CAN:可以有兩規范分別是CAN2.0A和CAN2.0B。都可以達到1Mbit/S,可以接收兩種幀,一個是11位標識的標準幀,一個是29位的標準幀。USB:SMT32的速度是非常快的,具有一個內部的12Mbts/S的全速度USB控制器,可以控制它的使用,并且有一個專用48MHz的相環PLL直接從內部產生。4電路的硬件設計和分析4.1設計選取的是STM32最小系統的硬件電路設計大家都知道單片機工作起來都是執行我們所使用的程序代碼,每個部分會完成我們設定的任務。所以如果一個單片機芯片沒有輸入完成用戶程序,那么它肯定就不能正常的工作了。就算一個單片機芯片輸入了我們的程序后再運行也不一定能成功,這是為什么因為需要一個完整的系統,單片機工作的時候是非常依靠單片機最小的系統的[3]。STM32的最小系統是有五大部分組成:1.電源系統圖4.1電源電路電源是使用芯片供電,穩壓器使用3.3V。2.時鐘電路4.2時鐘電路時鐘的晶振一般都是用石英石組成的,為什么會使用石英石,是因為它本身是有電效應的,如果我們在它的晶片兩邊加上一個電場力的話,我們就讓晶體發生變形,這個叫做機械變形,一個穩定的電場力會讓晶體產生機械振動就,晶體形變振動就會產生我們所需要的交變電場了。我們的電場力電壓是很小的,但是要讓它的振動頻率是很穩定的,當外加的交變電壓頻率和我們使用的石英石晶片自己有的頻率一樣的是時候就會產生電壓諧振。晶振電路就是主要的時鐘,它相當于整個系統的心跳節拍。所有的外部工作,還有CPU的運作都要基于這個時鐘。STM32晶振是分兩種,一種是無源,一種是有源。但是他們的本質都是一樣的,我們稱為皮爾斯震蕩電路。但是對于單片機來說,它的內部集成電阻.電源.反相放大器三種,我們只需要外接晶體就能完成,這就是我們的單片機的無源晶振。3.調試4.復位電路圖4.3復位電路引腳NRST是我們的主控芯片,也就是低電平復位,STM32的按鍵復位就是屬于系統復位的。電容它的作用就是起到了按鍵消抖,是專門為了防止我們發生操作失誤后會產生大約10ms的抖動,這對于我們NRST來控制已經算是特別長的時間了,足夠我們進行多次的復位動作。5.芯片圖4.4芯片基礎4.2LED燈的設計選擇為了實現單片機溫控流水的系統效果更好的展示,我是準備了三種不同的情況,一個是一字排列的LED燈,讓他們在一定的溫度下形成跑馬流水燈的樣子,二就是一個矩形的排列方式,三就是一個心形狀的排列方式。但是由于電力承受的原因我害怕把板子燒壞心形流水燈我就讓它少亮了幾個也算是能達到我們預計的效果。4.3LED燈的控制下面這個是我的LED的仿真模擬圖4.5和圖4.6,我分別用了三種情況來控制上面也提到過的心型、矩形、一字型,通過GND來連接他們,同時我也用計算機算出來它們的限流電阻是多少,然后連接在它們的下方或者旁邊。圖4.5LED仿真圖圖4.6LED仿真圖4.4溫度的顯示設計關于溫度多少的顯示,我是做了一個溫度的顯示屏,因為只找到溫度和濕度一起的,所以我就設計了溫度和濕度一起感受的探頭。下面是我仿真圖下的顯示屏圖4.7。圖4.7顯示屏仿真圖5Keil軟件的使用和仿真圖,電路軟件的設計5.1GPIO口高低電平以下程序的編寫我分別對高低電平進行了定義,對GPIO口設定了對應心、矩形、一字型排列的LED燈的情況,高電平就亮,低電平就不亮的設定。程序如下:#include"sys.h"#include"main.h"floatHumidity,Temperature;//矩形流水燈#defineLED_J_HGPIO_SetBits(GPIOB,GPIO_Pin_12)#defineLED_J_LGPIO_ResetBits(GPIOB,GPIO_Pin_12)//心流水燈#defineLED_X_HGPIO_SetBits(GPIOB,GPIO_Pin_13)#defineLED_X_LGPIO_ResetBits(GPIOB,GPIO_Pin_13)//流水的1#defineLED_L_1_HGPIO_SetBits(GPIOB,GPIO_Pin_10)#defineLED_L_1_LGPIO_ResetBits(GPIOB,GPIO_Pin_10)//流水的2#defineLED_L_2_HGPIO_SetBits(GPIOB,GPIO_Pin_2)#defineLED_L_2_LGPIO_ResetBits(GPIOB,GPIO_Pin_2)//流水的3#defineLED_L_3_HGPIO_SetBits(GPIOB,GPIO_Pin_1)#defineLED_L_3_LGPIO_ResetBits(GPIOB,GPIO_Pin_1)//流水的4#defineLED_L_4_HGPIO_SetBits(GPIOB,GPIO_Pin_0)#defineLED_L_4_LGPIO_ResetBits(GPIOB,GPIO_Pin_0)//流水的5#defineLED_L_5_HGPIO_SetBits(GPIOA,GPIO_Pin_7)#defineLED_L_5_LGPIO_ResetBits(GPIOA,GPIO_Pin_7)5.2GPIO口初始化設定因為我的設計是不同的溫度控制不同的燈。所以進行GPIO的初始化讓燈關閉不亮,然后隨著溫度的上升來判斷什么燈型的閃亮。程序如下:voidGPIO_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;//開漏輸出//GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;//心形號燈GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;//1號燈GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//2號燈GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//3號燈GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;//4號燈GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;//5號燈GPIO_Init(GPIOA,&GPIO_InitStructure); //線全部關燈 LED_L_1_H;//關燈1 LED_L_2_H;//關燈2 LED_L_3_H;//關燈3 LED_L_4_H;//關燈4 LED_L_5_H;//關燈5 LED_X_L;//關燈矩形 LED_J_L;//關燈心形//GPIO_SetBits(GPIOA,GPIO_Pin_4);}5.3溫濕度的獲取和燈型的閃亮。我們的設計最終的目的就是為了單片機智能溫控LED燈的閃亮。所以設計了溫度的獲取流程,還有就是我們LED燈分成了3種燈型排列。分別在三種溫度下會有不同的燈型會進行閃亮分,別是溫度大于35度的時候關閉矩排列形和一字型排列LED燈的閃亮進行心形排列的LED燈閃亮一秒全亮一秒全滅,當溫度在25到35度之間的時候關閉心型LED燈和一字型LED燈矩形排列LED燈一秒亮一秒滅,當溫度在小于25度的時候關閉心型排列LED燈和矩形排列LED燈一字型流水燈循環點亮一秒一個。程序如下://1S模塊執行函數//floatHumidity,Temperature;voidTASK1(void*parameter){// floatTemp;//溫度// floatHum;//濕度 charString[10]={0x00}; Temperature=SHT2X_GetTempHM(); Humidity=SHT2X_GetHumiHM(); { sprintf(String,"Temp:%02.02f",Temperature); OLED_ShowString(0,0,(u8*)String,16); sprintf(String,"Humidity:%02.02f",Humidity); OLED_ShowString(0,2,(u8*)String,16); }return;}//100MS執行一次voidTASK2(void*parameter){ staticu8t=0; if(Temperature>35) { LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//關閉流水燈關其他燈 LED_J_L;//關閉矩形燈 //心形流水燈一秒全亮一秒全滅 if(t==1) { //心形點亮 LED_X_H; } else { //心形熄滅 LED_X_L; } t=(t+1)%2; } elseif(Temperature<=35&&Temperature>=25) { //跑馬燈流水燈循環點亮一秒一個 //矩形流水燈一秒全亮一秒全滅 LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//關閉流水燈關其他燈 LED_X_L;//關閉心形燈 if(t==1) { //心形點亮 LED_J_H; } else { //心形熄滅 LED_J_L; } t=(t+1)%2; } else { //開啟流水燈 //先關閉其他燈 LED_J_L;//關閉矩形燈 LED_X_L;//關閉心形燈 switch(t) { case0x00:LED_L_1_L;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//開1號燈關其他燈 break; case0x01:LED_L_1_H;LED_L_2_L;LED_L_3_H;LED_L_4_H;LED_L_5_H;//開2號燈關其他燈 break; case0x02:LED_L_1_H;LED_L_2_H;LED_L_3_L;LED_L_4_H;LED_L_5_H;//開3號燈關其他燈 break; case0x03:LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_L;LED_L_5_H;//開4號燈關其他燈 break; case0x04:LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_L;//開5號燈關其他燈 break; } t=(t+1)%5; }return;}5.5Keil軟件的使用Keil是美國KeilSoftware公司出品的軟件,用起來真的很方便,但是不能直接進行硬件仿真,我們必須有一個單片機真是器具的硬件設備才可以進行我們想要的仿真。就算是如此目前Keil也是現在很流行的代碼編寫軟件,它在編寫上面是比匯編強很多的,在C語言的維護、結構以及功能的方面是有很大的優勢的,所以用的人也就變得越來越多,它的仿真調試器是在內完整開發的十分的強大,Keil提供了不僅僅是C語言的編寫包括C編譯器、宏匯編、鏈接器、庫管理等,因為是通過集成開發環境所以十分的俱全。所以說如果你是要進行C語言編程,那么它一定是你的上上之選,它的集成環境是非常方便使用的,所以仿真調試也是很強大的,能讓我更清晰的了解。關于如何使用Keil分為五個步驟1.啟動軟件2建立工程3建立并添加源文件4配置工程屬性5程序調試5.6系統電路仿真圖。參考文獻[1]百度文獻:/question/412690644.html[2]百度文獻:/p/83101591[3]百度文獻:/p/92483993謝辭一個學期的畢業設計也就這樣結束了,也就是說我的大學生涯就要結束了,在大學里面遇到了很多事情,讓我成長的特別的多,讓我學會了如何在社會之中立足,從一個什么都不懂的人學會了如何去自己照顧自己。最主要的是我在大學中學會了如何去感恩,要做一個會感恩的人,感謝大家對我的幫助和教導。真的非常舍不得就這有畢業了,但是我知道天下總沒有不散的宴席,還是再想說特別感謝老師們的幫助還有同學們對我的支持希望大家都能過上自己喜歡的生活在這次設計中,我覺得我學到了很多,只要你愿意努力那么你就一定會得到回報,在設計中,我遇到了很多的困難,我感覺就是一個難題又一個難題的在前面等著我去解決,是沒有任何捷徑的,只能一個一個去解決,代碼該怎么寫,程序該用哪一個等等問題,真的特別感覺指導老師的幫助,不懂了就問,老師都會仔細的教我,該怎么做該怎么做,同學們的幫助也是特別重要的,可以很快的理清思路,做事也會得心應手一些,只要肯努力沒有辦不到的事情。最后再次感謝老師的指導和同學的幫助。附錄附錄1程序源代碼#include"sys.h"#include"main.h"http://////////////////////////////////////////////////////////////環境溫濕度的值floatHumidity,Temperature;//矩形流水燈#defineLED_J_HGPIO_SetBits(GPIOB,GPIO_Pin_12)#defineLED_J_LGPIO_ResetBits(GPIOB,GPIO_Pin_12)//心流水燈#defineLED_X_HGPIO_SetBits(GPIOB,GPIO_Pin_13)#defineLED_X_LGPIO_ResetBits(GPIOB,GPIO_Pin_13)//流水的1#defineLED_L_1_HGPIO_SetBits(GPIOB,GPIO_Pin_10)#defineLED_L_1_LGPIO_ResetBits(GPIOB,GPIO_Pin_10)//流水的2#defineLED_L_2_HGPIO_SetBits(GPIOB,GPIO_Pin_2)#defineLED_L_2_LGPIO_ResetBits(GPIOB,GPIO_Pin_2)//流水的3#defineLED_L_3_HGPIO_SetBits(GPIOB,GPIO_Pin_1)#defineLED_L_3_LGPIO_ResetBits(GPIOB,GPIO_Pin_1)//流水的4#defineLED_L_4_HGPIO_SetBits(GPIOB,GPIO_Pin_0)#defineLED_L_4_LGPIO_ResetBits(GPIOB,GPIO_Pin_0)//流水的5#defineLED_L_5_HGPIO_SetBits(GPIOA,GPIO_Pin_7)#defineLED_L_5_LGPIO_ResetBits(GPIOA,GPIO_Pin_7)////////////////////////////////////////////////////////////voidGPIO_Configuration(void)GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;//開漏輸出//GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;//心形號燈GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;//1號燈GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//2號燈GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//3號燈GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;//4號燈GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;//5號燈GPIO_Init(GPIOA,&GPIO_InitStructure);//線全部關燈 LED_L_1_H;//關燈1 LED_L_2_H;//關燈2 LED_L_3_H;//關燈3 LED_L_4_H;//關燈4 LED_L_5_H;//關燈5 LED_X_L;//關燈矩形 LED_J_L;//關燈心形//GPIO_SetBits(GPIOA,GPIO_Pin_4);}//系統中斷管理voidNVIC_Configuration(void){__enable_irq();//開啟中斷/*ConfiguretheNVICPreemptionPriorityBits*///NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置中斷優先級分組為組2:2位搶占優先級,2位響應優先級//#ifdefVECT_TAB_RAM/*SettheVectorTablebaselocationat0x20000000*///NVIC_SetVectorTable(NVIC_VectTab_RAM,0x0);//#else/*VECT_TAB_FLASH*//*SettheVectorTablebaselocationat0x08000000*///NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x0);//#endif}//中斷向量的重新映射voidVectorTableRemap(void){//#defineVECTOR_SIZE0xC0//中斷向量一共48個,每個4字節,一共48*4=192///*RelocatebysoftwarethevectortabletotheinternalSRAMat0x20000000***////*CopythevectortablefromtheFlash(mappedatthebaseoftheapplication//loadaddressAPP_IMAG_LOCATION)tothebaseaddressoftheSRAMat0x20000000.*/// memcpy((uint32_t*)0x20000000,(uint32_t*)FRAMEWORK_BOOT_BASE_ADDR,VECTOR_SIZE);///*EnabletheSYSCFGperipheralclock*/// // RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);///*RemapSRAMat0x00000000*/// SYSCFG_MemoryRemapConfig(SYSCFG_MemoryRemap_SRAM); }//配置系統時鐘,使能各外設時鐘voidRCC_Configuration(void){SystemInit();// VectorTableRemap();//重新映射中斷向量不是正式版不需要。// RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA//|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC//|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE// |RCC_APB2Periph_ADC1|RCC_APB2Periph_AFIO//|RCC_APB2Periph_SPI1,ENABLE);// RCC_APB2PeriphClockCmd(//RCC_APB2Periph_USART1RCC_APB2Periph_SYSCFG//|RCC_APB2Periph_ADC1//|RCC_APB2Periph_SPI1//|RCC_APB2Periph_SYSCFG,ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2|RCC_APB1Periph_TIM3//|RCC_APB1Periph_SPI2,ENABLE);RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA|RCC_AHBPeriph_GPIOB|RCC_AHBPeriph_GPIOC|RCC_AHBPeriph_GPIOF//|RCC_AHBPeriph_GPIOF,ENABLE);//RCC_APB1PeriphClockCmd(//RCC_APB1Periph_USART2//|RCC_APB1Periph_USART3//|RCC_APB1Periph_TIM2//|RCC_APB1Periph_USART2 //,ENABLE);// RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);}u32serialid=0x08000001;//序列號intmain(void){ ////RCC時鐘初始化RCC_Configuration();//SysTickInt滴答時鐘初始化SysTickInit();//系統中斷管理NVIC_Configuration();//GPIO管理GPIO_Configuration(); SHT2X_INIT();//溫濕度初始化OLED091INIT(); //初始化OLEDOLED_Display_On();//打開顯示屏幕 OLEDClear();//屏幕清理//TASK_Timer_Init(10-1);//10*0.1ms的最小單位=1MS//IWDG_Init(4,2800); //與分頻數為64,控制值為100=4。重載值為800,溢出時間為1s左右計算公式為256*3125/40=100000mswhile(1){Task_Process();}}//1S模塊執行函數//floatHumidity,Temperature;voidTASK1(void*parameter){// floatTemp;//溫度// floatHum;//濕度 charString[10]={0x00}; Temperature=SHT2X_GetTempHM(); Humidity=SHT2X_GetHumiHM(); { sprintf(String,"Temp:%02.02f",Temperature); OLED_ShowString(0,0,(u8*)String,16); sprintf(String,"Humidity:%02.02f",Humidity); OLED_ShowString(0,2,(u8*)String,16); } return;}//100MS執行一次voidTASK2(void*parameter){ staticu8t=0; if(Temperature>35) { LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//關閉流水燈關其他燈 LED_J_L;//關閉矩形燈 //心形流水燈一秒全亮一秒全滅 if(t==1) { //心形點亮 LED_X_H; } else { //心形熄滅 LED_X_L; } t=(t+1)%2; } elseif(Temperature<=35&&Temperature>=25) { //跑馬燈流水燈循環點亮一秒一個 //矩形流水燈一秒全亮一秒全滅 LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//關閉流水燈關其他燈 LED_X_L;//關閉心形燈 if(t==1) { //心形點亮 LED_J_H; } else { //心形熄滅 LED_J_L; } t=(t+1)%2; } else { //開啟流水燈 //先關閉其他燈 LED_J_L;//關閉矩形燈 LED_X_L;//關閉心形燈 switch(t) { case0x00:LED_L_1_L;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//開1號燈關其他燈 break; case0x01:LED_L_1_H;LED_L_2_L;LED_L_3_H;LED_L_4_H;LED_L_5_H;//開2號燈關其他燈 break; case0x02:LED_L_1_H;LED_L_2_H;LED_L_3_L;LED_L_4_H;LED_L_5_H;//開3號燈關其他燈 break; case0x03:LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_L;LED_L_5_H;//開4號燈關其他燈 break; case0x04:LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_L;//開5號燈關其他燈 break; } t=(t+1)%5; }return; }Task_Structtasks[]={//用各個任務的函數名初始化//系統調度一次100ms,(100*10)ms=1s調度一次{0,1000,1000,TASK1},//1秒執行一次GPRS程序{0,1000,1000,TASK2},//485點名程序//{0,100,100,TASK3},//485解析程序// {0,1000,1000,TASK4},//數據發送};u32task_count=sizeof(tasks)/sizeof(Task_Struct);voidTask_Process(void){u8i=0;for(i=0;i<task_count;++i)//遍歷任務數組{if(tasks[i].isRun)//若任務可執行,則執行任務{tasks[i].TaskPointer(NULL);tasks[i].isRun=0;//將標志位清零IWDG_Feed();}}}voidTIM3_IRQHandler(void)//TIMER3中斷{u8i=0;if(RESET!=TIM_GetITStatus(TIM3,TIM_IT_Update))//檢查TIM3更新中斷發生與否{TIM_ClearITPendingBit(TIM3,TIM_IT_Update);for(i=0;i<task_count;++i)//遍歷任務數組{if(tasks[i].TimerSlice)//判斷時間片是否到了{--tasks[i].TimerSlice;if(0==tasks[i].TimerSlice)//時間片到了{tasks[i].isRun=0x01;//置位表示任務可以執行tasks[i].TimerSlice=tasks[i].SliceNumber;//重新加載時間片值,為下次做準備}}}} }附錄2仿真電路圖附錄3實物圖

電腦不啟動故障診治了解電腦啟動的過程在諸多電腦故障中,無法正常啟動是最令用戶頭痛的事了。筆者長期從事維護電腦的工作,在這個方面積累了一些經驗,現在就將這些經驗整理歸納出來與朋友們分享。本文將以家用電腦和windows98操作系統為基礎,介紹電腦無法正常啟動故障的診治。要想準確地診斷電腦不啟動故障,首先要了解的起動過程,當我們按下電源開關時,電源就開始向主板和其它設備供電,此時電壓還沒有完全穩定,主板控制芯片組會根據CMOS中的CPU主頻設置向CPU發出一個Reset(重置)信號,讓CPU初始化,電壓完全穩定后,芯片組會撤去Reset信號,CPU馬上從地址FFFF0H處執行一條跳轉指令,跳到系統BIOS中真正的啟動代碼處。系統BIOS首先要做的事情就是進行POST(PowerOnSelfTest,加電自檢)。POST的主要任務是檢測系統中的一些關鍵設備(電源、CPU芯片、BIOS芯片、定時器芯片、數據收發邏輯電路、DMA控制器、中斷控制器以及基本的64K內存和內存刷新電路等)是否存在和能否正常工作,如內存和顯卡等。自檢通過后,系統BIOS將查找顯示卡的BIOS,由顯卡BIOS來完成顯示卡的初始化,顯示器開始有顯示,自此,系統就具備了最基本的運行條件,可以對主板上的其它部分進行診斷和測試,再發現故障時,屏幕上會有提示,但一般不死機,接著系統BIOS將檢測CPU的類型和工作頻率,然后開始測試主機所有的內存容量,內存測試通過之后,系統BIOS將開始檢測系統中安裝的一些標準硬件設備,這些設備包括:硬盤、CD-ROM、軟驅、串行接口和并行接口等連接的設備,大多數新版本的系統BIOS在這一過程中還要自動檢測和設置內存的相關參數、硬盤參數和訪問模式等。標準設備檢測完畢后,系統BIOS內部的支持即插即用的代碼將開始檢測和配置系統中已安裝的即插即用設備。每找到一個設備之后,系統BIOS都會在屏幕上顯示出設備的名稱和型號等信息,同時為該設備分配中斷、DMA通道和I/O端口等資源。最后系統BIOS將更新ESCD(ExtendedSystemConfigurationData,擴展系統配置數據)。ESCD數據更新完畢后,系統BIOS的啟動代碼將進行它的最后一項工作,即根據用戶指定的啟動順序從軟盤、硬盤或光驅啟動。以從C盤啟動為例,系統BIOS將讀取并執行硬盤上的主引導記錄,主引導記錄接著從分區表中找到第一個活動分區,然后讀取并執行這個活動分區的分區引導記錄,而分區引導記錄將負責讀取并執行IO.SYS,這是Windows最基本的系統文件。IO.SYS首先要初始化一些重要的系統數據,然后就顯示出我們熟悉的藍天白云,在這幅畫面之下,Windows將繼續進行DOS部分和GUI(圖形用戶界面)部分的引導和初始化工作,一切順利結束,電腦正常啟動。根據故障現象診治了解電腦啟動的過程,故障就好判斷了,下面我們就根據故障現象開始診治了:現象一:系統完全不能啟動,見不到電源指示燈亮,也聽不到冷卻風扇的聲音。這時,基本可以認定是電源部分故障,檢查:電源線和插座是否有電、主板電源插頭是否連好,UPS是否正常供電,再確認電源是否有故障,最簡單的就是替換法,但一般用戶家中不可能備有電源等備件,這時可以嘗試使用下面的方法(注意:要慎重):先把硬盤,CPU風扇,或者CDROM連好,然后把ATX主板電源插頭用一根導線連接兩個插腳(把插頭的一側突起對著自己,上層插腳從左數第4個和下層插腳從右數第3個,方向一定要正確),然后把ATX電源的開關打開,如果電源風扇轉動,說明電源正常,否則電源損壞。如果電源沒問題直接短接主板上電源開關的跳線,如果正常,說明機箱面板的電源開關損壞。現象二:電源批示燈亮,風扇轉,但沒有明顯的系統動作。這種情況如果出現在新組裝電腦上應該首先檢查CPU是否插牢或更換CPU,而正在使用的電腦的CPU損壞的情況比較少見(人為損壞除外),損壞時一般多帶有焦糊味,如果剛剛升級了BIOS或者遭遇了CIH病毒攻擊,這要考慮BIOS損壞問題(BIOS莫名其妙的損壞也是有的),修復BIOS的方法很多雜志都介紹過就不重復了;確認CPU和BIOS沒問題后,就要考慮CMOS設置問題,如果CPU主頻設置不正確也會出現這種故障,解決方法就是將CMOS信息清除,既要將CMOS放電,一般主板上都有一個CMOS放電的跳線,如果找不到這個跳線可以將CMOS電池取下來,放電時間不要低于5分鐘,然后將跳線恢復原狀或重新安裝好電池即可;如果CPU、BIOS和CMOS都沒問題還要考慮電源問題:PC機電源有一個特殊的輸出信號,稱為POWERGOOD(PG)信號,如果PG信號的低電平持續時間不夠或沒有低電平時間,PC機將無法啟動。如果PG信號一直為低電平,則PC機系統始終處于復位狀態。這時PC機也出現黑屏、無聲響等死機現象。但這需要專業的維修工具外加一些維修經驗,因此,建議采用替換法;電源沒有問題就要檢查是否有短路,確保主板表面不和金屬(特別是機箱的安裝固定點)接觸。把主板和電源拿出機箱,放在絕緣體表面,如果能啟動,說明主板有短路現象;如果還是不能啟動則要考慮主板問題,主板故障較為復雜,可以使用替換法確認,然后更換主板。現象三:電源指示燈亮,系統能啟動,但系統在初始化時停住了,而且可以聽到嗽叭的鳴叫聲(沒有視頻):根據峰鳴代碼可以判斷出故障的部位。ccid_page/AwardBIOS1短聲:說明系統正常啟動。表明機器沒有問題。2短聲:說明CMOS設置錯誤,重新設置不正確選項。1長1短:說明內存或主板出錯,換一個內存條試試。1長2短:說明顯示器或顯示卡存在錯誤。檢查顯卡和顯示器插頭等部位是否接觸良好或用替換法確定顯卡和顯示器是否損壞。1長3短:說明鍵盤控制器錯誤,應檢查主板。1長9短:說明主板FlashRAM、EPROM錯誤或BIOS損壞,更換FlashRAM。重復短響:說明主板電源有問題。不間斷的長聲:說明系統檢測到內存條有問題,重新安裝內存條或更換新內存條重試。AMIBIOS1短:說明內存刷新失敗。更換內存條。2短:說明內存ECC較驗錯誤。在CMOS中將內存ECC校驗的選項設為Disabled或更換內存。3短:說明系統基本內存檢查失敗。換內存。4短:說明系統時鐘出錯。更換芯片或CMOS電池。5短:說明CPU出現錯誤。檢查CPU是否插好。6短:說明鍵盤控制器錯誤。應檢查主板。7短:說明系統實模式錯誤,不能切換到保護模式。8短:說明顯示內存錯誤。顯示內存有問題,更換顯卡試試。9短:說明BIOS芯片檢驗和錯誤。1長3短:說明內存錯誤。內存損壞,更換。1長8短:說明顯示測試錯誤。顯示器數據線沒插好或顯示卡沒插牢。現象四:系統能啟動,有視頻,出現故障提示,這時可以根據提示來判斷故障部位。下面就是一些常見的故障提示的判斷:一、提示“CMOSBatteryStateLow”原因:CMOS參數丟失,有時可以啟動,使用一段時間后死機,這種現象大多是CMOS供電不足引起的。對于不同的CMOS供電方式,采取不同的措施:1.焊接式電池:用電烙鐵重新焊上一顆新電池即可;2.鈕扣式電池:直接更換;3.芯片式:更換此芯片,最好采用相同型號芯片替換。如果更換電池后時間不長又出現同樣現象的話,很可能是主板漏電,可檢查主板上的二極管或電容是否損壞,也可以跳線使用外接電池,不過這些都需要有一定的硬件維修基礎才能完成。二、提示“CMOSChecksumFailure”CMOS中的BIOS檢驗和讀出錯;提示“CMOSSystemOptionNotSet”,CMOS系統未設置;提示“CMOSDisplayTypeMismatch”,CMOS中顯示類型的設置與實測不一致;提示“CMOSMemorySizeMismatch”,主板上的主存儲器與CMOS中設置的不一樣;提示“CMOSTime&DateNotSet”,CMOS中的時間和日期沒有設置。這些都需要對CMOS重新設置。三、提示“KeyboardInterfaceError”后死機原因:主板上鍵盤接口不能使用,拔下鍵盤,重新插入后又能正常啟動系統,使用一段時間后鍵盤無反應,這種現象主要是多次拔插鍵盤引起主板鍵盤接口松動,拆下主板用電烙鐵重新焊接好即可;也可能是帶電拔插鍵盤,引起主板上一個保險電阻斷了(在主板上標記為Fn的東西),換上一個1歐姆/0.5瓦的電阻即可。四、自檢過程中斷在xxxKCache處這表示主板上Cache損壞,可以在CMOS設置中將“ExternalCache”項設為“Disable”故障即可排除。同理,在自檢主板部件時出現中斷,則可以認為該部件損壞,解決方法一般可以在CMOS中將其屏蔽,如果不能屏蔽該部件最好更換主板。五、提示“FDDControllerFailure”BIOS不能與軟盤驅動器交換信息;提示“HDDControllerFailure”,BIOS不能與硬盤驅動器交換信息。應檢查FDD(HDD)控制卡及電纜。六、提示“8042GateA20Error”8042芯片壞;提示“DMAError”,DMA控制器壞。這種故障需要更換。七、提示“DisplaySwitchNotProper”主板上的顯示模式跳線設置錯誤,重新跳線。八、提示“KeyboardisLock...Unlockit”鍵盤被鎖住,打開鎖后重新引導系統。九、IDE接口設備檢測信息為:“DetectingPrimary(或Secondary)Master(或Slave)...None”表示該IDE接口都沒有找到硬盤,如果該IDE口確實接有硬盤的話,則說明硬盤沒接上或硬盤有故障,可以從以下幾方面檢查:1、硬盤電源線和數據線是否接觸不良,或換一根線試試;2、CMOS設置有無錯誤,進入CMOS將“PrimaryMaster”、“PrimarySlave”、“SecondaryMaster”三項的的“TYPE”都設置成“Auto”;3、替換法確認硬盤本身有故障。十、IDE接口設備檢測信息下面顯示“Floppydisk(s)fail(40)”出錯信息表示CMOS所指定的軟盤驅動器有問題。判斷和解決的方法與硬盤相似。現象五:系統不能引導。這種故障一般都不是嚴重問題,只是系統在找到的用于引導的驅動器中找不到引導文件,比如:BIOS的引導驅動器設置中將軟驅排在了硬盤驅動的前面,而軟驅中又放有沒有引導系統的軟盤或者BIOS的引導驅動器設置中將光驅排在了硬盤驅動的前面,而光驅中又放有沒有引導系統的光盤,這個都很簡單,將光盤或軟盤取出就可以了,實際應用中遇到“DiskBootFailure,InsertSystemDiskAndPressEnter”的提示,多數都是這個原因。如果是硬盤不能引導的話一般有兩種情況:一種是硬盤數據線沒有插好,另一種就是硬盤數據損壞。前者一般多會出現硬盤

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論